基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc

上传人:牧羊曲112 文档编号:4043341 上传时间:2023-04-02 格式:DOC 页数:61 大小:1.65MB
返回 下载 相关 举报
基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc_第1页
第1页 / 共61页
基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc_第2页
第2页 / 共61页
基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc_第3页
第3页 / 共61页
基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc_第4页
第4页 / 共61页
基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc》由会员分享,可在线阅读,更多相关《基于89C51单片机仓库温湿度的监测系统的设计-推荐.doc(61页珍藏版)》请在三一办公上搜索。

1、基于89C51单片机仓库温湿度的监测系统的设计引 言随着社会的发展人们对生产生活中所需储备物资的质量保证要求越来越高,因而对储备物资的仓库管理质量也更加重视,而防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方

2、便且测量准确的温湿度测量仪。由此而来的基于单片机的温湿度测量仪开始出现在了人们的生产生活中,随着其不断的发展也将被大部分人所接受。 伴随时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活得方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、交通、智能仪器等迅速发展的家用消费产品、仪器仪表、医疗设备、信息和通信产品、航空航天、专用设备的智能化管理、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。 本课题研究

3、的主要内容有:以单片机为核心的主控制模块的设计;温湿度采集模块的设计;温湿度显示模块的设计;语音警报模块的设计。与传统的温湿度测量仪器相比,该设计的温湿度监测系统具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。第1章 绪论1.1 选题背景 随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。同时传感器技

4、术作为新技术革命和信息社会的重要技术基础,是现代科技的开路先锋,也是当代科学技术发展的一个重要标志。传感器技术、通信技术、计算机技术、分别对应信息技术中的采集、传输和处理。如果说计算机是人类大脑的扩展,那么传感器就是人类五官的延伸。当集成电路、计算机技术飞速发展时,电脑的运算速度和信息处理能力得以成倍的提高,这时人们才逐步认识到信息摄取装置:传感器没跟上信息技术的发展,因而惊呼“大脑发达、五官不灵”。世界上技术发达的国家对传感器技术开发都十分重视。这些技术的发展也为仓库的温湿度监测系统的发展提供了科学依据。防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响

5、到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此我们需要一种造价低廉、使用方便且测量准确的温湿度测量仪。1.2 设计过程及工艺要求一、基本功能 检测温度、湿度 显示温度、湿度 过限报警二、 主要技术参数 温度检测范围 : -30+50 测量精度 : 0.5 湿度检测范围 : 10%-100%RH 检测精度 : 1%RH 显

6、示方式 : 温度:四位显示 湿度:四位显示 报警方式 : 三极管驱动的蜂鸣音报警第2章 方案的比较和论证当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。传感器是实现测量与控制的首要环节,是测控系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最佳状态,从而保证生产的高效

7、率和高质量。2.1 温度传感器的选择方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200650,百度电阻比W(100)=1.3850时,R0为100和10,其允许的测量误差A级为(0.15+0.002 |t|),B级为(0.3+0.005 |t|)。铜电阻的温

8、度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。 方案二:采用AD590,它的测温范围在-55+150之间,而且精度高。M档在测温范围内非线形误差为0.3。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。使用可靠。它只需直流电源就能工作,而且,无需进行线性校正,所以使用也非常方便,借口也很简单。作为电流输出型传感器的一个特点是,和电压输出型相比,它有很强的抗外界干扰能力。AD590的测量信号可远传百余米。综合比较方案一与方案二,方案二更为适合于本设计系统对于温度传感器的选择。2.2 湿度传感器的选择测

9、量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。方案一:采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ1KHZ,测量湿度范围为0100%RH,工作温度范围为050,阻抗在75%RH(25)时为1M。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定

10、范围内使用时具有良好的线性,可有效地利用其线性特性。方案二:采用HS1100/HS1101湿度传感器。HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%-100%RH范围内;电容量由16pF变到200pF,其误差不大于2%RH;响应时间小于5S;温度系数为0.04 pF/。可见精度是较高的。综

