当前位置:文档之家› 基于51单片机的温度检测报警系统与时钟 毕业设计论文

基于51单片机的温度检测报警系统与时钟 毕业设计论文

单片机课程设计基于单片机的温度检测报警与万年历系统目录摘要〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1一、设计要求与方案论证1.1设计要求〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1 1.2系统方案选择和论证〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1 1.3电路最终方案确定〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 1二、电子万年历与温度采集报警硬件设计和实现2.1系统设计〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 2 2.1.1系统设计框图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 22.1.2系统硬件需求介绍〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 3 2.2系统硬件各模块作用〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 3 2.2.1单片机核心控制模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 42.2.2数字温度传感器模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃42.2.3彩屏显示电路模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 52.2.4蜂鸣器电路模块〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 2.3系统电路图设计〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃6 2.3.1系统电路原理框图和原理图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃7三、软件设计与分析3.1系统软件流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃8 3.1.1DS18B20程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃8四、系统测试4.1测试工具〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃9 4.2软件测试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃9 4.3硬件测试〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃10 参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃11 附录一:程序清单〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12 附录二:PCB电路图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃13基于单片机的温度检测报警与万年历系统摘要温度检测报警系统也是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。

此系统是基于STC89C52单片机设计的,包含液晶显示模块, DS18B20温度采集模块,键盘扫描模块,报警模块。

STC89C52作为控制核心,具有功耗低,功能强等特点,电压可选3到5V电源供电。

显示模块采用彩屏动态显示,对于显示数字、字母和汉字最为合适,而且与单片机连线简单,占用IO口相对较少。

温度检测报警模块采用数字式温度传感器DS18B20,该芯片具有精度高,测量范围广等优点,易与单片机连接,模块电路组成简单并同时具有温度报警功能。

关键词:STC89C52, DS18B20,彩屏显示,采集周围设备温度、温度报警一、设计要求与方案论证1.1设计要求1.1.1 实时温度检测并显示1.1.2 具有时间调节设臵功能,以及时间预设报警、温度报警等功能。

1.1.3 可以保存上次设定的报警温度及报警方式。

1.2系统方案选择和论证STC89C52单片机作为核心控制体,该单片机具有高可靠,超低价,低功耗,无法解密等优点。

该单片机属于双列直插式封装的PDI40口管脚。

具有4个输入输出端口,分别为PORT0,PROT1,PROT2,PROT3,其中P0口是一组8位漏极开路型双向IO口,校验时,要求接上拉电阻。

其他三个内部有30K的电阻,所以不用再外接电阻。

此单片机具有6个中断,其中包括三个定时器中断,二个外部中断,一个串口中断,为全双工通信口。

内部有静态非易失EEPROM和看门狗。

片内含8Kbbytes的可反复檫写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),功能强大,适合许多较为复杂的控制应用场合。

相比较其他芯片来说比较适合学生试验所用,故采用此单片机作为核心控制芯片。

DS18B20是数字式温度传感器,采用单总线通信协议。

DS18B20具有体积小,硬件开销低,抗干扰能力强,精度高附加功能强,封装形式多样等特点。

适合各种狭小空间内设备的数字测温和控制。

同时单线可挂接多个元件,因为每个元件都有唯一的一个64位光刻ROM编码,家族码为28H,可以多个也可单个操作。

电压测量范围是3.0V到5.5V。

内部含有EEPROM,其报警上、下限温度值和设定的分辨率倍数在芯片掉电的情况不丢失。

并且内部带有AD转换电路,技术较为成熟,所以采用此芯片最为合适。

采用彩屏显示各种数字信息较为合适,通过对单片机的编程来控制DS18B20芯片的读写操作来获取相应的信息,通过对定时器T0的编程可以实现时钟的形成,再通过对彩屏的编程控制将获取到的信息通过一系列转换从而全部显示到彩屏上。

最后达到有温度采集报警和电子万年历等功能。

1.3最终方案确定核心控制体:STC89C52单片机数字式温度传感器:DS18B20总共设有四个按键,为节约资源考虑,每个按键都有多种功能。

