资源描述:
《基于单片机的温度检测系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、※※※※※※※※※※※※※※※※※※※※※※※※2009级信息系统综合设计信息系统综合设计报告书课题名称基于单片机的温度检测系统设计姓名学号院、系、部电气工程系专业电子信息工程指导教师2013年1月7日基于单片机的温度检测系统设计一、设计目的1、了解测温系统中工作元件的工作原理;2、掌握数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、超温报警程序的编写。二、设计要求1.测量通道:2路可循环显示,并有通道标志2.温度传感器选用DS18B203.具有温度等信息的显示,具有温度上下限设置功能,越限时可以进行报警给出电路原理图设计,protel印刷电路图设计三、硬件电路设
2、计3.1系统结构框图AT89S518BITCPU键盘电路DS18B20温度芯片数据传输数据显示超温报警输入电源PC机继电器1N继电器2压缩制冷器加热器图1系统结构框图3.2单片机介绍图2单片机引脚图P0口作为I/O口使用时为准双向口。P1口是自带上拉电阻的I/O口,是一个准双向口。在输入操作时需要先置1。P1口特点是输出锁存器,输出时没有条件。输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出1。P3口为准双向口。可以字节访问,也可以位访问。P3.0---RXD,串行输入口。P3.1---TXD,串行输出口。P3.2---INT0,外部中断0的请求。P3.3---I
3、NT1,外部中断1的请求。P3.4---T0,定时器/计数器0外部计数脉冲。P3.5---T1,定时器/计数器,1外部计数脉冲。P3.6---WR,外部数据存储器写选通。P3.7---RD,外部数据存储器读选通。3.3数码管显示电路图3数码管显示电路3.4LED显示电路图4LED显示电路3.5串口显示电路图5通讯接口电路3.6系统电路原理图图6电路原理图1、所需元器件单片机AT89S521芯片(1个)、A/D转换机(1个)、温度传感器DS18B20(1个)、电阻:10KΩ(2个)、电容:1000μF(1个)、1uF(4个)、25uF(1个)数码管(3个)、按钮(4个)、晶振
4、(6MHZ)2、实现的功能该电路要实现的功能为,实时检测外界温度,将该温度值转换为数字量,然后通过四位的数码管显示。其中外界温度用温度传感器DS18B20感应,然后通过ADC0809转换为数字量后,通过单片机的P1口送到单片机内部存储单元。之后将该温度值转换为十进制后,将个十百位分别通过P1口送出,然后经74HC573的锁存,输出段码,之后通过P1口送出位码,经另一片74HC573锁存后驱动相应的数码管显示。二、程序流程图设计开始初始化调用温度采集模块调用温度整数小数分离处理模块调用温度计算成BCD码模块调用温度转换输出类型模块调用键盘扫描模块调用报警模块调用温度输出数码管
5、模块图7程序流程图五、程序设计ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HSETBP2.4MOV30H,#0MOV31H,#0MOV32H,#0MAIN1:LCALLGET_TEMP;采集温度LCALLSEPERATE;对采集后的温度数据进行处理LCALLZHUANHUAN;二进制数转换为BCD的形式LCALLQINGLING;转换为满足输出的类型LCALLJIANTIAO;扫描键盘模块LCALLBAOJING;报警设置模块LCALLSHUCHU;显示数据到数码管SJMPMAIN1;*****************************
6、**************************************GET_TEMP:CLREA;使用DS18B20一定要禁止任何中断产生LCALLINT;调用初使化子程序MOVA,#0CCH;LCALLWRITE;送入跳过ROM命令MOVA,#44HLCALLWRITE;送入温度转换命令LCALLINT;温度转换完全,再次初使化DS18B20MOVA,#0CCHLCALLWRITE;送入跳过ROM命令MOVA,#0BEHLCALLWRITE;送入读温度暂存器命令LCALLREADMOVR7,A;读出温度值低字节存入R7LCALLREADMOVR6,A;读出温度值高
7、字节存入R6SETBEARET;******************************************************************INT:;初始化DS18B20子程序CLREAL0:CLRP2.1;复位MOVR2,#149L1:DJNZR2,L1;596USSETBP2.1;释放DS18B20总线MOVR2,#15;4USL2:DJNZR2,L2;60USCLRC;2US,清DS18B20存在信号MOVC,P2.1;取DS18B20存在信号JCL0;判断DS18B20存在吗?不存在