停止键K2:按下该键,表示仪表停止显示状态。
参数控制键K3:持续按住该键3秒,数码管呈闪烁状态,表示仪表已进入控制值设置状态,若此时按下加一键K4或者减一键K5则该数码管数值呈连续递增或递减,直至达到需要的数值,然后再按下参数控制键进入下一个参数的设置,依次类推,完成对温湿度、二氧化碳浓度的控制参数设置,当所有的参数都设置完成后,可按复位键K6则立即退出该状态,恢复显示当前温湿度、二氧化碳浓度值。
加一键K4:(1)正常状态下按该键,全部数码呈闪烁状态,表示仪表已进入控制值查看状态,数码管显示的数值为温度控制设定值,再次点按依次显现湿度、二氧化碳浓度控制值,亦可点按复位键K6则立即退出该状态,恢复显示当前温湿度、二氧化碳值。(2)在控制值设置状态下,该键可对被选状态(闪烁状态)数码管进行数值递增设置,每按一次该键,设定值的末尾位就会加一。连续按住3秒以上,设定值会迅速增加。
减一键K5:每按一次该键,设定值的末尾位就会自动减去一,连续按住3秒以上,设定值会迅速减少。
复位键K6:在控制值设置状态、控制值查看状态时,按下该键可立即恢复正常显示状态。
键盘实质上是一种按键开关的集合,它是利用触点的闭合或断开来实现其功能的。当某按键按下时,其输出电平并非立刻降为零,而是有一个抖动过程.当按键松开时,在这段过程中信号也会出现抖动,抖动的时间视键盘的机械特性和操作者不同而不同,一般为(5-10)ms,而CUP的操作很快,因此这种抖动就容易对按键的识别产生影响,为了防止因按键抖动而导致系统的误操作,需要采取某种手段实现键盘的“去抖动”功能。抖动的方法有多种,如采用软件延时查询的方法或采用硬件处理的方法。键盘电路设计如图3-15所示。
图3-15 键盘电路设计
3.10.2 显示电路设计
单片机并行/10口数量总是有限的,有时并行口需作其他更重要的用途,一般也不会用数量众多的并行1/0口专门来驱动显示电路,本文介绍了用TA89S52的串行通信口加上少量10/及扩展芯片用于显示电路,89S52的串行通信口是一个功能强大的通信口,而且是相当好用的通信口,用于显示驱动电路非常合适,下面就根据这种需要设计一个用串行通信口线加上少量10/口,设计一个6位LED显示电路。多个LED可接成共阳极或共阴极形式,通过驱动器接到系统的并行输出口上,由CUP输出适当的代码来点亮或熄灭相应的LED。最常用的一种显示器是由七段条形的LED组成,点亮适当的字段,就可以显示出不同的数字。此外不少七段显示器在下脚带有一个圆形的LED作小数点用,这样一共有八段,恰好使用与8位的并行系统。
图3-16所示为共阳极接法中,当各段阴极上的电平为“0”时,该段就点亮,电平为“1”时,该段就熄灭。为了在LED上显示不同的数字或字符,首先要把数字或字符转换成相应的段码,由于电路接法不同,LDE显示器形成的段码也不同,将显示数字或字符转换成段码的过程可以通过硬件译码或软件译码来实现。但如果要显示多位数字或字符时,采用硬件译码就需要许多的硬件译码器,这无论是从仪表还是从仪表的耗电量来说都是不合适的。因此,我们在设计中采用软件译码的多位LED扫描显示接口电路,它的设计思想是预先在内存中存贮一张七位LED段码表根据需要显示的数字或字符去查表取的相应的段码,将找到的段码加到七段LED的驱动器上即可显示出字符或数字。具体显示时,采用扫描的方法控制哪一位LED被点亮,在本接口中先从最后一位LDE开始,逐个左移,直到最后一个LDE显示完毕,然后重复上述过程。由于人眼的视觉暂留,看起来不会有闪动感觉。
1.74LS240驱动器简介
74LS240输出电流可以达到24mA,而一般TTL芯片输出电流仅仅8mA。74ls240和245是三态总线转换器件,一般用于总线的电平匹配问题,比如5v器件要与3.3v器件进行数据交换时,如果存在TTL电平和CMOS电平不兼容的情
况中间用一片240或245可以解决问题,240为单向传送,245为双向传送。
2.74LS240驱动器的特点 (1)具有优异的性能价格比; (2)集成度高、体积小、可靠性高; (3) 控制功能强; (4) 低电压、低功耗。
总体硬件电路图如图
4. 总体硬件电路图
4-1。
图3-16 LED显示
3456789101112VCC200+5V1KQ+5VVREF(+)CLKVREF(-)DP2.1P2.2P2.3RXDA2A174LS373A0TXDP1.0-P1.7P0.0-P0.7EA/VPPPSENP2.0IO/MRDWRALEPC0PC1XTAL1Y111.0592MHZXTAL1R1C20.1uFC3HS1101RSTR2C3R410uF10KC4INT0T0T1VSSVCCP2.4CEP2.6P2.5PC2PC3PC4TIMINTIMOUTPC51K1KVCCVSSPB0PB1PB2PB3PB4PB5PB6PB7RSTPA0-PA7+5V10K10K10K10K10K10KAQCKADC0809ADDCR15ADDBIN7ADDAIN6R17R16R15R16IN5D0-D7IN4STARTIN3ALEIN2IN1OEIN0EOCC1+5V22PFC222PF8155AD0-AD7启动键K1停止键K2参数控制键K3加一键K4减一键K5复位键K6_TGS4160R14+_+74LS240++AT89S52RDP2.7WRINT1ALE/PROGLED5LED4LED3LED2LED1LED0+5VR11R13TGS4160R12_+R18_+R1100KC10.22uF1234567141312111098R31MBNE556R215K74HC244470+5VLED+5V+12V4.7K接触器常开SSR- - - - - -点温计负载~220V+12V330TLP521-44.7KVCC6.5V4.7KC10.1uFC40.1uFC50.5uFDS18B20SSRLM78H05VINVOUTC2C7220uF0.1uFC60.1uF0.1uFC3R1VR1C 图4-1 总体硬件电路图 说明:本设计选用性价比较高的温度、湿度、二氧化碳传感器分别为DS18B20、HS1101、TGS4160,并通过基本的测量放大电路实现信号的测量与放大,其中二氧化碳传感器输出的为模拟量,必须经过ADC0809转化为数字量送入单片机,温D度传感器输出数字量直接送入单片机,湿度传感器输出的信号必须经过NE556整形电路送入单片机,通过键盘显示实现参数的设定,通过报警电路控制负载输出达到控制参数的目的。
5.1控制系统的程序设计 5. 软件程序