每个按键分别标号为A,B,C,D.第一次按下B,C都没有反应,首先按下A键可选择指针位臵,B,C键为加减键,D设臵报警方式。

操作简单,按键灵活。

二、温度采集报警与电子万年历硬件设计和实现2. 1系统设计框图图1 系统组成框图2.1.2系统硬件需求介绍STC89C52单片机一片,DS18B20数字式温度传感器一个,+5V无源蜂鸣器二个,12MHZ 晶振一个,多个按键和开关,常用电容电阻,连接线,三极管,二极管若干,滑动变阻器一个。

2.2系统硬件各模块作用2.2.1单片机核心控制模块核心控制器件选用STC89C52单片机。

STC89C52单片机为40管脚双列直插芯片,它是一种高性能,低功耗的8位CMOS微处理器芯片,市场应用最多。

而且价格便宜,控制方便,便于应用有4个I/O口分别为P1,P2,P3,P4。

其中每一个管脚都能做独立的输入输出管脚,它的第9脚位复位管脚,接上电容和上拉电阻再带个开关构成复位电路。

18,19管脚接外部晶振和两个微调电容构成外部晶振电路。

单片机,复位电路,晶振,5V电源构成单片机最小系统。

其中与AT89S52单片机管脚容。

图1 单片机最小电路图2为单片机最小电路,其中晶振频率可以根据自己需要进行选择,范围在0-24MHZ,常用12MHZ。

复位电路得电容一般用10UF,但并不唯一,只要RC所得时间大于两个机器周期即可。

还有其P0内部无上拉电阻,所以在执行输出功能时,外部必须接上拉电阻(一般10K即可)。

P0口有的作用,接上液晶的DB0-DB7(数据总线)控制着向液晶发送8位并行数据。

P2^7接上DS18B20的单数据线,发送并接受数据,地址的操作。

P3^0到P3^3作为独立按键口。

P1^7口控制蜂鸣器的报警,当温度、到达限定值时会发出高低电平脉冲,以至发出报警声音。

2.2.2数字温度传感器模块(1)用Pt100外围电路接法麻烦,需要A/D转换,不好调试,计算量大,编程麻烦。

(2)数字温度传感器选用DS18B20,采用单总线通信协议,接法简单,精度高,容易编程。

故选用DS18B20DS18B20主要特性有:1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。

2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

5、温范围-55℃~+125℃,在-10~+85℃时精度为0.5℃。

6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。

7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

DS1820的操作指令分为ROM操作命令和存储器操作命令:(1)、ROM操作命令及其含义Skip ROM指令代码(CCh):此命令执行后的存储器操作将针对在线的所有DS1820。

Alarm Search指令代码(ECh):当温度值高于TH或低于TL中的数值时,此命令可以读出报警的DS1820。

(2)、存储器操作指令代码及其含义Read Scratchpad指令代码(BEh):读取温度寄存器的温度值。

Copy Scratchpad指令代码(48h):将温度寄存器的数值拷贝到EERAM中,保证温度值不丢失。

Convert T指令代码(44h):启动在线DS1280做温度A/D转换。

Recall E2指令代码(B8h):将EERAM中的数值拷贝到温度寄存器中。

温度测量步骤如下:(1).Read ROM(33h),每次对DS1820进行操作之前都要对它进行初始化,主要目的在于确定传感器已经连接到单总线上。

(2).Search ROM(F0h),这条指令使处理器用排除的方法去辨别总线上的DS1820。

(3).Match ROM(55h),只有准确的符合64位ROM序列的DS1820才能响应其后的指令,当然,单点测温时可以使用Skip ROM(CCh)指令来跳过这一步。

(4).Convert T(44h),发完指令后应查询总线上的电平,当电平位高时温度转换完成。

(5).Read Scratchpad(BEh),将读指令发出后,就可从总线上读得表示温度的2字节二进制数由于采用单总线数据传输方式,DS18B20的数据I/O均由同一条线完成,因此,对读写的操作时序要求严格。

相关主题