恒温箱论文.doc_第1页
恒温箱论文.doc_第2页
恒温箱论文.doc_第3页
恒温箱论文.doc_第4页
恒温箱论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 绪论1.1 背景及研究意义电热恒温箱是用电进行加热恒温的箱体,它有着广泛的用途,可供医疗卫生、生物、科研中用做储存菌种,细胞培养,制药行业药品检测,医院临床检验,也可在农业中作为育种、发酵、育雏菌种培养以及其他恒温实验和恒温培养。是进行科研的必需设备。老式恒温箱采用模拟电路方法,温度漂移及元器件的参数误差对温度的设定及控制精度影响较大,自动化程度低,成本高等缺陷,并且不能显示当前的温度和时间。随着计算机技术的发展,计算机控制越来越普遍,具有简单、精确、可靠、及具有智能化等特点。为了提高恒温箱的控制精度和读取温度方便,一些厂家设计了采用微机控制的电热恒温箱系统。本设计的任务是利用所学的知识,结合实际情况来设计一个电热恒温箱的微机控制系统,以实现更精确的检测温度和时间显示。1.2 温度控制系统概述在现代生产过程的检测和控制中,温度参数的测控量是最重要最普遍的测控项目之一,温度也是日常生活中接触最多的。随着微电子技术的发展,特别是单片型计算机的出现,体积小、成本低、精度高的单片机温度控制装置已经实现。单片机是一种高集成度的、可产生智能的芯片,其内部结构组成是一台完整的微型计算机,更由于其体积小,所以在控制领域得到广泛应用。由于单片机是按工业标准设计的,因此,它通常有很好的环境适应能力和抗干扰能力,故有很好的可靠性。随着超大规模集成电路,单片机的速度、内存量、位数等硬件性能也大为提高,采用单片机对温度控制不仅具有控制方便、简单和灵活性大等优点。因此,以单片机为核心组成的温度控制系统是一种必然的结构形式。1.3 技术指标本系统为电热恒温培养箱设计,其主要技术参数如下:1 温度控制范围在室温99.9,控制精度0.5。2 要实现温度的实时检测与显示,显示采用数码管显示,共10位显示,左面6位显示当前时、分、秒,右面4位显示每次采样时的炉温。3 显示温度的精度为0.1。该恒温培养箱硬件、软件设计合理,运行安全可靠、而且性价比高。其输出功率为500W,电源为交流220V。采用AD590进行温度检测和处理,用可控硅调功器电路实现温度控制,设置了越限报警的功能,用键盘设定温度值,控制电炉进行加热,使工作间的温度稳定在某一设定值。同时显示当前的时间,采用了时钟芯片MC146818,当电源断电后,靠蓄电池供电,进行时钟计时功能。本系统采用增量型PID算法对参数整定。第二章 系统硬件设计2.1 系统各部分方案论证本系统是电热恒温箱的微机控制系统。首先我们看一下该系统的主要功能。1. 用单片机检测温度,用LED数码管显示检测到的温度。2. 键盘输入温度值,和检测的温度比较,进行加热,直到和键盘温度相同。3. 用六位LED数码管显示当前时间。4. 系统具有越限报警的功能。要完成上述功能需要对硬件和软件进行哪些选择与论证呢?第一,要实现系统的控制就要有控制机,我们用单片机来控制。第二,前置通道的设计也很重要,因此它是基础,它主要包括:传感器的选择,隔离放大电路的设计。第三,单片机外围设备的选择。这是单片机正常工作所必须的:主要包括外部ROM和外部RAM的选择和设计,I/O口的扩展。以及合理的选择键盘和数码管。第四,为了完成该系统的功能除了有硬件外,还需要有响应的软件与之匹配。软件主要实现显示、检测以及对测得的数据进行分析处理。下面对该系统的各主要部分器件的选择加以论证。1. 单片机的选择单片机是指在一个芯片上集成了CPU和一定容量的程序存储器及一定数量的输入、输出接口,具有完整的计算机结构。单片机具有极出色的位处理和端口处理性能,对外部响应速度快,非常适于实时控制。单片机集成度高,处理功能强,尤其适用于智能化仪器仪表中。它的硬件外部接口简单,可靠性高。我们采用高性能,多功能兼容型单片机80C552作为本系统的控制机。2. 传感器的选择目前,工业应用中使用较广泛的温度传感器有三类:热电阻、热电偶以及集成电路温度传感器。下面将分别对其特征做一下分析。(1) 热电偶热电偶是将两种不同的金属导体连接在一起时,便产生电作用原理而构成的温度传感器。热电偶传感器有许多种类,通过查看热电偶的测温范围图表,可知满足我们这个系统测温范围要求的热电偶传感器只有两种:铜康铜、铁康铜。经过对几种常用定性热电阻的特性曲线分析,我们能直观地了解到:热电偶的优点是输出信号为电压信号,可以经放大后直接进入系统,无须转换电路,是系统结构简单。同时我们也考察了热电偶的缺点。针对本系统采用热电偶作为传感温度元件,其不足有:热电偶输出信号随温度变化较小,要保证本系统测量的准确度,须采用高倍放大器,于是外界干扰也同时得到放大,给系统抗干扰性能带来问题。本系统测量点数较多,若采用热电偶就要用大量的补偿导线,这不仅使系统造价提高,也给系统的线路速度、连接工作带来很大不便。综合考虑以上这些因素,在设计上我们放弃了采用热电偶作温度传感器的想法。(2) 热电阻热电阻是利用电阻与温度呈一定的关系的金属导体或半导体材料而制成的温度传感器。热电阻可分为两类:一类是以各种金属氧化物(半导体)为感温元件,;以铂丝为引线的热敏电阻;一类是用纯金属作为感温元件的金属导体热电阻。这一类通常简称为热电阻(如铂热电阻,铜热电阻等)。下面我们可以对一些热电阻的电阻温度特性一一进行考察。a 热敏电阻热敏电阻和金属导体电阻不同,它具有负温度系数,其电阻值随温度升高而减小,随温度降低而曾大,变化速率较大。基于此因,用它来做测温传感器,可以得到很高的灵敏度,但因它的电阻与温度的特性曲线为非线性的指数形式,并且分散性很大,互换困难,就给生产、使用和维修带来很大的不便。对于我们这个系统,是应用于生产环节的,要求所用元件具有稳定性能高,具有良好的互换性和复现性,使用维修方便,所以我们不能采用热敏电阻作测温元件。b 金属导体热电阻(简称热电阻)热电阻就是利用物质(一般为纯金属)的电阻随温度变化而变化并呈一定的函数关系的特性制成的温度传感器来进行测温的。在工业上,通常使用的是经统一设计的定型的铂热电阻和铜热电阻,也有些工业部门应用了镍热电阻。这三种热电阻从测温范围上看都符合我们的需要,从物理,化学性能上看,也都比较稳定。但是由于铜电阻的电阻率很小,用其制造的同阻值的感温元件的体积就相对的大一些,给精确测定温度带来影响。对于镍热电阻,尽管其电阻率和电阻温度系数都比铂和铜大得多,能制成体积较小、灵敏度较高的感温元件,但镍的提纯相当困难(镍钴很难分离),所以用它制成的镍热电阻的稳定性和复现性就差一些。相比之下,铂电阻的精确度较高,性能稳定,线性也尚好,但灵敏度较低,只有热敏电阻的十分之一。综合上述因素,为了提高本系统的测量精度,不适合选择热电阻做感温元件。(3) 集成电路温度传感器随着集成技术和传感器技术的飞速发展,人们已经能在一块极小的半导体芯片上集成包括敏感元件、信号放大电路、温度补偿电路、基准电源电路等在内的各个单元。这就是所谓的集成传感器,它是把传感器和集成电路成功的融为一体,并且极大的提高了传感器的性能。也是实现传感器的智能化、微型化、多功能化、提高检测灵敏度并能实现大规模生产的重要保证。集成温度传感器与传统的陶瓷热敏电、铂测温电阻、半导体热敏电阻、热电偶、双金属片、半导体等温度传感器相比。具有侧温精度高、重复性好、线性优良、体积小、热容量小、稳定性好、输出电信号大等优点。尤其以线性度好及输出信号大且规范化、标准化是其它温度传感器无法比拟的。表2-1为集成温度传感器与几种其它温度传感器的基本性能比较。 表2-1 几种温度传感器的基本性能比较 传感器种类温度范围()重复性()精度()线性 评价热电偶-200+16000.31.00.53.0不良价廉、灵敏度低、重复性好、测温范围广热电阻-50+3000.22.00.22.0不良线性差、体积 较大、稳定性较好双金属片-20+2000.55.0110不良价廉、低精度、 重复性好半导体PN结-40+1500.21.01.0良价廉、体积小、灵敏度较高集成温度传感器-50+1500.30.5优良高精度、体积小、线性好、灵敏度高、使用方便综上所述,我们选择电流型集成温度传感器AD590作为感温元件。3. 放大器的选择在测量中,由传感器送来的信号一般很微弱,有时达到微付级,为了提高测量精度,以及与后续电路相匹配,需将信号进行放大、转换、隔离等。这就需要用到放大器。本系统采用低温漂高精度集成运算放大器OP07,精度可达 0.1度。通过上面的一系列分析,基本器件已经选择完毕,该系统的基本骨架已经构成,电热恒温箱的硬件结构框图如图2-1所示。 图2-1 电热恒温箱硬件结构框图2.2 单片机概述2.2.1 80C552结构与特点80C552是Philips公司推出的与80C51兼容的8位单片机,它属于CMOS型,电流小,功耗低,它具有强大的片内I/O功能,片内集成了A/D和D/A转换器、定时器T2具有捕捉输入/比较输出功能,中断优先级有8051的5级扩展到15级,以及SFR有8031的21个扩展到56个等优点。80C552内部结构如图2-2所示。由于它和8051兼容,为了进一步分析内部结构,现把各功能部分划分为8051核件、存储器结构、I/O接口、定时器/计数器、A/D和D/A以及中断系统6个部分。 图2-2 80C552内部结构框图18051核件它是80C552的心脏部件。(1)算术逻辑部件ALU8051的ALU是一个性能极强的运算器,能进行各种四则运算和逻辑运算还具有数据传送、移位和程序转移等功能。8051ALU由一个加法器、两个8位暂存器(TMP1与TMP2)和一个性能优秀的布尔处理器组成。(2)定时控制部件定时控制部件起着控制器的作用,由定时控制逻辑、指令寄存器IR和震荡器OSC等电路组成。指令寄存器IR用于存放从程序存储器中取出的指令码,定时控制用于对IR中指令码译码,并在OSC配合下产生指令的时序脉冲,以完成相应的指令执行。(3)专用寄存器组专用寄存器组主要用来指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态等等,它主要包括程序计数器PC、累加器A、程序状态字寄存器PSW、堆栈指示器SP、数据指针DPTR和通用寄存器B等。2存储器结构80C552无片内ROM存储器,但可以外接ROM存储器,但片内和片外之和不能超过64KB。由于80C552没有片内ROM 所以程序和常数只能存放在片外ROM中,故它的接地。它的片内RAM的容量为256个存储单元,可以用来存放操作数、操作结果和实时数据,如果片内RAM容量太小,不能满足控制需要,也可外接RAM。但外接外部RAM的最大容量不能超过64KB,地址范围为0000HFFFFH。80C552含有56个特殊功能寄存器SFR,特殊功能寄存器是指有特殊用途的集合。每个SFR占有一个RAM单元。3I/O端口I/O端口是单片机部实现控制和信息交换的必经之路,是一个过度的大规模集成电路,用于信息传递过程中的速度匹配和增强负载能力。I/O端口有串行和并行之分,串行端口一次只能传送一位二进制信息,并行端口一次可以传送一组(8位)二进制信息。(1) 并行I/O端口80C552具有6个8位的I/O口,分别命名为P0、P1、P2、P3、P4和P5。在P0P4端口中,每个端口都有双向I/O功能,80C552既可以从这5个并行I/O口中的任何一个输出数据,也可以从它们那里输入外部数据。P0P4中的每个I/O口内部都有一个8位数据输出锁存器、一个8位数据输出驱动器和一个8位数据输入缓冲器组成。因此80C552内部数据从每个I/O端口输出时能得到锁存,外部数据从I/O端口输入时可以得到缓冲。除上述功能外,P0P4还具有第二功能, P5口功能和其它的各端口不同,它专门用来输入A/D转换电路所需要的8路模拟量。因此,P5口电路只有一个8位数据输出锁存器和一个8位数据输入缓冲器组成,而无数据输出驱动器。(2) 串行I/O口80C552有两个串行I/O口:一个是SIO0,称为UART串行口;另一个是SIO1,称为IC总线接口。SIO0串行口是一个全双工的可编程串行I/O口,它既可以在程序控制下把累加器A送来的8位并行I/O数据变成串行数据一位一位地从发送数据线TXD上发送出去,也可以把从接收数据线RXD上串行接收到的数据变成8位并行数据送给CPU,而且这种串行发送和接收可以单独进行,也可以同时进行。串行IC总线接口(SIO1)是80C552的新增功能,SIO1可以通过P1.6和P1.7引脚同外部IC总线连接:P1.6和IC总线的SCL线相接;P1.7和IC总线的SDA线相连。4定时器/计数器80C552有三个16位可编程序的定时器/计数器,命名为T0、T1和T2。有一个8位监视定时器T3。T0有两个八位寄存器TH0和TL0拼装而成,其中TH0为高8位和TL0位低8位。和T0类同,T1也有TH1和TL1拼装而成,TH1为高8位,TL1为低8位。TH0和TL0、TH1和TL1均为SFR特殊功能寄存器中的一个,用户可以通过指令对它们存取数据。定时器/计数器T2同四个16位捕捉寄存器(CT3CT0)和三个16位比较寄存器(CM2CM0)配合,受捕捉控制寄存器CTCON和定时器T2捕捉控制寄存器TM2CON所控制,共同为用户提供了四个捕捉T2时间的功能和三个对T2时间/计数值的比较功能。监视定时器T3用作80C552执行用户程序时的软件看门狗,可以在用户程序因静电干扰出现软件故障时使系统重新复位,以恢复用户程序的正常运行。5PWM和A/D转换脉冲宽度调制器PWM和A/D转换器也是80C552的新增功能。脉冲宽度调制器PWM共分PWM0和PWM1两路,分别用于在PWM0和PWM1引脚上产生频率相同和宽度可调的输出脉冲。用户只要把PWM0和PWM1引脚分别和外加运算放大器输入端相连,就可构成两个D/A转换器。D/A转换器的数字量有用户通过编程送入脉冲宽度寄存器PWM0和PWM1,相应模拟量有运算放大器输出端输出。80C552含有一个8路10位逐次比较型A/D转换器,8路模拟量有P5口输入,A/D转换完成后得到10位数字量中的高8位存放在ADC高8位寄存器ADCH和低2位在ADC控制寄存器ADCON中。6中断系统80C552的中断系统功能处理15个中断源的中断,其中,5个中断和MCS-51完全兼容,其余10个中断是一个IC总线中断、一个ADC中断、一个T2溢出中断、四个T2捕捉中断和三个T2比较中断。2.2.2 80C552引脚功能和特点80C552引脚分配图如2-3所示。各引脚大概分为端口线,电源线和控制线。 图2-3 80C552引脚分配图(1)端口线P0.7P0.080C552不带片外存储器时,P0口可以作为通用I/O使用,P0.0P0.7用于传送CPU的输入/输出数据。P0口的第二功能是80C552和片外存储器外接,CPU在访问片外存储器时P0.7P0.0先用来传送片外存储器的低8位地址,然后传送片外存储器的读/写数据。P1.7P1.0P1.7P1.0的功能和P0口的第一功能相同,也是用来传送用户的输入/输出数据。P1口还有第二功能,主要用做控制,功能如表2-2所列。表2-2 P1口各位第二功能P1口的位第二功能 注 释P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7 CT0I CT1I CT2I CT3I T2 RT2 SCL SDAT2捕捉0输入端T2捕捉1输入端T2捕捉2输入端T2捕捉3输入端T2计数输入端T2复位输入端 总线时钟线 总线数据线P2.7P2.0这组引脚的第一功能和前两组引脚的第一功能相同,可以作为通用的I/O使用。P2口引脚和P0口的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器的某存储单元,但并不能像P0口那样还可以传送存储器的读/写数据。P3.7P3.0P3.7P3.0引脚的第一功能和其余三个端口的第一功能相同。第二功能做控制用,如表2-3所列。表2-3 P3口各位第二功能 P3口的位 第二功能 注 释 P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXDTXDINT0INT1T0T1WRRD串行输入口串行输出口外部中断0外部中断1定时器0外部计数器输入定时器1外部计数器输入外部数据存储器写选通外部数据存储器读选通 P4.7P4.0 P4.7P4.0为准双向I/O口,第一功能和上诉各口的第一功能相同。各位第二功能如表2-4所列。表2-4 P4口各位第二功能P4口的位第二功能 注 释 P4.0 P4.1 P4.2 P4.3 P4.4 P4.5 P4.6P4.7CMSR0CMSR1CMSR2CMSR3CMSR4CMSR5CMT0CMT1CM0/CM1和T2匹配时的置位/复位线0CM0/CM1和T2匹配时的置位/复位线1CM0/CM1和T2匹配时的置位/复位线2CM0/CM1和T2匹配时的置位/复位线3CM0/CM1和T2匹配时的置位/复位线4CM0/CM1和T2匹配时的置位/复位线5CM2和T2匹配时的触发脉冲输出线0CM2和T2匹配时的触发脉冲输出线1P5.7P5.0P5为8位输入口,作为80C552内部10位A/D转换器的8路模拟量输入线。(2)电源线(2)为+5V电源线;(36/37)为接地线;(61)为模拟量电源线(+5V);为模拟量地线;(59)为A/D转换器参考电源高端;(58)为A/D转换器参考电源低端。(3)控制线地址锁存允许/编程线ALE/:它配合P0口引脚上的第二功能使用。允许访问片外存存储器/编程电源线/V:控制80C552使用片外ROM的,若/V=0则CPU允许使用片外ROM。片外ROM选通线:它是一条片外ROM选通线输出线。在CPU执行访问片外ROM指令MOVC时,80C552能自动在线上输出一个负脉冲,用于选通片外ROM工作。其他情况下,线均为高电平封锁状态。复位/备用电源输入线RST/V:用于使80C552处于复位工作状态。RST/V的第二功能是作为备用电源输入端,当电源V发生故障而降低到规定低电平时,RST/V线上的备用电源能自动投入,以保证片内RAM信息不丢失。片内震荡电路输入线XTAL1和XTAL2:XTAL1和XTAL2又称为晶振输入线,用来外接石英晶体和微调电容,即用来把80C552片内的OSC定时反馈回路和石英晶振连接起来。A/D转换启动线STADC:用于启动80C552片内10位A/D转换器工作。STADC线不用时不得悬空。脉冲宽度调制器输出线PWM0和PWM1:通常用于同外加运算放大器输入端相连,用于把80C552内部两个8位寄存器PWM0和PWM1中数字量转换为模拟量从运算放大器输出端输出。 看门狗时钟使能线:用于控制内部监视定时器T3是否有效。若=0,则监视定时器T3的看门狗功能有效;若=1,则T3的看门狗功能被硬件所禁止。2.3 单片机存储器和I/O口的扩展2.3.1 存储器的扩展半导体存储器是微型计算机的重要记忆元件,常用于存储程序、常数、原始数据、中间结果和最终结果。半导体存储器的存储容量越大,微型计算机的记忆功能越强;半导体存储器存取信息的速度越快,微型计算机的运算速度就会越高,因此,半导体存储器的性能对微型计算机功能的影响颇大。在计算机中,存储器分为内存储器和外存储器两大类。内存储器简称内存,常和CPU安装在同一块主机板上,以便CPU对它直接存取信息;外存储器简称外存,是计算机的一种重要外部设备。CPU通过执行程序可以实现外存和内存之间数据和程序的批量传送。半导体存储器通常分为随机存储器RAM(random access memory)和只读存储器ROM (read only memory)两大类。1. RAM存储器RAM存储器又称为读/写存储器。RAM存储器可以用来存储实时数据、中间结果、最终结果或作为程序的堆栈区使用。按照信息存储的不同原理,RAM存储器通常可以分为静态RAM和动态RAM两类。(1)静态RAM(SRAM):SRAM(Static RAM)依靠触发器存储二进制信息,用触发器的两个稳定状态来表示所存二进制信息“0”和“1”,因此SRAM所存信息可以长久保存。但由于每个触发器所用晶体管数量较多,因此在芯片面积和集成度相同时,静态RAM芯片的存储容量比动态RAM的要小。(2)动态RAM(DRAM):DRAM(Dynamic RAM)依靠存储电容寄存二进制信息,通常存储一位二进制信息只需一只晶体管,但存储电容上的电荷容易泄漏,故常需刷新。动态RAM的存储容量大,集成度高。2.ROM存储器ROM存储器中信息不因停电而消失,故它又称为非易失性存储器。ROM存储器主要用来存储固定程序、常数和表格等。它按工艺常可分为掩模ROM、PROM和EPROM三类。(1)掩模ROM掩模ROM中信息在制造时的掩模工艺固化进去,信息一旦固化便不能再修改。因此,掩模ROM适合于大批量的定型产品,它具有工作可靠和成本低等优点。(2)PROMPROM(Programmable ROM)是一种可编程的只读存储器,是一种可以在用户的实验室里把程序和常数用特殊方法和手段写入进去的只读存储器。采用PROM存储器通常比采用掩模ROM方便,但它只能编程一次,且写进去的信息不能修改。(3)EPROMEPROM(Erasable PROM)是一种可以被擦写的PROM存储器,用户可以多次编程,只要在每次编程前先对它进行一次擦洗就行了。它按信息擦除的不同方法,可分为UVEPROM和EPROM两类。80C552无片内ROM,只有256字节的RAM,因此我们给它扩展一片32KB的EPROM27256。随着大规模集成电路技术的发展,大容量存储芯片的产量剧增,价格不断下降。大容量存储芯片的性价比明显增高。在扩展存储器设计时,应尽量采用大容量的芯片。这样,不仅可以使电路板的体积缩小,成本降低,还可以降低整机功耗和减少控制逻辑电路,从而提高系统的稳定性和可靠性。27256的引脚分配如图2-4所示。引脚功能说明:地址输入线A12A0:27256的存储容量为32KB,按照地址线条数和存储容量的关系(2=32768),共需15条地址线,编号A14A0,用于传送单片机送来的地址编码信号,其中A14为高位。数据线O7O0:O7O0是双向数据总线,O7为最高位。在正常工作时,O7O0用于传送从27256中读出的数据或程序代码;在编程方式时用于传送需要写入的程序代码。 控制线(3条):片选输入线用于控制本芯 图2-4 27256引脚分配片是否工作。若给一个高电平,则本片不工作,若给一个低电平,则选中本片工作。编程输入线用于控制27256处于正常工作状态还是编程/效验状态。若给输入一个TTL高电平,则27256处于正常工作状态;若给输入一个50的负脉冲,则27256配合V引脚上的21伏高电压处于编程状态。允许输出线也是一条有用户控制的输入线,若给线上输入一个TTL高电平,则数据线O7O0处于高阻状态;若给线上一个TTL低电平,则O7O0处于读出状态。其它引脚线:为+5V电源输入线,GND为直流地线。V为编程电源输入线,当它接+5V时,27256处于正常工作状态;当V接21V电压时,27256处于编程/效验状态。NC为27256的空线。80C552和27256的连接如图2-5所示。由于27256的存储容量为32KB,故80C552片内地址线为P2.6P2.0和P0.7P0.0,P2.7P2.0直接和27256的A14A8相接,P0.7P0.0经地址锁存器74LS373输出后接到27256的A7A0,接地,。和27256的相接,以便80C552MOVC指令时产生低电平而选中27256工作。图2-5 80C552片外存储器的扩展2.3.2 I/O口的扩展为了单片机能和更多的外设联机工作,所以常常需要扩展I/O接口,我们利用I/O接口芯片8255A来扩展CPU的并行端口。8255A具有3个8位的并行I/O口,三种工作方式,可通过编程改变其功能,因而使用灵活,通用性强,可作为单片机与多种外部设备连接时的中间接口电路。8255A的引脚如图2-6所示。1 引脚功能D7D0:三态双向数据线,与单片机数据线连接,用来传送数据信息。:片选信号线,低电平有效,表示芯片被选中。:读出信号线,低电平有效,控制数据的读出。:写入信号线,低电平有效,控制数据的写入。V:+5V电源。PA7PA0:A口输入/输出线。PB7PB0:B口输入/输出线。PC7PC0:C口输入/输出线。RESET:复位信号线。A1A0:地址线,用来选择8255A内部端口。2 内部结构8255A内部结构见图2-7所示。其中包括三个并行数据输入/输出端口,二个工作方式控制电路,一个读/写控制逻辑电路和8位数据总线缓冲器。 (1) 端口A、B、C 图2-6 8255A引脚分配PA口:一个8位数据输出锁存器和缓冲器;一个8位数据输入锁存器。PB口:一个8位数据输出锁存器和缓冲器;一个8位数据输入缓冲器。PC口:一个8位数据输出锁存器;一个8位数据输入缓冲器。 通常PA口、PB口作为输入输出口,PC口可以作为输入输出口,也可在软件的控制下,分为两个4位的端口, 图2-7 8255A内部结构作为端口A、B选通方式操作的控制信号。(2) A组和B组控制电路这两组根据CPU写入的“控制字”来控制8255A工作方式控制电路。A组控制PA口和PC口的上半部(PC7PC4)B控制PB口和PC口的下半部(PC3PC0),并根据“控制字”对端口的每一位实现按位“置位”或“复位”。(3) 数据总线缓冲器数踞总线缓冲器是一个三态双向8位缓冲器,作为8255A与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。(4) 读/写控制逻辑电路读/写控制逻辑电路接收CPU发来的控制信号、RESET、地址信号A1A0等,然后根据控制信号的要求,将端口数据读出,送往CPU,或者将CPU送来的数据写入端口。各端口的工作状态与控制信号的关系如表2-5所示。 表2-5 8255A端口工作状态选择表A1A0工作状态00010A口数据数据总线(读端口A)01010B口数据数据总线(读端口B)10010C口数据数据总线(读端口C)00100总线数据A口(写端口A)01100总线数据B口(写端口B)10100总线数据C口(写端口C)11100总线数据控制字寄存器(写控制字)1数据总线为三态11010非法状态110数据总线为三态80C552与8255A的连接如图2-8所示。 图2-8 80C552和8255A接口电路2.4 温度检测及处理电路的设计2.4.1 温度传感器AD590AD590是由美国哈里斯公司、模拟器件公司(ADI)等生产的恒流源式模拟集成温度传感器。它兼有集成恒流源和集成温度传感器的特点,具有测温误差小、动态阻抗高、响应速度快、传输距离远、体积小、微功耗、价格低等优点,适合远距离测温、控温,不需要进行非线形校准。1AD590的性能特点与工作原理(1)性能特点AD590属于采用激光修正的精密集成温度传感器。它有3种封装形式:TO52封装、陶瓷封装(测温范围是-55+150)、TO92封装(测温范围是070)。AD590系列产品的外形及符号如图2-9所示,这类器件的外形与小功率晶体管相仿,共有3个管脚:1脚为正极,2脚是负极,3脚接管壳。使用时3脚接地,可起到屏蔽作用。该系列产品以AD590M的性能最 图2-9 AD590外形及符号佳,其测温范围是-55+150,最大非线性误差为0.3,响应时间仅20,重复性误差低至0.05,功耗约2。 (2)工作原理AD590的内部电路如图2-10所示。芯片中的R1和R2是采用激光修正的校准电阻,他能使298.2(+25)下的输出电流恰好为298.2。首先由晶体管Q8和Q11产生与热力学温度(即绝对温度)成正比的电压信号,再通过R5、R6把电压信号转换成电流信号。为保证良好的温度特性,R5、R6的电阻温度系数应非常小,这里采用激光修正的SiCr薄膜电阻,其电阻温度系数低至(-30-50)/。Q10的集电极电流能够跟随Q9和Q11的集电极电流变化,使总电流达到额定值。R5和R6也需要在25的标准温度下校准。AD590等效于一个高阻抗恒流源,其输出阻抗10M,能大大减小因电 图2-10 AD590内部结构源电压波动而产生的测温误差。它的工作电压为+4+30V,测温范围是-55+150,对应热力学温度T每变化1,输出电流就变化1。在298.15(对应于25.15)时输出电流恰好等于298.15这表明,其输出电流()与热力学温度(K)严格成正比。2.4.2 检测和处理电路 温度检测和处理电路如图2-12所示。由集成温度传感器AD590和运算放大器OP07组成,精度可达到0.1。运算放大器OP07是双电源供电低噪音高精度集成运算放大器,它的管脚如图2-11所示。其中IN-为反相输入端。IN+为同相输入端。OUT是输出端。NC空脚。OA1、OA2调零端。 图2-11 OP07引脚图V+正电源端。V-负电源端。 主要参数为:电源电压范围:1318V。差模输入电压极限:13V。共模输入电压极限:14V。开环电压放大倍数:410。共模抑制比:126dB。差模输人电阻:80M。输出电阻:60。单位增益带宽:1.2。静态功耗:120mW。输入失调电压:60。输入失调电压温漂:0.7。 图2-12 温度检测和处理电路输入失调电压时漂:0.5月。输入失调电流:0.8。输入失调电流温漂:12。温度检测和处理电路如图2-12所示,AD590感受温度的变化并输出273.2+t()的电流信号,其中t为摄氏温度,该信号经电容C滤波后在电阻R4上输出一个电压信号,R4=10K,则A点电位为2732+10t(),为输出与电压成正比的电压信号,调节精密电位器P使B点电位为2732()即起点温度为零时,A点的电位。为了减小测温误差,采用稳压管稳定电位器两端电压。R1=R2=20K,Rf=R3=100K,电压输出信号=50t()当温度t在0100范围内变化时,输出电压为05V,经80C552的10位A/D转换器转换为数字信号,可保证对温度检测信号的分辨率小于0.1。2.5 时钟电路时钟电路我们采用时钟芯片MC146818。MC146818是美国摩托罗拉公司生产的多功能实时日历时钟芯片。具有理想的百年日历和全时钟定时闹功能,带有可编程定时中断和方波发生器能以BIN码或BCD码编程设置时间、日历、闹钟及在12小时计时方式下以AM和PM表示12/24小时制,能自动进行闰年的时间调整,备用50字节可供用户使用的低功耗掉电保护RAM和报时中断、更新结束中断及周期中断等独立的的中断源。该芯片采用24脚双列直插式封装,工作电压为36V,可选用4.194303MHZ和32.768KHZ的晶振作为工作时钟其功耗在以低频时钟工作时仅为40200W,高频时钟工作时为4.020。该芯片能与1MHZ的处理器总线匹配,可节省保持时钟功能的软件,进行有效的RAM扩展。与以NMOS、TTL工艺生产的同类产品相比,它使用起来更灵活,功能更强大,尤其是很方便地与Motorola和Intel公司生产的各种微机总线相接。因此,它可广泛的应用于各种微型计算机,单片计算机和大型计算机系统中。MC146818的引脚分配如图2-13所示,各引脚功能如下:接电源正极 接电源负极NC为空脚OSC1和OSC2为时基信号输入端。其时基信号既可是直接从OSC1端输入的外部信号,也 可通过晶振与内部电路产生。外接时基信号时 从OSC1端可输入4.194304MHz、1.048576MHz或32.768KHz三种方波信号。内部时钟频率可 图2-13 MC146818引脚分配由寄存器A中的选择项确定,内部的震荡电路可以接两种晶振:一种是4.194304MHz,一种是1.048576MHz。CKOUT为时钟输出端,可输出基频或基频经4分频的信号,可提供其它芯片所需要的时钟。CKFS为时钟输出频率选择端。当CKFS接高电平时,CKOUT输出频率同加在OSC1脚上的时基频率一致。当CKFS接低电平时,CKOUT输出的频率是OSC1时钟频率的1/4。SQW是方波输出端。该引脚能输出15种方波信号,这15种方波信号是时基信号经22级分频产生的,其输出信号频率可通过寄存器A编程来决定,信号的选通(即开、关)可通过控制寄存器B的SQWE字节来设定。AD0AD7为地址/数据总线复用端。AD0AD7在总线工作周期的前段时间传送地址信号,后段时间传送数据信号,由于总线上地址到数据的转换是在片内RAM执行走时功能时出现的,所以,不会使MC146818走时变慢。地址信号需在AS/ALE信号下降沿到来之前有效,否则,MC146818可锁住AD0AD5线上的地址信号,而写数据信号要在DS与同时有效时才能保持稳定有效。AS为复用地址有效信号输入端。AS为高电平时,复用地址为单功能,在AS或ALE的下降沿,地址被锁存在MC146818中,同时芯片内自动MOTEL电路也锁存脚状态。DS为数据有效,读/写信号输入端。该脚在MOTEL电路中有两种用法:一种是用于Motorola处理器,在工作周期的后段时间DS为高电平。在读周期中,DS信号下降沿使RAM锁存数据。另一种是用于竞争型处理器中产生、或信号。若DS发出信号,则指明控制总线上有数据可读。这种用法与典型寄存器的输出功能一样。为片选信号输入端,低电平有效。当为高电平时复用总线维持高阻态,若不用,应将其接地。R/为读/写输入端。在MOTEL电路中,R/W有两种使用方式:一种是当它与Motorola微处理器相连时,它只作为一个标志,指明当前是读或写周期,若DS为高电平,则当R/为高电平时,表明是一个读周期。当R/为低电平时,表明是一个写周期。是当它与Intel微处理器相连时,R/作为一个负脉冲。为中断请求信号输出端,低电平有效。如果不需要中断,应保持高电平,它可与处理器相连,也可与双中断设备相连。为复位信号输入端,低电平有效。该脚所处的状态,不影响时钟、日历和RAM功能。启动时脚要在一指定时间内保持低电平。若有效,则发生下列情况:(1)周期中断使能(PIE)字节被清除;(2)定时闹中断使能(ALE)字节被清除;(3)修正结束中断使能(VIE)字节被清除;(4)修正结束中断标志(UF)被清零;(5)中断请求字节被清零;(6)周期中断标志被清零;(7)芯片不执行任何操作;(8)脚处于高阻状态;(9)方波输出使能被清楚。PS为电源传感信号输入端。该脚用来控制寄存器D中的有效RAM位和时间字节。若PS脚为高电平,则VRT字节就被清零。电路原理功能说明:(1)内定时间为12点00分00秒,提供给新产品或换电池时使用。如果没有内定时间,在首次开机时,会造成时间乱码。至于开机时使用内定时间还是RTC内部时间,由RTC使用者RAM OE地址的内容来决定。其内容为1表示RTC内部已有时间值。读取RTC内部时间显示;非1则表示RTC内部尚没有时间值。写入内定时间并显示。(2)时间调整通过键盘设定时间。(3)硬件电路说明8054ALR为电位检测器,端子1:OUT;端子2:V;端子3:GND。当V大于4.5伏时,OUT为HI,小于4.5伏为LO。当外部电源存在时,三极管饱和,使约为5伏。8054ALR的OUT端为HI,由80C552的P4.0控制MC146818的端,P4.0=0时使能,可进行存取。当外部电源消失时,三极管截止,使由镍镉电池提供约3.6伏,使8054ALR的OUT为LO,此时,MC146818的端必为HI,只进行时钟计时功能及保留其内部RAM数据。本电路MC146818的OSC1、OSC2时基脉冲输入方式与个人电脑相同,采用外部时基脉冲输入,由4069、32.768KHz、10pF、2M组成时钟输入OSC1(OSC2开路)。数码管的六位,分别显示“时”、“分”、“秒”,由TIMER1每3ms中断一次,执行扫描显示工作。(4)读取MC146818的时间。本例中采用更新周期结束中断时,约有1s的时间可读MC146818的时间值,其步骤如下。a硬件:MC146818的接80C552INT1端,当更新周期结束时,由产生低电平,对INT1产生中断。bMC146818 B寄存器的UIE=1,即更新周期结束中断标志中断时,由IRQ输出低电平。c产生中断后,须读取MC146818 C寄存器一次,将清除为0,否则会产生中断错误。2.6 键盘和显示温度显示部分采用34键盘和3个LED数码管显示,我们用8255A扩展口来做键盘、显示器。LED管的显示可以分为静态显示和动态显示两种。我们采用动态显示,这样可以减少硬件开锁,提高系统可靠性和降低成本。将所有位的段选线相应地并联在一起,由一个8位的I/O控制,形成段选线的多路复用。而各位的共阳极分别由相应的I/O线控制,实现各位的分时选通。由于各位的段选线并联,段码的输出对各位来说是相同的。因此,同一时刻,如果各位位选线都处于选通状态的话,LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一刻,只让某一位的位选线处于选通状态,而其它各位的位选线处于关闭状态,同时段选线上输出相应位要显示字符的段码,这样同一时刻,LED中只有选通的那一位显示出字符,而其它位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,其它各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示时间间隔足够短,则可造成多位同时亮的假象,达到同时显示的目的。动态显示采用软件法把欲显示十六进制数(或BCD 码)转换为相应字形码,故它通常需要在RAM区建立一个显示缓冲区。显示缓冲区内包含的存储单元个数常和系统中LED显示器个数相等。显示缓冲区起始地址很重要,它决定了显示缓冲区在RAM中的位置。显示缓冲区中每个存储单元用于存放相应LED显示管欲显示字符,的字形码地址偏移量,故CPU可以根据这个地址偏移量通过查字形码来找出所需显示字符的字形码,以便送到字形口显示。键盘采用矩阵键盘,它由行线和列线组成。按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。平时无按键按下时,行线处于高电平,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。列线电平如果为低,则行线电平为低;列线电平如果为高,则行线电平也为高。这是识别矩阵键盘按键是否被按下的关键所在。由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平。因此各按键彼此将互相发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。按键的识别方法:(1) 扫描法扫描方法分两步进行:第一步,识别键盘有无键被按下;第二步,如果有键被按下识别出具体的按键。分别介绍如下:识别键盘有无按键被按下的方法是让所有列线均置为0电平,检查各行线电平是否有变化,如果有变化,则说明有键被按下,如果没有变化,则说明无键被按下。识别具体按键方法是逐列置低电平,其余各列置高电平,检查各行线电平的变化,如果某行线电平为低电平,则可确定此行此列交叉点处的按键被按下。(2) 线反转法线反转法的具体操作如下:第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出为全零电平,则行线中电平由高到低的所在行为按键所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论