版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机温控系统设计单片机温控系统设计摘要本设计是以一个保温箱为限制对象,以AT89C51为限制系统核心,通过单片机系统设计实现对保温箱温度的显示和限制功能。本温度限制系统是一个闭环反馈调整系统,由温度传感器AD590对保温箱温度进行检测,经过调理电路得到合适的电压信号。经A/D转换芯片得到相应的温度值,将所得的温度值与设定温度值相比较得到偏差。通过对偏差信号的处理获得限制信号,去调整加热器的通断,从而实现对保温箱温度的显示和限制。本文主要介绍了保温箱温度限制系统的工作原理和设计方法,论文主要由三部分构成。①系统整体方案设计。②硬件设计,主要包括温度检测电路、A/D转换电路、显示电路、键盘设计和限制电路。③系统软件设计,软件的设计采纳模块化设计,主要包括A/D转换模块、显示模块、键盘模块和限制模块等。关键词:单片机;传感器;温度检测DESIGNOFTEMPERATURECONTROLSYSTEMBASICONSINGLE–CHIPCOMPUTERABSTRACTThisdesigntakesaheatpreservationboxasacontrolobjectandtheAT89C51asacontrolsystemcore.ASingle-chipComputersystemisdesignedtocarryoutthetemperaturedisplayandcontrol.Thisheattemperaturecontrolsystemisaclosedloopfeedbackcontrolsystem.ThetemperatureoftheheatpreservationboxismeasuredbysensorAD590.ForAD590,aadjustelectriccircuitisdesignedtogetasuitableelectricvoltagesignalfortheA/Dtransformation.AftertheA/Dtransformation,thecorrespondingtemperaturedigitalquantitycanbeobtains,andiscomparedwiththesettingtemperature,thenadeviationcanbeobtained.
Throughprocessingthedeviation,acontrolsignalwillbeproduced,whichadjuststheheatertheonoroff,thusthepreservationboxtemperaturecontrolanddisplayisrealized.Thisdesignintroducesthetemperaturecontrolsystemprincipleofworkandthedesignmethod.Thepapermainlyincludesbythreeparts.①Thesystemoutlineprojectdesign.②Hardwaredesign,thehardwaredesignmainlyincludesthetemperatureadaptiveelectriccircuit,theA/Dcircuit,thedisplaycircuit,thekeyboarddesignandthecontrolcircuit.③Softwaredesignmethod,thesoftwaredesignusesthemodulardesign,mainlyincludestheA/Dtransformationmodule,thedemonstrationmodule,thekeyboardmoduleandthecontrolmodule.Keywords:Single-chipComputer;Sensor;TemperatureMeasurement;书目1绪论
11.1课题设计背景和目的
11.2国内外探讨状况和发展趋势
11.3温度检测的主要方法
21.4课题设计的主要内容
32系统总体方案设计
42.1系统硬件设计方案
4芯片选择
5温度检测
52.1.3A键盘输入
6LED显示
6限制电路
62.2系统软件设计方案
63系统硬件设计
73.1中心处理器
73.1.1AT89C51简介
7管脚说明
8特殊功能存储器
10芯片擦除
;
10复位电路的设计
11时钟电路设计
113.2温度传感器AD590
113.3信号调理电路
133.4温度标定
143.5A/D转换
163.6LED显示
193.7键盘接口
223.8限制电路
234系统软件设计
254.1程序初始化
264.2主程序
274.3A/D转换子程序
274.4标度转换子程序
284.5显示子程序
294.6限制子程序
304.7键盘子程序
325结论
35参考文献
36致谢
37附录
38附录A系统硬件原理图
38附录B
PCB板图
391单片机最小系统PCB板图
392调理电路、限制电路PCB板图
39附件附件1、开题报告附件2、原文:TEMPERATURECONTROL附件3、译文:温度限制1绪论1.1课题设计背景和目的在现代化的工业生产中电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。温度作为一个基本物理量,它是一个与人们的生活环境、生产活动亲密相关的重要物理量。在现代化的工业生产过程中温度作为一种常用的主要被控参数,在很多生产过程中我们须要对温度参数进行检测。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都须要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测。采纳单片机来对温度进行限制,不仅具有限制便利、组态简洁和敏捷性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此单片机对温度的限制问题是一个工业生产中常常会遇到的问题[1]。本次设计采纳MCS-51系列单片机与各种外围电路构成单片机温度自动检测和限制系统,实现对温度的实时检测和限制。通过本次设计驾驭温度检测限制系统的硬件设计方法和软件编写方法。熟识Protel软件的运用方法。通过课题的探讨进一步巩固所学的学问,同时学习课程以外的相关学问,培育综合应用学问的实力。熬炼动手实力与实际工作实力,将所学的理论与实践结合起来。1.2国内外探讨状况和发展趋势随着国内外工业的日益发展,温度检测技术也有了不断的进步。温度测量系统主要由两部分组成,一部分是传感器,它将温度信号转换为电信号。另一部分是电子装置,它主要完成对信号的接收、处理、对测点进行限制、温度显示等功能。对应于不同的温度段及测量精度要求,测温装置也不尽相同,从传感器方面看,己出现有各种金属材料、非金属材料、半导体材料制成的传感器,也有红外传感器。仪器本身也趋向小型化,多采纳集成度较高的芯片或元件组成电路。对于测点较多,并具有报警、巡测、限制等多功能测温装置,一般采纳单片机电路。目前的温度检测技术原理很多,大致包括以下几种:(1)物体热胀冷缩原理(2)热电效应(3)热阻效应(4)利热辐射原理。传统的温度传感器(如,热电偶、铂电阻、双金属开关等)虽然有着各自不行替代的优点,但由于自身因自热效应影响了测量精度,从而制约了它们在微型化高端电子产品中的应用。与之相比较,半导体温度传感器具有灵敏度高、体积小、功耗低、时间常数小、自热温升小、抗干扰实力强等诸多优点,无论是电压、电流还是频率输出,在相当大的温度范围内(-55~150℃)都与温度成线性关系,适合在集成电路系统中应用。目前,半导体温度传感器工作的温度范围还限于-50~150℃。将来主要的探讨方向将是如何扩大它的温度适用范围,以及智能化、网络化等方面[2]。近年来,在温度检测技术领域中,多种新的检测原理与技术的开发应用己取得了具有好用性的重大进展。新一代温度检测元件正在不断出现和完善化,主要包括以下几种。(1)晶体管温度检测元件(2)集成电路温度检测元件(3)核磁共振温度检测器(4)热噪声温度检测器(5)石英晶体温度检测器(6)光纤温度检测器(7)激光温度检测器。目前国内外的温度限制方式越来越趋向于智能化,温度测量首先是由温度传感器来实现的。测温仪器由温度传感器和信号处理两部分组成。温度测量的过程就是通过温度传感器将被测对象的温度值转换成电的或其它形式的信号,传递给信号处理电路进行信号处理转换成温度值显示出来。温度传感器随着温度变更而引起变更的物理参数有:膨胀、电阻、电容、热电动势,磁性能、频率、光学特性及热噪声等等。随着生产的发展,新型温度传感器还会不断出现,目前,国内外通用的温度传感器及测温仪大致有以下几种:热膨胀式温度计、电阻温度计、热电偶、辐射式测温仪表、石英温度传感器测温仪[3]。1.3温度检测的主要方法温度的测量方法多采纳集成的半导体模拟温度传感器,传感器输出的电压或电流与温度在肯定范围呈线性关系。通过放大,采样得到被测量。另一种温度测量方法是运用热电偶,其测量精度较高,但测试过程困难,测量时间长,而且采纳电桥测量的系统抗干扰实力较差,误差较大。随着集成电路技术的快速发展,新型的数字化温度传感器其精度、稳定性、牢靠性及抗干扰实力都优于模拟的温度传感器。数字温度传感器也越来越的到广泛的应用[4]。温度检测的方法依据敏感元件和被测介质接触与否,可以分为接触式与非接触式两大类。接触式检测的方法主要包括基于物体受热体积膨胀性质的膨胀式温度检测仪表;基于热电效应的热电偶温度检测仪表。非接触式检测方法是利用物体的热辐射特性与温度之间的对应关系,对物体的温度进行检测,主要有亮度法、全辐射法和比色法等。接触式测温是使测温敏感元件与被测介质接触,当被测介质与感温元件达到热平衡时,感温元件与被测介质的温度相等。这类传感器结构简洁、性能牢靠、精度高、稳定性好、价格低、应用特别广泛,因此,本方案采纳接触式测温法,选用相关类型的传感器。由单片机组成的温度测控系统,通过在单片机外部添加各种接口电路,可构成单片机最小系统,用以实现对温度限制对象的温度的显示和限制。同时也能依据实际状况实现多路巡回检测、数据处理、报警及记录,对各个参数以肯定的周期进行检查和测量,检测的结果经计算机处理后再进行显示、打印和报警,以提示操作人员留意或干脆用于生产限制[5]。1.4课题设计的主要内容本温度限制系统是一个闭环反馈限制系统,它用温度传感器将检测到的温度信号经放大,A/D转换后送入单片机中进行数据处理并显示当前温度值,用当前温度值与设定温度值进行比较[6]。依据比较的结果得到限制信号用以限制继电器的通断,实现对加热器的限制。通过这种限制方式实现对保温箱的温度限制。本课题设计的内容主要包括硬件设计和软件设计两部分。系统功能由硬件和软件两大部分协调完成,硬件部分主要完成主机电路、数据采集电路、键盘显示电路、限制执行等电路的设计。软件程序编写主要用来实现对温度的检测、标度转换、LED显示、继电器限制等数据处理功能。2系统总体方案设计本次设计采纳MCS-51单片机作为限制芯片,采纳半导体集成温度传感器AD590采集温度信号。通过温度传感器将采集的温度信号转换成与之相对应的电信号,经过放大处理送入A/D转换器进行A/D转换,将模拟信号转换成数字信号送入到限制芯片进行数据处理。通过在芯片外围添加显示、限制等外围电路来实现对保温箱温度的实时检测和限制功能。本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成传感器信号的采集处理,信息的显示等;软件主要完成对采集的温度信号进行处理及显示限制等功能。系统结构框图如图2.1所示:图2.1系统结构框图2.1系统硬件设计方案单片机应用系统的硬件电路设计就是为本单片机温控系统选择合适的、最优的系统配置,即依据系统功能要求配置外围设备,如键盘、显示器、打印机、A/D转换器、设计合适的接口电路等。系统设计应本着以下原则:(1)尽可能选择典型电路,并符合单片机常规用法。本设计采纳了典型的显示电路、A/D转化电路,为硬件系统的标准化、模块化打下良好的基础。(2)硬件结构应结合应用软件方案一并考虑。软件能实现的功能尽可能由软件实现,以简化硬件结构。由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。由于本设计的响应时间要求不高,所以有一些功能可以用软件编程实现,如键盘的去抖动问题。(3)系统中的相关器件要尽可能做到性能匹配。系统中全部芯片都应尽可能选择低功耗产品。本系统的硬件电路主要包括模拟部分和数字部分,从功能模块上来分有主机电路、数据采集电路、键盘显示电路、限制执行电路。系统硬件包括:温度传感器、信号调理电路、A/D转换器件、MCS-51单片机、键盘输入、LED温度显示器、温度限制电路。芯片选择单片机就是在一块硅片上集成了微处理器、存储器和各种输入输出接口电路的微型计算机,简称单片机。单片机以其较高的性能价格比受到了人们的重视和关注。它的优点就是体积小、重量轻、抗干扰实力强、对环境要求不高、价格低廉、牢靠性高、敏捷性好、开发较为简洁。单片机依据其基本操作处理的位数可分为4、8、16、32位单片机,应用最为广泛的是八位单片机。依据本次设计的实际状况和要求,在本次设计中采纳AT89C51作为系统的限制芯片。AT89C51是一种低功耗、高性能CMOS8位微限制器,具有4K的系统可编程Flash存储器。运用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。温度检测本课题设计的温度限制范围为25-80摄氏度,温度传感器采纳采纳AD590半导体集成温度传感器。A/D590具有较高的精度和重复性,不需协助电源,线性好,运用便利,便于微机系统测控。被测温度信号为一路由AD590测得的代表温度的电压信号,经温度调理电路放大后使其在0-5V范围内,使其适合于A/D转换器的输入电压范围。2.1.3AA/D转换电路的种类很多,例如,计数比较型、逐次靠近型、双积分型等等。选择A/D转换器件主要从转换速度、精度和价格上考虑。逐次靠近型A/D转换器,在精度、速度和价格上都比较适中,是最常用的A/D转换器。双积分A/D转换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢。近年来在微机应用领域中也得到了广泛的应用。本次设计采纳八路模拟输入通道的逐次靠近型的八位A/D转换器ADC0809。采纳ADC0809作为与单片机的接口电路,它的结构比较简洁,转换速度较高。采纳ADC0809作为A/D转换器具有与单片机连接简洁的优点,它是八位的转换器可以与八位的单片机干脆连接,这样就简化了系统的连接电路也有利于系统软件的编写。键盘输入
键盘可分为编码式键盘和非编码式键盘,键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号和键值的称为编码式键盘;靠软件识别的为非编码式键盘。在单片机组成的测控系统中,用得最多的是非编码键盘。在这里采纳的就是非编码式键盘。键盘的连接方式采纳独立连接式,这种连接方式能够简化程序的编写。LED显示在单片机应用系统中运用的显示器主要有发光二极管显示器(LED)和液晶显示器(LCD)。采纳LED作为系统的数据显示器具有价格低、性能稳定和响应速度快等特点。LED显示方式有静态显示、动态显示和串口显示。为了节约系统本身的硬件资源,在这里LED的显示方式采纳串行静态显示方式。利用串口可以工作在移位寄存器方式,驱动LED静态显示。这样就可以充分的利用并行口,并将并行口用到最须要的地方去,同时主程序不须要扫描显示器,使它有更多的时间处理其他事情。这种显示方法用于显示位数少、显示亮度大的地方能够达到很好的显示效果。限制电路限制电路作为单片机系统的后向通道,他是将单片机处理后的数字限制信号用输出口输出,并将该数字信号用于对限制对象的限制。由于单片机的输出信号电平很低,无法干脆驱动外围设备进行工作,因此在单片机的后向通道中须要外围设备的驱动、信号电平的转换以及隔离放大等技术。本次设计采纳继电器作为限制电路的主要器件,通过继电器可以实现直流信号限制沟通负载的功能,从而实现单片机系统的限制功能。2.2系统软件设计方案系统的软件设计采纳模块化设计,采纳模块化设计可以简化系统软件的编写,使软件编写思路更加简洁明白。系统软件主要由三大模块组成:主程序模块、功能实现模块和运算限制模块。主程序模块用于实现各个子程序间的跳转。功能实现模块主要由A/D转换子程序、键盘处理子程序、显示子程序、继电器限制程序等部分组成。运算限制模块涉及标度转换子程序等。3系统硬件设计3.1中心处理器MCS-51系列单片机是8位增加型,其主要的技术特征是为单片机配置了完善的外部并行总线和具有多级识别功能的串行通讯接口(UART),规范了功能单元的SFR限制模式及适应限制器特点的布尔处理系统和指令系统。属于这类单片机的芯片有很多种,如8051、8031、80C51等等。由于单片机具有较高的性能比,国内MCS-51系列单片机应用最广,易于开发、运用敏捷、而且体积小、易于开发、抗干扰实力强,可以工作于各种恶劣的条件下,工作稳定等特点。本设计本着好用性和适用性的要求,选择AT89C51单片机作为中心处理器。3.1.1AT89C51简介AT89C51是一种带4K字节闪耀可编程可擦除只读存储器的具有低电压,高性能CMOS的8位微处理器,俗称单片机。该器件采纳ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪耀存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微限制器,为很多嵌入式限制系统供应了一种敏捷性高且价廉的方案。如图3.1为AT89C图3.1AT89C51的内部结构框图AT89C51单片机与MCS-51系列单片机兼容,AT89C51内部有4K字节可编程闪耀存储器,128*8位内部RAM,两个16位定时器/计数器,5个中断源,32可编程I/O线及串行通道。闪耀存储器是一种可编程又可擦除只读存储器(EEPROM),给用户设计单片机系统和单片机系统带来很大的便利,深受广袤用户的欢迎。AT89C51有片内振荡器和时钟电路,具有低功耗的闲置和掉电模式,在空闲方式下,CPU停止工作,但允许内部RAM、定时器/计数器、串行口和中断系统接着工作。在掉电方式下,能保存RAM的内容,但振荡器停止工作,并禁止全部其他部件工作。还具有三级程序存储器锁定,全静态工作频率0Hz-24Hz,数据保留时间可长达10年。管脚说明如图3.2为AT89C51引脚图,各引脚功能说明如下[7]:●VCC:电源●GND:地●P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,须要外部上拉电阻。图3.2AT89C51引脚图●P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口运用。作为输入运用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)●P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口运用。作为输入运用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口运用很强的内部上拉发送1。在运用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些限制信号。●P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口运用。作为输入运用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流(IIL)。P3口亦作为AT89C51特殊功能(其次功能)运用,如表3-1所示。表3-1AT89C51引脚号其次功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT0(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)●RST:复位输入,晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。●ALE/PROG:地址锁存限制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般状况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟运用。然而,特殊强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。假如须要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标记位(地址为8EH的SFR的第0位)的设置对微限制器处于外部执行模式下无效。●PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89C51从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。●EA/VPP:访问外部程序存储器限制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必需接GND。为了执行内部程序指令,EA应当接VCC。在flash编程期间,EA也接收12伏VPP电压。●XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。●XTAL2:振荡器反相放大器的输出端。特殊功能存储器在单片机内高128BRAM中,由有21个特殊功能寄存器(AFR),它们离散的分布在80H-FFH的RAM空间中,访问特殊功能寄存器只允许运用干脆寻址方式。表3-2为AT89C51单片机特殊功能寄存器及其相应地址[7]。表3-2专用寄存器名称,功能及对应的RAM地址名称简洁描述地址ACC累加器(特地用于存储算术和逻辑运算的结果)0E0HBB寄存器(特地用于乘/除法运算)0F0HPSW程序状态寄存器0D0HSP推栈指针寄存器81HDPTR16位数据指针寄存器。CPU访问外部RAM时地址指针,由两个8位寄存器DPH(83H)、DPL(82H)组成且可单独访问。P0端口0状态寄存器(初始值为0FFH)80HP1端口1状态寄存器(初始值为0FFH)90HP2端口2状态寄存器(初始值为0FFH)0A0HP3端口3状态寄存器(初始值为0FFH)0B0HIP中断优先级限制寄存器0B8HIE中断允许限制寄存器0A8HTMOD定时器/计数器方式限制寄存器89HTCON定时器/计数器限制寄存器88HTH0定时器/计数器0高字节8CHTL0定时器/计数器0低字节8AHTH1定时器/计数器1高字节8DHTLI定时器/计数器0低字节8BHSCON串行限制寄存器98HSBUF串行数据缓冲器99HPCON电源限制寄存器87H芯片擦除整个EPROM阵列电擦除可通过正确的限制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必需被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。复位电路的设计复位使单片机处于起始状态,并从该起始状态起先运行。AT89C51的RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振动周期)以上高电平,则可使单片机复位。内部复位电路在每一个机器周期的S5P2期间采样斯密特触发器的输出端,该触发器可抑制RST引脚的噪声干扰,并在复位期间不产生ALE信号,内部RAM处于不断电状态。其中的数据信息不会丢失,也即复位后,只影响SFR中的内容,内部RAM中的数据不受影响。外部复位有上电复位和按键电平复位。由于单片机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新起先运行。为了便于本设计运行调试,复位电路采纳按键复位方式。按键复位电路如图3.3所示[8]。
图3.3
复位电路时钟电路设计时钟电路是单片机的心脏,它限制着单片机的工作节奏。MCS-51单片机允许的时钟频率是因型号而异的,其典型值为12MHZ。AT89C51内部有一个反相振荡放大器,XTAL1
和XTAL2分别是该反向振荡放大器的输入端和输出端。该反向放大器可配置为片内振荡器,石晶振荡和陶瓷振荡均可采纳。本设计采纳的晶振频率为12MHZ。其时钟电路如图3.4所示。51系列单片机还可运用外部时钟。在运用外部时钟时,外部时钟必需从XTAL1输入,而XTAL2悬空。
图3.4时钟电路3.2温度传感器AD590温度传感器的应用范围很广,它不仅用于日常生活中,而且也大量应用于自动化和过程检测限制系统。温度传感器的种类很多,依据现场运用条件,选择恰当的传感器类型才能保证测量的精确牢靠,并且同时达到增加运用寿命和降低成本的目的。AD590温度传感器不但实现了温度转化为线性电量测量,而且精度高、互换性好。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的详细电路,广泛应用于不同的温度限制场合。由于AD590精度高、价格低、不需协助电源、线性好,常用于测温柔热电偶的冷端补偿。本设计采纳AD590作为温度传感器,它只须要一个电源即可实现温度到电流的线性变换,然后再终端运用一只取样电阻,即可实现电流到电压的转换。它运用便利,并且具有较高的精度。图3.5为AD590的封装形式和基本应用电路。图3-5AD590封装形式和应用电路AD590集成温度传感器是将温敏电阻晶体管与相应的协助电路集成在同一块芯片上,能干脆给出正比于肯定温度的志向线形输出,一般用于-55℃~+150℃之间的测量温度。温敏晶体管在管子的集电极电流恒定时,其基极放射极电压与温度成线形关系,由于生产厂家生产时采纳激光微调来校正集成电路内的薄膜电阻,使其在摄氏零度(对应肯定温度为273.2K),输出电流微273.2uA,灵敏度微1uA/K。当其感受的温度上升或者降低时,则其电流就以1uA/K的速率增大或减小,从而将被测电流转换为电压,则可以用电压来表示其温度大小。为克服温敏晶体管vb电压产生时的离散性,采纳了特殊的差分电路。集成温度传感器具有电压型和电流型两种。因此,它不简洁受接触电阻、引线电阻、电压噪音的干扰,具有很好的线性特性。AD590主要特性如下:●
流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:
(3-1)式中:Ir为流过器件(AD590)的电流,单位为mA;
T为热力学温度,单位为K。●
AD590的测温范围为-55℃~+150℃。●
AD590的电源电压范围为4V~30V。电源电压可在4V~6V范围变更,电流变更mA,相当于温度变更1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。●
输出电阻为710MW。●
精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。AD590温度传感器作为一个恒流源,在本设计的温度检测电路中在AD590的输出端接一取样电阻可将输出电流信号变更转换为电压信号变更。由于AD590温度传感器温度每变更1℃其输出电流变更1mA。所以在接上10K的取样电阻的状况下,温度每变更10℃,输出电压就将变更0.1V。3.3信号调理电路经过温度传感器采集输出的电压信号一般来说是特别微弱的,因此,在送往单片机处理之前应对该信号进行放大。本系统所采纳的A/D转换器为ADC0809,由于ADC0809的输入信号应在0~5V之间,因此,经过放大电路放大的信号进入A/D转换器的电压信号应限制在0~5V之间,依据此原则可设计合适的放大倍数。信号调理电路主要由运算放大器0P07等组成。为了使温度检测电路的输出电压能够适合于A/D转换器的参考电压,利用超低温漂移高精度运算放大器0P07将温度电压信号进行放大到0~5V的范围之内,便于A/D进行转换,以提高温度采集电路的牢靠性。本设计中,信号调理电路部分由集成运放OP07分别构成一个电压跟随器,电压比较器和一个同相输入放大器用于对AD590输出的小电压信号进行放大处理[9]。信号调理电路如图3.6所示图3.6温度检测电路在该放大电路中,电压跟随器起阻抗匹配的作用。反馈电阻为零时,放大倍数为1,电压跟随器的输入电压等于输出电压电压比较器用于对输出电压小信号电压进行调零,在上述电路图中的电压比较器部分由于R2=R4
R3=R5可得电压比较器的输出电压依据电压跟随器的输出电压调整电位计R9就变更电压比较器的输入电压。使得当温度为温度测量下限时电压比较器的输出电压为零。起放大作用的是同相输入放大器OP07。其放大倍数:因此放大器的输出电压3.4温度标定本设计的温度标定是在室温环境条件下标定的。由于温度传感器输出与温度变更有良好的线性。依据温度调理电路,输出电压和温度变更也具有肯定的线性关系。依据试验测得的电压和温度数据,在此我们可以采纳一元线性回来的方法求得温度和电压的线性方程。一元线性回来是处理两变量之间的关系,即两个变量X和Y之间若存在肯定的关系,则可通过试验,分析所得数据,找到两者之间的关系的阅历公式。假如两变量之间的关系是线性的则称为一元线性回来。由于变量测量中存在随机误差,一元线性方程回来可用最小二乘法处理求得一元线性回来方程。最小二乘原理指出,最可信任值应在使残余误差平方和最小的条件下求得[10]。依据试验测量结果可得,在肯定温度x下的电压输出值y,得到如下表所示。表3-3x/℃22304050607080y/V00.421.061.682.262.863.45依据表3-3所得的数据,我们可以知道电压输出范围在0-5V之间,适合A/D转换参考电压的电压范围。为了了解输出电压y与温度x之间的大致关系,把数据表示在坐标图上,如图3-7所示,这种图叫散点图。从散点图可以看出,输出电压y与温度x大致成线性关系。因此,我们假设x与y之间的内在关系是一条直线,有些点偏离了直线,这是试验过程中其他随机因素的影响而引起的。这样就可以假设这组测量数据有如下结构形式:
,
t=1,2,…,N
(3-2)式中的,,…,分别表示其他随机因素对电压测得值,,…,的影响,一般假设它们是一组相互独立、并听从同一正态分布的随机变量,式(3-2)就是一元线性回来的数学模型。此例中N=7。我们用最小二乘法来估计式(3-2)中的参数、。设b0和b分别是参数和的最小二乘估计,便可得到一元线性回来的回来方程
(3-3)式中的b0和b是回来方程的回来系数。对每一个实际测得值与这个回来值之差就是残余误差:,
t=1,2,…,N
(3-4)应用最小二乘法求解回来系数,就是在使残余误差平方和为最小的条件下求得回来系数b0和b的值。用矩阵形式,令,,,
则式(3-2)的矩阵形式为
(3-5)假定测得值的精度相等,依据最小二乘原理,回来系数的矩阵解为
(3-6)代入数据后:,
求解线性方程系数:因此
b0=-1.34
b=0.06线性方程为:
(3-7)3.5A/D转换ADC0809是一种8位逐次靠近式A/D转换器,其内部有一个8位“三态输出锁存器”可以锁存A/D转换后的数字量,故它本身既可看作一种输入设备,也可以认为是并行I/O接口芯片。故ADC0809可以和微机干脆接口,本设计就是用AT8951和ADC0809干脆相连的。ADC0809采纳双列直插式封装,图3.8为ADC0809引脚图,共有28条引脚,主要引脚功能为:●IN0~IN7:为八路模拟电压输入线,用于输入被转换的模拟电压。●ALE:为地址锁存允许输入线,高电平有效。●ADD-A、ADD-B和ADD-C:为地址输入线,用于选择IN0~IN7上那一路模拟电压送给比较器进行A/D转换。ADDA、ADDB和ADDC对IN0~IN7的选择如表3-4所列:●START:为“启动脉冲”输入线,上升沿清零SAR,下降沿启动ADC0809工作。
●EOC:为转换结束输出线,该线上高电平表示A/D转换已结束。p;
●OE:为“输出允许”线,高电平常能使2~2引脚上输出转换后的数字量。
图3.8ADC0809引脚图表3-48位模拟开关功能表被选模拟电压ADDCADDBADDAIN0000IN1001IN2010IN3011IN4100IN5101IN6110IN7111AT89C51与ADC0809的连接方法如图3.9所示,AT89C51通过地址线P2.7和写限制信号线用一个或非门联合限制启动转换信号端(START)和地址锁存信号端(ALE)。地址线P2.7和读限制信号线用一个或非门联合限制输出允许限制端(EOC)。低三位地址线加到ADC0809的ADDA、ADDB、ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。转换结束信号EOC通过一个反相器接到INT1。图3.9
AT89C51与ADC0809连接图AT89C51和ADC0809连接通常可以采纳查询和中断两种方式。本系统采纳中断方式传送数据,EOC线作为CPU的中断恳求输入线。CPU线响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。其中和START的逻辑关系分别为:对ADC0809地址的确定:依据系统硬件连接图可知所选定模拟电压路数为IN0,其对应的地址为ABC=000,即P0.0、P0.1、P0.2=000;又P2.7=0时才能启动ADC0809工作和使AT89C51从ADC0809接收A/D转换电压的数字量。故确定ADC0809其中一个地址为:0111
1111
1111
1000B=7FF8H,其中“__”表示固定量。ADC0809的IN0和变送器输出端线连,故IN0上输入的0V~+5V范围的模拟电压经A/D转换后可由AT89C51通过程序从P0口输入到它的内部RAM单元。ADC0809所需时钟信号可以由AT89C51的ALE信号供应。AT89C51的ALE信号通常是每个机器周期出现两次,故它的频率是单片机时钟频率的1/6。本系统AT89C51主频是12MHZ,ALE信号频率为2MHZ,使AT89C51的ALE上信号经过4分频后接到ADC0809的CLOCK输入端,就可获得500KHZ的A/D转换脉冲,当然,ALE上脉冲会在MOVX指令的每个机器周期少出现一次,但通常状况下影响不大。ADC0809时序图如图3.10所示。图3.10
ADC0809时序图从时序图可以看出,在启动ADC0809后,EOC约在10us后才变为低电平,EOC线经过反相器和AT89C51线相连,这即是AT89C51采纳中断方式来和ADC0809传送A/D转换后的数字量的。为了给OE线安排一个地址,把AT89C51RD和P2.7经或门和OE相连。平常,使OE处于低电平封锁状态,在响应中断后,AT89C51执行中断服务程序中如下两条指令就可以使OE变为高电平,从而打开三态输出锁存器,让CPU提取A/D转换后的数字量。AT89C51执行如下程序可以启动ADC0809工作。MOV
DPTR,#7FF8HMOVX
A,@DPTR;
OE变为高电平,数字量送A3.6LED显示单片机应用系统中运用的显示器主要有发光二极管显示器,简称LED;液晶显示器,简称LCD。前者价廉,配置敏捷,与单片机接口便利;后者可进行图形显示,但接口困难,成本较高。结合本设计的特点,在这里系统的显示采纳发光二极管作为显示器件。单片机中运用7段LED构成字形“8”,另外,还与一个小数点发光二极管用以显示数字、符号及小数点。这种显示器有共阴极和共阳极两种,如图3.11所示。发光二极管的阳极连在一起称为共阳极显示器,阴极连在一起的称为共阴极显示器。一位显示器由八个发光二极管组成,其中,7个发光二极管构成字形“8”的各个笔划(段)a-g,另一个小数点为dp发光二极管。当在某段发光二极管施加肯定的正向电压是,该段笔划即点亮;不加电压则该段二极管不亮。为了爱护各段LED不被损坏,须要外加限流电阻[11]。图3.11数码管假如要显示某个字形,则应使此字形的相应段点亮,也即送一个不同的电平组合代表的数据来限制LED的显示字形,此数据称为字符的段码。数据字位数与LED段码的关系如表3-4所示。表3-4数码管各段与输出口各位的对应关系输出口各位D7D6D5D4D3D2D1D0数码管各段dpgfedcba如运用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如运用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(3FH)。依次类推,可求得数码管字型编码如表3-5所示。表3-5数码管字型编码表字型共阳极共阴极dpgfedcba字型码dpgfedcba字型码011000000C0H001111113FH111111001F9H0000011006H210100100A4H010110115BH310110000B0H010011114FH续表3-541001100199H0110011066H51001001092H011011016DH61000001082H011111017DH711111000F8H0000011107H81000000080H011111117FH91001000090H011011116FHA1000100088H0111011177HB1000001183H011111007CHC11000110C6H0011100139HD10100001A1H010111105EHE1000011086H0111100179HF100011108EH0111000171H灭11111111FFH0000000000H本设计显示采纳LED串行静态显示。MCS-51系列单片机的串行口RXD,TXD为一个全双工串行通信口,当工作在方式0下可作同步移位寄存器用,其数据由RXD(P3.0)端串行输入或输出;而同步移位时钟由TXD(P3.1)串行输出,在同步时钟的作用下,实现由串行到并行的数据通信。在不须要运用串行通信的场合,利用串行口加外围芯片74LS164就可以构成一个或多个并行输入/输出口,用于显示器LED驱动。波特率(每秒传输的位数)固定在fosc/12,即当晶振为12MHZ时,波特率为1MBPS。在CPU将数据写入SBUF寄存器后,马上启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必需由软件清零。单片机与4片串入并出移位寄存器74LS164相连。其中,RXD作为164的数据输入,TXD作为4片164的同步时钟。程序运行时,单片机将4个数码管的段码(4个字节)连续发送出来,通过串行口送给164。4位字型码送完后,TXD保持高电平。此时每片164的并行输出口将送出保存在内部移位寄存器中的8位的段码给数码管,令数码管稳定地显示所需的字符[11]。74LS164是8位串入并出移位寄存器。它的引脚如图3.12所示。A、B为串行输入端,QA~QH为串行输出端,CLK为串行时钟输入端,为串行输出清零端,VCC为+5V电源输入端,GND为接地端。详细输入输出关系如表3-6所示。X代表随意状态;QA0、QB0~QH0代表在稳态输入条件建立之前QA、QB~QH的输出状态;QAn、QBn~QHn代表在最近的时钟上升沿↑转换之前QA、QB~QH的输出状态;H/L、QAn~QBn代表在最近的时钟上升沿↑转换之后QA、QB~QH的输出状态。表3-674LS164输入输出关系如所示输入输出清除
时钟
A
BQA
QB
~
QHL
X
X
XH
L
X
XH
↑
H
HH
↑
L
XH
↑
X
LL
L
~
LQA0
QB0
~
QH0H
QAn
~
QGnL
QAn
~
QGnL
QAn
~
QGn图3.1274LS164引脚如图串行显示电路属于静态显示,比动态显示亮度更大一些。由于74LS164在低电平输出时,允许通过的电流达8mA,故不必添加驱动电路,亮度也比较志向。与动态扫描相比较,无需CPU不停的扫描,频繁地为显示服务,节约了CPU时间,软件设计也比较简洁。由于本设计采纳的是共阳极数码管,所以相应的亮段必需送0,相应的暗段必需送1。原理图如图3.13所示:图3.13LED串行静态显示3.7键盘接口键盘在单片机应用系统中,实现输入数据、传送吩咐的功能,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与牢靠性措施。每按一次键,键盘自动供应被按键的读数,同时产生一个选通脉冲通知微处理器,一般还具有反弹跳和同时按键爱护功能。这种键盘易于运用,但硬件比较困难,对于主机任务繁重之状况,采纳8279可编程键盘管理接口芯片构成编码式键盘系统是很好用的方案。非编码键盘:只简洁地供应键盘的行列与矩阵,其他操作如键的识别,确定按键的读数等都靠软件完成,故硬件较为简洁,但占用CPU较多时间。非编码键盘有:独立式按键结构、矩阵式按键结构。本设计采纳的是非编码独立连接式的键盘。在非编码键盘系统中,键闭合和键释放的信息的获得,键抖动的消退,键值查找及一些爱护措施的实施等任务,均由软件来完成。单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘的工作方式。考虑仪表系统中CPU任务的份量,来确定键盘的工作方式。键盘的工作方式选取的原则是:既要保证能刚好响应按键的操作,又不过多的占用CPU的工作时间。键盘的工作方式有:查询方式(编程扫描,定时扫描方式)、中断扫描方式。独立式按键接口就是各按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键工作状态不会影响其他I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很简洁推断哪个按键被按下了。优点就是电路配置敏捷,软件结构简洁;缺点就是每个按键需占用一根I/O口线,在按键数量较多时,I/O口奢侈大,电路结构显得困难。因此,此键盘是用于按键较少或操作速度较高的场合[8]。本设计中由于所用键盘不多,所以采纳独立连接式的查询式键盘就能够满意设计要求。键盘接口与键盘程序的根本任务就是要检测有没有键按下?按下的是那个位置的键?键值是多少?在本次设计中采纳了软件扫描的方法。通过对键盘接口P1.0和P1.1的查询推断是否有键按下。本次设计采纳了软件去抖动的方法。当有键按下时,按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,假如不妥当处理,将会使按键吩咐的错误执行和重复执行。采纳软件延时的方法来避开抖动阶段,这一延时过程一般大于5ms。3.8限制电路在本设计中,被测温度信号经采样处理后,还须要通过单片机系统的P1.2口输出用以限制保温箱的温度,通过这种方式达到限制的目的。限制的方式主要有模拟量限制和开关量限制。本系统采纳的是开关量限制。所谓的开关量限制就是通过限制设备的“开”或“关”状态的时间来达到限制的目的[6]。由于输出设备往往须要大电压来限制,而单片机系统输出的为TTL电平,这种电平不能干脆驱动外部设备的开启和关闭。另一方面,很多外部设备在开关过程中会产生很强的电磁干扰信号,假如不隔离会使系统进行错误的处理。因此在开关量的输出限制过程中要考虑到两个问题,一要隔离;二要放大。本设计采纳继电器作为限制电路的主要器件,继电器具有肯定的隔离作用,在继电器前面加一个三极管用以放大输出信号就可以驱动继电器的闭合和断开,从而实现弱电限制强电的效果。继电器是一种电子限制器件,它具有限制系统(又称输入回路)和被限制系统(又称输出回路),通常应用于自动限制电路中,它事实上是用较小的电流限制较大电流的一种开关。故在电路中起自动调整、平安爱护、转换电路等作用。在工业自动化限制系统中,继电器常常被用来限制执行机构,特殊是应用在一些耐潮、耐腐蚀、防爆的特殊装置中。固态继电器和MCS-51系列单片机组成的限制系统,具有抗干扰性强、编程简洁、系统兼容性好等特点,具有特别广袤的应用前景。继电器一般由通电线圈和触电组成。当线圈通电时,由于磁场作用,使开关触电闭合。当不通电时,则开关触点断开。一般线圈可用直流低电压限制(+5V,+9V,+12V)。继电器的特性参数包括输入和输出参数,主要的参数为额定输入电压、额定输出电流、浪涌电流。依据输入电压参数值大小,可确定工作电压大小。如采纳TTL或CMOS等逻辑电平限制时,采纳有足够带载实力的低电平驱动,并尽可能使“0”电平低于0.8V。如在噪声很强的环境下工作,不能选用通、断电压值相差小的产品,必需选用通、断点压值相差大的产品,(如选接通电压为8V或12V的产品)这样不会因噪声干扰而造成限制失灵。本设计就是采纳直流驱动电压为+5V的继电器。触电输出部分可以干脆与市电连接。继电器限制电路如图3.14所示:3.14继电器限制电路4系统软件设计本次单片机温控系统的功能是由硬件电路协作软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。系统软件的功能又可分为两大类:一是监控软件,它是整个限制系统的核心,特地用来协调各执行模块和操作者的关系。二是执行软件,它是用来完成各种实质性的功能如测量、显示等功能。每一个执行软件也就是一个小的功能执行模块。本文将各执行模块一一列出,各执行模块规划好后,就可以规划监控程序了。本系统程序设计包括温度采集子程序、显示子程序、标度转换资程序、键盘子程序、限制子程序[11]。程序流程图如图4.1所示。
小于等于-2
大于等于2图4.1系统流程图4.1程序初始化程序初始化部分依据系统硬件原理图及设计要求对单片机系统进行系统资源安排、参数的设置以及定义。系统内部资源安排和参数设置如下:A/D端口地址(ADPORT):
7FF8H显示缓冲起始地址:(LEDBUF):30H段码存储起始地址(TEMP):
40H设定温值存储地址(SETTEMP):50h测量温度存储地址(CURTEMP):51H温度设定上限(HIGHLIMIT):
80温度设定下限(LOWLIMIT):
25温度测量上限(HIGHTEMP)
107温度测量下限(LOETEMP)
21初始化程序代码如下:ADPORT
EQU
7FF8H
;A/D端口地址
LEDBuf
equ
30H
;显示缓冲TEMP
EQU
40H
;段码存储UP
equ
1
;增温DOWN
equ
2
;减温LowLimit
equ
25
;设定值下限HighLimit
equ
80
;设定值上限LowTemp
equ
21
;A/D
0HighTemp
equ
107
;A/D
255SetTemp
equ
50h
;设定温值CurTemp
equ
51h
;测量温度DIN
BIT
0B0H
;P3.0CLK
BIT
0B1H
;P3.1ORG
0000Hljmp
Start4.2主程序主程序的编写是为了实现程序在各个模块间的跳转。这样使程序编写思路更加明白,简化了程序的编写难度,有利于程序的调试。本软件系统包括A/D转换模块,标度转换模块,显示模块,键盘模块,限制模块等。主程序代码如下:Start:mov
SetTemp,#20
;初始恒温值为20℃MLoop:call
TestKey
;测试有无键入jnz
KeyPressed
;更改设定值call
DisplayResult
;数制转换call
DisplayLED
;显示call
ReadTemp
;读入温度CONTROL:......
;限制子程序KeyPressed:......
;键盘子程序END4.3A/D转换子程序依据系统硬件连接图可知,在系统中将ADC0809作为一个外部扩展并行I/O口,采纳线选寻址。由P2.7和联合限制启动转换信号端(ATART)和ALE端,低三位地址线架到ADC0809和ADDA,ADDB,ADDC端,所以选中ADC0809的IN0通道的地址为7FF8H。启动DAC0809的工作过程是:先送通道号地址到ADDA,ADDB,ADDC,由ALE信号锁存通道号地址,后让ATART有效,启动A/D转换,即执行一道“MOVX@DPTR,A”指令产生信号,使ALE,START有效,锁存通道号并启动A/D转换,A/D转换完毕后,EOC端发出一正脉冲,申请中断。
图4.2A/D转换流程图
在中断服务程序中,“MOVA,@DPTR”指令产生信号,使OE端有效,打开输出锁存器三态门,8位数据便读入到CPU中。A/D转换子程序流程图如图4.2所示。A/D转换子程序代码如下:ReadAD:mov
dptr,#ADPORTclr
amovx
@dptr,a
;startA/DJNB
P3.3,$MOVX
A,@DPTR
;读入结果ret4.4标度转换子程序系统温度测量范围的计算原理:依据温度标定结果选取两个温度状态T1T2,模拟输出电压V1V2;依据0809的输入范围在0到5伏,即可计算出温度极限。计算公式如下:0伏时对应的温度TL:T1-(V1-0)(T2-T1)/(V2-V1)5伏时对应的温度TH:T1-(V1-5)(T2-T1)/(V2-V1)依据所得结果采纳在温度为50℃和60℃TL=50-(1.68-0)(50-40)/(2.26-1.68)=21TH=50-(1.68-5)(50-40)/(2.26-1.68)=107所以A/D转化的极限范围为21℃-107℃之间,而依据系统要求温度的限制范围为25℃-80℃之间,符合系统要求。程序中温度的计算原理:首先用温度范围除以0到256(即每个十六进制数的温度增长率),然后乘以模拟转换的数字量,即得到上升的温度,再和最低温度相加,就可以得到实际的温度值。其公式为:TL+AX(TH-TL)/256TL:显示的最低温度TH:显示的最高温度AX:模拟电压所转换的数字量标度转换代码如下:ReadTemp:call
ReadADmov
b,#(HighTemp-LowTemp)
;温度值计算mul
abmov
a,b
;/256add
a,#LowTempmov
CurTemp,aret4.5显示子程序显示模块包括数制转换和LED串口静态显示两部分。显示内容包括当前温度和设定温度两个参数。在数制转换程序中将十六进制数的数据转换为十进制数数据,各分为十位数和个位数。在编写显示程序时,先送高位再送低位。显示模块程序流程图如图4.3所示数制转换子程序代码如下:DisplayResult:mov
a,CurTemp
;实际值mov
b,#10p
abmov
dptr,#LEDMAP
;显示码首址movc
a,@a+dptr
;取显示码mov
LEDBuf,a
;存显示缓冲mov
a,bmovc
a,@a+dptrmov
LEDBuf+1,amov
a,SetTemp
;设定的恒温值
mov
b,#10
p
abmov
LEDBuf+2,Amov
a,bmov
LEDBuf+3,Aret显示子程序代码如下:DisplayLED:
;显示子程序MOV
R0,#LEDBUF
;置存储区首地址MOV
R1,#TEMP
;置缓冲区首地址MOV
R2,#4
;制段码字节数DP10:MOV
DPTR,#LEDMAP;表头地址MOV
A,@R0MOVC
A,@A+DPTR
;查表指令MOV
@R1,AINC
R0INC
R1DJNZ
R2,DP10MOV
R0,#TEMP
;段码地址指针MOV
R1,#4
;段码字节数DP12:MOV
R2,#8
;输出子程序MOVA,@R0
;取段码DP13:RLC
A
;段码左移
图4.3显示流程图MOV
DIN,C
;输出一位段码CLR
CLK
;输出移位脉冲SETB
CLKDJNZ
R2,DP13INC
R0DJNZ
R1,DP12
RET4.6限制子程序本设计采纳P1.2作为输出限制口。当设定温度比当前温度高2℃以上时,P1.2置1,使其输出高电平,用以驱动继电器,使继电器闭合,保温箱起先加热。当设定温度比当前温度低2℃以下时,P1.2置零,使继电器断开,保温箱停止加热。限制程序流程图如图4.4所示CONTROL:mov
a,CurTemp;实际温度clr
cmov
b,SetTemp
;设定的恒温值dec
bdec
bsubb
a,b
;实际值-(恒温值-2)jnc
GN2
;推断实际值是否比恒温值低2℃Setb
p1.2
;是,起先加热
sjmp
GN4GN2:
mov
a,CurTempsetb
cmov
b,SetTempinc
binc
bsubb
a,b
图4.4限制程序流程图jc
GN4
;推断实际值是否比恒温值高2℃CLR
P1.2
;是,停止加热sjmp
GN4
GN4:
CALL
DELAY1sjmp
MLoopDELAY1:
;延时子程序1MOV
R4,
#0FFHAA1:
MOV
R5,
#0FFHAA:
NOPNOPDJNZ
R5,
AADJNZ
R4,
AA1RET4.7键盘子程序键盘是人与微机打交道的主要设备,从系统监控软件的设计角度来看,仅仅通过键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题须要解决,否则,在操作键盘时就简洁引起误操作和操作失控等现象。在非编码键盘系统中,键闭合和键释放的信息的获得,键抖动的消退,键值查找及一些爱护措施的实施等任务,均由软件来完成。非编码键盘的键输入程序应完成的基本任务:①监测有无键按下;键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的凹凸状态的检测,便可确认按键按下与否。②推断是哪个键按下。③完成键处理任务。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥当处理,将会使按键吩咐的错误执行或重复执行。在这里采纳软件延时的方法来避开抖动阶段,这一延时程序一般大于5ms。在第一次检测到有键按下时,执行一段延时子程序后,再确认电平是否仍保持闭合状态电平,假如保持闭合状态电平,则确仔细正有键按下,进行相应处理工作,消退了抖动的影响。这种消退抖动影响的软件措施是切实可行的。键盘子程序流程图如图4.5所示。键盘子程序程序代码如下:TestKey:
;测试有无键入子程序MOV
P1,
#03H
;读键盘状况MOV
A,
P1
RETKeyPressed:call
GetKeymov
b,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度生态农业科技园承包经营合同范本3篇
- 2025年度绿色能源储藏室建设与维护合同3篇
- 二零二五版城市综合体建设项目建筑垃圾清运及环保处理合同3篇
- 2025年度体育场馆租赁与赛事组织合同3篇
- 二零二五年高性能保温施工合同补充条款及验收标准3篇
- 2025年水电暖安装与节能改造项目总承包合同3篇
- 2025年度医院窗帘定制及消毒防菌合同3篇
- 2025年度智能化仓库场地租赁服务合同范本3篇
- 2025年度拍卖物品售后服务反馈合同范本
- 2025年度智能租赁平台厂房租赁居间协议3篇
- 2024-2030年中国电子邮箱行业市场运营模式及投资前景预测报告
- 基础设施零星维修 投标方案(技术方案)
- 人力资源 -人效评估指导手册
- 大疆80分钟在线测评题
- 2024届广东省广州市高三上学期调研测试英语试题及答案
- 中煤平朔集团有限公司招聘笔试题库2024
- 2023年成都市青白江区村(社区)“两委”后备人才考试真题
- 不付租金解除合同通知书
- 区域合作伙伴合作协议书范本
- 中学数学教学设计全套教学课件
- 环卫公司年终工作总结
评论
0/150
提交评论