[计算机软件及应用]单片机温控器PID算法.doc

上传人:音乐台 文档编号:1991875 上传时间:2019-01-29 格式:DOC 页数:44 大小:342.87KB
返回 下载 相关 举报
[计算机软件及应用]单片机温控器PID算法.doc_第1页
第1页 / 共44页
[计算机软件及应用]单片机温控器PID算法.doc_第2页
第2页 / 共44页
[计算机软件及应用]单片机温控器PID算法.doc_第3页
第3页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[计算机软件及应用]单片机温控器PID算法.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]单片机温控器PID算法.doc(44页珍藏版)》请在三一文库上搜索。

1、目录摘 要IABSTRACTII第1章 引 言11.1选题的背景11.1.1温控器介绍11.1.2电子温控器的发展21.1.3温控器的现状21.2设计要求31.2.1 设计内容31.2.2 研究目的意义3第2章 系统硬件方案的确定42.1 设计思路42.2 各模块的选择42.2.1 单片机的选择52.2.2 测温模块的选择52.2.3 显示模块的选择62.2.4 键盘模块的选择72.2.5 加热报警模块的选择72.3 PID算法8第3章 系统硬件设计103.1 AT89C51主控模块103.1.1 主要特性103.1.2 引脚介绍103.1.3 单片机最小系统133.2 温度模块153.2.2

2、 DS18B20外部结构163.2.3 DS18B20内部结构163.2.4 DS18B20的工作时序和采温流程173.2.5 DS18B20电路设计193.3 显示模块193.3.1 LED数码管介绍193.3.2 LED数码管编码和显示方式203.3.3 数码管电路设计213.4 键盘模块213.4.1 键盘工作方式213.4.2 键盘电路设计223.5 加热报警模块233.6 电源电路25第4章 系统软件设计264.1 程序方案264.2程序介绍26第5章 系统仿真365.1 仿真软件介绍365.1.1 Keil C51介绍365.1.2 Proteus介绍375.2 仿真原理385.3

3、 仿真结果分析40第6章 结束语42致 谢43参考文献44第1章 引 言1.1选题的背景现代化工业生产和实验中,电压、电流、温度、压力、流量、流速以及开关量均是常见的主要被控参数。比如在化工生产、冶金行业、电力工程等诸多领域,均需要对各类热处理炉、反应炉和锅炉中的温度进行实时检测控制。应用MCS-51单片机来控制温度,不仅具有接线灵活、组态简单、价格低廉等优点,而且可以精确控制温度,从而能够大大提高产品的质量和数量。因此单片机对温度的控制问题是一个工业生产中经常会遇到的问题,以单片机为主要核心的应用技术已成为一项新的工程应用技术。温度控制系统是比较常见的和典型的过程系统,温度是工业生产过程中重

4、要的被控参数之一,在冶金、机械、食品、化工等各类工业生产过程中广泛使用的各种加热炉、热处理炉、反应炉,对工件的处理温度等均需要对温度严格控制。利用单片机、温度传感器实现对温度的控制,具有体积小、编程简单、价格低廉的优点,在发电厂、纺织、食品、医药、仓库等许多领域得到了很快的应用。因此具有很好的发展前景和可靠的使用价值。1.1.1温控器介绍以温控器制造原理来分,温控器分为:一、突跳式温控器:各种突跳式温控器的型号统称KSD,常见的如KSD301,KSD302等,该温控器是双金属片温控器的新型产品,主要作为各种电热产品具过热保护时,通常与热熔断器串接使用,突跳式温控器作为一级保护。热熔断器则在突跳

5、式温控器失娄或失效导致电热元件超温时,作为二级保护自,有效地防止烧坏电热元件以及由此而引起的火灾事故。二、液涨式温控器:是当被控制对象的温度发生变化时使温控器感温部内的物质(一般是液体)产生相应的热胀冷缩的物理现象(体积变化),与感温部连通一起的膜盒产生膨胀或收缩。以杠杆原理,带动开关通断动作,达到恒温目的液胀式温控器具有控温准确,稳定可靠,开停温差小,控制温控调节范围大,过载电流大等性能特点。液涨式温控器主要用于家电行业,电热设备,制冷行业等温度控制场合用。三、压力式温控器,改温控器通过密闭的内充感温工质的温包和毛细管,把被控温度的变化转变为空间压力或容积的变化,达到温度设定值时,通过弹性元

