单片机温度控制系统设计.docx
- 文档编号:28367326
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:37
- 大小:587.38KB
单片机温度控制系统设计.docx
《单片机温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《单片机温度控制系统设计.docx(37页珍藏版)》请在冰豆网上搜索。
单片机温度控制系统设计
武汉工程大学
计算机科学与工程学院
综合设计报告
设计名称:
基础硬件综合设计
设计题目:
温度测量的系统设计
学生学号:
专业班级:
网络工程02
学生姓名:
学生成绩:
指导教师(职称):
完成时间:
2014-12-21
武汉工程大学计算机科学与工程学院制
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个综合设计期间的表现、设计完成情况、报告的质量及答辩等方面,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节。
凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
答辩记录表
学生姓名:
学号:
班级02
答辩地点:
J423
答辩内容记录:
答辩成绩
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
年月日
成绩评定表
学生姓名:
学号:
班级:
02
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩
指导教师评语
指导教师:
(签字)日期:
年月日
一、综合设计目的、条件、任务和内容要求:
设计目的:
●本课程设计的目的是为了学生更好地巩固和加深对基础知识的理解,学会使用单片机设计小型数字系统的方法,独立完成调试过程,增强理论联系实际的能力,提高单片机编程和电路设计、分析的能力。
●掌握单片机原理、数字系统的分析和设计方法;
●利用Proteus仿真软件,KeilC编程环境,对电路和程序进行调试和改进;
●通过实践教学引导学生在理论指导下对知识有所拓展,思路有所创新,动手能力和解决问题的能力有所提高,为后继专业课的学习和日后工程实践奠定基础。
设计条件:
计算机一台、Proteus仿真软件、KeilC;。
内容和要求:
1.了解DS1302功能及读写时序。
2.在仿真软件Proteus里设计时钟电路。
3.在KeilC编程,在Proteus里进行联调。
4.改进和扩展(系统可以设置四个方向的通行时间。
5.书写课程设计报告。
二、进度安排:
13周:
学生选题
15-16周:
软件模拟、方案论证,、分析现象、解决问题、修正方案、得出结果。
17周:
答辩。
撰写综合设计报告并打印交予指导教师
三、应收集资料及主要参考文献:
[1]《单片机原理及接口技术》[M].张毅刚主编.人民邮电出版社.2011
[2]《数字逻辑与数字系统》[M].王永军李景华编.电子工业出版社.2002
[3]《MCS-51单片机原理及实用技术》[M].张振荣晋明武王毅平编著.人民邮电出版社
[4]《数字逻辑》[M].欧阳星明主编.华中科技大学出版社
[5]《传感器原理及应用》[M].郭爱芳主编.西安电子科技大学出版社.2007.5
四、摘要:
单片机是一种体积小、多功能的微型计算机系统,被广泛应用于智能化、自动化的工业生产过程中。
而在工业生产过程中,温度控制是一个重要的调控参数。
由单片机构成的温度检测、温度控制系统可用于很多领域。
单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。
它可以预防某些各种安全事件的发生,将被广泛的用到实际生活中。
单片机AT89C51和温度传感器DS18B20组成了温度自动测控系统,可根据实际需要,任意设定温度值,并进行自动控制。
同时,在此基础上可做进一步拓展,通过中端系统,实现多路温度测量的功能,可以扩大和缩小温度的侧脸范围,也实现温度过高或温度过低报警功能,根据LED显示状况,来判断温度是过高还是管理,方便管理人员管理,做出相对解决措施。
最后可以手动消除报警。
关键词:
单片机AT89C51;温度传感器DS18B2;LED;多路温度测量;报警
五、Abstract:
SCMisakindofsmallsize,multi-functionmicrocomputersystem,iswidelyusedinintelligent,automationintheprocessofindustrialproduction.Andintheprocessofindustrialproduction,temperaturecontrolisanimportantcontrolparameter.Composedofsinglechipmicrocomputertemperaturedetection,temperaturecontrolsystemcanbewidelyusedinmanyfields.Single-chipcomputerinindustrialcontrol,sophisticatedweapons,communicationsequipment,informationprocessing,householdappliancesandsoonvariousapplicationsinthefieldofmeasurementandcontrol.Itcanpreventthehappeningofthevarioussecurityevents,willbewidelyusedinreallife.Single-chipcomputerAT89C51andthetemperaturesensorDS18B20temperatureautomaticmeasurementandcontrolsystem,canbearbitrarilysettemperature,accordingtorealneedandautomaticcontrol.Tofurtherexpandonthebasicfunction,throughthesystemintheend,realizationofmulti-channeltemperaturemeasurementfunction,canexpandandshrinkthesidefaceofthetemperature;Alsorealizethetemperaturetoohighorlowtemperaturealarmfunction,accordingtotheLEDdisplaycondition,todeterminethetemperatureistoohighormanagement,convenientmanagementpersonnelmanagement,maketherelativesolutions.Finallycaneliminatethealarmmanually.
Keywords:
AT89C51;DS18B20;LED;Multi-channeltemperaturemeasurement;alarm
摘要
单片机是一种体积小、多功能的微型计算机系统,被广泛应用于智能化、自动化的工业生产过程中。
而在工业生产过程中,温度控制是一个重要的调控参数。
由单片机构成的温度检测、温度控制系统可广泛应用于很多领域。
单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。
它可以预防某些各种安全事件的发生,将被广泛的用到实际生活中。
单片机AT89C51和温度传感器DS18B20组成了温度自动测控系统,可根据实际需要任意设定温度值,并进行自动控制。
在此基础上做进一步拓展,通过中端系统,实现多路温度测量的功能,可以扩大和缩小温度的侧脸范围,也实现温度过高或温度过低报警功能。
根据LED显示状况,来判断温度是过高还是管理,方便管理人员管理,做出相对解决措施。
最后可以手动消除报警。
关键词:
单片机AT89C51;温度传感器DS18B2;LED;多路温度测量;报警
Abstract
SCMisakindofsmallsize,multi-functionmicrocomputersystem,iswidelyusedinintelligent,automationintheprocessofindustrialproduction.Andintheprocessofindustrialproduction,temperaturecontrolisanimportantcontrolparameter.Composedofsinglechipmicrocomputertemperaturedetection,temperaturecontrolsystemcanbewidelyusedinmanyfields.Single-chipcomputerinindustrialcontrol,sophisticatedweapons,communicationsequipment,informationprocessing,householdappliancesandsoonvariousapplicationsinthefieldofmeasurementandcontrol.Itcanpreventthehappeningofthevarioussecurityevents,willbewidelyusedinreallife.Single-chipcomputerAT89C51andthetemperaturesensorDS18B20temperatureautomaticmeasurementandcontrolsystem,canbearbitrarilysettemperature,accordingtorealneedandautomaticcontrol.Tofurtherexpandonthebasicfunction,throughthesystemintheend,realizationofmulti-channeltemperaturemeasurementfunction,canexpandandshrinkthesidefaceofthetemperature;Alsorealizethetemperaturetoohighorlowtemperaturealarmfunction,accordingtotheLEDdisplaycondition,todeterminethetemperatureistoohighormanagement,convenientmanagementpersonnelmanagement,maketherelativesolutions.Finallycaneliminatethealarmmanually.
Keywords:
AT89C51;DS18B20;LED;Multi-channeltemperaturemeasurement;alarm
第一章绪论
1.1设计背景
单片机是一种体积小、多功能的微型计算机系统,被广泛应用于智能化、自动化的工业生产过程中。
而在工业生产过程中,温度控制是一个重要的调控参数。
由单片机构成的温度检测、温度控制系统可广泛应用于很多领域。
单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。
它可以预防某些危险事件的发生,将被广泛的用到实际生活中。
1.2设计目的和意义
随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。
无论是在工业方面,农业方面或者是平民大众的生活当中,我们都能看到温度计的身影。
利用新型温度传感器取代旧式的温度传感器是必然的趋势,新型的温度传感器的优势越来越得到体现,越来越普及。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。
第二章设计简介及设计方案论述
2.1proteus和keilC软件简介
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil则为其提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
2.2总体设计方案
图2.1总体方案图
第三章详细设计
3.1数码管
3.1.1数码管的结构和原理
图3.1数码管结构图
图3.2数码管显示原理图
我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
通常此公共阳极接正电压,当某个发光二级管的阴极接地时,发光二极管被点亮,相应的段被显示。
图3.3LED原理图
为了使LED数码管显示不同的符号和数字,要把某些段的发光二极管点亮,这样要为LED数码管提供代码,因为这些代码可使LED相应的段发光,从而显示不同的字型,因此该代码也为段码。
3.12数码管的译码方式
图3.4 段码与字节中各位对应关系
按照上述格式,显示各种字符的8段LED数码管的段码如下表
图3.58段LED段码
右边的1234是位选
1对应的是最高位;2对应的是第二位数码管显示(从左向右)3对应的是第三位数码管显示;4对应的是小数点位显示。
3.2DB18B20
3.21DB18B20介绍
图3.6DB18B20连线图
图3.7DB18B20结构图
DS18B20有三只引脚,VCC,DQ,和VDD。
3.22工作原理
图3.8温度转换
DS18B20的温度操作是使用16位,也就是说分辨率是0.0625。
BIT15~BIT11是符号位,为了就是表示转换的值是正数还是负数。
图3.9温度/数据关系
要求出正数的十进制值,必须将读取到的LSB字节,MSB字节进行整合处理,然后乘以0.0625即可。
(1)当温度为大于0时
假设从,字节0读取到0xD0赋值于Temp1,而字节1读取到0x07赋值于Temp2,
然后求出十进制值。
unsignedintTemp1,Temp2,Temperature;
Temp1=0xD0;//低八位
Temp2=0x07;//高八位
(2)当温度有负数时
判断BIT11~15是否是1,然后人为置一负数标志。
Eg.假设从,字节0读取到0x90赋值于Temp1,而字节1读取到0xFC赋值于Temp2,然后求出该值是不是负数,和转换成十进制值。
unsignedintTemp1,Temp2,Temperature;
unsignedcharMinus_Flag=0;
Temp1=0x90;//低八位
Temp2=0xFC;//高八位
//Temperature=(Temp1+Temp2*256)*0.0625;
//Temperature=64656
//很明显不是我们想要的答案
if(Temp2&0xFC)//判断符号位是否为1
{Minus_Flag=1;//负数标志置一
Temperature=((Temp2<<8)|Temp1)//高八位第八位进行整合
Temperature=((~Temperature)+1);//求反,补一
Temperature*=0.0625;//求出十进制
}//Temperature=55;
else
{Minus_Flag=0;
Temperature=((Temp2<<8)|Temp1)*0.0625;
}
(3)遇到小数位的情况
假设从,字节0读取到0xA2赋值于Temp1,而字节1读取到0x00赋值于Temp2,
然后求出十进制值,要求连同小数点也求出。
unsignedintTemp1,Temp2,Temperature;
Temp1=0x90;//低八位
Temp2=0xFC;//高八位
//实际值为10.125
如以上的例题,我们可以先将0.0625乘以10,然后再乘以整合后的Temperature变量,就可以求出后面一个小数点的值(求出更多的小数点,方法都是以此类推)。
得出的结果是101,然后再利用简单的算法,求出每一位的值。
ucharA1,A2,A3,A4;
A1=temp/1000;//百位
A2=temp%1000/100;//十位
A3=temp%100/10;//个位
A4=temp%10;//小数
求出负数的思路也一样,只不过多出人为置一负数标志,求反补一的动作而已。
单片机访问DS18B20
DS18B20一般都是充当从机的角色,而单片机就是主机。
单片机通过一线总线访问
DS18B20的话,需要经过以下几个步骤:
1.DS18B20复位。
2.执行ROM指令。
3.执行DS18B20功能指令(RAM指令)。
补充一下。
一般上我们都是使用单点,也就是说单线总线上仅有一个DS18B20存在而已。
所以我们无需刻意读取ROM里边的序列号来,然后匹配那个DS18B20?
而是更
直接的,跳过ROM指令,然后直接执行DS18B20功能指令。
DS18B20复位,在某种意义上就是一次访问DS18B20的开始,或者可说成是开始信号。
ROM指令,也就是访问,搜索,匹配,DS18B20个别的64位序列号的动作。
在单点情况下,可以直接跳过ROM指令。
而跳过ROM指令的字节是0xCC。
DS18B20功能指令有很多种,我就不一一的介绍了,数据手册里有更详细的介绍。
这里仅列出比较常用的几个DS18B20功能指令。
0x44:
开始转换温度。
转换好的温度会储存到暂存器字节0和1。
0xEE:
读暂存指令。
读暂存指令,会从暂存器0到9,一个一个字节读取,如果要停止的话,必须写下DS18B20复位。
DB18B20初始化
voidInit_Ds18b20(void)//DS18B20初始化sendresetandinitializationcommand
{
DQ=1;//DQ复位,不要也可行。
delay
(1);//稍做延时
DQ=0;//单片机拉低总线
delay(250);//精确延时,维持至少480us
DQ=1;//释放总线,即拉高了总线
delay(100);//此处延时有足够,确保能让DS18B20发出存在脉冲。
}
DB18B20读字节
ucharRead_One_Byte()//读取一个字节的数据readabytedate
//读数据时,数据以字节的最低有效位先从总线移出
{
uchari=0;
uchardat=0;
for(i=8;i>0;i--)
{
DQ=0;//将总线拉低,要在1us之后释放总线
//单片机要在此下降沿后的15us内读数据才会有效。
_nop_();//至少维持了1us,表示读时序开始
dat>>=1;//让从总线上读到的位数据,依次从高位移动到低位。
DQ=1;//释放总线,此后DS18B20会控制总线,把数据传输到总线上
delay(5);//延时7us,此处参照推荐的读时序图,尽量把控制器采样时间放到读时序后的15us内的最后部分
if(DQ)//控制器进行采样
{
dat|=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温度 控制系统 设计