温度报警系统
六、结论 基于51单片机设计的温度报警系统,符合课设任务的要求。测温范 围:0℃--99℃;误差:≤±2℃报警下限温度:15℃;报警上限温度: 30℃。当温度低于15℃或高于32℃时报警器会报警同时数码管也会 显示当时温度。 此次课程设计所需要的元件在实验室都可以找到,同时价格也比较 合理。做出来的硬件实现功能比较理想,具有体积小、重量轻、抗干 扰能力强、精确度高等优点。同时也可以做进一步的扩展,可扩展为 多路温度采集系统。总体来说符合了性价比要求。 七、课程设设计体会 本次课程设计是一次综合性的应用,全方位考察了我们对所学硬件及 软件的理解与掌握。通过本学期对单片机课程和传感器课程的学习我 们不但对以前学过的知识点有了更深一步的掌握,同时还学到了更多 书本中所没有涉及到的东西。从开始做期末作品后就不断地去图书馆 借书查找相关资料、上网搜索信息、与同组同学讨论方案。在我们的 共同努力下,在本周成功的完成了硬件和软件的设计。
3.译码显示流程图
译码显示程序中,要先将初始标识清除。将温度的个位送至低位 数码管显示,清除标志再将温度值的高位送到高位数码管显示。之后 延时,清除标志返回继续显示下一数据。译码显示流程图如图8所示。
4.报警程序流程图
程序中首先判断所读取的温度是 否超出所设定的下限,如果超出下限 ,报警器报警;如果没超出下限,再 跟上限值比较判断是否超出上限。如 果超出,则报警;若无,程序返回。 报警程序流程图如图9所示。
一、概述 • • 本次设计可以应用到许多我们用过的软件设计,将 前面所学的知识融汇在一起实现温度监测及其报警的功能, 来提醒农民当前大棚内温度是否适合农作物的生长。 电子技术是在十九世纪末、二十世纪初开始发展起 来的新兴技术,在二十世纪发展最迅速,应用最广泛,成 为近代科学技术发展的一个重要标志。 随着电子技术的飞速发展,电子技术在日常生活中 得到了广泛的应用,各类转换电路的不断推出以及电子产 品的快速更新,电子技术已成为世界发展和人们生活中必 不可少的工具。 本次课设应用51单片机设计一个温度检测报警系统, 用温度传感器DS18B20采集大棚内的温度,当大棚内的 温度高于30℃。或低于15℃。时,电路发出报警信号并显 示当前温度,达到提醒农民的效果。 本次课设要求设计一个温度监测报警显示电路,要 求温度范围:0℃--99℃;测量误差为±2℃;报警下限温 度为:15℃;报警上限温度为:32℃。
基于51单片机的数字温度报警器的设计
摘要 ........................................................... 一、概论 二、方案论证 三、电路设计 1.单片机最小系统的设计 2.温度采集电路的设计 3.LED显示报警电路的设计 四、程序流程 1.主程序流程图 2.DS18B20读取温度流程图 3.译码显示流程图。 4.报警程序流程图 五、电路性能的测试 1.硬件测试 六、结论 七、课程设设计体会及合理建议 参考文献 附录A 总电路图 附录B 温度报警器部分程序
单片机的最小系统 图
2.温度采集电路的设计
•
温度采集电路部分,采用数字温度传感器 DS18B20 进行温 度采集。DS18B20是DALLAS公司生产的一线式数字温度传感器,具 有3个引脚;温度侧量范围为-55℃—+125℃,测量精度为0.5℃;被 测温度用符号扩展的16位数字量方式串行输出;CPU只需用一个端口 线就可以与DS18B20通信。温度采集电路如图4所示。
while(presence) { while(presence) { DQ=1;_nop_();_nop_(); DQ=0; delay(50); DQ=1; delay(6); presence=DQ; } delay(45); presence=~DQ; } DQ=1; } void write_byte(uchar val) { uchar i; for(i=8;i>0;i--) { DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=val>>1; } DQ=1; _nop_(); }
pcb图
1
附录Ⅲ:程序
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit DQ=P3^6; sbit beep=P3^0; void reset(); //DS18B20 复位函数 void write_byte(uchar val); //DS18B20写命令函数 uchar read_byte(void); //DS18B20读1字节函数 void read_temp(); //温度读取函数 void LED_display(); void alarm(); uchar tempH,tempL,num; uchar table[10]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0~9 的LED字符编码 uchar setValue_low=15; uchar setValue_high=32; main() { while(1) { read_temp(); LED_display(); alarm(); } } void delay(uint t) { for(;t>0;t--); } void reset() //DS18B20的复位 { uchar presence=1;
附录:总电路图 和PCB图 总电路图
参考文献
[1].沙占友、李学芝著.中外数字万用表电路原理与维修技术.[M]北京: 人民邮电出版社,1993年.P157-P180。 [2].黄志伟主编.全国大学生电子设计竞赛电路设计.[M]北京:北京航 空航天大学出版社,2006年.P5-P21。 [3].戴伏生主编.基础电子电路设计与实践.[M]北京:国防工业出版社, 2002年.P65-68。 [4].谭博学主编.集成电路原理与应用.[M]北京:电子工业出版社, 2003年.P134-P140。 [5].张毅刚、刘杰主编.单片机原理与应用.[M]哈尔滨:哈尔滨工业大 学出版社,2010年.P55-P60。 [6].田立、田清、代方震主编.51单片机C语言程序设计快速入门.[M]北 京:人民邮电出版社,2007年.P123-P144。 [7].刘文涛主编.单片机语言C51典型应用设计.[M]北京:人民邮电出版 社,2005年.P211-P213。 [8].张学昭、王东云主编.单片机原理、接口技术及应用(含C51).[M] 西安:西安电子科技大学出版社,2009年.P33-P45。 [9].高慧芳主编.单片机原理与应用技术.[M]北京:科学出版社,2010 年.P235-P258。
//DS18B20写一• 1.主程序流程图 • 主程序中对单片机做了初始化的设计,包含温度的读取、数码 管显示、报警三个子系统,运行时由主程序先调用DS18B20读取温度 的子函数进行温度采集,再将数据送入数码管显示。同时判断所采集 的数据是否超出所设置的温度范围。如果超出,调用报警子系统;未 超出,程序自动返回。主程序流程图如图6所示。
•
•
•
二、设计方案
设计一个用于温室大棚温度监测系统。大棚农作物 生长时,其温度不能太低,也不能太高,太低或太高均不 适合农作物生长。该系统可实时测量、显示大棚的温度, 当大棚温度超过农作物生长的温度范围时,报警提醒农民。
三、电路设计
• 1.单片机最小系统的设计 • 单片机是一种集成电路芯片,是采用超大规模集成电路技术把 具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器 ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片 上构成的一个小而完善的计算机系统。本次课程设计中选用AT89C52 式单片机,其最小系统主要由电复位、振荡电路组成。单片机的最小 系统如图3所示。 • 单片机的复位电路原理是在单片机的复位引脚RST上电阻和电 容,实现上电复位。当复位电平持续两个时钟周期以上时复位有效。 复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚 上连接一个电容到VCC,再连接一个电阻到GND;按键复位是在复 位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高 电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复 位。 • AT89C51单片机使用12MHZ的晶振最为振荡源,由于单片机 内部有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容 一般在15pF至50pF之间。外部晶振结合单片机内部电路产生单片机 所需的时钟频率。
摘要:
• 随着传感器在生产生活中更加广泛的应用,一种新 • 型的数字式温度传感器实现对温度的测试与控制得到了更 快的开发。本文设计了一种基于单片机AT89C52的温度检 测及报警系统。该系统将温度传感器DS18B20接到单片 机的一个端口上,单片机对温度传感器进行循环采集。将 采集到的温度值与设定的上下限进行比较,当超出设定范 围的上下限时,通过单片机控制的报警电路就会发出报警 信号,从而实现了本次课程设计的要求。该系统设计和布 线简单、结构紧凑、体积小、重量轻、抗干扰能力较强、 性价比高、扩展方便,在工农业等领域的温度检测中有广 阔的应用前景。本次课程设计的测量范围为0℃--99℃, 测量误差为±2℃。 • 关键字:温度传感器、单片机、报警、数码管显示
2.DS18B20读取温度流程图 • 根据DS18B200的通讯协议,单片机控制DS18B20完成温度转换必须 经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位 成功后发送一条ROM指令,最后发送RAM指令,这样才能对 DS18B20进行预定的操作(复位要求主CPU将数据线下拉500微秒然 后释放,当DS18B20收到信号后 等待16~60微秒左右,后发出 60~240微秒的存在低脉冲,主 CPU收到此信号表示复位成功)。 DS18B20读取温度时先读取温 度低字节,在读取温度高字节。程 序中命令0xCC:跳过读序号列号 的操作;命令0x44:启动温度转换; 命令0xBE:读取温度寄存器等,前 两个字节就是温度。后面的寄存器省 略不读。DS18B20读取温度流程图如 图7所示。