6、件和快速瞬动机构,自动关闭触头,以达到自动控制温度的目的。它由感温部、温度设定主体部、执行开闭的微动开关或自动风门等三部分组成。压力式温控器适用于制冷器具(如电冰箱冰柜等)和制热器等场合。四、电子式温控器,电子式温度控制器(电阻式)是采用电阻感温的方法来测量的,一般采用白金丝、铜丝、钨丝以及热敏电阻等作为测温电阻,这些电阻各有其优确点。一般家用空调大都使用热敏电阻式。1.1.2电子温控器的发展电子温控器的发展大致经历了以下三个阶段: 1模拟、集成温度控制器:模拟温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC6

7、52/653)中还包含了A/D转换器以及固化好的程序,这与智能温控器有某些相似之处,但是传统的A/D转换器精度不高,在某些重要的场合不能精确控制。而且它自成系统,工作时并不受微处理器的控制,这是二者的主要区别。2智能数码温控器:智能温控器(亦称数字温控器)于20世纪90年代中期问世。它是很多领域的结晶,目前国际上已开发出多种智能温控器系列产品,智能温控器内部主要包含温度传感器、A/D转换模块、信号处理器、存储器和接口电路。有的产品还带多路选择器、CPU、RAM和ROM。智能温控器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU),它是通过编写软件来驱动硬件实现测试控制功能的,

8、其智能化程度也取决于软件的开发水平。3智能化、网络化:进入21世纪后,智能温控器向着多功能、高精度、总线标准化、高安全性、开发网络温控器和虚拟温控器、研制单机测温控温系统等高科技的方向迅速发展。1.1.3温控器的现状单片机系统(SystemOnChip)是21世纪一项高新科技产品,它是在芯片上集成一个系统或子系统,其集成度将高达108109元件/片,由于它具有体积小,功能强,性价比高等优点,所以广泛应用于电子仪表,家用电器,节能装置,军事装置,机器人,工业控制等诸多领域,使产品小型化,智能化,既提高了产品的功能和质量又降低了成本,简化了设计。现在的温控器向小型化、智能化、性价比高的方向发展。1

9、.2设计要求利用按键进行控制温度设定温度实时采集、显示温控驱动和声光报警编写相关控制程序,可实现PID算法使用Proteus进行仿真1.2.1 设计内容设计主要涉及MCS-51单片机在温度控制中的应用,设计提出了一种基于单片机的温控器设计方案,由单片机AT89C51主控、数字式温度传感器DS18B20实时检测温度、LED数码管显示、键盘设定温度值、报警装置和加热设备组成的精密温度控制系统通过PID算法(快速的达到设定的温度值,同时能比较稳定的控制温度)的控制以解决实际的问题。1.2.2 研究目的意义通过对单片机的学习,编写相应的程序驱动DS18B20、LED数码显示管、加热设备等器件来组成一个

10、温控器,PID算法将温度控制在一个值附近上下波动。利用单片机的优点达到降低成本,在大部分场合能够精确控制系统的目的。42第2章 系统硬件方案的确定2.1 设计思路根据技术指标,该系统为一个温度实时采集和控制的系统,且主要由控制模块和执行模块组成,本设计温度可设置范围在室温2595之间,利用键盘设置目标温度,温度实时采集显示实际温度。本设计是将温度通过DS18B20进行采样进入AT89C51单片机,从I/O口输出到LED数码管动态显示其温度。当实际温度低于设定的恒定温度时,单片机发出指令信号,红色LED点亮且加热电阻开始加热。当温度超过设定的恒温值时,单片机发出指令信号,红色LED点熄灭加热电阻

