单片机温度控制系统设计.docx
- 文档编号:3784442
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:31
- 大小:566.55KB
单片机温度控制系统设计.docx
《单片机温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《单片机温度控制系统设计.docx(31页珍藏版)》请在冰豆网上搜索。
单片机温度控制系统设计
(此文档为word格式,下载后您可任意编辑修改!
)
武汉工程大学
计算机科学与工程学院
综合设计报告
设计名称:
基础硬件综合设计
设计题目:
温度测量的系统设计
学生学号:
专业班级:
网络工程02
学生姓名:
学生成绩:
指导教师(职称):
武汉工程大学计算机科学与工程学院制
说明:
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
目录
摘要II
AbstractIII
第一章绪论1
1.1设计背景1
1.2设计目的和意义1
第二章设计简介及设计方案论述2
2.1proteus和keilC软件简介2
2.2总体设计方案2
第三章详细设计3
3.1数码管3
3.2DB18B205
3.3AT89C519
3.4报警11
3.5多路温度测量11
3.6复位电路12
第四章设计结果及分析14
4.1设计结果14
4.2设计分析15
总结16
致谢17
参考文献18
附录主要程序代码19
摘要
单片机是一种体积小、多功能的微型计算机系统,被广泛应用于智能化、自动化的工业生产过程中。
而在工业生产过程中,温度控制是一个重要的调控参数。
由单片机构成的温度检测、温度控制系统可广泛应用于很多领域。
单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。
它可以预防某些各种安全事件的发生,将被广泛的用到实际生活中。
单片机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--)
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温度 控制系统 设计