可调温度报警器设计.doc
《可调温度报警器设计.doc》由会员分享,可在线阅读,更多相关《可调温度报警器设计.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流可调温度报警器设计.精品文档.XXX大学XXX学院综合性实验报告课程名称: 综合电子设计 实验名称: 可调温度报警器 院系: 电子信息学院 专业: 班级: 组员: 指导老师: 日期: 摘要:在现代化的工业生产中,需要对周围环境的温度进行检测和控制。本小组针对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过液晶显示的系统。该系统使用89C51单片机,同时运用单线数字温度传感器DS18B20,LCD1602显示模块等模块可实现温度的检测。课题经过实验验证达到设计要求,具有一定的使用价值和推广价值。该作品使用液晶显示,可以清晰地
2、显示当前的报警温度,使使用者使用时不会出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,使用性很高。关键字:温度报警器 温度上下限 AT89C51单片机 液晶LCD1602 温度传感器DS18B20目录一 课程设计任务21.1功能说明2二 整体设计方案22.1设计思路22.2整体框图22.3模块功能说明2三 硬件电路设计23.1各模块设计23.1.1传感器的选择23.1.2单片机的选择23.1.3液晶的选择23.2各模块分析23.2.1单片机89C51管脚图23.2.2 DS18B20引脚及管脚功能介绍23.2.3 LCD1602液晶显示介绍2四 控制软件设计及电路图24.1单片机模块
3、电路图及分析24.2液晶显示模块电路图及分析24.3温度传感器模块电路图及分析2五 系统调试及遇到的问题2六 个人小结26.1组长 26.2 组员126.3组员22七 参考文献2八 附录28.1附录128.2附录228.3附录32一 课程设计任务1.1功能说明1完成温度进行测量,理论测量范围-55C+125C;2.将温度测量值通过LCD液晶显示模块显示;3.可以通过按键进行对上下限报警温度,自行设定并实现功能;二 整体设计方案2.1设计思路根据功能要求,必须有单片机控制模块,LCD1602显示模块以及DS18B20的温度传感模块。各个模块都有其自己的功能。上电后,通过DS18B20可以检测到温
4、度,并在显示器上显示。声光报警DS18B2051单片机键盘&显示采用DS18B20的数字温度计结构框图2.2整体仿真电路图 图1 温度报警器总电路图2.3模块功能说明本系统共分为三块模块。单片机模块,这部分主要实现数据的处理,输出执行,报警设置功能显示模块可以分别显示实时温度值,温度上下限。温度传感模块的主要功能是通过DS18B20的强大功能实现对温度的采集及发送到计算机。 图2 温度报警器流程图结束YesYesNoNo温度大于温度上限红灯亮,报警温度小于温度上限白灯闪烁,警告温度小于低温控制温度比较键盘处理开始LCD初始化初始化显示读取温度数据转换,显示读取键盘值红灯亮,报警绿灯亮,正常温度
5、小于温度下限NoYesYes三 硬件电路设计3.1各模块设计3.1.1DS 18B20简介DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器 储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。 DS18B20的电源也可以从外部3V-5 .5V的电压得到。 DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳
6、过ROM, 5 )报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。 若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利
7、用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。 采用DALLAS最新单线数字温度传感器DS18B20。DS18B20“一线总线”数字化温度传感器也支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20的特性:DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM
8、中,掉电后依然保存。3.1.2单片机89C51简介 89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。3.1.3 LCD1602液晶简介采用LCD1602液晶显示模块,有体积小、功耗低、显示内容丰
9、富、超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中得到广泛的应用。目前字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件。它可以显示两行,每行16个字符,采用单5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。3.2各模块分析3.2.1单片机89C51管脚图注:引脚说明:电源引脚Vcc(40脚):典型值5V。Vss(20脚):接低电平。外部晶振X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号,X1接地输入输出口引脚:P0口:I/O双向口。作输入口时,应先软件置“ 1”。P1口:I/O双向口。作输入口时,应先软件置“ 1”。P2口:I/O双向口。作输入口时
10、,应先软件置“ 1”。P3口:I/O双向口。作输入口时,应先软件置“ 1”。控制引脚:RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。RST/Vpd(9脚):复位信号输入端(高电平有效)。第二功能:加+5V备用电源,可以实现掉电保护RAM信息不丢失。ALE/-PROG(30脚):地址锁存信号输出端。第二功能:编程脉冲输入。-PSEN(29脚):外部程序存储器读选通信号。-EA/Vpp(31脚):外部程序存储器使能端。第二功能:编程电压输入端(+21V)。3.2.2 DS18B20引脚及管脚功能介绍注DQ:数字信号输入输出端。GND:电源地端。VDD:
11、外接供电电源输入端(在寄生电源接线时此脚应接地)。3.2.3 LCD1602液晶显示介绍管脚功能1602采用标准的16脚接口第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作第6脚:E(或EN)端为使能(enable)端 第714脚:D0D7为8位双向数据端 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极四 控制软件设计及电路图4.1单片机模块电路图
12、及分析 图3 单片机接线图P1接液晶数据口,P0接3个二极管,P2接8个按钮,P3.3接蜂鸣器,P3.4接液晶的RS,P3.5接液晶的R/W,P3.6接液晶的EN,P3.7接温度传感器,其他按单片机最小系统连接。4.2液晶显示模块电路图及分析 图3 液晶接线图液晶显示模块的子程序:/*lcd1602程序*/ void delay1ms(unsigned int ms)/延时1毫秒(不够精确的) unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x8
13、0; delay_18B20(10); return(dat); void ds1820wr(uchar wdata)/*写数据*/ unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/*读取温度值并转换*/ uchar a,b; ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0x44);/*启动温度转换*/ ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*
14、/ ds1820wr(0xbe);/*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue=8; tvalue=tvalue|a; if(tvalue0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.625);/温度值扩大10倍,精确到1位小数return(tvalue); void ds1820disp()/温度值显示 uchar flagdat; disdata0=tvalue/1000+0x30;/百位数 disdata1=tvalue%1000/100+0x
15、30;/十位数 disdata2=tvalue%100/10+0x30;/个位数 disdata3=tvalue%10+0x30;/小数位 if(tflag=0) flagdat=0x20;/正温度不显示符号 else flagdat=0x2d;/负温度显示负号:- if(disdata0=0x30) disdata0=0x20;/如果百位为0,不显示 if(disdata1=0x30) disdata1=0x20;/如果百位为0,十位为0也不显示 wr_com(0x89);wr_dat(flagdat);/显示符号位 wr_com(0x8a); wr_dat(disdata0);/显示百位
16、wr_com(0x8b); wr_dat(disdata1);/显示十位 wr_com(0x8c); wr_dat(disdata2);/显示个位 wr_com(0x8d); wr_dat(0x2e);/显示小数点 wr_com(0x8e); wr_dat(disdata3);/显示小数位五 系统调试及遇到的问题开始我们只是做温度报警,因为温度传感器选择的是数字式温度传感器,老师觉得过于简单,所以帮我们也想了很多其他功能。1. 开机复位欢迎词的移动显示 unsigned char code str3= Welcome! ; unsigned char code str4=; init_play
17、()/初始化显示 wr_com(0x80+0x10); /屏幕外等待 display(str3); wr_com(0xc0+0x10); display(str4); for(num=0;num16;num+) /屏幕左移 wr_com(0x18); delay1ms(200);2. 得到键盘值uchar GetKey() /读取键值 uchar K; if(P2=0xff) return 0; /检查是否有键按下 delay1ms(10); switch(P2) case 0xfe: K=1;break; case 0xfd: K=2;break; case 0xfb: K=3;break;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可调 温度 报警器 设计
限制150内