11、停止加热,制冷采用自然冷却。采用独立式查询键盘设定和改变初始温度值来控制,从而实现对温度的控制。设计主要分为硬件设计和软件设计两大部分,硬件设计分为电源电路,测温电路,单片机最小系统,键盘接口电路,LED数码管显示电路,可控硅加热电路。软件设计分为温度采集程序,键值处理子程序,显示子程序,PID算法程序等。加热模块报警模块显示模块键盘模块单 片机最小系统外围电路测控对象温度传感器图2-1 设计方案模块图2.2 各模块的选择根据系统的功能选择比较适合的硬件,考虑成本和控制精度等方面的综合因素做出以下选择。2.2.1 单片机的选择方案:AT89C51是一类带4K字节FLASH存储器(FPEROMF

12、lash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一类带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.2.2 测温模块的选择

13、温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器,它是温度测量仪表的核心部分。方案一:模拟式温度传感器常见的模拟式温度传感器有热电偶、热敏电阻、LM3911、LM335、LM45、AD22103电压输出型、AD590电流输出型。1负温度系数热敏电阻:负温度系数热敏电阻是以金属氧化物为主要原料,采用陶瓷工艺制造而成。有灵敏度高、稳定性好、响应快、寿命长、价格低等优点,广泛应用于需要定点测温的温度自动控制电路。 2AD590温度传感器 :AD590是美国模拟器件公司的电流输出型温度传感器,供电电压范围为3-30V,输出电流223A(-50C)423A(+150C),灵敏度为

14、1A/C。适用于多点温度测量和远距离温度测量的控制。3LM135/235/335温度传感器:LM135/235/335系列是美国国家半导体公司(NS)生产的一种高精度易校正的集成温度传感器。该系列器件广泛应用于温度测量、温差测量以及温度补偿系统中。方案二:逻辑输出型温度传感器在许多应用中,我们并不需要严格测量温度值,只关心温度是否超出了一个设定范围。此时可选用逻辑输出式温度传感器。LM56、MAX6501-MAX6504是其典型代表。1LM56温度开关:LM56是NS公司生产的高精度低压温度开关,内置1.25V参考电压输出端。最大只能带50A的负载。2MAX6501/02/03/04温度监控开

15、关:MAX6501/02/03/04是具有逻辑输出和SOT-23封装的温度监视器件开关,它的设计非常简单:用户选择一种接近于自己需要的控制的温度门限直接将其接入电路即可使用,无需任何外部元件。这类器件的工作电压范围为2.7V到5.5V,典型工作电流30A。方案三:数字式温度传感器1MAX6575/76/77数字温度传感器:如果采用数字式接口的温度传感器,设计将得到简化。同样,当A/D和微处理器的I/O管脚短缺时,采用时间或频率输出的温度传感器也能解决上述测量问题。该器件通过一条I/O口与微处理器相连,利用微处理器内部的计数器测出周期后就可计算出温度。2可多点检测、直接输出数字量的数字温度传感器

16、DS1621:DS1621是美国达拉斯半导体公司生产的CMOS数字式温度传感器。内含两个不挥发性存储器,可以在存储器中任意的设定上限和下限温度值进行恒温器的温度控制,由于这些存储器具有不挥发性,因而一次写入后,即使不用CPU也仍然可以独立作用。方案四:DS18B20数字温度计DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。由于本系统要求灵敏度高、线性度好、实际尺寸小、使用方便、热响应快而且价格便宜等优点。所以采用方案四中的DS18B20。2.2.3

17、 显示模块的选择方案一:使用液晶显示屏显示物体中画笔所在位置的坐标。 液晶显示屏(LCD)具有低压、微功耗、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,显示信息量大,分辨率高,抗干扰能力强等特点。但由于只需显示位置坐标这样的数字,信息量比较少,且由于液晶是以点阵模式显示各种符号,需要通过控制芯片创建字符库,编程量大,控制器的资源占用较多,成本也偏高。而且在使用时,不允许静电干扰,否则容易烧坏液晶显示芯片,维护不方便。方案二:使用传统的LED数码管。 数码管有以下优点:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求相对较低,易于维护,同时其精度较高,称

18、重轻,精确可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,采用方案二动态显示,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.2.4 键盘模块的选择在温度过程控制中,系统需要对环境的温度进行设定,因此需要用按键。方案一:使用独立键盘。独立键盘是指直接用I/O口线构成的单个按键电路。优点是电路设计配置灵活,软件便于实现。同时也存在明显缺点,每个按键要占用一根I/O口,若按键数量较多,电路结构将变得复杂且浪费资源。因此独立按键主要用于按键较少或对操作速度要求较高的场合。编写软件时,可以采用中断或者查询方式。方案二:使用矩阵键盘

19、。矩阵键盘是由行线和列线组成,按键位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适合按键数量较多的场合。根据以上的论述,因本系统需要的按键不多,要求简单。所以采用方案一独立键盘。2.2.5 加热报警模块的选择电加热是目前加热效率最高、速度最快,低耗节能环保型的感应加热设备,应用范围十分广泛。它是将电能转化成热能实现加热,是利用电能的一种形式。同一般燃料加热相比,电加热能够获得较高温度(电弧加热,温度可达3000以上),易于实现温度的自动控制和远距离控制,可按需要使被加热物体保持一定的温度分布。电加热还能在被加热物体内部直接生热,因而热效率高,升温速

20、度快,并可根据加热的工艺要求,实现整体均匀加热或局部加热(包括表面加热)。在电加热过程中,产生的废气、残余物和烟尘少,可保持被加热物体的洁净,不污染环境。因此,电加热广泛用于生产、科研和试验等领域中,本次设计采用电加热,只要温度超过一定的范围,LED灯就点亮报警。2.3 PID算法本次设计没有采用上下门限控制的方式而采用PID算法控制,PID算法有其优点,下面做详细介绍。在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以

21、证明,对于过程控制的典型对象“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、)。比例调节作用:Kp为比例系数,是按比例反映系统的偏差,系统一旦出现偏差,比例调节立即产生作用调节偏差。比例作用大,可以加快调节减少误差,不过过大的比例会使系统稳定性下降甚至造成系统不稳定。积分调节作用:Ki为积分系数,消除稳态误差,提高无差度。加入积分会使系统稳定性下降,动态响应变慢,常与另外两种调节规律结合达到更佳的效果。微分调节作用:Kd为微分系数,反映系统偏差信号的变化率,具有预见