11、合比较方案一与方案二,方案一虽然满足精度及测量湿度范围的要求,但其只限于一定范围内使用时具有良好的线性,可有效地利用其线性特性。而且还不具备在本设计系统中对温度-3050的要求,因此,我们选择方案二来作为本设计的湿度传感器。2.3 信号采集通道的选择 在本设计系统中,温度输入信号为两路的模拟信号,这就需要多通道结构。方案一、采用多路并行模拟量输入通道,如图2-1。这种结构的模拟量通道特点为:(1) 可以根据各输入量测量的饿要求选择不同性能档次的器件。总体成本可以作得较低。(2) 硬件复杂,故障率高。(3) 软件简单,各通道可以独立编程。方案二、采用多路分时的模拟量输入通道,如图2-2。 这种结

12、构的模拟量通道特点为:(1) 对ADC、S/H要求高。(2) 处理速度慢。(3) 硬件简单,成本低。(4) 软件比较复杂。综合比较方案一与方案二,方案二更为适合于本设计系统对于模拟量输入的要求,比较其框图,方案二更具备硬件简单的突出优点,所以选择方案二作为信号的输入通道。图2-1多路并行模拟量输入通道图2-2 多路分时的模拟量输入通道第3章 系统总体设计本设计是基于单片机对数字信号的高敏感和可控性、温湿度传感器可以产生模拟信号,和A/D模拟数字转换芯片的性能,我设计了以AT89C51基本系统为核心的一套检测系统,其中包括A/D转换、单片机、复位电路、温度检测、湿度检测、键盘及显示、报警电路、系

13、统软件等部分的设计。图3-1 系统总体框图 本设计由信号采集、信号分析和信号处理三个部分组成的。 (一) 信号采集 由AD590、HS1100及多路开关CD4051组成; (二) 信号分析 由A/D转换器MC14433、单片机AT89C51基本系统组成;(三) 信号处理 由串行口LED显示器和报警系统等组成。3.1 信号采集3.1.1 温度传感器集成温度传感器AD590 是美国模拟器件公司生产的集成两端感温电流源。一、 主要特性AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。根据特性分挡,AD590的后缀以I,J,K,L,M表示。AD590L,AD590M一般用于精密温度测

14、量电路,其电路外形如图3-2所示,它采用金属壳3脚封装,其中1脚为电源正端V;2脚为电流输出端I0;3脚为管壳,一般不用。集成温度传感器的电路符号如图3-2所示。图3-2 AD590外形及电路符号1、流过器件的电流(A)等于器件所处环境的热力学温度(开尔文)度数,即:I T/T=1A /K式中:IT 流过器件(AD590)的电流,单位A。T热力学温度,单位K。2、 AD590的测温范围-55- +150。3、 AD590的电源电压范围为4V-30V。电源电压可在4V-6V范围变化,电流IT变化1A,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会损坏。4

15、、输出电阻为710M。5、精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线形误差0.3。AD590的工作原理在被测温度一定时,AD590相当于一个恒流源,把它和530V的直流电源相连,并在输出端串接一个1k的恒值电阻,那么,此电阻上流过的电流将和被测温度成正比,此时电阻两端将会有1mVK的电压信号。其基本电路如图3-3所示。图3-3 AD590内部核心电路图3-3是利用UBE特性的集成PN结传感器的感温部分核心电路。其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实

16、质上是由n个晶体管并联而成,因而其结面积是T4的n倍。T3和T4的发射结电压UBE3和UBE4经反极性串联后加在电阻R上,所以R上端电压为UBE。因此,电流I1为: I1UBER(KTq)(lnn)R对于AD590,n8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。图3中的电阻R是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1AK的I值。图3-4 AD590内部电路图3-4所示是AD590的内部电路,图中的T1T4相当于图3-3中的T1、T2,而T

17、9,T11相当于图3-3中的T3、T4。R5、R6是薄膜工艺制成的低温度系数电阻,供出厂前调整之用。T7、T8,T10为对称的Wilson电路,用来提高阻抗。T5、T12和T10为启动电路,其中T5为恒定偏置二极管。T6可用来防止电源反接时损坏电路,同时也可使左右两支路对称。R1,R2为发射极反馈电阻,可用于进一步提高阻抗。T1T4是为热效应而设计的连接防式。而C1和R4则可用来防止寄生振荡。该电路的设计使得T9,T10,T11三者的发射极电流相等,并同为整个电路总电流I的13。T9和T11的发射结面积比为8:1,T10和T11的发射结面积相等。T9和T11的发射结电压互相反极性串联后加在电阻

