




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
54/55湖南工程学院课程设计课程名称单片机原理与应用课题名称环境温度检测与报警专业电气工程及其自动化班级学号姓名指导教师王迎旭李晓秀汪超赵葵银2012年9月14日湖南工程学院课程设计任务书课程名称单片机与应用课题环境温度检测与报警专业班级学生姓名学号指导老师王迎旭李晓秀汪超赵葵银审批王迎旭李晓秀汪超赵葵银任务书下达日期2012年9月3日任务完成日期2012年9月14日设计内容与设计要求设计内容:本课题要求以单片机为核心设计一个环境温度检测与报警系统,要求测温范围为–10~125℃,精度误差在0.1℃以内,LED数码管直读显示,能够由用户自己设定上限温度,假如环境温度超过实际温度或在3秒内温度变化超过5度则会发出声光报警。设计任务包括操纵系统硬件设计和应用程序设计。要求焊接好开发板,在开发板上进行调试。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作讲明7)写讲明书主要设计条件MCS-51单片机实验操作台1台;PC机及单片机调试软件;开发板1块;制作工具1套;5、系统设计所需的元器件。讲明书格式封面课程设计任务书目录第1章概述(课题设计的要求、目的及意义)第2章系统总体方案选择与讲明(系统硬件电路设计框图与工作原理)第3章硬件电路设计(各部分电路设计、原理、参数计算、I/O分配等)第4章应用软件设计(流程图、算法等)*第5章系统仿真调试第6章硬件调试与结果分析(开发板焊接、性能测试、结果、操作讲明)第7章结束语(系统设计小结:已完成的工作、效果、特色、不足与展望)致谢参考文献附录A系统硬件电路原理图附录B程序清单评分表进度安排设计时刻分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。下午:借阅有关资料,总体方案讨论。星期二、分班级焊接开发板星期三、确定总体方案,学习与设计相关内容。星期四、各部分方案设计,各部分设计。星期五、设计及上机调试。星期六、设计并调试第二周星期一:设计及上机调试。星期二:调试,中期检查。星期三:调试、写讲明书。星期四--星期五上午:写讲明书、完成电子版并打印成稿。星期五下午:答辩。参考文献[1]王迎旭等.单片机原理及及应用.机械工业出版社.2012年[2]三恒星科技.MCS-51单片机原理与应用实例[M].电子工业出版社.2008年[3]戴仙金.51单片机及其C语言程序开发实例[M].清华大学出版社.2008年[4]陈海宴.51单片机原理及应用——基于KeilC与Proteus[M].北京航空航天大学出版社.2010年目录TOC\o"1-3"\h\u5820第1章概述 1212661.1课题的设计要求、目的及意义 125963第2章总体方案 2278422.1方案的选择 277532.2系统结构框图及工作原理 327390第3章硬件电路设计 5310293.1复位电路的设计 5268763.2时钟振荡电路 592383.3显示电路 616413.4数字温度传感器DS18B20 7193903.5按键查询电路 93203.6单片机硬件资源分配 1015677第4章应用软件设计 11146634.1主函数的设计 1114044.2键盘扫描函数的设计 12135854.3读出温度子程序 13107864.4报警子程序 1315919第5章硬件调试与结果分析 14277035.1调试方法 1460835.2调试中出现的问题及解决方法 14224415.3调试结果 1426122第6章设计总结 176123参考文献 189812附录A系统硬件原理图 198667附录B程序清单 20第1章概述1.1课题的设计要求、目的及意义单片机技术作为计算机技术的一个重要分支,广泛应用于工业操纵,智能化仪器仪表,家用电器,甚至电子玩具等各个领域,它具有体积小,功能多,价格低廉,使用方便,系统设计灵活等优点,因此越来越受工程技术人员的重视与亲睐。伴随着科学技术和生产的不断进展,需要对各种参数进行温度测量。温度操纵和测量在各行各业中发挥着重要的作用。如在日趋发达的工业之中,利用测量与操纵温度来保证生产的正常运行。在农业中,用于保证蔬菜大棚的恒温保产等。在单片机温度测量系统中的关键是测量温度、操纵温度和保持温度,温度测量是工业对象中要紧的被控参数之一,具有现实意义.本课题以单片机为核心,实现温度的检测和操纵。用温度感应器件ds18b20模拟温度的输入量,当温度低于25度时,发出长嘀声报警,当温度高于30度时,启动直流电机散热。测量温度范围在0-99度。用ds18b20温度的检测和操纵,并用四位LED数码显示管显示各路温度,同时设置按键可实现对温度的报警上下限进行操纵.以此简易的温度检测和操纵系统来达到初步应用单片机,同时对各门学科知识作一个较好的整合,对单片机在实际温度操纵的实现形成较好的概念和理解.第2章系统总体方案选择与讲明2.1方案的选择温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及操纵,省去传统的测温方法的专门多外围电路。且该芯片的物理化学性专门稳定,它能用做工业测温元件,此元件线形较好。在0—100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采纳了单总线的数据传输,由数字温度计DS18B20和微操纵器AT89c52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。如此,测温系统的结构就比较简单,体积也不大。采纳51单片机操纵,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑操纵,而且体积小,硬件实现简单,安装方便。既能够单独对多DS18B20操纵工作,还能够与PC机通信上传数据,另外AT89C52在工业操纵上也有着广泛的应用,编程技术及外围功能电路的配合使用都专门成熟.该系统利用AT89C52芯片操纵温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并能够依照需要设定上下限报警温度,利用键盘来进行调时和温度查询。这种方法测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采纳了此法。2.2系统结构框图及工作原理2.2.1系统原理该数字温度检测系统如图2-2所示有四部分组成:温度检测,显示操纵,温度显示,报警。图2-2系统原理(1)温度检测该模块由DS18B20负责对测试点的温度进行测量,单片机89C52对DS18B20进行操纵。由于DS18B20只有一根数据线,因此系统中的数据交换,操纵都由这根线完成,只需将DS18B20挂接到单片机的一个数据接口就能够直接使用。(2)显示操纵由于DS18B20是通过单总线方式与单片机进行通讯的,因此对程序编写的要求比较高。要紧的程序流程是如此的:首先由单片机发出对DS18B20进行初始化的信号,在DS18B20初始化成功后,发送指令CC跃过读序列号的操作,接着发送指令44启动温度转换,现在在对DS18B20进行初始化,在发送指令CC跃过读序列号操作,最后发送指令BE读暂存存储器。至此完成一个周期,当前温度值所对应的二进制编码差不多被保存在DS18B20的ROM上,我们只需将ROM上的温度值读取出来,然后转换成相应的十进制,就能够拿来做后面的运算和显示了。(3)温度显示这部分模块由四位八段共阳极的数码管组成,段选部分直接与单片机相连。报警报警装置由蜂鸣器构成,当温度超过设定值时报警。第3章硬件电路设计3.1复位电路的设计采纳47uF的C3和10K的R2能够保证加在引脚上的高电平持续2个机器周期,即使单片机有效地复位。按键能够随时使电路复位,当键按下时1K的R1和10K的R2串联分压使RST为高电平,即复位,如图3-1所示。图3-1复位电路3.2时钟振荡电路时钟电路在单片机系统中起着特不重要的作用,是保证系统正常工作的基础。晶振频率的大小决定了单片机系统工作的快慢。本次设计采纳内部方式的外部时钟接法。为达到振荡周期是12MHZ的要求,那个地点要采纳12MHZ的晶振,电容C1、C2对频率有微调作用,故外接晶振时,C1和C2在本设计中选择30pF,振荡频率取12MHz。晶振的两个引脚分不连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图3-2所示:CRYSTALXTAL1XTAL2CRYSTALXTAL1XTAL2图3-2时钟振荡电路3.3显示电路本次设计中采纳共阴极数码管作为显示器。LED的驱动电路简单,使用方便,具有耗电少、成本低廉、配置简单灵活、安装方便、耐振动、使用寿命长等优点。LED显示器与单片机的接口一般有动态显示与静态显示接口两种电路。本次设计中,由于单片机本身提供的I/O口有限,本次设计采纳动态显示,数码管采纳的是共阳极接法。用AT89C52的P0口作段码输出时,在本次设计中我们将数码管各段加上拉电阻后接单片机P0口。我们把P2口的输出信号直接接到数码管的位选端作为位选信号,低电平有效,具体连接如图3-3所示。图3-33.4数字温度传感器DS18B20本次设计的硬件电路简单,关键的地点在DS18B20,也是最复杂难明白的。温度传感器采纳的是DALLAS公司的单总线数字温度传感器DS18B20。它采纳独特的单线接口方式,仅需一个信号线发送或接收信息。测量范围为-55℃~125℃,CPU用P3.6口与DS18B20通信,如图3-4-1即为温度传感器。
图3-4-1温度传感器下图为DS18B20的内部结构框图CC64位ROM和单线接口高速缓存存储器与操纵逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图3-4-2DS18B20的内部结构框图64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20能够采纳一线进行通信的缘故。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3-4所示。表3-4分辨率转换头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式依旧在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。DS18B20温度转换的时刻比较长,而且分辨率越高,所需要的温度数据转换时刻越长。因此,在实际应用中要将分辨率和转换时刻权衡考虑。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机能够通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。下表为DS18B20温度转换时刻表。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,现在温度寄存器中的数值确实是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序专门重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。3.5按键查询电路本系统设有四个独立按钮,如图3-4所示。为确保随时能够操纵进入和退出查询状态,因此设有一个进入和退出查询状态的复用按键,自进入查询状态时,再按对应的通道查寻键即可查询各通道信息,例如按下通道0查询,假若当前显示的是通道0的当前温度及对应的数字量为上线,假如再次按下该键,则显示的是为报警的下线,假如超温次数大于设定值,则会出现报警现象,提示需对该路的操纵对象进行必要的检查。图3-5按键电路3.6单片机硬件资源分配I/O口配表P0口P0.0LED数码管A段P2口P2.0LED数码管W3位选端P0.1LED数码管B段P2.1LED数码管W1位选端P0.2LED数码管C段P2.2LED数码管W2位选端P0.3LED数码管D段P2.3LED数码管W4位选端P0.4LED数码管E段P2.4独立键盘的S4列选端P0.5LED数码管F段P2.5独立键盘的S3列选端P0.6LED数码管G段P2.6独立键盘的S2列选端P0.7LED数码管DP段P2.7独立键盘的S1列选端P3口P3.7蜂鸣器P3.6Ds18b20接口第4章应用软件设计4.1主函数的设计整个系统的功能是由硬件电路配合软件来实现的,当硬件差不多定型后,软件的功能也就差不多定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个操纵系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也确实是一个小的功能执行模块。那个地点将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就能够规划监控程序了。首先要依照系统的总体功能选择一种最合适的监控程序结构,然后依照实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。主程序流程见图4-1。图4-1主函数流程4.2键盘扫描函数的设计图4-2为键盘扫描函数流程图,为防止误读电平,读引脚时先写“1”。本系统在P2口低四位接有四个开关,故将低四位写“1”。首先推断有无键按下,然后延时去抖动后再次判有无键按下,然后等待键的释放,最后是键的识不。假若P2.0按下,则K1=1,因为四个键均为复用键,因此d[0]++表示当前是查询该路的温度,关于其他2路通道也照此设计。图4-2键盘扫描函数流程4.3读出温度子程序读出温度子程序的要紧功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写,流程如图4-3所示。如图4-34.4报警子程序报警依照通过键盘设定的上下限温度值来比较是否触发报警装置。流程如图4-4所示。图4-4报警子程序函数第5章硬件调试与结果分析5.1调试方法首先将用KEIL编译好的程序进行编译,程序无错误运行后产生hex文件,然后用单片机连接电脑用软件下载到单片机中试运行看结果。调试时单片机p0口一次连接显示管a到dp,将j6用线短接,s1到s4分不连接单片机p2.4到p2.7显示管位选连接单片机p2.0到p2.3,温度检测原件ds18b20连接p3.6,连接好电源都打开调试。5.2调试中出现的问题及解决方法单片机调试时出现显示闪耀太大,以至于显示看不清,应看显示抖动程序是否正确,调试时按键加减显示过快出现跳跃式显示,应该看看按键显示程序的延时是否符合标准,5.3调试结果(1)开机正常显示温度图5-3-1开机显示(2)按下矩阵键盘最后一排第一个键显示上限定,按两下为下限设定。图5-3-2上线显示
(3)按下矩阵键盘最后一排第二个键显示加一功能。图5-3-3上线加一按下矩阵键盘最后一排第三个键显示减一功能。图5-3-4上线减一(5)按下矩阵键盘最后一排第四个键显示反回。图5-3-5返回显示界面设计总结通过两周的努力,老师任务书交代的差不多内容都差不多通过单片机实现,效果不错,(1)能够专门稳定的通过ds18b20检测显示温度,(2)能够自由的通过键盘修改温度报警上下限,(3)当温度超出设定范围是,有报警提示。然而本次设计的不足之处在没能更好的实现温度突变报警,还有没有显示四位温度,希望在以后的接触过程中更加的了解单片机,学到更多的应用。以后有什么问题要勇敢的面对,遇到的多了,自然而然的我们会自信的解决这些问题。这确实是我在这次课程设计中的最大收获。最后感谢老师和同一课题的彭琼和姚波同学的关心和指点,特不是王迎旭老师的热心指导,没有老师们的关心我们不可能顺利解决一些不明白和难题,再次感谢老师们的关心和辛勤的付出。参考文献[1]王迎旭.单片机原理与应用[M].北京:机械工业出版社,2004.[2]三恒星科技.MCS-51单片机原理与应用实例[M].北京:电子工业出版社,2008.[3]戴仙金.51单片机及其C语言程序开发实例[M].北京:清华大学出版社,2008.[4]陈海宴.51单片机原理及应用——基于KeilC与Proteus[M].北京:北京航空航天大学出版社,2010.[5]何立民.单片机高级教程——应用与设计[M].2版.北京:北京航空航天大学出版社,2007.附录A系统硬件原理图附录B程序清单#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitDATA=P3^6;//DS18B20接入口ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};/inttemp;//温度值intss; //中间的一个变量intdd;intj;uchardatab;//定时器中断次数uchardatabuf[4];//字型显示中间变量intalarmH=500; //默认报警值intalarmL=-10;//定义开关的接入口sbitk1=P2^5;//+sbitk2=P2^6;//-sbitk3=P2^7;//确认sbitk4=P2^4;sbitbell=P1^0;sbitHLight=P1^2;sbitLLight=P1^3;sbitRed=P1^6;sbitGreen=P1^7;bitset=0;bitFlag=0;intn;//函数的声明区voidkey_to1();voidkey_to2();voiddelay(uint);voidkey();voidShow();//函数的定义区/*延时子函数*/voiddelay(uintnum){ while(num--);}//DS18b20温度传感器所需函数,分为初始化,读写字节,读取温度4个函数Init_DS18B20(void) //传感器初始化{ ucharx=0; DATA=1;//DQ复位 delay(10);//稍做延时 DATA=0;//单片机将DQ拉低 delay(80);//精确延时大于480us//450 DATA=1;//拉高总线 delay(20); x=DATA;//稍做延时后假如x=0则初始化成功x=1则初始化失败 delay(30);}ReadOneChar(void)//读一个字节{ uchari=0; uchardat=0; for(i=8;i>0;i--) { DATA=0;//给脉冲信号 dat>>=1; DATA=1;//给脉冲信号 if(DATA) dat|=0x80; delay(8); } return(dat);}WriteOneChar(unsignedchardat) //写一个字节{ uchari=0; for(i=8;i>0;i--) { DATA=0; DATA=dat&0x01; delay(10); DATA=1; dat>>=1; } delay(8);}intReadTemperature(void)//读取温度{ uchara=0; ucharb=0; intt=0; floattt=0; Init_DS18B20(); WriteOneChar(0xCC);//跃过读序号列号的操作 WriteOneChar(0x44);//启动温度转换 Init_DS18B20(); WriteOneChar(0xCC);//跃过读序号列号的操作 WriteOneChar(0xBE);//读取温度寄存器等(共可读9个寄存器)前两个确实是温度 a=ReadOneChar();//低位 b=ReadOneChar();//高位 t=b; t<<=8; t=t|a; tt=t*0.0625; t=tt*10+0.5; return(t);}voiddisplay00()//*********显示负值子函数{ dd=-(temp-1);buf[1]=dd/100; buf[2]=dd/100; buf[3]=dd%100/10; buf[0]=dd%10; //动态显示 for(j=0;j<5;j++){ P2=0xff; //初始灯为灭的P0=0x00; P2=0xfd;//显示小数点 P0=0x80;//显示小数点 delay(100); P2=0xff; //初始灯为灭的P0=0x00;P2=0xf7; //片选LED1P0=0x40; delay(100); P2=0xff;P0=0x00;P2=0xfb; //片选LED2P0=table[buf[2]]; delay(100); P2=0xff;P0=0x00; P2=0Xfd; //片选LED3 P0=table[buf[3]]; delay(100); P2=0xff;P0=0x00; P2=0Xfe; P0=table[buf[0]]; //片选LED4 delay(100); P2=0xff;}}//显示正值子函数voiddisplay(){ buf[1]=temp/1000;//显示百位 buf[2]=temp/100%10;//显示十位 buf[3]=temp%100/10;//显示个位 buf[0]=temp%10;//第4位南北秒个位 for(j=0;j<3;j++) { P2=0xff; //初始灯为灭的P0=0x00; P2=0xfd;//显示小数点 P0=0x80;//显示小数点 delay(300); P2=0xff; //初始灯为灭的P0=0x00;P2=0xf7; //片选LED1P0=table[buf[1]]; delay(300); P2=0xff;P0=0x00;P2=0xfb; //片选LED2P0=table[buf[2]]; delay(300); P2=0xff;P0=0x00; P2=0Xfd; //片选LED3 P0=table[buf[3]]; delay(300); P2=0xff;P0=0x00; P2=0Xfe; P0=table[buf[0]]; //片选LED4 delay(300); P2=0xff; }}voidkey() //按键扫描子程序{if(k1!=1) { delay(20); if(k1!=1) { while(k1!=1) {key_to1(); for(n=0;n<8;n++) Show(); } } } if(k2!=1) { delay(20); if(k2!=1) { while(k2!=1) {key_to2(); for(n=0;n<8;n++) Show(); } } } if(k3!=1) { TR0=1;//复位,开定时temp=ReadTemperature(); } if(k4!=1) {delay(20); if(k4!=1) {while(k4!=1); set=!set; if(set==0) {Red=0;Green=1;} else{Green=0;Red=1;} } }}voidkey_to1(){ TR0=0; //关定时器temp+=10; if(temp>=1100) {temp=-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保密培训考试试题及答案
- 2025年济南监狱面试真题及答案
- 浙江省温州市乐清市知临中学2022-2023学年高二上学期期中考试历史试题(含答案)
- 家庭农场市场准入与竞争力提升路径
- 幼儿教师心理素质与情感教育能力的提升途径
- 促进钢铁产品多元化与高附加值发展
- 2025年美术一模考试题目及答案
- 项目驱动教学法在工程力学课程中的实施策略
- 石油化工企业创新资源配置与市场竞争力提升机制
- 农产品冷链物流成本管控与效益提升策略
- 产业园转让协议样本
- 剪式升降台的驱动机构设计
- 脑梗取栓护理查房
- 中国古代社会的发展演变过程
- 山西省中考语文模拟试卷及答案汇总五
- 双高建设背景下高职院校社会服务能力研究
- 25道中国民航航空医生岗位常见面试问题含HR常问问题考察点及参考回答
- 加油站服务承诺书的范文范文精简处理
- SF095广州市社会保险费补缴申请表
- 醉酒驾驶行政复议委托书范本
- 讲故事比赛细则、评分表
评论
0/150
提交评论