22、性能超前产生控制作用,可以改善系统的动态性能。过强的调节对系统抗干扰不利,且微分作用不能单独使用,需与另外两种规律结合。PID算法虽然具有以下优点优点:1. 原理简单,使用方便。2. 适应性强,可以广泛应用于化工、热工、冶金、以及造纸、建材等各种生产部门。3鲁棒性强,即其控制品质对被控对象的变化不大敏感。但是同时存在不足: 1. 许多系统,特别是工业生产过程是极其复杂的,这样就很难得到确切的描述这些过程的传递函数或状态方程。2. 由于对系统的了解不可能完全清楚,所以建立的数学模型就不可能与实际系统完全吻合,也就得不到精确的数学模型,而只能是一种近似。3. 往往为了数学上处理方便起见而简化数学模

23、型,以牺牲准确性来换取处理上的方便。这样的结果很难让人满意的,甚至还会产生错误。控制点目前包含几种比较简单的PID控制算法,分别是:直接式算法、增量式算法,位置式算法,微分先行。 这几种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。PID增量算法:由于执行元件本身是机械或物理的积分储存单元,如果给定值发生突变时,由算法的比例部分和微分部分计算出的控制增量可能比较大,如果该值超过了执行元件所允许的最大限度,那么实际上执行的控制增量将时受到限制时的值,多余的部分将丢失,将使系统的动态过程变长,因此,需要采取一定的措施改善这种情况。纠正这种缺陷的方法是采用积累补偿法,当超出执行机