18、R5和R6上,因此可以写出: UBE(R62 R5)I3R6上只有T9的发射极电流,而R5上除了来自T10的发射极电流外,还有来自T11的发射极电流,所以R5上的压降是R5的23。根据上式不难看出,要想改变UBE,可以在调整R5后再调整R6,而增大R5的效果和减小R6是一样的,其结果都会使UBE减小,不过,改变R5对UBE的影响更为显著,因为它前面的系数较大。实际上就是利用激光修正R5以进行粗调,修正R6以实现细调,最终使其在250之下使总电流I达到1AK。二、基本应用电路图3-8是AD590用于测量热力学温度的基本应用电路。因为流过AD590的电流与热力学温度成正比,当电阻R1和电位器R2的

19、电阻之和为1k时,输出电压V0随温度的变化为1mV/K。但由于AD590的增益有偏差,电阻也有偏差,因此应对电路进行调整,调整的方法为:把AD590放于冰水混合物中,调整电位器R2,使V0=273.2+25=298.2(mV)。但这样调整只保证在0或25附近有较高的精度。 图3-5 AD590应用电路三、摄氏温度测量电路如图3-5所示,电位器R2用于调整零点,R4用于调整运放LF355的增益。调整方法如下:在0时调整R2,使输出V0=0,然后在100时调整R4使V0=100mV。如此反复调整多次,直至0时,V0=0mV,100时V0=100mV为止。最后在室温下进行校验。例如,若室温为25,那

20、么V0应为25mV。冰水混合物是0环境,沸水为100环境。四、多路检测信号的实现 本设计系统为八路的温度信号采集,而MC14433仅为一路输入,故采用CD4051组成多路分时的模拟量信号采集电路,其硬件接口如图3-6所示图3-6 两路分时的模拟量信号采集电路硬件接口3.1.2 温度传感器测量空气湿度的方式很多,其原理是根据某种物质从其周围的空气吸收水分后引起的物理或化学性质的变化,间接地获得该物质的吸水量及周围空气的湿度。电容式、电阻式和湿涨式湿敏原件分别是根据其高分子材料吸湿后的介电常数、电阻率和体积随之发生变化而进行湿度测量的。下面 介绍HS1100/HS1101湿度传感器及其应用。一、特

21、点不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。图3-7a为湿敏电容工作的温、湿度范围。图3-7b为湿度-电容响应曲线。相对湿度在1%-100%RH范围内;电容量由16pF变到200pF,其误差不大于2%RH;响应时间小于5S;温度系数为0.04 pF/。可见精度是较高的。 图3-7a 湿敏电容工作的温、湿度范围 图3-7b 湿度-电容响应曲线二、湿度测量电路HS1100/HS1101电容传感器,在电路构成中

22、等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。如何将电容的变化量准确地转变为计算机易于接受的信号,常有两种方法:一是将该湿敏电容置于运方与租蓉组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将该湿敏电容置于555振荡电路中,将电容值的变化转为与之成反比的电压频率信号,可直接被计算机所采集。频率输出的555测量振荡电路如图3-8所示。集成定时器555芯片外接电阻R4、R2与湿敏电容C,构成了对C的充电回路。7端通过芯片内部的晶体管对地短路又构成了对C的放电回路,并将引脚2、6端相连引入到片内比较器,便成为一个典型的多谐振荡器,即方波发生器

23、。另外,R3 是防止输出短路的保护电阻,R1 用于平衡温度系数。图3-8 频率输出的555振荡电路该振荡电路两个暂稳态的交替过程如下:首先电源Vs通过R4、R2 向C充电,经t充电时间后,Uc达到芯片内比较器的高触发电平,约0.67Vs,此时输出引脚3端由高电平突降为低电平,然后通过R2放电,经t放电时间后,Uc下降到比较器的低触发电平,约0.33Vs,此时输出,此时输出引脚3端又由低电平突降为高电平,如此翻来覆去,形成方波输出。其中,充放电时间为 t充电=C(R4+R2)Ln2 t放电=CR2 Ln2因而,输出的方波频率为f=1/(t放电+t充电)=1/ C(R4+R2)Ln2可见,空气湿度

