ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:205.93KB ,
资源ID:12639183      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12639183.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与单片机课程设计 基于单片机的温度警报器的设计.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

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

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

3、辩。六、主要参考文献1 郭庭吉8051单片机实践与应用M.北京:清华大学出版社,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硬件实现及单元

4、电路设计 85.1主控制模块 85.2 显示模块电路 95.3数码管显示驱动电路 95.4温度传感器(DS18B20)电路 105.5 蜂鸣器、发光二极管报警电路 116系统软件设计 126.1程序结构分析 126.2系统初始化程序流图 127系统的安装与调试 137.1安装步骤 137.2 电路的调试 13总结 14参考文献 15附录 16引言随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集、信息传输和信息处理中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在

5、我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和温度报警装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。本设计

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

7、系统方案比较、设计与论证该系统主要由温度测量和温度设置及系统状态显示三部分电路组成,下面介绍实现此系统功能的方案。2.1主控制器模块的选择采用STC89C51单片机作为整个系统的核心,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间大,对于本设计也绰绰有余,更可贵的是STC89C51单片机价格非常低廉。2.2 温度器件的选择采用数字温度芯片DS18B20 测量实际温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温

8、方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外STC89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。2.3按键方案的选择采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多,优点为电路设计简单,且编程相对比较容易。2.4显

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

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

11、要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。5硬件实现及单元电路设计5.1主控制模块 要使单片机工作起来最基本的电路构成为单片机最小系统如图4所示。 图4 单片主控电路单片机最小系统包括单片机、复位电路、时钟电路构成。5.2 显示模块电路 显示采用四位数码管显示,显示电路如图5图5 数码管显示5.3数码管显示驱动电路三极管8550来驱动4位数码管,不仅简单,而且价格便宜。图6 驱动电路5.4温度传感器(DS18B20)电路5.4.1 DS18B20基本介绍DS18B20它具有微型化、低功耗、高性能、抗干扰能力强、

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

13、换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器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时钟周期内提供足够

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

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

16、20得到的数据进行处理。上电后数码管显示当前的环境温度,通过按键可设置高低温报警值,当检测到的温度高于设置的报警值的时候,蜂鸣器报警同时报警灯闪烁,温度检测精确到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附录附

18、录1 整体电路原理图附录2 部分程序#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

19、;uchar table10= 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_();

20、 DQ=0; delay(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;uc

21、har value=0;for(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);wri

22、te_byte(0xbe);ch1=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;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1