24、构的执行能力时,将其多余部分积累起来,而一旦可能时,再补充执行。微分先行PID算法:当控制系统的给定值发生阶跃时,微分作用将导致输出值大幅度变化,这样不利于生产的稳定操作。因此在微分项中不考虑给定值,只对被控量(控制器输入值)进行微分。微分先行PID算法又叫测量值微分PID算法。本次PID算法采用直接计算方式,其控制原理如下。k = Set-temperature- Real-temperature (2-1)pid_out=Kp* k +Ki*sum_diff+Kd*; (求代数和) (2-2)sum_diff=0+1k (2-3)=k-k-1 (2-4)公式(2-1)中k表示当前温差,Se

25、t-temperature表示设置温度,Real-temperature表示当前系统温度;公式(2-2)表示PID运算表达式;公式(2-3)中sum_diff表示前面所有温差的和;公式(2-4)中表示当前温差减去上一次温差。采用AT89C51自带的定时器定时,每满128个周期进行一次PID算法。第3章 系统硬件设计系统的硬件主要包括单片机最小系统模块、键盘接口模块、测温模块、LED数码管显示模块、加热模块、报警模块。实现温度参数的设置,对采集温度的显示,加热模块控制,异常情况报警。下面将对部分元件进行详细介绍,并设计其相关的电路原理图。3.1 AT89C51主控模块AT89C51是一种带4K字

26、节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机1。3.1.1 主要特性AT89C51的主要特性如表3-1所示:表3-1 AT89C51的特性编号特性1与MCS-51 兼容24K字节可编程FLASH存储器3寿命:1000写/擦循环4数据保留时间:10年5全静态工作:0Hz-24MHz6三级程序存储器锁定71288位内部RAM832可编程I/O线9两个16位定时器/计数器105个中断源11可编程串行通道12低功耗的闲置和掉电模式13片内振荡器和时钟电路3.1.2 引

27、脚介绍引脚排列如图3-1所示 :图3-1 AT89C51引脚排列图管脚说明:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上

28、拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双

29、向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表3-2所示:表3-2 AT89C51 P3口特殊功能表P3口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0请求输入端,低电平有效)P3.3INT1(外部中断1请求输入端,低电平有效)P3.3T0(记时器0外部计数脉冲输入端)P3.4T1(记时器1外部计数脉冲输入端)P3.5WR(外部数据存储器写选通,低电平有效)P3.7

30、RD(外部数据存储器读选通,低电平有效)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态AL

31、E禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.1.3 单片机最小系统MCS-51单片机内部的振荡

32、电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。MCS-51单片机的时钟产生方式有两种:内部时钟和外部时钟方式。内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器,如图3-2所示。晶体可在1.212MHz之间选择。MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12MHz频率的晶体主要是在高速串行通信情

33、况下才使用。对电容值无严格要求,但它的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有少许影响,C1和C2可在20100pF之间取值,一般取30pF左右,本设计C1和C2取的30PF,晶振取的12MHz。图3-2 使用片内振荡电路的时钟电路原理图外部时钟方式:在有些系统中,为了各单片机之间时钟信号的同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。由于HMOS和CHMOS单片机外部时钟进入的引线不同,其外部振荡信号源接入的方式也不同。HMOS型单片机由XTAL2进入,外部振荡信号接至XTAL2,而内部反相放大器的输入端

34、XTAL1应接地,由于XTAL2端的逻辑电平不是TTL的,故还要接一上拉电阻。CHMOS型单片机由XTAL1进入,外部振荡信号接至XTAL1,而XTAL2可不接地,如图3-3所示:图3-3 使用外部时钟电路原理图复位电路:计算机在启动运行时都需要复位,复位是使中央处理器CPU和内部其他部件处于一个确定的初始状态,从这个状态开始工作。MCS-51单片机有一个复位引脚RST,高电平有效。在时钟电路工作后,当外部电路使得RST端出现两个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位方式有两种:上电复位和按钮复位,本次设计采用按钮复位方式,如图3-4所示。图3-4 按钮复位电路原理图3.2