24、通过555测量电路就转变为与之呈反比的频率信号,表3-1给出了其中的一组典型测试值。表3-1 空气湿度与电压频率的典型值三、多路检测信号的实现 本设计系统为八路的湿度信号采集,故采用CD4051组成多路分时的模拟量信号采集电路,其硬件接口如图3-9所示图3-9 两路分时的模拟量信号采集电路硬件接口3.1.3 多路开关多路开关,有称“多路模拟转换器”。多路开关通常有n个模拟量输入通道和一个公共的模拟输入端,并通过地址线上不同的地址信号把n个通道中任一通道输入的模拟信号输出,实现有n线到一线的接通功能。反之,当模拟信号有公共输出端输入时 ,作为信号分离器,实现了1线到n线的分离功能。因此,多路开关

25、通常是一种具有双向能力的器件。在本设计中,由于采用了温湿度双量控制,所以在信号采集中将有两个模拟量被提取,这时选用多路开关就是很必要的。我选用的是CD4051多路开关,它是一种单片、COMS、8通道开关。该芯片由DTL/TTL-COMS电平转换器,带有禁止端的8选1译码器输入,分别加上控制的8个COMS模拟开关TG组成。CD4051的内部原理框图如图3-10所示。图3-10 CD4051的内部原理框图图中功能如下:通道线IN/OUT(4、2、5、1、12、15、14、13):该组引脚作为输入时,可实现8选1功能,作为输出时,可实现1分8功能。XCOM(3):该引脚作为输出时,则为公共输出端;作

26、为输入时,则为输入端。A、B、C(11、10、9):地址引脚INH(6):禁止输入引脚。若INH为高电平,则为禁止各通道和输出端OUT/IN接至;若INH为低电平,则允许各通道按表3-2关系和输出段OUT/IN接通。VDD(16)和VSS(8):VDD为正电源输入端,极限值为17V;VSS为负电源输入端,极限值为-17V。VGG(7);电平转换器电源,通常接+5V或-5V。CD4051作为8选1功能时,若A、B、C均为逻辑“0”(INH=0),则地址码00013经译码后使输出端OUT/IN和通道0接通。其它情况下,输出端OUT/IN输出端OUT/IN和各通道的接通关系如下 表 3-2输入状态接

27、通通道 输入状态接通通道INHCBAINHCBA000000101500011011060 010201117001131xxx均不显示010043.2 信号分析与处理3.2.1 A/D转换一、A/D转换器的特点为了把温度、湿度检测电路测出的模拟信号转换成数字量送CPU处理,本系统选用了双积分A/D转换器MC14433,它精度高,分辨率达1/1999。由于MC14433只有一路输入,而本系统检测的多路温度与湿度信号输入,故选用多路选择电子开关,可输入多路模拟量。MC14433 A/D 转换器由于双积分方法二次积分时间比较长,所以A/D转换速度慢,但精度可以做得比较高;对周期信号变化的干扰信号积

28、分为零,抗干扰性能也比较好。目前,国内外双积分A/D转换器集成电路芯片很多,大部分是用于数字测量仪器上。常用的有3.5位双积分A/D装换器MC14433和4.5位双积分A/D转换器ICL7135二、MC14433A/D转换器件简介MC14433是三位半双积分型的A/D转换器,具有精度高,抗干扰性能好的优点,其缺点是转换速率低,约110次/秒。在不要求高速转换的场合,例如,在低速数据采集系统中,被广泛采用。MC14433A/D转换器与国内产品5G14433完全相同,可以互换。MC14433A/D转换器的被转换电压量程为199.9mV或1.999V。转换完的数据以BCD码的形式分四次送出。图3-1

29、1 MC14433A/D转换器的内部逻辑框图 图3-12 MC14433引脚图MC14433 的框图(图3-11)和引脚(图3-12)功能说明各引脚的功能如下:电源及共地端VDD: 主工作电源+5V。VEE: 模拟部分的负电源端,接-5V。VAG: 模拟地端。VSS: 数字地端。VR: 基准电压。外界电阻及电容端RI: 积分电阻输入端,VX=2V时,R1=470;VX=200Mv时,R1=27K。C1: 积分电容输入端。C1 一般为0.1F。 C01、C02: 外界补偿电容端,电容取值约0.1F。 R1/C1: R1 与C1的公共端。CLKI、CLKO : 外界振荡器时钟调节电阻Rc,Rc一般

