欢迎来到天天文库
浏览记录
ID:57402370
大小:120.50 KB
页数:10页
时间:2020-08-16
《基于某单片机地数字温度计设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1引言随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温围广,测温精确,数字显示,适用围宽等特点。选用AT89C51型单片机作为主控制器件,DSl8B20作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0
2、℃~100℃最大线性偏差小于0.1℃。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。2设计方案与原理AT89C51作为温度测试系统设计的核心器件。该器件是INTEL公司生产的MCS一5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS—51的CMOS产品。不仅结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,而且继承和扩展了MCS—48单片机的体系结构和指令系。温度传感器DS18B20可以程序设定9~12位的分辨率,精
3、度为±0.5°C。可选更小的封装方式,更宽的电压适用围。分辨率设定,及用户设定的报警温度存储在EPROM中,掉电后依然保存。采用技术成熟的74HCl64实现串并转换。显示装置LED显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机的串行口来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。当器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TXD端输出移位脉冲。2.1温度传感器与单片机的连接温度传
4、感器的单总线(1-Wire)与单片机的P3.3连接,P3.3是单片机的高位地址线A8。P2端口是一个带部上拉电阻的8位双向I/O,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对该端口写“1”,可通过部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时。如执行MOVXDPTR指令,则表示P2端口送出高8位的地址数据。在访问8位地址的外部数据存储器时,可执行MOVXRI指令,P2端口容即为特殊功能寄存器(SFR)区中R2寄存器容,整个
5、访问期间不改变。在Flash编程和程序校验时,P2端口也接收高位地址和其他控制信号时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TXD端输出移位脉冲。3硬件设计在单片机上接一温度传感器,两个数码管,并且设计一显示驱动电路用以驱动数码管的工作。硬件电路连接如图1所示。图1硬件连接图4软件设计DSl8B20的主要数据元件有:64位激光LaseredROM,温度灵敏元件和非易失性温度告警触发器TH和TL。DSl8B20可以从单总线获取电源,当信号线为高电平时,将能量贮存在部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变
6、为高电平重新接上寄生(电容)电源为止。此外,还可外接5V电源,给DSl8B20供电,将温度传感器与冰水混合物接触,经过充分搅拌达到热平衡后调节系统,使显示读数为0.00(标定0℃);利用气压计读出当时当地的大气压强,并根据大气压强和当地重力加速度计算出当时的实际压强;根据沸点与压强的关系查出沸点温度。把温度传感器放入沸水中,待显示读数稳定后重新调节,使显示器显示读数等于当地当时沸点温度后工作结束。该温度计的量程为-50℃~150℃,读数精度为0.1℃,实际使用一般在0℃~100℃。采用0℃~50℃和50℃~100℃的精密水银温度计作检验标准,对设计的温度计
7、进行测试,其结果表明能达到该精度要求。图2为读取数据流程图。开始复位开始DS18B20的初始化启动温度转换读取温度寄存器跳过读序列号的操作跳过读序列号的操作DS18B20的初始化RETLOW-低八位HIGH-高八位图2读取数据的流程图读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625℃,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5℃的话,向个位进1;小于0.5℃的时候,舍去不要。当
8、数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。
此文档下载收益归作者所有