《数字式压力流量单片机测控系统.doc》由会员分享,可在线阅读,更多相关《数字式压力流量单片机测控系统.doc(36页珍藏版)》请在三一办公上搜索。
1、毕业设计说明书设计题目: 数字式压力流量单片机测控系统 压力部分院(系) 专业年级 学生姓名 学号 指导教师 职称 设计地点 日 期 2012年5月5日 数字式压力流量单片机测控系统压力部分摘 要: 流体的压力和流量是工业生产过程中的重要参数,通过一个管道流体压力和流量测控系统,能同时检测压力和流量这两种物理量,可以大大提高检测效率和检测的准确性,使仪表的调校和维护也变得简单。利用 MCS-51系列单片机设计一个流体压力和流量测控系统,使系统具有压力和流量两个通道的信息输入和处理功能。本文介绍了基于单片机的压力测量通道,它以AT89C51为核心,通过扩散硅压力传感器对压力信号进行采集,再经过运
2、算放大器进行信号放大,送至8位AD转换器,将模拟信号转换成单片机可以识别的数字信号,送至单片机进行处理,用LED显示数值,最终实现压力的测量。关键词:压力;AT89C51单片机;压力传感器;流体Abstract: Fluid pressure and flow rate are important parameters in the industrial production process,a fluid pressure and flow measurement and control system can detect pressure and flow of these two phy
3、sical quantities,can greatly improve the detection efficiency and accuracy of detection,so that the tuning of the instrument and maintenance easierThe design is based on measurement and display of AT89C51 single-chip,through the pressure sensors converting the pressure into electrical signalsAfter u
4、sing operational amplifier,the signal is amplified,and transferred to the 8-bit A/D converterThen the analog signal is converted into digital signals which can be identified by single-chip and then converted by single-chip into the information which can be displayed on LED monitor,and eventually ach
5、ieve the pressure measurementKey words: pressure; AT89C51 single-chip;pressure sensor; A/D converter; fluid目 录第一章 绪论.11.1 研究背景11.2 测量压力的意义2第二章 硬件设计.32.1 总体设计方案32.2 压力传感器42.3 信号放大电路72.4 A/D转换器92.5 AT89C51单片机一三2.6键盘设计142.7 显示器一五第三章 软件设计.一八3.1软件主程序一八3.2 A/D转换器的程序设计一八3.3 单片机与键盘的接口程序设计203.4 LED数码管显示程序设计2
6、1第四章 总结.23参考文献.24致谢.26附件A 硬件电路图.27附录B 程序清单28第一章 绪论1.1 研究背景近年来,随着微型计算机的发展,计算机的使用在人们的工作和日常生活中越来越普遍。工业过程控制是计算机的一个重要应用领域。其中由单片机构成的嵌入式系统已经越来越受到人们的关注。现在可以毫不夸张地说,没有微型计算机的仪器不能称为先进的仪器,没有微型计算机的控制系统不能称其为现代控制系统的时代已经到来。压力测量对实时监测和安全生产具有重要的意义。在工业生产中,为了高效、安全生产,必须有效控制生产过程中的诸如压力、流量、温度等主要参数。由于压力控制在生产过程中起着决定性的安全作用,因此有必
7、要准确测量压力。为了测到不同环境下的压力值,压力测量仪表按工作原理分为液柱式、弹性式、负荷式和电测式等类型。 液压式压力测量仪表常称为液柱式压力计,它是以一定高度的液柱所产生的压力,与被测压力相平衡的原理测量压力的。大多是一根直的或弯成 U形的玻璃管,其中充以工作液体。常用的工作液体为蒸馏水、水银和酒精。因玻璃管强度不高,并受读数限制,因此所测压力一般不超过0.3兆帕。它的特点是灵敏度高,因此主要用作实验室中的低压基准仪表,以校验工作用压力测量仪表。由于工作液体的重度在环境温度、重力加速度改变时会发生变化,对测量的结果常需要进行温度和重力加速度等方面的修正。 弹性式压力测量仪表是利用各种不同形
8、状的弹性元件,在压力下产生变形的原理制成的压力测量仪表。弹性式压力测量仪表按采用的弹性元件不同,可分为弹簧管压力表、膜片压力表、膜盒压力表和波纹管压力表等;按功能不同分为指示式压力表、电接点压力表和远传压力表等。这类仪表的特点是结构简单,结实耐用,测量范围宽,是压力测量仪表中应用最多的一种。 负荷式压力测量仪表常称为负荷式压力计,它是直接按压力的定义制作的,常见的有活塞式压力计、浮球式压力计和钟罩式压力计。由于活塞和砝码均可精确加工和测量,因此这类压力计的误差很小,主要作为压力基准仪表使用,测量范围从数十帕至2500兆帕。 电测式压力测量仪表是利用金属或半导体的物理特性,直接将压力转换为电压、
9、电流信号或频率信号输出,或是通过电阻应变片等,将弹性体的形变转换为电压、电流信号输出。代表性产品有压电式、压阻式、振频式、电容式和应变式等压力传感器所构成的电测式压力测量仪表。精确度可达0.02级,测量范围从数十帕至700兆帕不等。 压阻式压力传感器是利用半导体材料硅在受压后,电阻率改变与所受压力有一定关系的原理制做的。用集成电路工艺在单晶硅膜片的特定晶向上扩散一组等值应变电阻,将电阻接成电桥形式。当压力发生变化时,单晶硅产生应变,应变使电阻值发生与被测压力成比例的变化,电桥失去平衡,输出一电压信号至显示仪表显示。随着硅、微机械加工技术、超大集成电路技术和材料制备与特性研究工作的进展,使得压力
10、传感器在光纤传感器的批量生产、高温硅压阻及压电结传感器的应用成为可能,在生物医学、微型机械等领域,压力传感器有着广泛的应用前景。 从世界范围来看,压力传感器的发展日渐趋于小型化、智能化、集成化、广泛化、标准化,主要集中在两个方面:一是利用微机械加工技术和十分成熟的集成化技术,使得压力传感器的体积尽可能的小,以适应一些特殊场合的需要,或便于与计算机连接而开发智能化压力传感器。二是利用新兴的半导体材料,如SiC,多孔硅等,或是对惠斯通电路加以改进,在电桥结构推陈出新,如:双惠斯通电桥电路、八臂电桥电路等。1.2 测量压力的意义压力是过程生产中四大重要参数之一,它在检测生产过程能否完全可靠正常运行的
11、重要参数指标,尤其在化工生产过程中压力这一参数更显得尤为重要。在化工生产过程中,压力即影响物料平衡,也影响化学反应速度,是标志生产过程能否正常进行的重要参数。安全生产的需要,从确保安全生产的角度,压力检测也是非常重要的。如:确保压力容器内的压力在安全指标之内,确保易燃易爆介质的压力不超标。在其他工业生产中压力检测于控制也非常重要。常可见到一些工业装置上都有压力表。如:汽包压力,当压力过高容易爆炸,压力低动力不足;还有炉膛压力;一般维持在0mmH2O,高了炉门缝冒烟尘,低了膛内出现负压降低温度。若维持在10 mmH2O,节能20%。压力也是间接测量物位的手段,用孔板测量流量仅能产生差压,而这个差
12、压靠压力检测的方法来测取才能最终求出流量。液面的高度可以靠测取压力的大小来表示。总之,压力检测是一般成产过程所不可缺少的环节,只有按工艺要求保持压力的稳定,才能维持生产的正常进行。所以压力准确测量在实际过程是非常重要的。第二章 硬件设计2.1 总体设计方案 利用 MCS-51系列单片机设计一个流体压力和流量测控系统,使系统具有压力和流量两个通道的信息输入和处理功能。本次设计是以单片机组成的压力测量,系统中必须有前向通道作为电信号的输入通道,用来采集输入信息。压力的测量,需要传感器,利用传感器将压力转换成电信号后,再经放大并经A/D转换为数字量后才能由计算机进行有效处理。然后通过键盘控制LED显
13、示的两个物理参数。它的原理图如图1.1所示。单片机流量传感器放大电路A/D转换器压力传感器LED显示器按键图2.1 原理方框图压力是工业生产中的重要参数之一,为了保证生产正常运行,必须对压力进行测量和控制,但需说明的是,这里所说的压力,实际上是物理概念中的压强,即垂直作用在单位面积上的力。在压力测量中,常用绝对压力、表压力、负压力或真空度之分。所谓绝对压力是指被测介质作用在容器单位面积上的全部压力,用符号pj表示。用来测量绝对压力的仪表称为绝对压力表。地面上的空气柱所产生的平均压力称为大气压力,用符号pq表示。用来测量大气气压力的仪表叫气压表。绝对压力与大气压力之差,称为表压力,用符号pb表示
14、,即pb=pj-pq。当绝对压力值小于大气压力值时,表压力为负值(即负压力),此负压力值的绝对值,称为真空度,用符号pz表示。压力是工业生产中的重要参数,如高压容器的压力超过额定值时便是不安全的,必须进行测量和控制。在某些工业生产过程中,压力还直接影响产品的质量和生产效率,如生产合成氨时,氮和氢不仅须在一定的压力下合成,而且压力的大小直接影响产量高低。此外,在一定的条件下,测量压力还可间接得出温度、流量和液位等参数。1643年,意大利人托里拆利首先测定标准的大气压力值为760毫米汞柱,奠定了液柱式压力测量仪表的基础。一八47年,法国人波登制成波登管压力表,由于结构简单、实用,很快在工业中获得广
15、泛应用,一直是常用的压力测量仪表。二十世纪上半叶出现了远传压力表和电接点压力表,从而解决了压力测量值的远距离传送和压力的报警、控制等问题。60年代以后,为适应工业控制、航空工业和医学测试等方面的要求,压力测量仪表日益向体积轻巧、耐高温、耐冲击、耐振动和数字显示等方向发展。2.2 压力传感器2.2.1 压力传感器的选择压力传感器是由各种压力敏感元件将被测压力信号转换成容易测量的电信号作输出的仪器。本设计采用扩散硅压力变送器,扩散硅压力变送器广泛用于石油、海洋、水库、河流、化工、冶金、电力、科研等企事业单位,实现对流体压力的测量,并适用于各种全天候环境及腐蚀性流体。另外它还具有准确度高、稳定性好,
16、对系统在使用温度范围内的综合性温度漂移、非线性进行精细地补偿,因此在使用温度范围内非线性小,温度稳定性好。它具有420mA的DC标准电流信号输出,二线性工作,带负载抗干扰能力强,体积小、重量轻,安装、调试、维护、使用方便。参数指标如下:被测介质:与316不锈钢兼容的液体、气体、蒸汽测量范围:-95kPa60Mpa输出:420mA DC 二线制精度:0.25%FS 0.5% FS电源电压:1224V DC机械保护:IP65防爆等级:iaCT5使用温度:-10+80存储温度:-40+125过载极限:额定量程的1.53倍相对湿度:小于95%负载电阻:不大于750欧姆安装位置:无影响零点温度系数:小于
17、0.02%满程温度系数:小于0.02%2.2.2扩散硅压力变送器的工作原理扩散硅压力传感器的工作原理是:被测介质的压力直接作用于传感器的膜片上(不锈钢或陶瓷),使膜片产生与介质压力成正比的微位移,使传感器的电阻值发生变化,用电子线路检测这一变化,并转换输出一个对应于这一压力的标准测量信号。2.2.3扩散型半导体应变片的基本结构 图2.2 这种应变片是将 P型杂质扩散到一个高电阻N型硅基底上,形成一层极薄的P型导电层,然后用超声波或热压焊法焊接引线而制成(图2.1)。它的优点是稳定性好,机械滞后和蠕变小,电阻温度系数也比一般体型半导体应变片小一个数量级。缺点是由于存在P-N结,当温度升高时,绝缘
18、电阻大为下降。新型固态压阻式传感器中的敏感元件硅梁和硅杯等就是用扩散法制成的。2.3压力变送器的测量电路。图2.3在由半导体应变片组成的传感器中,由四个应变片组成全桥电路,将四个应变片粘贴在弹性元件上,其中两个在工作时受拉伸,而另外两个则受压缩,这样可以使电桥输出的灵敏度最高。由于电桥的供电电源既可采用恒流源,也可采用恒压源,所以桥路输出的电压与应变片阻值变化的关系也就不同。对于恒压源来说,其关系是:UOUT=U.R/(R+R1) (式2.1)式中: UOUT-电桥输出电压(V);U-电桥供电电压(V);R-应变片阻值变化量();R1-应变片由于环境温度变化而产生的阻值变化量();R-应变片阻
19、值()。上式说明电桥输出电压与R/R成正比,同时也说明采用恒压源供电时,桥路输出电压受环境温度的影响。对恒流源来讲,其关系是:UOUT=I.R式中:I电桥的供电电流(A)上式说明电桥输出电压与R成正比,且环境温度的变化对其没有影响。2.2.4 非线性误差和温度补偿由式(2.1)的线性关系是在应变片的参数变化很小,极R R1的情况下得出的,若应变片承受的压力太大,则上述假设不成立,电桥的输出电压应变之间成非线性关系。在这种情况下,用按线性关系刻度的仪表进行测量必然带来非线性误差。为了消除非线性误差,在实际应用中,常采用半桥差动或全桥差动电路,如图2.3所示,以改善非线性误差和提高输出灵敏度。 (
20、a)半桥差动电路 (b) 全桥差动电路图2.4 差动电桥图2.4(a)为半桥差动电路,在传感器中经常使用这种方法。粘贴应变片时,使两个应变片一个受压,一个受拉。应变符号相反,工作时将两个应变片接入电桥的相邻两臂。设电桥在初始时所示平衡的,且为等臂电桥,考虑到R=R1=R2 则得半桥差动电路的输出电压为 (式2.2) 由上式可见,半桥差动电路不仅可以消除非线性误差,而且还使电桥的输出灵敏度提高了一倍,同时还能起到温度补偿的作用。如果按图2.4(b)所示构成全桥差动电路同样考虑到 R=R1=R2=R3=R4时得全桥差动电路的输出电压为 (式2.3) 可见,全桥的电压灵敏度比单臂工作时的灵敏度提高了
21、4倍非线性误差也得到了消除,同时还具有温度补偿的作用,该电路也得到了广泛的应用。2.3 信号放大电路2.3.1放大器的选择被测的非电量经传感器得到的电信号幅度很小,无法进行A/D转换,必须对这些模拟电信号进行放大处理。为使电路简单便于调试,本设计采用三运放放大器,因为在具有较大共模电压的条件下,仪表放大器能够对很微弱的差分电压信号进行放大,并且具有很高的输入阻抗。这些特性使其受到众多应用的欢迎,广泛用于测量压力和温度的应变仪电桥接口、热电耦温度检测和各种低边、高边电流检测。2.3.2放大电路本次设计的放大器采用了三运放,因为它具有高共模抑制比的放大电路。它由三个集成运算放大器组成,如图2.5所
22、示。2.5 三运放高共摸抑制比放大电路其中A1和A2为两个性能一致(主要指输入阻抗,共模抑制比和增益)的同相输入通用集成运算放大器,构成平衡对称差动放大输入级,A3构成双端输入单端输出的输出级,用来进一步抑制A1和A2的共模信号,并适应接地负载的需要。由于每个放大器求和点的电压等于施加在各自正输入端的电压,因此,整个差分输入电压现在都呈现在RG两端。因为输入电压经过放大后(在A1 和A2的输出端)的差分电压呈现在R5,RG和R6这三只电阻上,所以差分增益可以通过仅改变RG进行调整。 这种连接有另外一个优点:一旦这个减法器电路的增益用比率匹配的电阻器设定后,在改变增益时不再对电阻匹配有任何要求。
23、如果R5 R6,R1 R3和R2 R4,则VOUT = (VIN2VIN1)(12R5/RG)(R2/R1)。由于RG两端的电压等于VIN,所以流过RG的电流等于VIN/RG,因此输入信号将通过A1 和A2 获得增益并得到放大。然而须注意的是对加到放大器输入端的共模电压在RG两端具有相同的电位,从而不会在RG上产生电流。由于没有电流流过RG(也就无电流流过R5和R6),放大器A1 和A2 将作为单位增益跟随器而工作。因此,共模信号将以单位增益通过输入缓冲器,而差分电压将按1(2 RF/RG)的增益系数被放大。这也就意味着该电路的共模抑制比相比与原来的差分电路增大了1(2 RF/RG)倍。 在理
24、论上表明,得到所要求的前端增益(由RG来决定),而不增加共模增益和误差,即差分信号将按增益成比例增加,而共模误差则不然,所以比率增益(差分输入电压)/(共模误差电压)将增大。因此CMR理论上直接与增益成比例增加,这是一个非常有用的特性。 最后,由于结构上的对称性,输入放大器的共模误差,如果它们跟踪,将被输出级的减法器消除。这包括诸如共模抑制随频率变换的误差。2.4 A/D转换器模拟量输入通道的任务是将模拟量转换成数字量。能够完成这一任务的器件称之为模数转换器,简称A/D转换器。本次设计的中A/D转换器的任务是将放大器输出的模拟信号转换成数字量进行输出。2.4.1 A/D转换器的选择目前单片机在
25、电子产品中已得到广泛应用,许多类型的单片机内部已带有A/D转换电路,但此类单片机会比无A/D转换功能的单片机在价格上高几元甚至很多,我们采用一个普通的单片机加上一个A/D转换器,实现A/D转换的功能,这里A/D转换器可选ADC0832、ADC0809等;串行和并行接口模式是A/D转换器诸多分类中的一种,但却是应用中器件选择的一个重要指标。在同样的转换分辨率及转换速度的前提下,不同的接口方式会对电路结构及采用周期产生影响。对A/D转换器的选择我们通过比较ADC0809和ADC0832来决定。这两个转换器都是常见的A/D转换器,其中ADC0809是并行接口A/D转换器,ADC0832是串行接口A/
26、D转换器。我们所做的设计选择ADC0832,A/D转换在单片机接口中应用广泛 ,串行 A/D转换器具有功耗低、性价比较高、芯片引脚少等特点。2.4.2 ADC08321、A/D转换器的简介在这次设计中我们A/D转换器选用两通道输入的八位ADC0832,ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。8P、14PDIP(双列直插)、PICC多种封装。其内部电源输入与参考电压的复用,使
27、得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变得更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。有关引脚说明如下: CS 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。正常情况下ADC0832 与单片机的接
28、口应为4条数据线,分别是CS、CLK、DO、DI。它的结构示意图如图2.6所示。图2.6 ADC0832结构示意图2、配置位说明ADC0832工作时,模拟通道的选择及单端输入和差分输入的选择,都取决于输入时序的配置位。当差输入时,要分配输入通道的极性,两个输入通道的任何一个通道都可作为正极或负极。ADC0832的配置位逻辑表如表2.1所示。表2.1的配置位逻辑表表中“+”表示输入通道的端点为正极性;“-”表示输入端点为负极性H或L表示高、低电平。输入配置位时,高位(CH0)在前,低位(CH1 )在后。3、ADC0832工作时序图当 CS由高变低时,选中ADC0832 。在时钟的上升沿,DI 端
29、的数据移入 ADC0832内部的多路地址移位寄存器。在第一个时钟期间,DI为高,表示启动位,紧接着输入两位配置位。当输入启动位和配置位后,选通输入模拟通道,转换开始。转换开始后,经过一个时钟周期延接着在第一个时钟周期延迟,以使选定的通道稳定。ADC0832紧接着在第4个时钟下降沿输出转换数据。数据输出时先输出最高位(D7D0)输出完转换结果后,又以最低位开始重新遍数据(D7D0 ),两次发送的最低位共用。当片选CS为高时,内部所有寄存器清零,输出变为高阻态。如果要再进行一次模数转换,片选必须再次从高向低跳变,后面再输入启动位和配置位。如图2.7。图2.7 ADC083工作时序图4、单片机对AD
30、C0832的控制原理图2.8 ADC0832与单片机的接口电路正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。 当ADC0832未工作时,其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端
31、必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。其功能项见表2.2。表2.2ADC0832的功能表MUX AddressChannelSGL/DIFODD/SIGN0110+11+MUX AddressChannelSGL/DIFODD/SIGN0110+-11-+如表2.2所示,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正
32、输入端IN+进行输入。到第3个脉冲的下沉之后,DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。作为单通道模拟信号输入时ADC0832的输入电压是05V且8位分辨率时的电压
33、精度为19.53mV。如果作为由IN+与IN-输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。 2.5 AT89C51单片机 AT89C51是一种带4K字节闪烁可编程可擦除只读存储(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
34、由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本,AT89C51单机为很多嵌入式控制系统提供灵活性高且廉价的方案。AT89C51单片机的结构如图2.9。主要特性如下:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年 全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 图2.9 AT89C51单片机的结构示意图2.6键盘设计2.6.1键盘的选
35、择键盘按照其内部不同电路结构,可分为编码键盘和非编码键盘二种。编码键盘本身除了带有普通按键之外,还包括产生键码的硬件电路。使用时,只要按下编码键盘的某一个键,硬件逻辑会自动提供被按下的键的键码,使用十分方便,但价格较贵。由非编码键盘组成的简单硬件电路,仅提供各个键被按下的信息,其他工作由软件来实现。由于价格便宜,而且使用灵活,因此广泛应用在单片机应用系统中。非编码键盘按照其键盘排列的结构,又可分为独立式按键和矩阵式按键两种类型。独立式适合按键数量较少者,结构简单,使用方便。矩阵式适合按键较多,结构则较复杂 。 本系统设计四个按键,选择采用独立式按键结构。独立式键盘相互独立,每个按键占用一根I/
36、O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态。如图2.9所示这种按键软件程序简单,但占用I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中。2.6.2键盘的接口电路 键盘共设有4个键,通过I/0口连接。将每个按钮的一端接到单片机的I/O口,四个按钮分别接到P1.0 、P1.1、P1.2和P1.3,另一端接地,如图2.10所示,。当某个键按下时,低电平有效。4个键S1-S4的功能定义如表2-3所示。表2-3按键功能表按键键名功能S1开关键点亮熄灭显示器S2复位键使系统复位S3压力键显示压力值S4流量键显示流量值图2.10 单片机与按键接口电路2.7 显示器
37、2.7.1 LED显示器的选择在单片机应用系统中,数码管显示器显示常用两种办法:静态显示和动态扫描显示。基于显示位数较多,为了使得电路结构简单,本设计选择动态扫描显示。所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。在同一时刻只有一位显示器在工作(点亮),利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符“同时”显示。连接电路如图2.11所示。图2.11四位动态显示的电路显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。动态显示器的优点是节省硬件资源,成本
38、较低。但在控制系统运行过程中,要保证显示器正常显示,CPU必需每隔一段时间执行一次显示子程序,占用CPU大量时间,降低了CPU的工作效率,同时显示亮度较静态显示器低。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O口(称为扫描口或字位口),控制各位LED显示器所显示的字形也需要一个8位口(称为数据)。七段LED显示器需要由驱动电路驱动。在七段LED显示器中,共阳极显示器,用低电平驱动;共阴极显示器,用高电平驱动。2.7.2 LED显示接口电路本次设计是利用AT89C51单片机串行口和四位LED动态显示的一种方法,利用该方法设计的LED显示系统由LED显示器,同时用74LS24
39、5和74LS04扩展芯片组成,具有硬件结构简单、软件编程容易和价格低廉等特点。 由四个共阴极LED数码管构成显示器,AT89C51的P0口输出显示段,P2口输出位码。四位数码管显示四位整数,显示压力范围为09999kpa,测量精度为1kpa,四位显示位分别表示千、百、十、个。电路连接结构如图2.12。图2.12此电路中,74LS245用于驱动LED的七位段码,七位LED相应的ag段连在一起,它们的公共端分别连至74LS04反相驱动的输出端。动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以取10ms为宜,这
40、就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。详细程序见附件B。第三章 软件设计系统软件设计采用模块化结构,采用汇编语言编程,整个程序由主程序、显示、键盘扫描、A/ D 转换处理等子程序模块组成。3.1软件主程序本系统应用软件采用了MCS-51汇编语言编程,模块化、结构化的设计方法,整个系统的主程序如图3.1所示。初始化主程序循环检测按键及时处理主程序完成二次循环开始显示子程序图3.1 主程序流程图3.2 A/D转换器的程序设计单片机控制系统中通常要用到A/D转换,根据输出格式,常用的A/D转换方式可分为并行A/D和串行A/D。并行方式一般在转换
41、后可直接接收,但芯片的引脚比较多;串行方式所用芯片引脚少,封装小,但需要软件处理才能得到所需要的数据。可是单片机I/O引脚本来就不多,使用串行器件可以节省I/O资源。ADC0832是8位逐次逼近模数转换器,可支持两个单端输入通道和一个差分输入通道。相同功能的器件还有ADC0834,ADC0838,ADC0831。所不同的是它们的输入通道数量不同。它们的通道选择和配置都是通过软件设置。3.2.1 ADC0832芯片接口程序的编写单片机串行工作方式时 ,串行口是作为同步移位寄存器使用。这时以 P3.3端作为数据移位的入口和出口 ,而由P3.6端提供移位时钟脉冲。单片机串行口方式 0与 ADC083
42、2的接口,单片机P2.0接ADC0832的CS,P3.6接0832的CLK作为时钟信号输出端 ,P3.7接0832的DO和DI作为启动位、配置位的发送端以及 A/D转换后输出数据的接收端。由于 ADC0832在CS变低后的前3个周期内,DO端为高阻态;转换开始后,DI线禁止,因此 ,DI端和DO端可连接在一起。ADC0832的时钟频率最高为 400kHz,单片机晶振可选用 4MHz,在 TXD的输出频率为4MHz/12 =333. 3kHz,符合要求。ADC0832输出的串行数据共一五位 ,由两段8位数据组成 ,前一段是最高位在先 ,后一段是最高位在后 ,两段数据的最低位共用。只有在时钟的下降
43、沿 ,ADC0832的串行数据才移出一位。由单片机控制时钟信号的发送 ,并由P3.6发出 ,以达到控制 ADC0832输出数据位的目的。为了得到一列完整的8位数据 ,单片机分两次采集含有不同位的数据 ,再合成一列完整的8位数据。3.2.2 ADC0832子程序流程图ADC0832通过内部多路器来控制选择通道,处理器的控制命令通过DI引脚输入。如下流程图所示,当模拟信号输入开始后,首先是CS使能信号也就是片选信号有效,这时是低电平有效,如果片选是高电平时停止转换。当时钟信号有效时输入通道的控制字来确定所选择的通道,读取数据后就开始将模拟量转换位数字量,A/D转换结束后,单片机读取数值,如果没转换
44、完,又回到使能开始。开始使能芯片产生时钟信号输入通道控制字启动A/D转换A/D转换结束读取转换数据值结束YN图3.2 ADC0832数据读取程序流程3.3 单片机与键盘的接口程序设计软件方法是指编制一段延时时间为10ms (important) 的延时程序,在第一次检测到有键按下时,执行这段延时子程序,使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状态电平,则确认为该键已稳定按下,否则无键按下,从而消除了抖动的影响。同理,在检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。AT89C51单片机的P1口用作键盘I/O口,按四个按键中的任一键都对应一个特定功能,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态。