基于AT89S51的便携式实时温度检测仪
0 引言
近年来,温度的控制与检测在食品、医疗、气象等领域得到了非常广泛的应用。一种以AT89S51为核心的实时温度检测仪,系统结构框图如图1所示。单片机通过DS1629采集当前的时间和温度信号送AT24C02存储以备查询,LCD显示当前时间及温度,使用者可通过外接PS2键盘控制系统的工作状态,包括时间的设定、时间与温度的显示、过去时刻的温度查询等。
AT89S51单片机兼容MCS51微控制器,但对比早期的AT89C51作了改进,内带看门狗定时器,无需外加监控芯片,通过软件设置就可保证系统可靠的工作,并且支持在系统可编程,不需要从电路板上取下器件就可对空白器件进行编程。
1 DS1629工作原理及应用
DS1629[1]是由美国DALLAS公司提供的一种带有I2C总线接口和已做了Y2k千年虫修正的时钟/日历的数字温度传感器,它的测温精度为±2℃,以分辨率为0·5℃输出一个9 bit的温度测量值,温度测量范围为-55~+125℃;实时时钟能提供BCD码时钟/日历,12/24小时制两种模式可供选择;要求外接32·768 kHz的晶振,片内自带分频器,提供一个漏极开路的分频信号输出端;具有温度中断与时钟中断功能,其工作方式由用户编程设定;内含32字节SRAM供用户使用。DS1629与单片机的通信都由一个标准的二线制串行接口完成,极大地简化了外围电路,具有可编程、低功耗、接口简单的特点。DS1629的引脚功能如表1所示。
1.1 总线传输协议
DS1629在总线上作为从属器件,通过SDA和SCL与单片机相连。SDA和SCL通过电阻上拉为高电平,SDA上的数据仅在SCL低电平时改变,而在SCL为高时,SDA由高到低定义为START位,表示数据传输开始;SDA由低到高定义为STOP位,表示一帧数据传输结束。每传输一帧数据都要以START位开始,以STOP位结束。在一个START位后,在时钟为高期间,SDA上的固定电平被认为是一位有效数据。
单片机访问DS1629时,首先发送START位,接着发送一个控制字。该控制字定义如下:
D7、D6、D5、D4为控制码,对S1629操作时设定为1001;D3、D2、D1为地址码,DS1629的地址码固定为111,即总线上只允许接一片DS1629,但至多还可接7个控制码为1001,地址码不为111的串行器件;D0为读写位,高表示读操作,低为写操作。在START位后,DS1629检测数据线上的控制字,收到后回送ACK信号,并根据控制字设置工作模式。
1.2 温度测量
DS1629缺省设定为上电即开始连续温度测量,用户可禁止其上电自动测温以降低功耗。可将DS1629设定为单次工作模式,即转换完一次就保存数据到温度寄存器中,然后回到待机状态,也可设定为连续转换模式,此模式下用停止温度转换命令22 h中止测量,通过读温度命令AAh得到温度寄存器中的数据,然后用启动温度转换命令EEh重新开始测量。温度数据分为高低两个字节,采用二进制补码表示,温度寄存器中低字节最高位置1或清0,可得到0·5℃的分辨率。温度与温度寄存器数据的对应关系如表2所示。读温度寄存器时,如果精度要求不高,只需读第一字节。
相关文章
- 2024-06-18超声衰减增益补偿电路的设计
- 2023-12-14SolidWorks自定义钣金工具库的应用
- 2024-07-23空间小型长焦镜头的动力学分析
- 2022-05-11热连轧主传动设备状态监测与故障诊断系统的设计及应用
- 2024-06-17超声波换能器特征参量电测法的研究



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。