基于at89c51的数字温度计的设计毕业论文内容摘要:

用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 ( 6) P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4个 TTL 门电流。 当 P3 口写入 “1”后 ,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,如下 所示: RXD(串行输入口) TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 ( 7) RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 ( 8) ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 ( 9) /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。 ( 10) /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 ( 11) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ( 12) XTAL2:来自反向振荡器的输出。 片内 振荡器: 该反向放大器可以配置为片内振荡器 , 如图 32 所示。 图 32 片内 振荡器 芯片擦除: 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信 号组合,并保持 ALE 管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写 “1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外, AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作。 但 RAM、 定时器 、计数器 、 串口和中断系统仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 单片机 AT89C51具有低电压供电和体积小等特点 , 四个端口只需要两个口就能满足电路系统的设计需要,很 适合便携手持式产品的设计使用系统可用二节电池供电。 单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 单片机主板电路 单片机 AT89C51是数字温度计的核心元件,单片机的主板电路如图 33所示,包括单片机芯片、报警系统电路、晶振电路、上拉电阻以及与单片机相连的其他电路。 图 33 单片机的主板电路 温度采集部分的设计 温度传感器 DS18B20 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9~ 12 位的数字值读数方式。 TO- 92 封装的 DS18B20 的引脚排列见图 34,其引脚功能描述见表 31。 表 31 DS18B20 详细引脚功能描述 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数据输入 /输出引脚。 开漏单总线接口引脚。 当被用着在寄电源下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。 当工作于寄生电源时,此引脚必须 接地。 图 34 DS18B20 引脚排列 DS18B20 的性能特点如下: ●独特的单线接口仅需要一个端口引脚进行通信; ●多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能; ●无须外部器件; ●可通过数据线供电,电压范围为 ~; ●零待机功耗; ●温度以 9 或 12 位数字; ●用户可定义报警设置; ●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 采用 3 脚 PR- 35 封装或 8 脚 SOIC 封装,其内部结构框图如图 35所示。 图 35 DS18B20 内部结构 64 位 ROM 的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。 温度报警触发器 TH 和 TL,可通过软件写入户报I/O C 64 位 R O M 和 单 线 接 口 高速缓存 存储器与控制逻辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 Vdd 警上下限。 DS18B20温度传感器的内部存储器还包括一个高速暂存 RAM和一个非易失性的可电擦除的 EERAM。 高速暂存 RAM 的结构为 8 字节的存储器,结构如图36 所示。 头 8 个 字节包含测得的温度信息,第 8 和第 8 字节 TH 和 TL 的拷贝,是易失的,每次上电复位时被刷新。 第 8 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。 该字节各位的定义如图 36 所示。 低 8 位一直为1, TM 是工作模式位,用于设置 DS18B20 在工作模式还是在测试模式, DS18B20 出厂时该位被设置为 8,用户要去改动, R1 和 R0 决定温度转换的精度位数,来设置分辨率。 TM R1 1R0 1 1 1 1.... 图 36 DS18B20 字节定义 由表 32 可见, DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。 因此,在实际应用中要将分辨率和转换时间权衡考虑。 表 32 DS18B20 温度转换时间表 R1 R0 分辨率(位) 温度最大转向时间( ms) 0 0 9 0 1 10 1 0 11 375 1 1 12 750 高速暂存 RAM 的第 8 字节保留未用,表现为全逻辑 1。 第 9 字节读出前面所有 8 字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值温度 LSB 温度 MSB TH 用户字节 1 TL 用户字节 2 配置寄存 器 保留 保留 保留 CRC 就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 2 字节。 单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以 ℃ / LSB 形式表示。 当符号位 S= 0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S= 1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。 表 33 是一部分温度值对应的二进制温度数据。 DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、 TL 字节内容作比较。 若 TTH 或 TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。 因此,可用多只 DS18B20 同时测量温度并进行报警搜索。 在 64 位 ROM 的最高有效字节中存储有循环冗余检验码( CRC)。 主机 ROM的前 56 位来计算 CRC。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。