摘要
在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。
本设计是一个典型的智能电子系统设计。以AD590为采集器、89S51为处中央理器、空调机相应电路,结合相关的元器件(共阴极LED数码显示器、BCD-锁存/7段译码/ A/D转换器等)为执行器来完成设计任务提出的温度控制要求。该设计分总体方案设计、硬件设计、软件设计、系统调试几个部分,设计过程流畅,所设计的电路单元较为合理。该设计在硬件方案设计、单元电路设计、元器件选择等方面较有特色。
【关键词】89C51单片机,AD590为采集器,LED数码显示器,A/D转换器。
第1页 目录
摘要 ................................................................... 错误!未定义书签。 第一章 设计方案 ........................................................................... 4
1.1设计任务 ..................................................................................... 4 1.2设计总方案 .................................................................................. 4
第二章 硬件设计 ............................................................................. 6
2.1 硬件各单元方案设计与选择 ............................................................ 6 2.2单元电路设计 ............................................................................. 10
第三章 软件设计 ......................................................................... 15
3.1 程序流程图 ............................................................................... 15 3.2 主程序清单 ............................................................................... 19 3.3 系统调试 .................................................................................. 25
第四章 设计主要芯片介绍 ........................................................ 27
4.1 89S51 ....................................................................................... 27 4.2 ADC0809 .................................................................................... 29 4.3 AD590 ....................................................................................... 32
总结与体会 ..................................................................................... 36 谢辞 ................................................................................................. 37 参考文献 ......................................................................................... 38
第2页
第一章 设计方案
1.1 设计方案任务
设计一个空调机的温度控制单元。用单片机技术及相应仿真平台进行开发,通过数据采集系统,对温度进行采集并作A/D转换,再传输给单片机。以空调机为执行器件,通过单片机程序来完成对室内温度的控制。
设计的主要要求如下:
1, 温度设定范围为-10~45摄氏度,最小区分温度为1摄氏度,标定温度小
于等于1摄氏度。
2, 用二位十进制数码显示当前温度。
3, 能根据设定的温度实现自动加热或降温处理。 4, 设计出控制系统电路单元。
1.2设计总方案
选用89S51单片机为中央处理器,通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再由单片机控制显示器,并比较采集温度与设定温度是否一致,然后再驱动空调机的加热或降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况。 总方案结构图1所示
第3页
湖南铁路科技职业技术学院毕业(设计)论文说明书
输入部分 显示部分 89S51 A/D转换器 温度传感器 驱动控制 (加热) 空气 驱动控制 (制泠) 图1 空调温度控制单元结构图
实现方案的技术路线为:用按钮输入标准温度值,用LED实时显示环境空气温
度,用驱动电路控制压缩机完成加热和制冷空调,用汇编语言完成软件编程。
第4页 湖南铁路科技职业技术学院毕业(设计)论文说明书
第二章 硬件设计
硬件设计部分将寻找单元电路最合适的设计方案,再进行单元电路设计,最后介绍所用到的特殊元器件。
2.1硬件各单元方案设计与选择
2.1.1 温度传感部分
要求对温度和与温度有关的参量进行检测,应该考虑用热电阻传感器。按照热电阻的性质可以分为半导体热电阻和金属热电阻两大类,前者通常称为热敏电阻,后者称为热电阻。
方案1
采用热敏电阻,这种电阻是利用对温度敏感度的半导体材料制成,其阻值随温度变化有明显的改变。负温度系数热敏电阻器通常是由锰,钴的氧化物烧制成半导体陶瓷制成。其特点是,在工作温度范围内电阻阻值随温度的升高而降低。课满足40~90摄氏度测量范围,但热敏电阻精度,重复性,可靠性比较差,不适用于检测小于1摄氏度的信号,而且线性度很差,不能直接用于A/D转换,应该用硬件或软件对其进行线性化补偿。
方案2
采用温度传感器铂电阻Pt1000.铂热电阻的物理化学性能在高温和氧化性介质中很稳定,它能用作工业测温元件,且元件线性较好。在0~100摄氏度时,最大非线性偏差小于0.5摄氏度。铂热电阻与温度的关系式,Rt=R0(1+At+Bt.t);其中Rt是温度为t摄氏度时的电阻;R0是温度为0摄氏度时的电阻;t为任意电阻值,A,B为温度系数。但其成本太贵,不适合做普通设计。
方案3
采用集成温度传感器,如常用的AD590和LM35。AD590是电流型温度传感器。这种传感器以电流作为输出量至室温度,其典型的电流温度灵敏度是1uA/K.它是二端器件,使用非常方便,作为一种高阻电流源,它不需要要个考虑传输线上的电压信号损失和噪声干扰问题,因此特别适合作为远距离测量或控制用。另外,AD590也特别适合用于多点温度测量系统,而不必考虑选择开关或CMOS多路转换开关所引起的附加电阻造成的误差。应用电路简单,便于设计。
方案选择:选择方案3 理由:电路简单稳定可靠,无须调试,与A/D连接方便。
第5页 湖南铁路科技职业技术学院毕业(设计)论文说明书
2.1.2 A/D转换部分
模/数转化器是一种将连续的模拟量转化成离散的数字量的一种电路或器件。模拟信号转换为数字信号一般需要经过采样保持和量化编码两个过程。针对不同的采样对象,有不同的A/D转换器(ADC)可供选择,其中有通用的也有专用的。有些ADC还包含其他功能,在选择ADC器件时要考虑多种因素,除了关键参数,分辨率和转换速度以外,还应考虑其他因素,如静态与动态精度,数据接口类型,控制接口与定时,采样保持性能,基本要求,校准能力,通道数量,功耗,使用环境要求,封装形式以及与软件有关的问题。ADC按功能划分,可以分为直接转换和非直接转换两大类,其中非直接转换又有逐次分级转换和积分式转换等类型。
A/D转换器在实际应用时,除了要设计适当的采样/保持电路、基准电路和多路模拟开关等电路外,还应根据时机选择的具体芯片进行输入模拟信号极性转换等设计。
方案1
采用分级式转化器,这种转换采用两步或多步进行分辨的闪烁是转换,进而快速的完成“模拟-数字”信号的转换,同时可以实现较高的分辨率。
方案2
采用双积分型A/D转换器。双积分型A/D转换器转换精度高,但是转换速度不太快,若用于温度测量,不能及时地反映当前的温度值,而且多数双积分型A/D转换器其输出端都不是二进制码,而是直接驱动数码管的。所以,若直接将其输出端接I/O接口会给软件设计带来激动的不方便。
方案3
采用逐次逼近式转换器,对于这种转换方式,通常是用一个比较输入信号与作为基准的n位DAC输出进行比较,并执行n次1位转换这种方法类似于天平上的二进制砝码称量物质。采用逐次逼近寄存器,输入信号仅与最高位(MSB)比较,确定DAC的最高位(DAC满量程的一半)。确定后结果(0或1)被锁存,同时加到DAC上,以决定DAC的输出(0或1/2)。
逐次逼近型A/D转换器,如ADC0809、AD574等,其特点是转换速度快精度也比较高,输出为二进制码,直接接I/O口,软件设计方便。ADC0809芯片内包含8位
第6页 湖南铁路科技职业技术学院毕业(设计)论文说明书
模/数转换器、8通道多路转换器与微控制兼容的控制逻辑。8通道多路转换器能直接连通8个单端输入信号中任何一个。由于ADC0809设计时考虑到若干种模/数转换技术的优点,所以该芯片非常适合于过程控制、微控制器输入通道的结合口电路、智能仪器和机床控制等应用场合,并且价格低廉,降低设计成本。
方案选择:选择方案3 理由:用ADC0809采样速度快,配合温度传感器应用方便,价格低廉,降低设计成本。 2.1.3数字显示部分
通常的LED显示器有段或8段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常此公阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的工作原理也是一样的。
方案1
采用静态显示方式。在这种方式下,各位LED显示器共阳极或共阴极连接在一起并接地或电源正,每位的段选线分别与一个8位的锁存器输出相连,各个LED的显示符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止,正因为如此,静态显示器的亮度都较高。若用I/O口接口,这需要占用N.8位I/O口(LED显示器的个数N)。这样的话,如果显示器的个数较多,那使用的I/O接口就更多,因此在显示位数较多的情况下,一般都不用静态显示。
方案2
采用动态显示方式。当多位LED显示时,通常将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别有相应的I/O口控制,实现各位的分时选通。其中段选线占用一个8位I/O,而位选线占用N个I/O口(N为LED显示器的个数)。由于各位的选段线并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位选线都处于选通状态的话,那LED显示器将显示相同的字符。若要各位LED能显示出与本位相应的字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出端相应位要显示字符的段码。
这种显示方式占用的I/O个数为8+N(N为LED显示器的个数),相对静态显示
第7页 湖南铁路科技职业技术学院毕业(设计)论文说明书
少了很多,但需要占用大量的CPU资源,当CPU处理别的事情时,显示可能出现闪烁或者不显示的情况。
方案3
采用移位寄存器扩展I/O口,只需要占用3个I/O口,即数据(DATE)、时钟(CLOCK)、输出使能(OUTPUT ENABLE),从理论上讲就无限制地扩展I/O口,而且显示数据静态显示,几乎不占用CPU资源。
采用扩展口后,又能采用静态显示,这样,既解决了静态显示占用I/O口多的问题,也解决了动态显示不稳定、容易闪烁、占用CPU资源过多的问题。
方案选择:选择方案3 理由:非常节约I/O口,又有静态显示的特点,亮度高,节约CPU的使用率。 2.1.4加热降温驱动控制电路
采用开关量控制,如继电器、双向可控硅、光耦等。控温快速,但是双向可控硅驱动电路比较麻烦,调试也麻烦,若用现成的固态继电器(其实就是把双向可控硅和驱动电路做在一起的)价格比较贵。若用继电器时要注意其电感的反向电动势,和开关触点对电源的影响,以及开关脉冲对整个电路的影响等。应该加入必要的防干扰的措施。
方案1:采用单向晶闸管,这是一种大功率半导体器件,它既有单向导电的整流作用,又有可以控制开关作用。利用它可以用较小的功率控制较大功率。在交、直流电动机调速系统、调功系统、随动系统和无触点开关等方面均获得了广泛的应用。
这种晶闸管与二极管不同的是,当其两端加上正向电压而控制极不加电压时,晶闸管并不导通,其正向电流很小,处于正向阻断状态;当加上正向电压、且控制极上(与阴极)也加上一正向电压时,晶闸管便进入导通状态,这时管压降很小(1V左右)。这时即使控制电压消失,仍然保持导通状态,所以控制电压没有必要一直存在,通常采用脉冲形式,以降低触发功耗。它不具有自关断能力,要切断负载电流,只有使阳极电流减小到维持电流以下,或加上反向电压实现关断。若在交流回路中应用,当电流过零和进入负半周时,自动关断,为了使其再次导通,必须重加控制信号。
第8页 湖南铁路科技职业技术学院毕业(设计)论文说明书
方案2:采用光耦合双向可控硅驱动电路,这种器件是一种单片机输出与双向可控硅之间较理想的接口器件,它由输入和输出两部分组成,输入部分是一个砷化镓发光二极管,该二极管在5毫安-15毫安正向电流作用下发出足够强度的红外光,触发输出部分。输出部分是一个桂光敏双向可控硅,在红外线作用下可双向导通。
光电耦合器也常用于较远距离的信号隔离传送。一方面光耦合可以起到隔离两个系统地线线的作用,使两个系统的电源相互独立,消除地电位不同所产生的影响。另一方面,光耦合器的发光二极管是电流驱动器件,可以形成电流环路的传送形式。由于电流环电路时低阻抗电路,对噪音的敏感度低,因此提高通讯系统的抗干扰能力。常用于有噪音干扰的环境里传输信号。
方案选择:选择方案2 理由:达到同样的加热效果,开关控制容易,驱动简单,通讯系统的抗干扰能力强。
2.2单元电路设计
2.2.1温度采集电路
温度采集系统主要由AD590,OP07 ,ICL8069组成。
选用温度传感器AD590, AD590具体较高精度和重复性(重复性优于0.1摄氏度,其良好的非线性可以保证优于0.1摄氏度的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到0.1摄氏度测量精度)。超低温飘逸高精度运算放大器OP-07将“温度-电压”信号进行放大,便于A/D进行转换,以提高温度采集电路的可靠性。
集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mv/k,温度0摄氏度时输出为0,温度25摄氏度时输出为2.982V。电流输出型的灵敏度一般为1ua/k。这样便于A/D转换器采集数据。 2.2.2 A/D转换电路
选用89S51作为中央处理器,A/D转换器选用ADC0809。
第9页 湖南铁路科技职业技术学院毕业(设计)论文说明书
U11817161514ENA0A1A2A3OUTS1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16VEE11920212223242526111098765427-15OUT2313NCNCNC2+15128VDD12GNDMX7506SQU2P1.4P1.0P1.1P1.2P1.31817161514ENA0A1A2A3OUTS1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16VEE11920212223242526111098765427-152313NCNCNC+1528VDD12GNDMX7506SQ 图3 A/D转换电路
用单片机控制ADC时,多数采用查询和中断控制两种方式。查询法事在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查ADC变换是否已经完成,如查询到变换已结束,则读入转换完毕的数据。中断控制是在启动信号送到ADC之后,单片机执行别的程序。当ADC转换转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入终端服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。这种方法单片机无需进行转换时间管理,CPU效率高,所以特别适合与变换时间较长的ADC。本设计采用查询方式进行数据收集。
由于ADC0809片内无时钟,故利用8051提供的地址所存使能信号ALE经D触发器二分频后获得时钟。因为ALE信号的频率是单片机始终频率的六分之一,如果始终频率为6MHz,则ALE信号的频率为1MHz,经二分频后为500kHZ,与AD0809时钟
第10页 湖南铁路科技职业技术学院毕业(设计)论文说明书
频率的典型值吻合。由于AD0809具有三态输出锁存器,故其数据输出引脚可直接与单片机的数据总线相连。地址码引脚ADDA~C分别与地址总线的低三位A0,A1,A2相连,以选通IN0~IN7中的一个通道。采用单片机的P2.7(地址总线最高位A15)作为A/D的片选信号。并将A/D的ALE和START脚连在一起,以实现在锁存通道地址的同时启动ADC0809转换。启动信号由单片机的写信号WR和P2.7经或非门而产生。在读取转换结果时,用单片机的读信号RE和P2.7经或非门加工得到的正脉冲作为OE信号去打开三态输出锁存器。编写的软件按下列顺序动作:令P2.7=A15=0,并用A0、A1、A2的组合制定模拟通道的地址;执行一条输出指令,启动A/D转换;然后根据所选用的是查询、中断、等待延时三种方式之一的条件去执行一条输入指令,读取A/D转换结果。ADC0809是一个8路8位逐次逼近的A/D转换器。ADC0809的转换时间为100us。在CPU发出启动A/D命令后,便执行一个固定的延时程序,延时时间应略大于A/D的转换时间;延时程序一结束,便执行数据读入指令,读取转换结果。我们只用了其一路AD转换,参考电压2.56V,即一位数字量对应10mV即1摄氏度。所以用起来很方便。 2.2.3显示电路
显示电路由P2.0 P2.1 和P2.2担任.位控电流较大,每一位用一只小型PNP三极管连接在数码管的俩个公共端,当P2.0 P2.1 和P2.2中的一个引脚为低电平时,相应的数码管就会显示P1口送来的内容
R102KQ12N3906R92KQ22N3906R82KQ32N39061616AAAAVCC1918P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15403938373635343332123456782122232425262728R1R2R3R4R5R6R7abcdefgDPabcdefgDPXTAL1XTAL21098542371098542379312930RSTEA/VPPPSENALE1011121314151617P3.0/RxDP3.1/TxDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD20VSSP89C58X2BN109854237abcdefgDPAAU1D3Dpy Amber-CAD2Dpy Amber-CA16D1Dpy Amber-CA
第11页 湖南铁路科技职业技术学院毕业(设计)论文说明书 图5 显示电路
2.2.4驱动控制电路
光耦合双向可控硅驱动器是一种单片机输出与双向可控硅之间较理想的接口器件,它由输入和输出两部分组成,输入部分为砷化镓发光二极管,该二极管在5ma~15ma正向电流作用下发出足够强度的红外光,触发输出部分。输出部分为硅光敏双向可控硅,在红外线作用下可双向导通。该器件为六引脚双列直插式封装。
光耦合器是以光为媒介传输电信号的一种“电-光-电”转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的因较为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等。光耦合器的种类较多,常见的有光电二极管型、光电三极管型、光敏电阻型、光控晶闸管型、光电达林顿型、集成电路型等。
在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流大小,此光照射到封装在一起的受光器上后,因为电效应而产生了光电流,有受光器输出端引出,这样就实现了“电-光-电”的装换。在光耦合器内部,由于发光管和受光器之间的耦合电容很小,所以共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。
在发光二极管上提供一个偏置电流,再把信号电压通过电阻耦合到发光二极管上,这样光电晶体管接收到的是在偏置电流上增减变化的光信号,其输出电流将随输入的信号电压作线性变化。光电耦合器也可工作于开关状态,传输脉冲信号。在传输脉冲信号时,输入信号和输出信号之间存在一定的延时时间,不同结构的光耦合器输入、输出延时时间相差很大。
空调通电后,制冷系统内制冷剂的低压蒸汽被压缩机吸入并压缩为高压蒸汽后排至冷凝器。同时轴流风扇吸入的室外空气流经冷凝器,带走制冷剂放出的热量,使高压制冷剂蒸汽凝结为高压液体。高压液体经过滤器、节流机构后喷入蒸发器,并在相应的低压下蒸发,吸取周围的热量。同时贯流风扇使空气不断进入蒸发器的肋片间进行热交换,并将放热后变冷的空气向室内。如此室内空气不断循环流动,达到降温的目的。
第12页 湖南铁路科技职业技术学院毕业(设计)论文说明书
2.2.5 键盘电路
采用独立式按键设计,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。软件设计采用查询方式和外部中断相结合的方法设计,低电平有效。按键直接与89S51的I/O口线相连接,通过读I/O口,判定各I/O的电平状态,即可识别出按下的按键。
4个按键分别接到P1.0、P1.1、P1.2、RST。对于这种键各程序可以采用中断查询的方法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相信的键处理。其功能很简单,4个键定义如下。
P1.0:功能转换键,按此键则开始键盘控制。 P1.1:按此键则温度设定加1度。 P1.2:按此键则温度设定减1度。 RST:复位键,使系统复位。
第13页 湖南铁路科技职业技术学院毕业(设计)论文说明书
第三章 软件设计
软件设计从主程序流程图设计开始,一次编制出各子程序。 3.1程序流程图
3.1.1主程序流程图
本设计主程序流程如图6所示。
程序启动后,首先清理系统内存,然后对温度进行采集,并通过A/D转换后,传输到单片机,再由单片机控制显示设备,然后系统进入待机状态,等待键盘输入设定温度,然后系统将设定温度与现在温度进行比较,得出结果后,启动制冷系统或是加热系统。
第14页 湖南铁路科技职业技术学院毕业(设计)论文说明书
主程序开始 采集温度 键盘输入设定值 查询温度 和设定值比较 调A/D程度 启动加热/降温 调显示程度 温度采集和比较 否 是 要控制温度? 与比较值相等? 否
是
图6 主程序流程图
3.1.2 A/D转换子程序
图7是A/D转换子程序流程图。89S51给出一个脉冲信号启动A/D转换后,ADC0809对接受到的模拟信号进行转换,这个转换过程大约需要100us,系统采用的是固定延时程序,所以在预先设定的延时后,89S51直接从ADC0809中读取数据。
第15页 湖南铁路科技职业技术学院毕业(设计)论文说明书
A/D入口 启动A/D转换 查询EOC 读取转换数据 压缩BCD码作未压缩处理 调整好的十位和个位分别存入某地址单元 子程序结束
图7 A/D转换子程序
A/D转换原则:
① 根据前向通道总误差选精度及分辨率 ② 根据信号变化率选转换速度 ③ 环境参数
④ 微机接口要求
第16页 湖南铁路科技职业技术学院毕业(设计)论文说明书
3.1.3显示子程序
当系统传送一个字节数给74LS164时,利用UART模式0。把DISPLAY-DATA中的初始数显示到LED1和LED2,十位数值显示到LED1,个位数值显示到LED2;当是为数值为0时LED1不显示。每个数值的显示时间由DISPLAY-TIME确定。程序流程如图8
显示子程序入口 送设定值(70)到A 送采集值(71H)到A 带C标志移位 带C标志移位 送C到I/O口 送C到I/O口 否 否 (8次)字节送 完? (8次)字节送完? 是 是 子程序结束
第17页 湖南铁路科技职业技术学院毕业(设计)论文说明书
图8显示子程序流程图
3.2主程序清单
主程序
ORG 0000H
LCALLY DATA0809 LCALLY XS
AJMP MAIN ;等待键盘输入 LCALLY YS10S ;调用延时 LJMP STOP MAIN: MOV R5,#5O LCALLY KEYPROC
TEMC:MOVP1, 00000001B 温度控制请按1
LCALLY KEYPROC ;调用键盘子程序
CLR P3.6 LCALLY YS2MS CLR P3.7 LCALLY YS20MS CLR P3.6 LCALLY YS2MS CLR P3.7 LCALLY YS20MS LCALLY YY0 MOV R5,#50 SRWD: MOV R4,#03H
SRWD1:MOV P2,#00000011B ;请输
第18页 MOV P0,#0FFH ;初始化 MOV P1,#00H MOV P2,#01011000B MOV P3,#0FFH CLR P3.4
LCALL DATAO8O9 ;调用AD MOV 70H ,#0FFH
LCALL XS ;调用显示 LCALL YS700MS ;调用延时
MOV A,6CH MOV P1,6CH LCALLY FY MOV P1,#09H LCALLY FY
MAIN00:SETB P3.1 ;停止预置数 DELAY43: MOV R6,#50 DELAY53: MOV R7,#100 DELAY63: JB P2.4,QIDONG DJNZ R7,DELAY63 DJNZ R6,DELAY53 DJNZ R5,DELAY43
湖南铁路科技职业技术学院毕业(设计)论文说明书
入温度值
LCALLY KEYPROC ;调用键盘子程序 CLR P3.6 LCALLY YS2MS CLR P3.7
DELAY18: MOV R5,#53 DELAY28: MOV R6,#50 DELAY38: JB P2.3,HERE22 DJNZ R7,DELAY38 DJNZ R6,DELAY28 DJNZ R5,DELAY18 SETB P3.7 SETB P3.6 LCALLY YS20MS LCALLY DATA0809 DELAY40: MOV R6,#50 DELAY50: MOV R7,#200 DELAY60: JB P2.3,HERE25 DJNZ R7,DELAY60 DJNZ R6,DELAY50 DJNZ R5,DELAY40 DJNZ R4,TEML1 LJMP STOP HERE17: JNB P2.3,HERE17 HERE25: LCALLY YS20MS MOV A,P3 ANL A,#0FH
HERE26: JB P2.3,HERE26 CJNE A,#01H,BJ1 LCALL TEM AJMP TEMC BJ1: CJNE A,#02H,STOP AJMP SRWD
STOP: MOV P1,#00000010B ;按2键确定
LCALL KEYPROC ;调用键盘子程序
CLR P2.7 LCALLY YS20MS SETB P2.7 AJMP QUDONG
QUDONG: LCALL DATAO8O9 ;调用AD LCALL XS ;调用显示 MOV A,70H
CJNE A,#0FFH,AAA1 LJMP MAIN
AAA1: CJNE A,71H,HERE7 ;比较两数大小不相等则跳
CLR P1.6 ;清零两口
CLR P1.7 AJMP DD1
HERE7: JNC JIARE ;实时检测 JC JIANGWEN JIARE: SETB P1.7 CLR P1.6
第19页 湖南铁路科技职业技术学院毕业(设计)论文说明书
AJMP DD1 JIANGWEN: SETB P1.6 CLR P1.7 AJMP DD1
LCALL DATAO8O9 ;调用AD MOV 70H,#0FFH
AJMP DL3 AA1: LCALL YS700MS JB P2.4,AA2 AJMP DL3 AA2: LJMP MAIN
HERE9:LCALL YS10S ;
LCALL XS ;调用显示 调用延时
LCALL YS700MS ;调用延时 DD1: MOV R5,#50 DL11: MOV R6,#50 DL21: MOV R7,#100 DL31: JB P2.4,HERE8 DJNZ R7,Dl31 DJNZ R6,Dl21 DJNZ R5,Dl11 AJMP QUDONG HERE8: JB P2.4,AA1
显示子程序
XS: MOV R0,#08H
START: CLR P2.0
第20页 DATA8870: MOV R5,#100 DELAY19: MOV R6,#50 DELAY29: MOV R7,#200 DELAY39: JB P2.3,WAIT1 DJNZ R7,DELAY39
DJNZ R6,DELAY29 DJNZ R5,DELAY19 DJNZ R4,SRWD3 LJMP START ;重新复位启动
湖南铁路科技职业技术学院毕业(设计)论文说明书
CLR P2.1 CLR P2.2 MOV A,70H LCALL YW MOV A,71H LCALL YW SETB P2.2 LCALL YS1MS RET
YW: RLC A ;移位送数 MOV P2.1,C CLR P2.0 SETB P2.0 DJNZ R0,YW MOV R0,#08H RET
YY0: MOV R5,#74 DELAY15: MOV R6,#50 DELAY25: MOV R7,#200 DELAY35: JB P2.3,HERE10 DJNZ R7,DELAY35
延时子程序 YS2MS: MOV R6,#20H L11: MOV R7,#20H L22:: DJNZ R7,L22 DJNZ R6,L11 RET YS700MS: MOV R5,#8 DL1: MOV R6,#210 DL2: MOV R7,#200 DL3: DJNZ R7,DL3
DJNZ R6,DL2 DJNZ R5,DL1 RET YS20MS: MOV R6,#50 YDL1: MOV R7,#200 YDL2: DJNZ R7,YDL2 DJNZ R6,YDL1 RET
YS10S: MOV R5,#100 DELAY12: MOV R6,#140
DJNZ R6,DELAY25 DELAY22: MOV R7,#200 DJNZ R5,DELAY15 SETB P3.7 SETB P3.6 LCALL YS20MS RET
第21页 DELAY32:: DJNZ R7,DELAY32
DJNZ R6,DELAY22 DJNZ R5,DELAY12 RET
湖南铁路科技职业技术学院毕业(设计)论文说明书
A/D转换
DATA0809: SETB P2.6 NOP NOP
SETB P2.5 ;启动AD NOP NOP CLR P2.5
HERE1: JB P2.6,HERE1 ;低电平检测
HERE2: JNB P2.6,HERE2 ;数据调整
LCALL YSIMS MOV A,P0
ANL A,#O1111111B MOV B,#1OO DIV AB MOV A,B MOV B,#1O DIV AB MOV 6CH, A SWAP A MOV 6BH,B ORL A,6BH MOV 71H,A RET
第22页 湖南铁路科技职业技术学院毕业(设计)论文说明书
键盘子程序
KEYPROC: MOV A,B ;从B寄存器中获取键值
JB ACC.2,KEYSTART ;分析键的代码,某位被按下,则该为1
(因为在键 ;盘程序中已取反)
JB ACC.3,KEYOVER JB ACC.4,KEYUP JB ACC.5,KEYDOWN AJMP KEY-RET
KEYTTART: SETB STARTEND ;第一个键按下后的处理
AJMP KEY-RET
KEYOVER: CLR STARTEND ;第二个键按下后的处理
AJMP KEY-RET
KEYUP: SETB UPDOWN ;第三个键按下后的处理
AJMP KEY-RET
KEYDOWN: CLR UPDOWN ;第四个键按下后的处理 KEY-RET: RET
KEY: CLR F0 ;清F0,表示无键按下 ORL P3,#00111100B ;将P3口的接有键的4位置1 MOV A,P3 ;取P3的值 ORL A,#11000011B ;将其取余四位置1 CPL A ;取反
JZ K-RET ;如果为0则一定无键按下
ACALL DELAY ;否则延时去键抖 ORL P3,#00111100B
MOV A,P3 ORL A,#11000011B
CPL A
第23页 湖南铁路科技职业技术学院毕业(设计)论文说明书
JZ K-RET
MOV B,A ;确实有键按下将键值存入B中 SETB F0 ;设置有键按下的标志
K-RET: ORL P3,#00111100B ;此处循环等待键的释放 MOV A,P3 ORL A,#11000011B CPL A
JZ K-RET1
K-RET1: AJMP K-RET RET
3.3系统调试
1.静态测试
不通电,不插器件,用万用表×100欧姆挡按图纸的接线点,看两点间的连线是否接通不好,如果有电阻存在或者不通,要纠其原因,需要将测试笔分别与两器件的插脚孔相接触,万用表指针应回零。其中一测试笔不动,另一测试笔再与最近的两插孔脚接触一下,其阻值应无穷大,证明此线安装无误。再依次测量其他各连线。最后再测量电源正,负极入口处理电阻,应有一定阻值,说明电路安装有短路现象出现,决不能在此情况下通电。
2.通电测量
仍不插器件,用万用表×10V档,黑表笔在公共地端保持不动,红表笔分别测各器件的插脚孔端,只有与电源端相连或有关分压端的引脚才有电压,其他引脚都不应该有电压,此检查至关重要。电位器上的分压电源看是否可调,初步调整到所规定的电压数值。
3.动态测试
把所有器件插好通电,观察几秒,看电阻是否有发黑或冒烟现象,用手触摸一下集成器件,看是否有过热发烫,如果没有异常现象,立刻断电,重新再查原因。用标准温度计进行实测,观察其误差。
第24页 湖南铁路科技职业技术学院毕业(设计)论文说明书
4联机统调
将程序写入89S51的ROM,通电调试。由于空调接连不方便,调试时用键盘输入目标温度值,仅仅检验驱动电路输出信号是否正确。
第25页 湖南铁路科技职业技术学院毕业(设计)论文说明书
第四章 设计主要芯片介绍
4.1 89S51
4.1.1 引脚图
图9 引脚图
4.1.2 引脚功能介绍
89S51是标准的40引脚双列直插式集成电路芯片。它由一个8位CPU,一个内振荡器和时钟电路,4KB的ROM程序存储器,128B的RAM数据存储器,21个特殊功能寄存器,两个16位的定时器/计数器,可寻址的64KB外部数据存储器和64KB外部程序存储器空间的控制电路,32条可编程的I/O口线(4个8位并行I/O端口P0、P1、P2、P3),一个可编程的全双工串行口,具有5个中断源、2个优先级的终端结构组成。引脚功能如下:
I/O线:
P0.0~P0.7 P0口8位双向I/O 口线。 P1.0~P1.7 P1口8位双向I/O 口线。
第26页 湖南铁路科技职业技术学院毕业(设计)论文说明书
P2.0~P2.7 P2口8位双向I/O 口线。 P3.0~P3.7 P3口8位双向I/O 口线。P3口线有第二功能,使用时首先按需要优先选用它的第二功能,剩下的口线才作为I/O口线使用。
ALE/PROG地址锁存控制信号:
在系统扩展时,ALE用于控制把P0输出低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。
PSEN外部程序存储器读选通信号:
CPU在访问外部程序存储器时PSEN信号在每个机器周期中两次有效(低电平),以实现外部ROM单元的读操作。但在此期间,当访问外部数据存储器时,PSEN信号不出现。
EA/Vpp外部访问允许/变成电源输入端:
当EA信号为低电平时,对ROM的读操作限定在外部程序存储器;而当EA信号为高电平时,则对ROM的读操作从内部程序存储器(0000H~0FFFH)开始,并可自动延续至外部程序存储器。
RST/VPD复位信号:
当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。此引脚还可以接上备用电源,在Vcc掉电期间,由VPD向内部RAM提供电源,以保持内部RAM的数据。
XTAL1和XTAL2为结晶体引线端:
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。在单片机内部,XTAL1是反相放大器的输入端,该放大器构成内振荡器;XTAL2接至反相放大器的输出端。采用外部时钟时,对于HMOS单片机,XTAL1引脚必须接地,XTAL2输入外部时钟脉冲;对于CHMOS单片机,XTAL1作为驱动端,XTAL2引脚应悬空。
Vss:引脚接地线。 Vcc:接+5V电源。
第27页 湖南铁路科技职业技术学院毕业(设计)论文说明书
4.2 ADC0809
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。
4.2.1 ADC0809的内部逻辑结构
图10 ADC0809的内部逻辑结构
由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
第28页 湖南铁路科技职业技术学院毕业(设计)论文说明书
4.2.2 引脚结构
图11 ADC0809引脚结构
IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条
ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。
表一 ADC0809真值表
数字量输出及控制线:11条
ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高
第29页 湖南铁路科技职业技术学院毕业(设计)论文说明书
电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。 4.2.3 ADC0809应用说明
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
4.2.4 ADC0809的主要性能指标 ① 8路8位A/D转换器,即分辨率8位 ② 具有转换起停控制端 ③ 转换时间为100μs ④ 单个+5V电源供电
⑤ 模拟输入电压范围0~+5V,不需零点和满刻度校准。 ⑥ 工作温度范围为-40~+85摄氏度
⑦ 低功耗,约15Mw
4.2.5 ADC0809读写启动以及A/D转换的时序
图12 ADC0809的时序图
第30页 湖南铁路科技职业技术学院毕业(设计)论文说明书
4.3 AD590的应用电路
1、基本应用电路
图1是AD590的封装形式及是AD590用于测量热力学温度的基本应用电路。因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的电阻之和为1kW时,输出电压VO随温度的变化为1mV/K。但由于AD590的增益有偏差,电阻也有误差,因此应对电路进行调整。调整的方法为:把AD590放于冰水混合物中,调整电位器R2,使VO=273.2mV。或在室温下(25℃)条件下调整电位器,使VO=273.2+25=298.2(mV)。但这样调整只可保证在0℃或25℃附近有较高精度。
第31页 图13AD590的封装及基本电路 湖南铁路科技职业技术学院毕业(设计)论文说明书
2、摄氏温度测量电路
如图14所示,电位器R2用于调整零点,R4用于调整运放LF355的增益。调整方法如下:在0℃时调整R2,使输出VO=0,然后在100℃时调整R4使VO=100mV。如此反复调整多次,直至0℃时,VO=0mV,100℃时VO=100mV为止。最后在室温下进行校验。例如,若室温为25℃,那么VO应为25mV。冰水混合物是0℃环境,沸水为100℃环境。
要使图2中的输出为200mV/℃,可通过增大反馈电阻(图中反馈电阻由R3与电位器R4串联而成)来实现。另外,测量华氏温度(符号为℉)时,因华氏温度等于热力学温度减去255.4再乘以9/5,故若要求输出为1mV/℉,则调整反馈电阻约为180kW,使得温度为0℃时, VO=17.8mV;温度为100℃时,VO=197.8mV。AD581是高精度集成稳压器,输入电压最大为40V,输出10V。 ‘’
第32页 图14用于测摄氏温度的电路 湖南铁路科技职业技术学院毕业(设计)论文说明书
3、温差测量电路及其应用 (1)电路与原理分析
图15是利用两个AD590测量两点温度差的电路。在反馈电阻为100kW的情况下,设1#和2# AD590处的温度分别为 (℃)和 t(℃),则输出电压为(f1-f2)。图中电位器R2用于调零。电位器R4用于调整运放LF355的增益。 由基尔霍夫电流定律:由运算放大器的特性知:
(1)
(2)
(3)
调节调零电位器R2使:
(4) 由(1)、(2)、(4)可得: 设:R4=90kW 则有:
=
=
(5)
其中,
为温度差,单位为℃。
由式(5)知,改变
(2)应用举例
的值可以改变VO的大小。
以某节能型药材仓库温、湿度控制系统为例,若要求库房温度低于T℃,相对湿度低于A1B1%RH。则采取的两种控制模式如下:
控制模式一:当库内相对湿度高于A1B1%RH且库外温度低于T℃时,进行库内外通风。这种方式是利用库内外湿度差进行空气的交换,以达到库内除湿的要求,其优点是高效、节能、节省资金。但这种方式受到严格的控制。首先,库外的相对湿度要低于库内的,它们之间的差要大于A2B2%RH,这样才能有效保证及时地进行库内
第33页 湖南铁路科技职业技术学院毕业(设计)论文说明书
的除湿。其次,库内库外的温度差要小于△T℃,这是因为,如果在库外温度远高于库内温度时进行通风,热空气进入库区后遇上冷空气就会造成药品、器材表面结露的现象,进而影响药品和器材的质量。反之,如果在库内温度远高于库外温度时进行通风,冷空气进入库内后也会在药品器材表面结露。另外,库外温度不能接近T℃。这是因为,如果库外温度接近T℃时进行通风,很可能使密闭的库温升高,从而超过温度上限T℃。
控制模式二:当温度高于T℃或湿度高于A1B1%RH但不满足第一种情况时,开启冷冻空调机组进行库内降温除湿。
为避免因库内外温差过大通风时药品、器材表面结露的现象,必须严格控制系统温差值的精度。传统的测温差方法是对两点温度分别进行处理(调理电路、A/D、运算处理)后求差值,此方法所得温差精度低。库内外温差测量可采用图3所示电路,利用温差值直接与设定值相比较,既能保证较高的精度,又简化了系统的软件设计,提高了系统的可靠性。
4、N点最低温度值的测量
将不同测温点上的数个AD590相串联,可测出所有测量点上的温度最低值。 该方法可应用于测量多点最低温度的场合。
5、N点温度平均值的测量
把N个AD590并联起来,将电流求和后取平均,则可求出平均温度。
该方法适用于需要多点平均温度但不需要各点具体温度的场合。
图15测量两点温度差的电路 第34页 湖南铁路科技职业技术学院毕业(设计)论文说明书
总结与体会
经过将近三周的单片机课程设计,终于完成了我的空调温度控制单元的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计让我受益匪浅,高兴之余不得不深思呀!
毕业设计,也许是我大学生涯交上的最后一个作业了。想籍次机会感谢三年以来给我帮助的所有老师、同学,你们的友谊是我人生的财富,是我生命中不可或缺的一部分。我的毕业指导老师曾树华老师,他给我们不厌其烦的指导。在此,特向他道声谢谢。
在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我全部用的都是16进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。
从这次的毕业设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次毕业设计中的最大收获。
第35页 湖南铁路科技职业技术学院毕业(设计)论文说明书
谢 词
论文的完成,得益于大学老师传授的知识,使本人有了完成论文所要求的知识积累,更得益于导师曾树华老师从选题的确定、论文资料的收集、论文框架的确定、开题报告准备及论文初稿与定稿中对字句的斟酌倾注的大量心血,在此对导师曾树华老师表示感谢!在这里,还要特别感谢大学四年学习期间给我诸多教诲和帮助的湖南铁路科技职业技术学院的各位老师,感谢陈书记、曾树华老师,你们给予我的指导和教诲我将永远记在心里!感谢在大学四年学习期间给我传授诸多专业知识的各位老师,感谢刘刚老师、张兰红老师给予我的指导和帮助!感谢和我一起生活四年的室友,是你们让我们的寝室充满快乐与温馨,“君子和而不同”,我们正是如此!愿我们以后的人生都可以充实、多彩与快乐!感谢我的同学们,谢谢你们给予我的帮助。
第36页 湖南铁路科技职业技术学院毕业(设计)论文说明书
第37页 湖南铁路科技职业技术学院毕业(设计)论文说明书
参考文献
1、谢自美,《电子线路设计、实验、测试》武汉:华中理工大学出版社,2000 2、何书森、何华斌《实用数字电路原理与设计速成》福州:福建科学技术出版社,2000.6
3、白驹衍,《单片计算机及应用》北京:电子工业出版社,1999.2 4、刘国荣;《计算机控制技术与应用》第一版;机械工业出版社;2006年2月。 5、王宗和;《单片机实验与综合训练》第一版;高等教育出版社;2005年12月。 6、杨志忠;《数字电子技术》第二版;高等教育出版社;2004年4月。 7、阎石;《数字电子技术基础》第五版;清华大学出版社。2002年3月。 8、胡宴如;《模拟电子技术基础》第二版;高等教育出版社。2003年3月。 9、卢庆林;《数字电子技术基础实验与综合训练》;2004年5月。 10、李益民;《传感器与电气控制技术》;第二版;高等教育出版社。2002年4月。
第38页
因篇幅问题不能全部显示,请点此查看更多更全内容