35、 温度模块数字式温度传感器问世于20世纪90年代中期,它是微电子技术,计算机技术和自动检测技术的结晶。因其具有价格低廉、精度高、封装小、温度范围宽、编程方便等一系列优点,被广泛用于工业控制、电子测温计、医疗仪器等各种温度控制系统中,本次设计选用的是DS18B20作为测温元件。3.2.1 DS18B20简介DS18B203是DALLAS公司生产的单总线数字式温度传感器芯片,具有3引脚TO-92小体积封装形式;温度测温范围为-55+125,可编程为912位A/D转换精度,测温分辨率可达0.0625,被测温度用16位补码方式串行输出;其工作电源可以在远端引入,也可以采用寄生电源方式产生;多个DS18

36、B20可以并联到3根或两个线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口少。DS18B20是一种使用方便的温度传感器,其性能特点如下:1具有独特的单线接口方式,只要求一个端口即可实现通信 2内含64位经过激光修正的只读存储器ROM 3在DS18B20中的每个器件上都有独一无二的序列号 4实际应用中不需要外部任何元器件即可实现测温 5测量温度范围在55到125之间,测量分辨率为0.0625 6数字温度计的分辨率用户可以从9位到12位选择7内部有温度上、下限告警设置,用户可分别设定各路温度的上、下限 8支持多接点 9可用数据线供电,电压范围:3.05.5V 10。负压特

37、性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.2.2 DS18B20外部结构DS18B20采用3脚TO-92小体积封装和8脚SOIC封装。其外形和引脚如图3-5所示。图中引脚定义如下:DQ:数字信号输入、输出端。GND:电源地。VDD:外接供电电源输入端(在寄生电源接线方式时接地)。(a)T0-92封装 (b) SOIC封装图3-5 DS18B20的外形及引脚图3.2.3 DS18B20内部结构DS18B20内部主要由4个部分组成:64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器等。高速暂存存储器由9个字节组成,其分配如表3-3所示。当温度转换命令发

38、布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表中对应的一部分温度值。第3和第4字节是TH 和TL的拷贝,是易失性的,每次上电复位时被刷新,第5字节为配置寄存器,它主要用来确定温度值的数字转换分辨率。低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在出厂时该位被设置为0,用户不要去改动。表3-3 DS18B20暂存寄存器分布字节序号功能byte0温度值低位byte

39、1温度值高位Byte2高温限值THByte3低温限值TLByte4配置寄存器Byte5保留Byte6保留Byte7保留byte8CRC检验寄存器DS18B20中的温度传感器可以完成对温度的测量,当温度转换命令发布后,转换后的温度以补码的形式存放在高速暂存存储器器的第0个第1个字节中。表3-4 DS18B20部分温度数据表温度数字输出(二进制输出)数字输出(十六进制)+12500000000 1111101000 FAH+2500000000 0011001000 32H+0.500000000 0000000100 01H000000000 0000000000 00H-0.511111111

40、 11111111FF FFH-2511111111 11001110FF CEH-12511111111 10010010FF 92HR1和R0决定温度转换的精度位数,用来设置分辨率如表3-5所示,默认为12位,分辨率为0.0625。6,7,8字节保留未用,为全逻辑1,第9字节是冗余检验字节。表3-5 配置存储器与分辨率关系R0R1温度计分辨率/bit最大转换时间/ms00993.750110187.5101137511127503.2.4 DS18B20的工作时序和采温流程DS18B20的工作时序主要包括:初始化时序、写时序、读时序。1初始化时序 初始化时序见图3-6主机总线在t0时刻发送

