单片机课程设计基于89C51的温度报警器设计.doc

上传人:laozhun 文档编号:4147668 上传时间:2023-04-07 格式:DOC 页数:21 大小:4.05MB
返回 下载 相关 举报
单片机课程设计基于89C51的温度报警器设计.doc_第1页
第1页 / 共21页
单片机课程设计基于89C51的温度报警器设计.doc_第2页
第2页 / 共21页
单片机课程设计基于89C51的温度报警器设计.doc_第3页
第3页 / 共21页
单片机课程设计基于89C51的温度报警器设计.doc_第4页
第4页 / 共21页
单片机课程设计基于89C51的温度报警器设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《单片机课程设计基于89C51的温度报警器设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计基于89C51的温度报警器设计.doc(21页珍藏版)》请在三一办公上搜索。

1、单片机系统课 程 设 计成绩评定表设计课题 : 基于89C51的温度报警器设计 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计课程设计名称: 基于89C51的温度报警器设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 单片机系统 课程设计任务书学生姓名专业班级学号题 目课题性质工程设计课题来源选题指导教师主要内容(参数)利用89C51设计温度报警器实现以下功能:1. 实现对环境温度的测量和显示;2. 温度超过

2、设定值时,蜂鸣器报警;3. 报警同时系统发出中断命令停止工作;任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-8天:软件设计,编写程序,要求内容完整、图表清晰。第9-10天:撰写课程设计报告。要求文理流畅、格式规范、方案合理、设计正确。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042伟福LAB6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,2

3、006审查意见系(教研室)主任签字: 年 月 日 目 录1 引言42 总体方案设计42.1总体方案42.2 方案论证42.3 硬件组成63 硬件电路设计73.1 时钟电路73.2 复位电路73.3 A/D转换设计8 3. 4放大电路设计. 93.5 显示电路设计.103.6 报警电路114 系统软件设计124.1 主程序设计124.2 显示子程序的设计134.3 AD转换设计145 总结.15 附录A 总原理图16 附录B 部分源程序171 引言 随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。在人类

4、的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。进入了21世纪后温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 本设计以PT100热电阻为温度检测元件,设计了一个对单点温度实时检测并在温度超过一定值时进行报警的的单片机温度检测系统,可以实现以下功能:1实现对环境温度的测量和显示;2能通过按键设置报警温度;3温度超过设置值时产生光声报警;4. 报警同时系统发出中断命令停止工作。2 总体方案设计2.1 总体方案 本方案以AT89C51单片机系统为核心,对单点的温度

5、进行实时测量检测,并采用热电阻PT100作为温度传感器,AD620作为信号放大器、ADC0809作为A/D转换部件,对于温度信号的采集具有大范围、高精度的特点。在功能、性能、可操作性等方面都有较大的提升,具有更高的性价比。2.2 方案论证 2.2.1单片机选型本方案使用的是AT89C51单片机,AT89系列的单片机对于一般用户来说,有下列明显的优点:AT89C51单片机在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O口设备等,相当于一台计算机所需要的基本功能部件。内部含有Flash存储器,在系统开发过程中很容易修改程序,可以大大缩短了系统的开发时间。AT89系列并不对

6、80C31的简单继承,功能进一步增强。在我国这种单片机受到广泛青睐,很多以前使用80C51、80C52的用户都转而使用AT89系列。对于有丰富编程经验的用户而言,不需要仿真器,可以直接将程序载入芯片,放在目标板上加电直接运行,观察运行结果,出现问题时再进行修改,然后重新写程序,再进行试验,直至成功。 AT89系列包括两大类,第一类是常规的,就是AT89C系列,这类单片机要用常规的并行方法编程,必需使用编程器编程;第二类是在系统可编程ISP Flash系列,也就是AT89S系列,这类单片机除了用常规的并行方法变成外,还2.2.2 温度传感器选择 传感器是测控系统前向通道的关键部件,它也称换能器和

7、变换器,一般是指非电物理量与电量的转换,即传感器是将被测的非电量(如压力、温度等)转换成与之对应的电量或电参量(如电流、电压、电阻等)输出的一种装置。采集温度是有一下几种方案: 方案一:采用温度传感器AD590。它具有较高的精度,相比于热敏电阻精度有所提高,但非线性误差为0.3,且检测温度范围为:-55+155。 方案二:采用Pt100。它的国际测温标准为:-40+450,可选环境温度为:-4070,精度为:0.1,且安装尺寸小,可直接安装在印刷电路板上,可焊SIP封装。 采用热电阻电路测温。热电阻是利用导体的电阻率随温度变化这一物理现象来测量温度的。铂易于提纯,物理化学性质稳定,电阻率较大,

