微机原理与单片机课程设计基于单片机的温度警报器的设计

上传人:无*** 文档编号:72674959 上传时间:2022-04-09 格式:DOC 页数:20 大小:327.50KB
收藏 版权申诉 举报 下载
微机原理与单片机课程设计基于单片机的温度警报器的设计_第1页
第1页 / 共20页
微机原理与单片机课程设计基于单片机的温度警报器的设计_第2页
第2页 / 共20页
微机原理与单片机课程设计基于单片机的温度警报器的设计_第3页
第3页 / 共20页
资源描述:

《微机原理与单片机课程设计基于单片机的温度警报器的设计》由会员分享,可在线阅读,更多相关《微机原理与单片机课程设计基于单片机的温度警报器的设计(20页珍藏版)》请在装配图网上搜索。

1、 新能源与动力工程学院课程设计报告微机原理与单片机课程设计 专业电力工程与管理 班级电力1201 姓名 学号201211354 指导教师 2015年 7 月兰州交通大学新能源与动力工程学院课程设计任务书课程名称: 单片机课程设计 指导教师(签名): 班级: 电力工程与管理1201 姓名: 学号: 201211354 一、 课程设计题目基于单片机的温度警报器的设计二、课程设计使用的原始资料(数据)及设计技术要求:硬件电路的设计、软件电路的设计,总体方案的选择、讨论确定。软件流程图的设计,硬件电路各部分的设计,程序的软调试、整机的调试,撰写设计报告。三、课程设计的目的通过制作简易温度警报器,加深对

2、所学专业知识的认识,提高对单片机的应用能力,提高收集文献,资料的能力,从而达到综合运用所学的知识进行电子产品设计,制作与调试。四、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求等) (1)硬件电路的设计、软件电路的设计(2)总体方案的选择、讨论确定(3)软件流程图的设计,硬件电路各部分的设计,整机的调试(4)撰写设计报告五、工作进度安排7月6日 熟悉课程设计内容及要求制定方案。7月7日 设计电路及软件测试。7月8日 采购温度警报器组件按照设计电路进行焊接。7月9日 产品整理并完成设计报告及答辩。六、主要参考文献1 郭庭吉8051单片机实践与应用M.北京:清华大学出版社,

3、2002。2 高峰单片微型计算机与接口技术M.北京:科学出版社,2003。审核批准意见系主任(签字) 年月日指导教师评语及成绩指导教师评语成绩设计过程(40)设计报告(50)小组答辩(10)总成绩(100)指导教师签字: 年 月目录引言1设计内容及性能指标52系统方案比较、设计与论证52.2 温度器件的选择52.3按键方案的选择62.4显示方案的选择62.5电源方案的选择63系统总体方案64主控芯片的设计与介绍74.1单片机的简介74.2 最小系统模块74.3温度传感器的选择85硬件实现及单元电路设计85.1主控制模块85.2 显示模块电路95.3数码管显示驱动电路95.4温度传感器(DS18

4、B20)电路105.5 蜂鸣器、发光二极管报警电路116系统软件设计126.1程序结构分析126.2系统初始化程序流图127系统的安装与调试137.1安装步骤137.2 电路的调试13总结14参考文献15附录16引言随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集、信息传输和信息处理中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农

5、业生产中也离不开温度的测量,因此研究温度的测量方法和温度报警装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。本设计控制器使用STC89C51单片机,测温传感器使用DALLAS公司DS18B20,用数码管来实现温度显示。1设计内容及性能指标本设计主

6、要是介绍了单片机控制下的温度报警系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:单片机实时检测温度传感器DS18B20的状态,并将DS18820得到的数据进行处理。上电后数码管显示当前的环境温度,通过按键可设置高低温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到0.1度。并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面。2系统方案比较、设计与论证该系统主要由温度测量和温度设置及系统状态显示三部分电路组成,下面介绍实现此系统功能的方案。2.1主控制器模块

7、的选择采用STC89C51单片机作为整个系统的核心,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间大,对于本设计也绰绰有余,更可贵的是STC89C51单片机价格非常低廉。2.2 温度器件的选择采用数字温度芯片DS18B20 测量实际温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。采用51 单片机控制,软件编程的自由度大,可通

8、过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外STC89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。2.3按键方案的选择采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多,优点为电路设计简单,且编程相对比较容易。2.4显示方案的选择用数码管进行显示。数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。2.5电源方案的选择采用3节1.5

9、V干电池共4.5V做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。3系统总体方案根据上述方案比较,结合题目要可以将系统分为主控模块,显示模块,温度采集模块,按键模块和报警模块,其框图如下:显示模块电源模块温度采集模块单片机最小系统声光报警模块按键模块图1 总图框图4主控芯片的设计与介绍4.1单片机的简介CPU是整个控制部分的核心。在考虑经济性和满足需求的前提下,本系统选用STC89C51单片机作为整个系统的控制中心。管脚图如图2:图2 STC89C51管脚图4.2 最小系统模块本次设计中,选用51系列单片机STC89C51芯片作为温度报警器数据

10、处理及操作控制芯片。只有单片机芯片无法完成数据处理及控制功能,必须有附加的电路,使单片机芯片组成一个可运行的系统才能实现其功能。本次设计中,由STC89C51芯片连同附加电路构成的单片机最小系统作为数据处理及控制模块,其中,使用P1口作为数码管的段选的数据传输口,P3口的高四位做为数码管的位选,其中P20、P21、P23做为按键接口,P24做为温度传感器ds18b20的数据口,P25用做蜂鸣器声光报警口。其电路连接图如下:图3 连接图4.3温度传感器的选择由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DA