41、一个最短为480s的低电平复位脉冲信号,接着在t1时刻释放总线并进入接收状态,DSl8B20在检测到总线的上升沿之后,等待15s60s,接着在t2时刻发出低脉冲(60s240s),如图中虚线所示,18B20响应之后又恢复为高电平,t2t4称为18B20的响应时间,最少为480s。图3-6 初始化时序2写时序 当主机总线t0时刻从高拉至低电平时,就产生写时序,见图3-7,从t0时刻开始15s之内应将所需写的位送到总线上,DSl8B20在t0后15s60s间对总线采样。若为低电平,写入的位是0;若为高电平,写入的位是1。连续写2位间的时序应大于1s。图3-7 写时序3读时序 见图3-8主机总线t0

42、时刻从高拉至低电平时总线只须保持低电平1s之后在t1时刻将总线拉高,产生读时序,读时序在t1时刻后t2时刻前有效。t2距t0为15s,也就是说,t2时刻前主机必须完成读位,并在t0后的60s120s内释放总线。图3-8读时序3.2.5 DS18B20电路设计DS18B20的DQ连接单片机的P2.3口,VCC接电源,GND接地组成单总线独立电源方式,其电路如图3-9所示。图3-9 DS18B20电路原理图3.3 显示模块在单片机应用系统中,如果只需要显示0-9数字和部分的字母,LED数码管是一种较好的选择。LED数码管显示清晰、性价比相对较高、与单片机接口简单、同时编写程序相对简单。3.3.1

43、LED数码管介绍单个数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个,这些段分别由字母a、b、c、d、e、f、g、dp来表示。当数码管特定的字段加上电压后,这些特定的字段就会发亮,以形成我们眼睛看到的0-9数字或者部分字符字样了。数码管按电路中的连接方式可以分为共阴型和共阳型两大类,本设计选用共阳极结构。共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,ag、dp各字段通过限流电阻接控制端,某字段控制端低电平时,该字段发光,高电平时不发光。控制字段发光,就能显示出某个数码或字符。共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某字段通

44、过限流电阻接高电平时发光,因本设计未采用共阴极方式故不作详细介绍。LED数码管(LED Segment Displays)是由多个数码管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个公共引脚。LED数码管外形尺寸有多种,显示颜色也有多种形式,主要有红色和蓝色,本次设计采用蓝色四位一体共阳极LED数码管,其引脚和外形如图3-10所示。 图3-10 共阳极结构和外形图3.3.2 LED数码管编码和显示方式当LED数码管与单片机相联时,一般将LED数码管的各字段引脚a、b、g、dp按某一顺序接到MCS51型单片机某一个并行I/O口P0-P7,当该I/O口输出某一特定数据时,

45、就能使LED数码管显示出某个字符。以LED数码管显示“0”为例子,则a、b、c、d、e、f各字段引脚为低电平,g和dp为高电平,编码方式如表3-6所示:表3-6 共阳极LED数码管显示数字“0”时各管段编码D7D6D5D4D3D2D1D0字段码显示数Dpgfedcba11000000011000000C0H0LED数码管显示电路在单片机应用系统中可分为静态显示和动态显示两种方式。静态显示方式编程较简单,但占用I/O口线多,即软件简单、硬件成本高,一般适用显示位数较少的场合。当要求显示位数较多时,为了简化电路、降低硬件成本,采用动态扫描电路。3.3.3 数码管电路设计本设计为动态显示,使用P0口

46、为字段控制口(P0-P7依次接a-g、dp),位选口1-4接P2.7-P2.4。因为P0口的驱动电流比较小,故加一个上拉电阻加大驱动电流,位选口用三极管驱动使数码管正常显示。图3-11 数码管电路原理图3.4 键盘模块键盘在单片机系统中是一个很重要的部件。输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预单片机的主要手段。键盘分为矩阵键盘和独立键盘,本次设计控制简单采用了独立键盘,配置灵活软件简单,但是I/O占用较多。3.4.1 键盘工作方式在单片机应用系统中,对键盘的处理工作仅是CPU工作内容的一部分,CPU还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用CPU太多时间,又需要CPU对键盘操作及时作出响应。CPU对键盘处理控制的工作方式有以下几种:1程序控制扫描方式:程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求。

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1