小型仓库温湿度监测系统毕业设计内容摘要:
S51 是由 CPU、内部数据存储器 RAM、内部程序存储器 ROM、并行输入 /输出( I/O)口、 串口 口、定时 /计数器、中断系统、时钟电路等部分组成,它们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机。 结构图如图 212 图 212 AT89S51 内部结构 单片机 AT89S51 的 引脚 AT89S51 采用 40管脚双列直插 DIP 封装,如图 213。 图 213 AT89S51 引脚图 引脚功能说明 : VCC :电源电压 VSS :地 P0 口: P0 口是一组 8 位漏极开路型双向 I/0 口,也即地址 /数据总线复用口。 作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“ l ”可作为高阻抗输入端用。 在访问外部数据存储 器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上 拉电阻。 在 F1ash 编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口: Pl 是一个带内部上拉电阻的 8 位双向 I/O 口, Pl 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写 “ l”, 通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL )。 Flash 编程和程序校验期间, Pl 接收低 8 位地址。 、 、 可用于程序固化(下载)使用 ,如 表 26。 表 26 P2 口: P2 是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写“ 1 ”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL )。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX@DPTR 指令) 时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行MOVX@Ri 指令)时, P2 口线上的内容(也即特殊功能寄存器( SFR )区中 P2 寄存器的内容),在整个访问期间不改变。 Flash 编程或校验时, P2 亦接收高位地址和其它控制信号。 P3 口: P3 口是一组带有内部上拉电阻的 8 位双向 I/0 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对 P3 口写入“ l ”时,它们被内部上拉电阻拉高并可作为输入端口。 作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL )。 P3 口除了作为一般的 I/0 口线外,更重要的用途是它的第二功能,如下表 27 所示: P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 表 27 RST :复位输入。 当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 WDT 溢出将使该引 脚输出高电平, 设置 SFR AUXR 的 DISRT0 位(地址 8EH )可打开或关闭该功能。 DISRT0 位缺省为 RESET 输出高电平 打开状态。 ALE/PROG :当访问外部程序存储器或数据存储器时 ,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 即使不访问外部存储器, ALE 仍以时钟振荡频率的 1 /6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器 时将跳过一个 ALE 脉冲。 对 F1ash 存储器编程期间,该引脚还用于输入编程脉冲 (PROG)。 如有必要,可通过对特殊功能寄存器 (SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 M0VX 和 M0VC 指令 ALE 才会被激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。 PSEN :程序储存允许 (PSEN )输出是外部程序存储器的读选通信号,当 AT89S51 由外部程序存储器取指令 (或数据 )时,每个机器周期两次 PSEN 有效,即输出两个脉冲。 当访问外部数据存储器,没有两次有效的 PSEN 信号。 EA /VPP :外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为 0000H - FFFFH) , EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器中的指令。 F1ash 存储器编程时,该引脚加上 +12V 的编程电压 Vpp。 XTALl :振荡器反相放大器及内部时钟发生器的输入端。 XTAL2 :振荡器反相放大器的输出端。 内置看门狗电路 (WDT) : 由十单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞而陷入死循环,这样会打断程序的正常运行,从而使单片机控制的系统无法继续工作,造成整个 系统陷入停滞状态,发生不可预料的后果。 为了避免这种情况发生,本芯片内置了看门狗电路。 所谓看门狗技术是一种程序监视技术,它不断的监视程序循环运行时间,当程序出现跑飞时而陷入死循环时,看门狗电路就会在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位,使单片机可以在无人状态下实现连续工作。 存储器 AT89C51 内核采用程序存储器和数据存储器空间分开的结构,均具有 64KB 外部程序和数据的寻址空间。 程序存储器 用于存放编制好的程序和表格。 ROM的 0000H002AH 单元预留给上电复位后引导程序地址及 5 个中断服务程序的入口地址,在实际应用系统中,主程序的存放从 002BH 单元开始。 在程序存储器中有六个单元有特定的含义: 0000H~ 0002H:单片机复位后, PC=0000H 即从此处开始执行指令。 0003H~ 000AH:外部中断 0 入口地址 区。 000BH~ 0012H:定时器 0溢出中断入口地址 区。 0013H~ 001AH:外部中断 1 入口地址 区。 001BH~ 0022H:定时器溢出中断入口地址 区。 0023H~ 002AH: 串口 口中断入口地址 区。 使用时常在这些入口外安放一条绝对跳转指令,使程序跳转到拥护安排的中断处理程序的起始地址,或从 0000H 外执行一跳转指令,跳转到用户设计的初始程序入口。 如果 EA 引脚接地 ,全部程序均执行外部存储器。 若 EA 接 Vcc,程序首先执行地址从 0000H0FFFH (4KB)内部程序存储器,再执行地址为 1000HFFFFH( 60KB) 的外部程序存储器。 数据 存储器 数据存储器用于存放运算中间的结果、数据暂存、缓冲、标志位、待测程序等功能。 片内 的 低 128B 的 RAM 地址为 00H~ 7FH,供用户做 RAM 用,但是在这中间的前 32 单元, 00H~ 1FH 即引用地址寻址做用户 RAM 用,常常做工作寄存器区,分做四组,每组由 8个单元组成通用寄存器 R0~ R7,任何时候都由其中一组作为当前工作寄存器,通过 RS0, RS1的内容来决定选择哪一个工作寄存器。 片内 RAM 不够用时,须扩展片外数据存储器。 此时单片机通过 P2 口和 P0口选出 6 位地址,使用 ALE 作低 8位的锁存信号,再由 P0口写入或读出数据。 写时用 ,读时用 做外部数据存储器的选通信号。 特殊功能寄存器 SFR 在内部数据存储器的 80H~ FFH 的高 128B 单元中 有 21 个 特殊功能寄存器SFR, 其余单元现无定义,用户不能对这些单元进行读写操作。 它们 用来管理 CPU和 I/O 口以及内部逻辑部件,在指令中专用寄存 器是以存储单元方式被读写的,专用寄存器虽有名称,但寻址时都做专用寄存器用,它们的地址是与片内 RAM的地址相连的。 下面就专用寄存器作以简单的介绍: 累加器 A:在绝大多数情况下它参与运算的一方并存放运算的结果。 寄存器 B:进行乘除运算时,寄存器 B有特定的用途,在乘时存放一个乘数以及积的最高位, A 中存放另一个乘数以及 积的低位。 除法时, B中存放除数及余数,而在 A中存放被除数和商,其他情况可作为普通寄存器用。 堆栈指针 SP:在子程序调用或中断时,用来暂存数据和地址,它按先进后出的原则存储数据,它是一个八位寄存器它指出堆栈顶部在片内 RAM 中的位置,系统复位后, SP变成 07H,使堆栈从 00单元开始。 ; 数据指针 DPTR:由两个字节组成, DPH 字地址由 83H, DPL 由 82H,存放一个 16 位的二进制数做地址用。 程序状态字 PSW: 8位寄存器,存放程序执行过程中的各种信息。 Flash 闪速存储器 的编程 并行编程 AT89s51 单片机内部有 4k 字节的可快速编程的 Flash 存储阵列。 编程方法可通过传统的 EPROM 编程器使用高电压 ( +12V)和协调的控制信号进行编程。 AT89S51 的代码是逐一字节进行编程的。 (一 ) 编程方法: 编程前,须按编程模式表 (表 27) 和图 21 图 215 所示设置好地址、数据及控制信号 , AT89S51 编程方法如下: 1 .在地址线上加上要编程单元的地址信号。 2 .在数据线上加上要写入的数据字节。 3 .激活相应的控制信号。 4 .将 EA/VPP 端加上 +12V 编程电压。 5 .每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ALE/PROG 编程脉冲。 每个字节写入周期是自身定时的,大多数约为 50us。 改变编程单元的地址和写入的数据,重复 15步骤,直到全部文件编程结束。 (二 ) 数据查询: AT89S5l 单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需读取最后写入的那个字节,则读出的数据的最高位()是原来写入字节最高位的反码。 写周期完成后,有效的数据就会出现在所有输出端上,此时,可进入下一个字节的写周期,写周期开始后,可在任意时刻进行数据查询。 (三 ) Ready/Busy : 字节编程的进度可通过 “ RDY/BSY” 输出信号监测 , 编程期间 , ALE 变为高电平 “ H” 后 端电平被拉低,表示正在编程状态(忙状态)。 编程完成后 , 变为高电平表示准备就绪状态。 (四 ) 程序校验:如果加密位 LB LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,各加密位也可通过直接回读进行校验。 (五 ) 读片内 签名字节 : AT89S51 单片机内有 3个签名字节,地址为 000H、 100H 和 200H。 用于声明该器件的厂商和型号等信息,读签名字节的过程和正常校验相仿,只需将 和 保持低电平,返回值意义如下: (000H) =1EH 声明产品由 ATMEL 公司制造 (100H) =51H 声明为 AT89S51 单片机 ( 200H) =06H (六 ) 芯片擦除:在并行编程模式,利用控制信号的正确组合并保持 ALE/PROG 引脚 200ns500ns 的低电平 脉冲宽度即 可完成擦除操作。 在 串口 编程模式,芯片擦除操作是利用擦除指令进行。 在这种方式,擦除周期是自身定时的,大约为 500ms。 擦除期间,用 串口 方式读任何地址数据,返回值均为 00H。 表 27 Flash 编程模式 注: 1 .芯片擦除每一。小型仓库温湿度监测系统毕业设计
相关推荐
潜水泵进行送水。 生活用水 生活用水采用自来水。 5 劳动力安排 ⑴ 结构期间: 瓦工 40 人;钢筋工 15 人;木工 15 人;放线工 2 人;材料1 人;机工 4 人;电工 2 人;水暖工 2 人;架子工 8 人;电焊工 2 人;壮工 20 人。 ⑵ 装修期间 抹灰工 60 人;木工 4 人;油工 8 人;电工 6 人;水暖工10 人。 四 、主要施工方法 施工测量放线 ⑴
隐患已迫在眉睫。 因此,本项目的实施是必要的、刻不容缓的。 19 从法律角度看。 我国宪法规定,社会主义经济制度的基础是生产资料的社会主义公有制,即全民所有制和劳动群众集体所有制。 《土地管理法》第八条规定:‚城市市区的土地属于国家所有‛。 《宪法》第七条规定:国有经济,即全民所有制经济,是国有经济的主导力量。 我国的经济适用房、廉租房及公共租赁租房作为一种社会住房保障体系
存在的问题 是 : ( 1) 由于地区 水资源 分布不均,山丘区开发利用 水资源的 条件差,无法兴建地面拦蓄和地下取水工程,调蓄和控制能力低 , 造成农村生活和农业灌溉缺水,供需矛盾十分突出。 ( 2)由于 气候条件的变 化, 每逢 大气降水减少,各流域范围内的 补给 就 严重不足,造成水位下降,水资源 储 量锐减。 ( 3) 由于供水机制和农业灌溉工程配套不完善,田面标准不高,灌溉渠系 的
地土的构成及特征 项目区地形平坦,场区地貌单元属于第四纪淄河 小清河新近冲积平原。 勘探点地面标高为 ~ ,地表相对高差。 勘探前场地北侧有一取土坑,勘探期间已填平,勘探过程中未发现有不良地质现象。 (三)场地岩土工程地质条件 根据野外钻探揭露及室内土工试验结果,构成拟建场地的主要地层属于第四纪淄河 小清河新近沉积土层。 按一般工程地质性质的差异,分述如下: 1 层:耕植土( Q4ml)
管理员 个人信息 管 理员 信息 教师个人信息 学生信息 学生个人信息 教师 个人信息 P1 个人信息查询 教师 教师 管理员 管理员 D2学生基本信息 表 D1教师 基本信息 表 D3管理员 基本信息 表 P3 学生 信息 管理GUANLI GUANLI P2 教师 信息 管理GUANLI GUANLI P5 管理员 信息 管理GUANLI GUANLI P4 学生成 绩管理 D4 学生成绩