8、能耐较高的温度,因此用PT100作为实现温标的基准器。 pt100是铂热电阻,简称为:PT100铂电阻,它的阻值会随着温度的变化而改变。PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。它的工业原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的的阻值会随着温度上升它的阻值是成匀速增涨的。 方案三:采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D

9、通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。 基于对以上三种方案的分析以及实验室的设备,选择方案二的PT100作为温度传感器。2.2.3 模数转换器选型 模拟量输入到计算机,首先要经过模拟量到数字量的转换,简称A/D转换,计算机才能接收。实现模/数转换的设备称A/D转换器或ADC。A/D转换器的种类有很多,而A/D转换的

10、好与坏直接关系到真个系统的精确度。由于本系统测量的是温度信号,响应时间长,滞后大,不要求快速转换,因此选用8位串行A/D转换ADC0809能达到设计的基本要求。为进一步提高精度,可以直接采用12位A/D转换器,也可以采用过采样和求均值技术来提高测量分辨率。2.3 硬件组成按照温度报警器设置的组成以及所需完成的功能,本设计需要以下硬件: 1 热敏电阻PT100:完成对温度的采集,将温度的变化转换成电压信号; 2 放大器AD620:将热敏电阻所转化的电压信号进行放大,并送到模数转换器ADC0809中; 3 声光报警系统: 当温度超过设定值时用于报警的系统 4 控制器:作为控制系统的核心,可采用工控

11、机、PLC、DCS或微控制器,本设计采用单片机。 温度报警器系统框图见图2.1所示。 图2.1 温度报警器系统框图可以在系统下用下载线进行编程,省去价格昂贵的编程器,而且可以在目标板上直接修改程序。 3 硬件电路设计 3.1 时钟电路 给一块内部含有程序存储器的单片机配上时钟电路和复位电路就可以构成单片机的最小应用系统。 89C51系列单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟,外部还需附加电路,89C51的时钟产生方法有两种,内部时钟方式和外部时钟方式,本设计采用内部时钟方式,内部时钟电路图如图3.1所示。 图3.1 内部时钟电路图3.2 复位电路 复位是单片机的初始化操

12、作,单片机在启动运行时,都需要先复位,它的作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。例如复位后,PC初始化为0,于是单片机自动从0单元开始执行程序。因而复位是一个很重要的操作方式。 本设计采用按键脉冲复位,其原理图如图3.2所示。 图3.2 按键脉冲复位原理图3.3 A/D转换设计 3.3.1 8位逐次逼近式A/D转换器ADC0809 ADC0809是带有8位A/D转换器、8路多路开关以及微处理器兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。它是目前应用最广泛的8位通用的A/D转换的芯片。 3.3.2 ADC0809应用注意

13、事项: ADC0809内部带有输出锁存器,可与AT89S52单片机直接相连。 初始化时,使ST和OE信号为低电平。 送要转换的那一通道的地址到A,B,C端口上。 在ST端给出一个至少100ms宽的正脉冲信号。 是否转换完毕,我们根据EOC信号来判断。 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 3.3.3模数转换模块电路 ADC0809接线图,即A/D转换电路如图3.3所示。 图3.3 A/D转换电路3.4 放大电路设计测温原理:采用 R1、R2、VR2、Pt100 构成测量电桥(其中 R29R28),温度变化时,当Pt100 的电阻值和 R27 的电阻值不相等,电

14、桥输出一个 mV 级的压差信号,这个压差信号经过运放 AD620 放大后输出期望大小的电压信号,该信号可直接连 A/D 转换芯片。从而把热电阻的阻值转换成数字量。AD620为三运放集成的仪表放大器结构,AD620的两个内部增益电阻为24. 7 k , 因而增益方程式为: G =49.4 k/R G + 1 (1)对于所需的增益, 则外部控制电阻值为:R G =49.4/(G - 1)k (2)电路原理如图3.4所示:图3.4 AD620原理图 桥式电路测温整体电路如图3.5所示:图3.5 放大电路3.5 显示电路设计在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一

15、种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。图3-7(a)是4位共阳数码管的管脚图。LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为1.52V,额定电流为10mA,最大电流为40mA。静态显示时取10mA为宜,动态扫描显示可加大,加大脉冲电流,但一般不超过40mA。 本设计选用4位共阴数码管。由于数码管的驱动电流较大,所以在设计时加上了三极管3904作为驱动电路,数码管和单片机的接口如图3.6所示。 图3.6 显示电路3.6报警电路由一个蜂鸣器和三极管组成,当高温超过设定值,蜂鸣器将会发出报警。 放大电路与单片机P3.4口相连,当采集到的温度值