30、取 470 K左右。转换启动/结束信号端EOC:转换结束信号输出端,正脉冲有效。DU: 启动新的转换,若DU与EOC相连,每当A/D转换结束后,自动启动新的转换。过量程信号输出端/OR : 当|Vx|VR,过量程/OR 输出低电平。位选通控制线DS4-DS1: 选择个、十、百、千位,正脉冲有效。DS1 对应千位,DS4 对应个位。每个选通脉冲宽度为18个时钟周期,两个相应脉冲之间间隔为2个时钟周期。 图3-13 MC14433选通脉冲时序图BCD码输出线Q0-Q3: BCD码输出线。其中Q0为最低位,Q3 为最高位。当DS2、DS3和DS4选通期间,输出三位完整的BCD码数,但在DS1选通期间

31、,输出端Q0-Q3 除了表示个位的0或1外,还表示了转化值的正负极性和欠量程还是过量程其含意见表3-3。由表可知Q3 表示1/2位,Q3=“0”对应1,反之对应0。表3-3 DS1选通时Q3Q0表示的结果Q2 表示极性,Q2=“1”为正极性,反之为负极性。Q0=“1”表示超量程:当Q3=“0”时,表示过量程;当Q3=“1”时,表示欠量程;三、 MC14433与AT89C51单片机的接口设计由于MC14433的A/D转换结果是动态分时输出的BCD码,Q0Q3HE DS1DS4都不是总线式的。因此,MCS-51单片机只能通过并行I/O接口或扩展I/O接口与其相连。对于AT89C51单片机的应用系统

32、来说,MC14433可以直接和其P1口或扩展I/O口8155/8255相连。下面是MC14433与AT89C51单片机P1口直接相连的硬件接口,接口电路如图3-14所示图3-14 MC14433与AT89C51单片机P1口直接相连的硬件接口3.2.2 单片机AT89C51的介绍 为了设计此系统,我们采用了AT89C51单片机作为控制芯片,在前向通道中是一个非电信号的电量采集过程。它由传感器采集非电信号,从传感器出来经过功率放大过程,使信号放大,再经过模/数转换成为计算机能识别的数字信号,再送入计算机系统的相应端口。一、介绍8 位AT89C51 CHMOS 工艺单片机被设计用于处理高速计算和快速

33、输入/输出。MCS51 单片机典型的应用是高速事件控制系统。商业应用包括调制解调器,电动机控制系统,打印机,影印机,空调控制系统,磁盘驱动器和医疗设备。汽车工业把MCS51 单片机用于发动机控制系统,悬挂系统和反锁制动系统。AT89C51 尤其很好适用于得益于它的处理速度和增强型片上外围功能集,诸如:汽车动力控制,车辆动态悬挂,反锁制动和稳定性控制应用。由于这些决定性应用,市场需要一种可靠的具有低干扰潜伏响应的费用-效能控制器,服务大量时间和事件驱动的在实时应用需要的集成外围的能力,具有在单一程序包中高出平均处理功率的中央处理器。拥有操作不可预测的设备的经济和法律风险是很高的。一旦进入市场,尤

34、其任务决定性应用诸如自动驾驶仪或反锁制动系统,错误将是财力上所禁止的。重新设计的费用可以高达500K 美元,如果产品族享有同样内核或外围设计缺陷的话,费用会更高。另外,部件的替代品领域是极其昂贵的,因为设备要用来把模块典型地焊接成一个总体的价值比各个部件高几倍。为了缓和这些问题,在最坏的环境和电压条件下对这些单片机进行无论在部件级别还是系统级别上的综合测试是必需的。Intel Chandler 平台工程组提供了各种单片机和处理器的系统验证。这种系统的验证处理可以被分解为三个主要部分。系统的类型和应用需求决定了能够在设备上执行的测试类型。二、AT89C51提供以下标准功能:4k 字节FLASH

