数字温度计设计数字温度计设计论文(编辑修改稿)内容摘要:

选用 51 系列单片机 AT89C51。 AT89C51 是美国 ATMEL公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4kbytes 的可编程的 Flash只读程序存储器,兼容标准 8051 指令系统及引脚,并集成了 Flash 程序存储器,既可在 线编程 (ISP),也可用传统方法进行编程,因此,低价位 AT89C51 单片机 可应用于许多高性价比的 场合 ,可灵活应用于各种控制领域,对于简单的测温系统已经足够。 单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 AT89C51 的主要特性如下: ▲ 与 MCS51 兼容; ▲ 4K 字节可编程闪烁存储器; ▲ 寿命: 1000 写 /擦循环; ▲ 数据保留时间: 10 年; ▲ 全静态工作: 0Hz24Hz; ▲ 三级程序存储器 锁定; ▲ 128*8 位内部 RAM; ▲ 32 根可编程 I/O 线; ▲ 两个 16 位定时器 /计数器; ▲ 5 个中断源; ▲ 可编程串行通道; ▲ 低功耗的闲置和掉电模式; ▲ 片内振荡器和时钟电路。 AT89C51 引脚图 芯片 AT89C51 的引脚排列和逻辑符号如图 所示。 图 AT89C51 单片机引脚图 AT89C51 引脚功能介绍 单片机芯片 AT89C51 为 40 引脚双列直插式封装。 其各个引脚功能 [5]介绍如下: (1) VCC:供电电压; (2) GND:接地; (3) P0 口 P0 口为一个 8 位漏级开路双向 I/O 口,每个管脚可吸收 8TTL 门电流。 当P1 口的管脚写 ”1”时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FLASH 编程时, P0 口作为原码输入口,当 FLASH 进行校验时, P0 输出原码,此时 P0 外部电位必须被拉高。 (4) P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出4TTL门电流。 P1 口管脚写入 ”1”后,电位被内部上拉为高,可用作输入, P1 口被外部下拉为低电平 时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1 口作为第八位地址接收。 (5) P2 口 P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写 ”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。 作为输入时, P2 口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址 ”1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时, P2 口输 出其特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 (6) P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。 当 P3 口写入 ”1”后,它们被内部上拉为高电平,并用作输入。 作为输入时,由于外部下拉为低电平, P3 口将输出电流 (ILL),也是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,同时 P3 口同时为闪烁编程和编程校验接收一些控制信号。 其具体功能如表 所示。 表 P3 口的特殊功能 端口定义 符号表示 功能描述 RXD 串行输入口 TXD 串行输出口 INT0 外部中断 0 INT1 外部中断 1 T0 定时器 0 外部输入 T1 定时器 1 外部输入 WR 外部数据存储器写选通 RD 外部数据存储器读选通 (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 保持低电平时,访问外部 ROM;注意加密方式 1 时, EA将内部锁定为 RESET;当 EA 端保持高电平时,访问内部 ROM。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源 (VPP)。 (11) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12) XTAL2:来自反向振荡器的输出。 复位电路的设计 单片机复位电路的设计如图 所示。 该复位电路采用 手动复位与上电复位相结合的方式。 当按下 按键 S1 时, VCC 通过 R1 电阻给复位输入端口一个高电平,实 现复位功能 ,即 手动复位。 上电复位就是 VCC 通过电阻 R2 和电容 C 构成回路,该回路是一个对电容 C 充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的 电 压值高于 CPU 复位电压,实现上电复位功能 [7]。 图 单片机复位电路 晶振电路的设计 单片机晶振电路的设计 如图 所示。 XTAL1( X1)为反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2(X2)是来自反向振荡器的输出。 按照理论上 AT89C51 使用的是 12MHz的晶振,但实测使用。 所以设计者通常用的是。 温度采集电路的设计 由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。 这里采用 DALLAS 公司的数字温度传感器 DS18B20 作为测温元件。 图 单片机晶振电路 DS18B20 的简介 DALLAS 最新单线数字温度传感器 DS18B20 是一种新型的 ”一线器 件 ”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。 DALLAS 半导体公司的数字化温度传感器 DS18B20 是世界上第一片支持 ”一线总线 ”接口的温度传感器。 温度测量范围为 55~ +125 摄氏度,可编程为 9 位~ 12 位转换精度,测温分辨率可达 摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。 被测温度用符号扩展的 16 位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个 DS18B20可以并联到 3 根或 2 根线上, CPU 只需一根端 口线就能与诸多 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便 [6]。 DS18B20 的性能特点如下: ▲ 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条 总 线即可实现微处理器与 DS18B20 的双向通讯 ; ▲ DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温 ; ▲ DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在 形如一只三极管的集成电路内 ; ▲ 适应电压范围更宽,电压范围: ~ ,在寄生电源方式下可由数据线供电 ; ▲ 测 温范围 55℃ ~+ 125℃ ,在 10~ +85℃ 时精度为 177。 ℃ ; ▲ 零待机功耗 ; ▲ 可编程的分辨率为 9~ 12 位,对应的可分辨温度分别为 ℃ 、 ℃ 、 ℃和 ℃ ,可实现高精度测温 ; ▲ 在 9 位分辨率时最多在 内把温度转换为数字, 12 位分辨率时最多在750ms 内把温度值转换为数字,速度更快 ; ▲ 用户可定义报警设置 ; ▲ 报警搜索命 令识别并标志超过程 序限定温度 (温度报警条件 )的器件 ; ▲ 测量结果直接输出数字温度信号,以 一线总线 串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 ; ▲ 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 以上特点使 DS18B20 非常适用与多点、远距离温度检测系统。 DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20 的管脚排列、各种封装形式如图 所示。 其中, DQ 为 数据输入 /输出引脚 ,也可用作 开漏单总 线接口引脚 , 当被用 在寄生电源 工作方式 下,可以向器件提供电源 ; GND 为 地信号 ;VDD 为 可选择的 电源 引脚 , 当工作于寄生电源时,此引脚必须接地。 其电路图 所示。 图 外部封装形式 图 传感器电路图 DS18B20 内部结构 图 为 DS1820 的内部 结构 框图,它主要包括寄生电源、温度传感器、 64位激光 ROM 单线接口、存放中间数据的高速暂存器 (内含便笺式 RAM),用于存储用户设定的温度上下限值的 TH 和 TL 触发器存储与控制逻辑、 8 位循环冗余校验码 (CRC)发生器等七部分。 DS18B20 采用 3 脚 PR- 35封装或 8 脚 SOIC 封装。 其中, 64 bit 闪速 ROM 的结构如下: 8bit 校验 CRC 48bit 序列号 8bit 工厂代码 (10H) MSB LSB MSB LSB MSB LSB 开始 的 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。 温度报警触发器 TH 和 TL,可通过软件写入户报警上下限。 主机操作 ROM 的命令有五种,如表 所示。 图 DS18B20 内部结构框图 温度传感器 DS18B20 的内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM。 高速暂存 RAM 的结构为 8 字节的存储器,结构如图 所示。 图 高 速暂存 RAM 结构图 其中, 前 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL的拷贝,是易失的,每次上电复位时被刷新。 第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。 DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。 暂存存储器的第 5 个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下: 0 R1 R0 1 1 1 1 1 1 MSB LSB 其中 R0 和 R1 是温度值分辨率位,可按表 进行配置。 表 温度值分辨率配置表 R1 R0 分辨率 最大转换时间 (ms) 0 0 9 位 (tconv/8) 0 1 10 位 (tconv /4) 1 0 11 位 375ms(tconv /2) 1 1 12 位 750ms(tconv) 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 2 字节。 单片 机 可通过单线接口读到该数据,读取时低位在前 、 高位在后,数据格式以℃ /LSB形式表示。 温度值格式如下: 低 23 22 21 20 21 22 23 24 高 S S S S S 26 25 24 MSB LSB 这是 12 位转化后得到的 12 位数据,存储在 DS18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。