16、超过所设置的范围时,单片机会输出一信号,通过三极管放大后驱动蜂鸣器发出报警信号。如图3.7所示。图3.7 蜂鸣器报警电路4 软件设计 4.1 主程序设计4.1.1 程序说明主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示等工作。这是一个综合硬件设计控制系统。利用显示电路、A/D转换电路、单片机实现温度报警的系统。本设计可以实现将模拟温度信号,转换成数字信号,并经过计算处理后通过LED静态显示电路以十进制形式显示出来,设置温度上限为100,该系统可以对温度进行实时过程的监控。当实际温度高于设定的温度上限时,发出报警信号。4.1.2 流程图 主程序流程图如图4.1所示

17、。 图4.1 主程序流程图4.2 显示子程序设计 本设计采用4位LED共阴极数码静态显示,显示温度范围从0到99,字段码放在LEDLAB中,采用查表方式,偏移量加首址查得对应的字形代码。当定时器T0定时时间到,采样电路进行采样,采样结果经信号调理电路处理后,送入A/D转换,经标度变换后显示。 显示子程序流程图如图4.2所示 图4.2 显示子程序流程图4.3 A/D转换器设计4.3.1 标度变换说明: 本设计是模拟温度的显示,温度经过热敏电阻转换为电压信号,经放大器AD620放大后进入单片机进行A/D转换成数字量后输出到动态显示部分,显示其温度值。 4.3.2 A/D转换流程图如图4-3所示。

18、图4.3 A/D转换流程图 5 总结 经过这段时间的单片机课程设计,终于完成该课程的设计,在本次设计的过程中,我发现很多的问题,通过这次设计真的让我长进了很多,单但我觉的写好一个程序并不是一件简单的事,因为设计时间有限,加之缺少对工业现场整体把握的经验,导致本设计在功能上还不十分完善。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,我想我会在今后的学习生活中更加努力的去学习单片机的知识,不断加强自己的理论知识,努力完成更多的设计与创作。附录A 总原理图附录B 部分源程序LED_0 EQU 30LED_1 EQU 3

19、1HLED_2 EQU 32HADC EQU 35HTCNTA EQU 36HTCNTB EQU37HH_TEMP EQU 64H ; /温度上限FLAG BIT 00HH_ALM BITP3.0L_ALM BIT P3.1SOUND BITP3.7CLOCK BITP2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG 1BH LJMP INT_T1START : MOV LED_0, #00H MOV LED_1, #00H MOV LED_2, #00H MOV DPTR, #TA

20、BLE MOV H_TEMP, #60 MOV L_TEMP, #30 MOV TMOD, #12H MOV TH0, #245 MOV TL0, #0 MOV TH1, # (65536-1000)/256 MOV TL1, # (65536-1000) %256 MOV IE, #8aH CLR C SETB TR0 ;为ADC0809提供时钟 WAIT:SETBH_ALM SETB L_ALM CLR ST SETB STCLR ST ;启动转换 JNB EOC, $ SETB OE MOV ADC, P1 ;读取AD转换结果 CLR OE MOV A, ADCMOV A, H_TEMP

21、MOV R0, ADCSUBB A, R0 ;判断是否高于上限JC HALMCLR TR1LJMP PTOC HALM: ;高温报警 CLR H_ALM SETB TR1 SETB FLAG LJMP PTOCPTOC: MOV A, ADC ;数值转换 MOV B, #100 DIV ABMOV LED_2, AMOV A, B MOV B,#10 DIV AB MOV LED_1,A MOV LED_0,B LCALLDISP SJMP WAITINT_T0: CPLCLOCK ;提供89C51时钟 RETIINT_T1: MOV TH1, #(65536-1000)/256 MOV TL

22、1, #(65536-1000)%256 CPL SOUND INC TCNTA MOV A, TCNTA JB FLAG,I1 ;判断是高温警报还是低温警报 CJNE A,#30,RETUNE ;低温警报声 SJMP I2 I1:CJNE A, #20, RETUNE ;高温警报声 I2:MOV TCNTA, #0 INC TCNTB MOVA, TCNTB CJNEA, #25, RETUNE MOVTCNTA, #0 MOVTCNTB, #0 LCALLDELAY2RETUNE: RETIDISP: MOVA, LED_0 ;数码显示子程序 MOVCA,A+DPTR CLR P2.3 M

23、OV P0, A LCALLDELAY SETB P2.3 MOV A, LED_1 MOVCA,A+DPTR CLR P2.2 MOV P0, A LCALLDELAY SETB P2.2 MOV A, LED_2 MOVCA,A+DPTR CL RP2.1 MOVP0, A LCALLDELAY SETBP2.1 RET DELAY:MOVR6, #10 D1:MOVR7, #250 DJNZR7, $ DJNZR6, D1 RETDELAY2: MOVR5,#20 D2:MOVR6, #20 D3:MOVR7, #250 DJNZR7, $ DJNZR6, D3 DJNZR5, D2 RETTABLE: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FH, FH END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号