35、闪速存储器,128 字节内部RAM,32 个I/O 口线,2 个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 降至0Hz 的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位,如图3-15。 图3-15 AT89C51 方框图引脚功能说明(如图3-16) Vcc:电源电压GND:地P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用。作为

36、输出口用时,每位能吸收电流的方式驱动8 个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 图3-16 AT89C51引脚图P1 口:P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉

37、低时会输出一个电流(IIL)。Flash 编程和程序校验期间,P1 接受低8 位地址。P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位四肢的外部数据存储器(例如执行MOVX DPTR指令)时,P2 口送出高8 位地址数据,在访问8 位地址的外部数据存储器(例如执行MOVX RI 指令)时,P2 口线上的内容(也即特殊功能寄存器(

38、SFR)区中R2 寄存器的内容),在整个访问期间不改变。Flash 编程和程序校验时,P2 也接收高位地址和其他控制信号。P3 口:P3 是一个带有内部上拉电阻的8 位双向I/O 口,P3 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序

39、存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC 指令ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。PSEN:程序存储允许输出是外部程序存储器的读选通

40、型号,当89C51 由外部存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN 信号不出现。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000HFFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA 端状态。如EA 端为高电平(接Vcc 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12v 的编程允许电源Vpp,当然这必须是该器件使用12v 编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。

41、XTAL2:振荡器反相放大器的输出端。89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5。外接石英晶体或陶瓷谐振器及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对电容C1、C2 虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf10 Pf,而如使用陶瓷谐振器建议选择40Pf10Pf。用户也可以采用外部时钟。这种情况下,外部时钟脉

42、冲接到XTAL1 端,即内部时钟发生器的输入端XTAL2 则悬空。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM 中的内容,在Vcc 恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。89C51 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字符,要对整个芯片的EPROM 程序存储器写入一个非空字节,必须使用片擦除的方法将整个存储器的内容清楚。三、编程方法编程前,设置好地址、数据及控

43、制信号,编程单元的地址加在P1 口和P2 口的P2.0P2.3(11 位地址范围为0000H0FFFH),数据从P0口输入,引脚P2.6、P2.7 和P3.6、P3.7 的电平设置见表6,PSEB 为低电平,RST保持高电平,EA/Vpp 引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)。编程时,可采用420MHz 的时钟振荡器,89C51 编程方法如下:在地址线上加上要编程单元的地址信号在数据线上加上要写入的数据字节。激活相应的控制信号。在高电压编程方式时,将EA/Vpp 端加上+12v 编程电压。每对Flash 存储阵列写入一个字节或每写入一个程序加密

44、位,加上一个ALE/PROG 编程脉冲。改变编程单元的地址和写入的数据,重复15 步骤,知道全部文件编程结束。每个字节写入周期是自身定时的,通常约为1.5ms。数据查询89C51 单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需要读取最后写入的那个字节,则读出的数据的最高位(P0.7)是原来写入字节的最高位的反码。写周期开始后,可在任意时刻进行数据查询。1、Ready/Busy:字节编程的进度可通过Ready/Busy 输出信号检测,编程期间,ALE 变为高电平“H”后P3.4(Ready/Busy)端被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4 变为高电平表示准

45、备就绪状态。程序校验:如果加密位LB、LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用下图的电路,程序存储器的地址由P1 口和P2 口的P2.0P2.3 输入,数据由P0 口读出,PSEN 保持低电平,ALE、EA 和RST 保持高电平。校验时,P0 口必须接上10k 左右的上拉电阻。图3-17 编程电路 图3-18 校验电路2、芯片擦除:利用控制信号的正确组合并保持ALE/PROG 引脚10ms 的低电平脉冲宽度即可将EPROM 阵列(4k 字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入”1”,这步骤需在编程之前进行。3、读片内签名字节:89C51 单片机内有3 个签名字节,地址为030H、031H 和032H。于声明该器件的厂商、号和编程电压。读签名字节的过程和单元030H、031H 和032H的正常校验相仿,只需要将P3.6 和P3.7 保持低电平,返回值意义如下:(030H) = 1EH 声明产品由ATMEL 公司制造。(031H) = 51H 声明为89C51 单片机。(032H) = FFH 声明为12V 编程电压。(032H) = 05H 声明为5 编程电压。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号