11、LLAS公司的数字温度传感器DS18B20作为测温元件。5硬件实现及单元电路设计5.1主控制模块 要使单片机工作起来最基本的电路构成为单片机最小系统如图4所示。 图4 单片主控电路单片机最小系统包括单片机、复位电路、时钟电路构成。5.2 显示模块电路 显示采用四位数码管显示,显示电路如图5图5 数码管显示5.3数码管显示驱动电路三极管8550来驱动4位数码管,不仅简单,而且价格便宜。图6 驱动电路5.4温度传感器(DS18B20)电路5.4.1 DS18B20基本介绍DS18B20它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号处理器处理。DS18

12、B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,下图电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。图7 温度传感器电路引脚图5.4.2 DS18B20控制方法DS18B20有六条控制命令:温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器

13、9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU 5.4.3 DS18B20供电方式DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。本设计采用电源供电方式, P2.2口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和STC89C51的P2.2来完成对总线的上拉

14、。主机控制DS18B20完成温度转换必须经过3个步骤:初始化,ROM操作指令,存储器操作指令。5.5 蜂鸣器、发光二极管报警电路 电路如图8主要是用来设定温度报警温度的、有高温和低温报警。本设计中报警提醒电路采用NPN型S8550三极管驱动,当单片机的P25口输出低电平时,三极管VEVBVC0。三极管的发射结正偏,集电结反偏,三几个饱和导通,此时发光二极管和蜂鸣器发出声光闹钟报警提醒,当单片机的P25口输出高电平时,三极管截止,声光闹钟停止工作。图8蜂鸣器、发光二极管驱动引脚图6系统软件设计6.1程序结构分析主程序调用了3个子程序,分别是数码管显示程序、温度信号处理程序、按键设定报警温度程序。

15、温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码管的显示送数,控制系统的显示部分。按键设定程序:可以设定低温和高温报警可精确到0.1度。6.2系统初始化程序流图发复位命令发跳过ROM命令 初始化成功 结束图9 初始化程序流程图7系统的安装与调试7.1安装步骤1.检查元件的好坏2.放置、焊接各元件7.2 电路的调试首先烧入显示程序,看显示正不正常。在调试程序时,发现有的指令用的不正确,导致电路功能不能完全实现,另外软件程序中的延时有的过长、有的过短。总结本温度报警器,通过单片机实时检测温度传感器DS18B20的状态,并将DS18820得到的数据进行处理。上

16、电后数码管显示当前的环境温度,通过按键可设置高低温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到0.1度。并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面。由于采用了4节干电池供电使系统的抗干扰性得到加强。在软件上,充分利用了STC89C51的系统资源,系统运行流畅。本设计结构简单,调试方便,系统反映快速灵活,经实验测试,该温度报警系统设计方案正确、可行,各项指标稳定、可靠。参考文献1曹巧媛主编. 单片机原理及应用(第二版). 北京:电子工业出版社,20022全国大学生电子设计竞赛组委会编

17、.第五届全国大学生电子设计竞赛获奖作品选编(2001), 北京:北京理工大学出版社,20033何力民编. 单片机高级教程. 北京:北京航空大学出版社,20004金发庆等编. 传感器技术与应用.北京机械工业出版社,20025刘坤、宋戈、赵洪波、张宪栋编51单片机C语言应用开发技术大全,北京:人民邮电出版社,20086谭浩强著C程序设计北京:清华大学出版社,2007;7王忠飞,胥芳MCS-51 单片机原理及嵌入式系统应用M西安:西安电子科技大学出版社,2007P268-2738 Peter Van Der Linden著,徐波译.C专家编程,人民邮电出版社,2003附录附录1 整体电路原理图附录2

18、 部分程序#include#include#define uchar unsigned char#define uint unsigned intsbit DQ=P37; sbit beep=P30; 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 table1

19、0= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /09的LED字符编码 uchar setValue_low=15;uchar setValue_high=30;main() while(1) read_temp(); LED_display(); alarm();void delay(uint t)for(;t0;t-);void reset() /DS18B20的复位uchar presence=1;while(presence) while(presence) DQ=1;_nop_();_nop_(); DQ=0; delay(

20、50); DQ=1; delay(6); presence=DQ; delay(45); presence=DQ; DQ=1;void write_byte(uchar val)/DS18B20写一个字节 uchar i;for(i=8;i0;i-) DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=val1; DQ=1;_nop_();uchar read_byte(void)/DS18B20读一个字节 uchar i;uchar value=0;for

21、(i=8;i0;i-) DQ=1;_nop_();_nop_(); value=1; DQ=0; _nop_();_nop_();_nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_();_nop_(); if(DQ) value|=0x80; delay(6); DQ=1;return(value);void read_temp() /从DS18B20读取温度值 uchar ch1,ch2;reset();write_byte(0xcc);write_byte(0x44);reset();write_byte(0xcc);write_byte(0xbe);c

22、h1=read_byte(); /DS18B20的温度数值是16位的二进制,精度高,最后四位是温度的小数部分,最高五位为符号位(即正负温度) ch2=read_byte();num=(ch24); /只取温度值的中间八位,小数部分舍去,符号位舍去四位。tempH=num/10;/温度的十位tempL=num-tempH*10;/温度的个位void LED_display() /显示检测的温度 P2=0x0; P2=2; P0=tabletempL; delay(50); P2=0x0; P2=1; P0=tabletempH; delay(50); P2=0x0;void alarm() /报警 if(setValue_low=num) beep=1; /在温度允许范围,不报警 else beep=beep;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!