基于51单片机的温度警报器的设计单片机课程设计报告 下载本文

范文范例参考

0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。

斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨率。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。

DS18B20内部对此计算的结果可提供0.5℃的分辨率。温度以16bit带符号位扩展的二进制补码形式读出,表2.4 给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS18B20测温范围-55℃~+125℃,以0.5℃递增。

表2.4 温度数据关系 温度℃ +125 +25 +0.5 0 -0.5 -25 -55 数据输出(二进制) 00000000 11111010 00000000 00110010 00000000 00000001 00000000 00000000 11111111 11111111 11111111 11001110 11111111 10010010 数据输出(十六进制) 00FA 0032 0001 0000 FFFF FFCE FF92 S18B20遵循单总线协议,每次测温时都必须有4个过程[6]: ? 初始化;

? 传送ROM 操作命令; ? 传送ROM操作命令; ? 数据交换;

WORD格式整理

范文范例参考

2.1.5 DS18B20的ROM命令

read ROM(读ROM).命令代码为33H,允许主设备读出DS18B20的64位二进制ROM代码。该命令只适用于总线上存在单个DS18B20.

Match ROM(匹配ROM)。命令代码为55H,若总线上有多个从设备时,适用该命令可选中某一指定的DS18B20,即只有和64位二进制ROM代码完全匹配的DS18B20才能响应其操作。

Skip ROM(跳过ROM)。命令代码为CCH,在启动所有DS18B20转换之前或系统只有一个DS18B20时,该命令将允许主设备不提供64位二进制ROM代码就适用存储器操作命令。

Search ROM(搜索ROM)。命令代码为F0H,当系统初次启动时,主设备可能不知纵向上有多少个从设备或者它们的ROM代码,适用该命令可确定系统中的从设备个数及其RON代码。

Alarm ROM(报警搜索ROM)。命令代码为ECH,该命令用于鉴别和定位系统中超出程序设定的报警温度值。

Write scratchpad(写暂存器)。命令代码为4EH,允许主设备向DS18B20的暂存器写入两个字节的数据,其中第一个字节写入TH中,第二个字节写入TL中。可以在任何时刻发出复位命令终止数据的写入。

Read scratchpad(读暂存器)。命令代码为BEH,允许主设备读取暂存器中的内容。从第一个字节开始直到读完第九个字节CRC读完。也可以在任何时刻发出复位命令中止数据的读取操作。

Copy scratchpad(复制暂存器)。命令代码为48H,将温度报警触发器TH和TL中的字节复制到非易失性EEPROM。若主机在该命令之后又发出读操作,

WORD格式整理

范文范例参考

而DS18B20又忙于将暂存器中的内容复制到EEPROM时,DS18B20就会输出一个“0”,若复制结束,则DS18B20输出一个“1”。

Convert T(温度转换)。命令代码为44H,启动一次温度转换,若主机在该命令之后又发出其它操作,而DS18B20又忙于温度转换,DS18B20就会输出一个“0”,若转换结束,则DS18B20输出一个“1”。

Recall E2(拷回暂存器)。命令代码为B8H。将温度报警触发器TH和TL中的字节从EEPROM中拷回到暂存器中。该操作是在DS18B20上电时自动执行,若执行该命令后又发出读操作,DS18B20会输出温度转换忙标识:0为忙,1完成。

Read power supply(读电源使用模式)。命令代码为B4H。主设备将该命令发给DS18B20后发出读操作,DS18B20会返回它的电源使用模式:0为寄生电源,1为外部电源。

2.2 AT89C52概述

2.2.1单片机AT89C52介绍

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

2.2.2 主要功能特性

1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、

WORD格式整理

范文范例参考

32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

3 系统硬件设计

3.1 单片机最小系统的设计

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本次课程设计中选用AT89C52式单片机,其最小系统主要由电复位、振荡电路组成。单片机的最小系统如图3所示。

单片机的复位电路原理是在单片机的复位引脚RST上电阻和电容,实现上电复位。当复位电平持续两个时钟周期以上时复位有效。复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚上连接一个电容到VCC,再连接一个电阻到GND;按键复位是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来

WORD格式整理

范文范例参考

使单片机复位。

AT89C51单片机使用12MHZ的晶振最为振荡源,由于单片机内部有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容一般在15pF至50pF之间。外部晶振结合单片机内部电路产生单片机所需的时钟频率。

图3 单片机最小系统

3.2 温度采集电路的设计

温度采集电路部分,采用数字温度传感器DS18B20进行温度采集。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3个引脚;温度侧量范围为-55℃—+125℃,测量精度为0.5℃;被测温度用符号扩展的16位数字量方式串行输出;CPU只需用一个端口线就可以与DS18B20通信。温度采集电路如图4所示。

WORD格式整理