资源描述
智能烘箱温度控制器设计
摘要: 电烘箱在机械、冶金、化工等行业具有广泛的应用,如机械零件的热处理。在某些情况下,要求对电烘箱的温度实现准确控制,若采用一般控制方法则难以实现。
以铂热电阻温度传感器PT100作为感应烘箱温度传感器,它将温度的变化转换为电阻阻值的变化,由铂热电阻PT100组成的测量电桥将烘箱温度的变化转换成电压信号变换、再经集成运放7650放大成0~5V的模拟电压信号后,经ADC0804转换成8位数字信号送入AT89C52单片机系统, AT89C52单片机对所采集的数据经数字滤波、变换等处理后送入164显示模块进行显示,同时输出控制量,控制可控硅的导通从而控制加热装置开启或关闭,实现对烘箱温度的智能控制。
本次设计所要求实现的温度测量范围为0℃~300℃,分辨率为±1℃。测量结果用3位LED数码管显示。关键字:温度传感器、A/D转换 、实时测温
指导教师签字:
The development of Intelligent Oven System
Student Name: Yaoxi Classe:098205234
Supervisor: Chenlijuan
目 录
第一章 绪论 1
1.1 选题的依据及课题的意义 1
1.2 国内外研究概况及发展趋势 1
1.3 本文的主要研究内容
第二章 烘箱系统的组成及工作原理
2.1 系统的设计要求与技术指标 3
2.2系统组成框图与功能分析 3
第三章 烘箱系统硬件电路的设计
3.1 单片机最小系统
3.1.1 时钟电路 5
3.1.2 复位电路 5
3.2 温度电路 7
3.3 A/D 转换电路设计 10
3.4 12
3.4.1 LED显示接口电路 12
3.4.2 键盘接口电路 13
3.5 加热控制电路 15
3.6 报警电路 16
第四章 烘箱系统软件设计 18
4.1 软件设计总体框图 18
4.2 系统子程序设计 19
4.2.1 A/D 转换子程序 19
4.2.2显示程序 21
4.2.3键盘输入程序 22
第五章 系统调试 23
5.1 单片机系统调试 23
5.2 温度采集电路的调试 23
5.3显示电路的调试 23
第六章 结论 25
6.1 实现功能 25
6.2不完善之处 25
参考文献 26
致谢 27
附录一 电路原理图 28
附录二 程序清单 29
第一章 绪论
1.1选题的依据及课题的意义
在现代化的工业生产中,温度是工业对象中主要的被控参数之一,例如在冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的处理温度要求严格控制,现代计算机温度控制系统使温度控制指标得到大幅度的提高。
温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用。在工业控制中,温度控制是一个很重要的环节。温度控制的好坏,往往影响成品的好坏。在日常生活中,过低的温度满足不了人们的需求,而过高的温度则会造成能源的巨大浪费。特别是在当前全球能源极度有限的情况下,掌握好对温度的控制是必要的。
本系统以单片机为核心,主要部分包括传感器温度采集、A/D转换、按键操作、显示等部分。采用PID算法实现温度控制功能,并使其达到要求的精度,完成对温度的采集和实时显示、超温报警等功能的实现。
1.2国内外研究概况及发展趋势
已往的烘箱采用的是手控式的和电子式的温度控制装置,随着人们对温度控制的精度和操作简便的要求的提高,人们又发明了以单片机为核心的温度控制装置,该种装置是目前较先进的温度检测和控制装置。具有温度控制准确,操作简便和结构简单等众多的优点。但它也还存在着许多的不足之出不能满足人们某些方面的要求。例如其输出结果常用数码管显示,结果不够形象,对于复杂数据的处理更是力不从心。因此许多温度控制系统增加了RS-232等的接口电路,增强了与上位机的联系,并通过编程可实时的画出温度曲线,更有利于对温度进行控制,更可进一步观察温度变化的规律。PID等算法的运用使的温度的控制更加的精确。
随着计算机技术的发展和完善,微机被广泛运用与检测和控制领域。微机在测控技术中的运用,使得传统的测控手段,方法和设备发生了根本的变化,形成了自动化,实时化和智能化的微机检测与控制系统。用PC机替代单片机,PC机的强大的数据处理和人机对话功能可以用来弥补单片机控温的不足。随着科学技术的发展和自动化程度的进一步提高,烘箱做为实验室的常用设备也在不断的发展,由原来单一的产品逐渐向多个方向发展,比如电脑控温、真空烘箱等等。
第二章 烘箱系统的组成及工作原理
2.1 系统的设计要求与技术指标
本课题的任务是应用单片机技术对一脱蜡烘箱进行温度控制。
具体技术要求如下:
1. 设计一路温度采集电路;
2. 设计键盘、显示接口电路,可时实显示和设定温度值;
3. 设计输出控制接口电路和报警电路;
4. 控温范围为0~300℃,精度为±1℃
2.2系统组成框图与功能分析
本系统主要由四大部分组成:数据采集转换电路模块、控制电路模块、键盘显示模块、加热驱动模块、报警电路模块。各模块主要功能:
一、数据采集、放大、转换模块完成温度信号的测量放大和转换。
二、控制模块主要包括单片机最小系统、各种接口电路。
三、显示模块主要是通过7279键盘显示来实现。
四、加热驱动电路模块主要完成单片机控制可控硅加热。
五、报警电路模块实现在烘箱温度超过设定温度时发出警告。
1.硬件电路组成框图
简化的硬件组成框图如下:
加热
控制
控
制
对
象
键盘显示电路
单片机控制
A/D转
换电路
温度转
换电路
报警显示
图2.1硬件原理图
2、基本功能
使用pt100构成电桥测量温度,温度的信号经过AD转换电路后进入单片机系统实现显示温度,控制加热设备等功能,同时可通过键盘可设置电路参数.
3、软件的基本组成
软件主要有主程序,A/D转换程序,键盘输入等几部分组成,主要实现第三章 烘箱系统硬件电路的设计
3.1 单片机最小系统
3.1.1时钟电路
图3.1 单片机时钟电路
3.1.2
图3.2 单片机复位电路
3.2 温度模块方案论证与比较
方案1:采用集成温度传感器的采集电路
集成温度传感器的原理是基于硅基p-n结对温度的敏感效应,它有三种类型: 1. 线性输出集成温度传感器,电压与温度成比例关系; 2. 临界点输出集成温度传感器,探测温度以防止过热,临界温度点的调整可通过电阻设置来完成。 3. 数字传感器,用数据总线传输温度值,用数字输出取代模拟输出。集成温度传感器的工作温度范围是有限的,通常在-55℃~150℃之间,且具有价格低廉、设计简易、测量精确等优越性。
集成温度传感器搭乘个人电脑的班车而得到迅猛发展,个人电脑及外设这些需要热电偶的地方,即是需求集成温度传感器的地方。集成温度传感器特有的低价格是制造商手中的法宝,在温度传感器中集成温度传感器价格最低,但它也有两个弱点,即受温度限制和受电磁干扰。
采用集成数字温度传感器设计电路,可以省略A/D转换电路。传感器直接输出数字信号电路简单而且生产成本低,测量精确。但集成温度传感器工作温度范围通常在-55°C~150°C达不到设计的要求,因此在本次毕设中未采用几集成温度传感器。
方案2:采用温度传感器PT100作为电桥电路的采集电路
铂电阻在0℃的额定电阻值是100 Ω,它是一种标准化的器件。铂金属的长期稳定性、可重复操作性、快速响应及较宽的工作温度范围等特性使其能够适合多种应用。。Pt100传感器是利用铂电阻的阻值随温度变化而变化、并呈一定函数关系的特性来进行测温,其温度/阻值对应关系为:
(1)-200℃<t<0℃时, =100[1+At+Bt2+Ct3(t-100)] (3.1)
(2)0℃≤t≤850℃时, =100(1+At+Bt2) (3.2)
式中,a,b,c均为系数。
— PT100的电阻阻值。
Pt100温度传感器的主要技术参数如下:测量范围:-200℃~+850℃;允许偏差值△℃:A级±(0.15+0.002│t│), B级±(0.30+0.005│t│);热响应时间<30s;最小置入深度:热电阻的最小置入深度≥200mm;允通电流≤5mA。另外,Pt100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点
其测温电路的工作原理:温度传感器PT100作为电桥电路的一个桥臂,电桥在某一温度时呈现平衡状态,其输出为零;当温度发生变化时,PT100的阻值也跟着发生变化,电桥的平衡被打破,电桥将输出一个电压值,这样就实现了温度信号到电压信号的转变。由于电桥输出的电压信号很小(毫伏级),所以应经过一个高精度而且放大倍数也很匹配的运放该将信号进行放大。电压量到数字量的转变方法是将放大后的电压信号输入A/D转换器,A/D转换器将电压信号转换成数字量信号,这样就完成了温度采集的过程。应当注意的是:使用运放时,要考虑到该运放的放大倍数是否能达到系统的要求,要能够实现对其放大倍数进行调节。
由于PT100的技术参数可以满足本次毕设的要求。因此采用了其电路原理图如图3.4。
图3.3 温度转换及放大电路
1. 温度转换电路:
图3.4 温度转换电路
这部分电路完成PT100的电阻到电压的转换。根据(3.1)可以得到设计温度要求范围内的PT100的电阻阻值。在电桥中上两桥臂用了10KΩ的电阻,下臂分别用100Ω的电阻和PT100,且R3调到等于100Ω(0的阻值),可以保证流过PT100的电流适中。设电桥输出电压为,R3、PT100两端电压计作和,电源电压。则有:
(3.3)
(3.4)
(3.5)
(3.6)
根据(3.1)得: (3.7)
即可得到0~8502.运放放大电路:
图3.5运放放大电路
这部分电路主要完成对前级电桥输出电压的放大和滤波。为使最终输出取R7=10KΩ、R6调节到适当的电阻值。
(3.8)
(3.9)
故有 ,所以选2KΩ的电位器作R6。
~
3.3.2
图3.7 A/D转换电路
3.4
3.4.1 LED显示接口电路
本系统采用的是LED数码管显示显示接口是智能化仪器仪表中人机接口的一个重要组成部分,一方面通过显示器监视参数输入的状态,另一方面,通过显示器显示仪器仪表测量和控制的结果和运行的状态。目前常用的显示器有LED显示器,LCD显示器,平面等离子显示器,CRT显示器等,LED显示器由于其体积小,驱动方便,亮度大,寿命长而得到广泛应用,而LCD由于其所需功率甚低,在一些便携式仪器中得到广泛应用,另外点阵式LCD,由于它能方便地显示各种图形和符号,因此,越来越多的复杂仪器也开始采用这一显示技术。
3.4.1.1 LED显示器结构
LED显示器是由发光二极管显示字段组成的显示器,有7段和“米”字段之分,这种显示器有共阳极和共阴极两种。如图七所示,共阴极LED显示器的发光二极管的阴极连接在一起,通常此公共阴极接地,当某个发光二极管的阳极为高电平时,相应的段就被点亮,同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。
图3.8 7段LED显示器引脚及原理图
共阴极和共阳极LED数码管的几何尺寸和字形是相同的,使用时要加以注意,另外,每一种LED又有不同的发光颜色,如:红、绿、黄、橙等。 一般地,发红光的LED,每段流过5mA的平均电流,就可以有较满意的亮度,7mA电流会更亮些,10mA以上也不会再亮多少,但长期运行于10mA以上会缩短其寿命,最大电流平均值不得超过30mA,LED显示器允许的反向电压最大值为5V,此时的反向电流一般小于10uA,小尺寸的LED显示器每段只有一个发光二极管,其正向压降约为1.5V,一般最大不大于2V,大尺寸的LED显示器每段可能由数个发光二极管串联,每段压降也要增大。
七段LED数码管的字高有7.6mm、10.8mm、12.5mm、15.4mm、20.3mm、25.4mm和45.7mm等几种。
3.4.1.2 显示电路方案比较
方案一:采用74LS164 芯片驱动
在本次设计中,用单片机的串行口来外接3片74LS164作为6位LED显示器的静态显示接口,把单片机的RXD作为数据输出线,TXD作为移位时钟脉冲。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路就可以了,直到要显示新的数据时,再发送新的字形码。使用这种方法,占用CPU的内部资源少,控制程序简单,但占用较多的硬件资源。故本次设计采用可提供单独锁存的I/O接口电路的串并转换电路74LS164。其电路原理图如图3.9所示。
图3.9 164显示电路
74LS164为TTL单向8位移位寄存器,可实现串行输入、并行输出的功能。它的A、B(第1、2脚)为串行数据输入端,2个引脚按-逻辑与运算规律输入信号,公用一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各复位为0,只有当R=1时,时钟脉冲才起作用。Q1-Q8(第3-6和10-13引脚)并行输出端分别接LED显示器的dp、g、f、e、d、c、b、a各段对应的引脚上。
所谓时钟脉冲端,其实就是需要高、低、高、低的脉冲,在74LS164获得时钟脉冲的瞬间,如果数据输入端(第1、2脚)是高电平,则就会有一个1进入到74LS164的内部。如果数据输入端是低电平,则就有一个0进入其内部。在给出了8个脉冲后,最先进入74LS164的第一个数据就到达了最高位,然后再来一个脉冲,从单片机RXD端输出的数据就 进入到第一片74LS164中,当第二个8个脉冲到来后,第一个数据就进入第二片74LS164,而新的第二个数据就进入到了第一片74LS164中,这样依次类推。
方案二:HD7279键盘显示电路
HD7279A,它共有28个引脚。它是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立)的智能显示驱动芯片,该芯片同时还可连接多达64键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。 HD7279内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式.此外,还具有多种控制指令 ,如消隐,闪烁,左移,右移,段寻址等.
~
3.10 硬件键盘显示电路
为了电路的简洁方便,因此选择了7279键盘显示。
3.5 加热控制电路
控制部分最主要是电子开关电路。电子开关电路一般由光电耦合芯片、继电器、双向可控硅的等电子器件组成。电路要实现控制回路(输入)与负载回路(输出)之间的电隔离及信号耦合,可达到无触点,无火花接通和断开电器的目的。电子开关电路应用领域十分广泛,如用于计算机的接口、微机的测控系统、自动控制等领域。
本次毕设采用光电耦合器和双向可控硅等元件设计等器件构成开关电路,该电路除用于控制交流接触器,还可以用于控制灯光、加热器等,但一定要注意双向可控硅的参数是否能满足负载的要求。
工作原理:在输入端加一个控制信号,就可以控制输出端的“通”和“断”,实现“开关”功能。其中耦合电路是以光电耦合器作为输入、输出间的通道,又在电气上实现电隔离,以防止输出端对输入端的影响。吸收电路由电阻、电容组成,它是为了防止电源中带来尖峰电压、浪涌电流对开关器件的冲击和干扰而设的。如图3.11所示电路
图3.11 控制电路原理图图中R1的阻值由下式确定:R31=V/1.2A,1.2A为双向开关的额定电流。当主电网电压为220V时,V=/2*220=308V,则R1=308/1.2=250Ω.所以,可控硅SCR的规格应依R31的大小进行选择。
3.6 报警电路
本设计当温度超过300℃时,这就需要报警。电路中采用灯报警,就是点亮一个发光二极管。当P3.4为0时,报警灯亮;当P3.4为1时,报警灯不亮。电路图如图3.12所示。
图3.12 报警电路
发光二极管发出的光必须达到一定的强度,一般要求流过发光二极管的电流为5~10mA,限流电阻R31应取:
(3.10)
其中:Vcc─ 电源电压
VOF ─ 发光二极管的管压降,一般为1.5~2.0V
IF ─ 要求流过发光二极管的电流
第四章 烘箱系统软件设计
4.1 软件设计总体框图
主程序框图如图4.1所示开始
工作单元清0
窜口初始化,并规定波特率
定时器0初始化,开中断
调键扫程序
采样温度并保存
温度值送显
设定温度﹥采样温度?
开可控硅,使加热器加热
关可控硅
采样温度﹥极限温度?
清报警标志
报警
N NN
Y
Y
N
图4.1 主程序框图
4.2 系统子程序设计
1.AD 转换时序
ADC0804 控制信号的时序图如下图4.2 所示
图4.2 ADC0804 控制时序图
根据控制时序图,可见各控制信号时序关系为:当CS 与WR 同时为低电平,A/D 转换器被启动,且在WR 上升沿后100μs 模数转换完成,转换结果存入数据锁存器;同时,INTR 自动变为低电平,以表示本次转换结束。此时,如果CS、RD 同时来低电平,则数据锁存器三态门打开,数字信号送出,而在RD 高电平到来后三态门处于高阻状态。简而言之,即当CS 与WR 同时为低,启动A/D 转换;然后短暂延时(如0.1ms)后,将CS 与RD 同时为低,则可开始读取A/D 转换结果。A/D
开始
启动A/D 转换
读取A/D 转换数据dat
dat/10,商为百位数
显示百位数
dat/10,商为十位数
显示十位数
余数为个位数
显示个位数
返回
返回
图4.3 A/D 转换的流程图
4.2.2 显示程序
本次设计用了8个七段共阳极数码,开辟显缓区单元40H~47H,显示程序采用查表的方法把40H~47H中的内容显示出来。其程序框图如图4.4所示。
开始
显缓单元40H→R0
计数单元赋初值
#08H→R7
对相应的显缓单元写入命令
查表将送显示的值存入A中
R7减1为0?
返回
N
Y Y
图4.4 显示子程序框图
4.2.4 键盘输入程序
本次设计的键盘是独立式键盘,采用行扫描法。本次按键选择子程序采用查询方式来实现按键的识别,这时CPU只要一有空闲就调用键盘扫描程序,查询键盘,识别键值,并予以处理。程序流程图如4.7所示:
开始
键扫
有键按下否?
是否为设置键?
进入闪烁控制
键识别
加
键
减
键
移
位
键
确认键
返回
N
N
Y
Y
图4.7 键扫程序流程图
第五章 系统调试
5.1单片机系统调试
最小系统是系统的核心,必须保证它的正常工作。首先得保证线路连接正确和导通,有时系统板工作不正常往往是这方面的原因;另外AT89C52的P口必须得正常工作,其调试方法是:将AT89C52的P口与调试好的显示电路连接起来,再利用E2PROM仿真器编写简单的程序,比如说让P1口的某一位输出方波,然后用示波器去检查波形是否正确;或者让P1口的某一位置高电平/低电平,然后用万用表去检查引脚上的电平。还可以测试外部中断口和内部定时器的工作情况,测试方法是:在P口正常工作的情况下,可以通过改变外部中断和定时中断到来前后P 口的电平来检测外部中断和定时中断的工作情况。
5.2温度采集电路的调试
首先调试采样转换电路。用电阻箱模拟PT100,先将打到100Ω档,用万用表测量电桥输出端的电压,同时调节精密电位器R3使得万用表示数为零。此时电桥平衡。再用万用表测运放输出端,看电压是否为0。实际上应该是0.01V左右,不可能真的为0。再将电阻箱打到138.5Ω(100),用万用表测电桥输出端电压,与理论值相比较。实际值是45.8mV。再用万用表测运放输出电压,看看是否是5V左右。实际上比5V小,此时调节电位器R6使运放输出电压接近5V。由于运放给的工作电压为±5V,所以一般是达不到5V输出的,因此可以加大运放的工作电压,从而使运放输出电压为5V。注意运放的工作电压要对称地加大,且不可超过±15V。作好后再把电阻箱打到100Ω档,看看运放输出电压是多少。如果趋于0V就表示调好了,否则就说明放大电路或是电桥存在问题,要重复上面的工作找原因。实际上此时运放输出为0.22V,根据上述分析可以认定采样电路调好了。
A/D转换电路要结合程序一起调试。由于用到了外部中断1(INT1),所以在运行时可以用万用表测89C52的 WR和RD脚,看看电平是否满足正确的时序。
5.3 显示电路的调试
本电路由于有5个按键(外加一个单独的复位键)和8个数码管,所以此电 路单独制作一块PCB板,用了一个四腿的插排与最小系统板连接通讯。此电路是接在单片机实验箱与最小系统板上直接连P1.0~P1.3口进行调试的。将程序通过串行线由电脑输入单片机再通过仿真线输入最小系统板,运行程序,则164键盘显示板上就会显示运行结果。如初始状态数码管显COOL,通过按键盘上预先设定好的功能键,数码管依次进行显示, 结束显示功能,按下此键时能够显示结束标志STOP,清零显示功能,则要使的按下此键,可实现所有显示的清零,信息发送与信息接收功能键,此时只要附个固定值,按下此键时,能够正确显示出所设定的值。这样便可确定显示及键盘的硬件电路的可行性。
硬件调试:
首先要检查数码管是否能被点亮。上电前,用万用表测量,简单的方法:把万用表的红表笔接到数码管的3或8脚上(系统采用共阳极数码管),黑表笔接到其余的脚,如果每一段都被点亮,则说明数码管是好的。再送一个小程序使八个数码管显示“00000000”,实际操作说明显示电路完全正确。
软件调试:
软件调试是根据子程序和主程序间的顺序来调试的。可按显示子程序、A/D采样子程序、数制转换子程序。
但在调试中必须注意到时序,,即延时问题。只有充分考虑到这些各方面的问题,显示部分的调试才会相对顺利。细致分析下来,有以下问题在调试时需要注意:
(1)制作键值表,以便在扫描键盘时通过程序读取被按键的行首键号,然后再查键值表即可知道什么键被按下。
(2)判断是否有键按下,无键按下时为FFH。
(3)按键的去抖动。被按键的簧片总会有轻微的抖动,这种抖动会持续10ms。
(4)求键值,由于键盘上所有按键的键值都存放在键值表中,可以利用查表指令求得被按键的键值。
(5) 按键的类型判别。
第六章 结论
参考文献
[1]. 沈红卫.基于单片机的智能系统设计和实现[M].北京:.电子工业出版社,2005
[2]. 张友德、赵志英、涂时亮. 单片微型机原理、应用与实践(第四版)[M]. 上海:复旦大学出版社,2003年6月
[5]. 赵家贵等 .新编传感器电路设计手册[M].北京:中国计量出版社,2002
[6]. 高晓蓉 .传感器技术[M].成都:西南交通大学出版社,2003
[7]. 赵负图.传感器集成电路手册[M]. 北京:化学工业出版社,2001
[9]. 王福瑞. 单片微机测控系统设计大全[M]. 北京:北京航空航天大学出版社,1998
[10]. 张友德等 .单片微型机原理、应用与实验[M]. 上海:复旦大学出版社,1991
[11]. 苏军. 传感器技术在生产实践中的研究与应用[M].北京:北方工业大学,2003
[12]. 徐芳芳,陈平等. 多点温度测试系统[J]. 山东理工大学学报[J]. 2005,5(19):64~68
[13]. A.P.Goutzoulis and D.R.Pape. Design and Fabrication of Acousto-optic devices[M], Marcel Dekker. New York, 1994
[14]. C.C. Wong,C.C. Chen, A hybrid clustering and gradient descent approach for fuzzy modeling, IEEE Tram. On system[J], Man and Cybernetics-Prat B, 1999, 29(6)
致 谢
在这里我首先要感谢的是我的指导老师陈黎娟老师,他在我们的毕设过程中给了我们很大的指导和帮助。在我们遇到困难的时候总是耐心的帮助我们分析错误,理清我们的思路,并且教给我们很多调试程序的经验和实际设计过程中应注意的问题,对我的设计提出了许多宝贵的意见,使我们能在规定时间内保质保量地完成了毕业设计。在此对她给予的帮助表示衷心的感谢!
我还要感谢我们电子系的其他老师。感谢他们为我们提供了毕设的场地和必要的元器件和设备,给了我们大学毕业之前的一次锻炼的机会。在此我还要感谢在设计中帮助过我的同学,尤其是我的搭档亢子云同学。毕设中,我们密切合作,共同参与了两部分的设计和调试。在此对他给予的帮助表示衷心的感谢!
附件一 电路原理图
硬件电路总原理图附件二 源程序
adc_read data 30h ;采样数据暂存单元
adc_BCD data 31h ;采样值转化成温度值存储单元
disp_flash data 32h ;闪烁控制位单元
T2CON data 0c8H
RCAP2L data 0caH
RCAP2H data 0cbH
Tl1 data 0ccH
TH2 data 0cdH
flash_bit data 33h
key_touch bit 00H ;按键标志位
flash bit 01h
flash1 bit 02h
led_alarm bit p3.4
out_si bit p3.5
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP INTT0
ORG 0100H
MAIN: mov sp,#67h
mov r0,#7fh
lp1: mov @r0,#00h ;工作单元清0
djnz r0,lp1
mov @r0,#00h
mov T2CON,#30H ;串口初始化,并规定波特率
mov TH2,#0FFH
MOV TL2,#0ECH
MOV RCAP2H,#0FFH
MOV RCAP2L,#0ECH
MOV SCON,#50H
MOV PCON,#00H
ORL T2CON,#04H
MOV TMOD,#00000001B ;定时器0初始化
MOV TH0,#00H
MOV TL0,#00H
MOV IE,#10000010B ;开中断
clr TR0
MOV 43H,#10
MOV 44H,#10
MOV 45H,#0
MOV 46H,#0
MOV 47H,#0
WAIT: mov r2,#2fh
lpp: lcall DEALYY
LCAll KEY_DEAL
DJNZ R2,lpp
lcall adc0804
mov a,p0
mov adc_read,a
LCALL ADC_TEMP
mov a,adc_BCD
mov b,#100
div ab
mov a,b
mov b,#10
div ab
mov 41h,a
mov 42h,b
lcall disp
jb tr0,lp2
lcall t_control
lcall alarm
lp2: mov a,adc_bcd
MOV SBUF,A
jnb ti,$
clr ti
lJMP WAIT
t_control: mov r1,45h
cjne r1,#00,t4
mov a,#00h
ljmp t5
t4: mov a,#00h
mov b,#100
t3: add a,b
djnz r1,t3
t5: push acc
mov a,46h
mov b,#10
mul ab
mov r1,a
pop acc
add a,r1
add a,47h
cjne a,adc_bcd,$+1
jc t1
clr out_si
ret
t1: setb out_si
ret
alarm: mov a,adc_bcd
cjne a,#80,$+1
jc t2
clr led_alarm
ret
t2: setb led_alarm
ret
INTT0: CLR EA
PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
INC DISP_flash
MOV A,DISP_flash
CJNE A,#03H,$+1
JC INT0_RET
MOV DISP_flash,#00H
cpl flash
INT0_RET: MOV TH0,#00H
MOV TL0,#00H
POP PSW
POP ACC
SETB EA
RETI
ADC_TEMP: MOV A,ADC_READ
push acc
mov b,#05
div ab
mov b,a
pop acc
add a,b
mov adc_bcd,a
ret
adc0804: mov dptr,#0feffh
clr p2.0
MOVX @DPTR,a
setb P2.0
LCALL DEALY
clr p2.0
MOVX a,@DPTR
mov adc_read,a
setb p2.0
ret
DEALY: MOV R7,#0AH
DEALY1: MOV R6,#0FFH
DEALY2: DJNZ R6,DEALY2
DJNZ R7,DEALY1
RET
DISP: jnb flash,l1
setb flash1
mov a,flash_bit
add a,#40h
push acc
mov r1,a
mov a,@r1
push acc
mov @r1,#10
L1: MOV DPTR,#PTMB
MOV R0,#40H
MOV R6,#08H
l4: MOV A,@R0
MOVC A,@A+DPTR
MOV R7,#08H
L2: CLR P1.6
NOP
展开阅读全文