345 U?123456781312151431191891716P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWR8051RXDTXDALE/PPSEN10113029P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433323.3kΩ2122232425262728Q?NPNR1BUZZERU?5.6kΩR2+5VVss 21图3.12 蜂鸣报警电路 343.6 控制电路的设计 控制电路在这里起到非常重要的作用,在水位报警中报警到水罐中水位的高度,当水位高于警戒水位时,电动机停转,水泵停止对水罐供水;当水位低于警戒水位时,电动机起转,水泵开始对水罐供水。其电路图如图3.13所示。 U?123456781312151431191891716P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWR8051RXDTXDALE/PPSEN10113029+5VP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728Q?PNP220VVssD?DIODEKAMG?MOTOR ACVss 3.13 控制电路电路图 TitleSizeBDate:File:4520-May-2010F:\\protel\\报警电路.ddbNumber 3.7 键盘显示电路设计 3.7.1 键盘电路简介 3单片机应用系统中,键盘扫描只是单片机的工作内容之一。单片机在忙于各种工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式键盘工作方式的选 20
取应根据实际应用系统中CPU工作的繁忙情况而定,其原则是既要保证能及时响应按键操作,又不要过多占用CPU的工作时间。
键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都是通过键盘向单片机系统输入命令、地址和数据,实现简单的人机通信。
键盘实际上式一组按键开关的集合,平均按键开关总是处于断开状态,当按下键时它才闭合。当按键开关未按下时,开关处于断开状态,输出为高电平;当按键开关按下时,开关处于闭合状态,输出为低电平。通常按键开关为机械式开关,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,断开时也不会马上断开,因而在闭合和断开的瞬间都会伴随着一串的抖动,如图所。抖动时间的长短由按键开关的机械特性决定,一般为5~10ms,这种抖动对于人来说是感觉不到的,但对于单片机来说,则是完全可以感应到的。键盘的处理主要涉及2个方面的内容:
①按键的识别
由于键位未按下,输出为高电平,键位按下,输出为低电平,因此可以通过检测输出线上的高/低来判断键位有无按下。如果检测到位高电平,说明没有按下;如果检测到为低电平,则说明该线路上的键位已按下。
②抖动的消除
按键时,无论按下键位还是放开键位都会产生抖动,按下键位时产生的抖动成为前沿抖动,松开键位时产生的抖动成为后沿抖动。如果对抖动不作处理,必须会出现暗一次键输入多次,为确保按一次键只确认一次,必须消除按键抖动。消除按键抖动通常有两种方法:硬件消抖和软件消抖。
硬件消抖是通过在按键输出电路上加一定的硬件线路来消除抖动,一般采用R-S出发器或单稳态电路。经过图中的R-S触发器消抖后,输出端的信号就为标准的矩形波。
软件消抖是利用延时来跳过抖动过程,当判断有键按下后,先执行一段大于10ms的延时程序后再去判断按下的键位是哪一个,从而消除前沿抖动的影响。对于后沿抖动,只需在接受一个键位后,经过一定时间再去检测有无按键,这样就自然跳过后抖动时间而消除后沿抖动了,键盘处理过程往往是采用这样的方式。
21
3.7.2 键盘电路的分类
键盘的结构形式一般有两种:独立式键盘和矩阵式键盘。
①独立式键盘与单片机的接口
独立式键盘就是各按键相互独立,每个按键各接一根I/O接口线,每根I/O接口线上的按键都不会影响其他的I/O接口线。因此,通过检测I/O接口线的电平状态就可以很容易地判断出哪个按键被按下了。
独立式键盘的电路配置灵活,软件简单。但每个按键要占用一根I/O接口线,在按键数量较多时,I/O接口线浪费很大。故在按键数量不多时,常采用这种形式。
②矩阵式键盘与单片机的接口
矩阵式键盘又叫行列式键盘。用I/O接口线组成行、列结构,键位设置在行、列的交点上。例如4?4的行、列结构可组成16个键的键盘,比一个键位用一根I/O接口线的独立式键盘少了一般的I/O接口线。而且键位越多,情况越明显。因此,在按键数量较多时,往往采用矩阵式键盘。
行列式键盘适用于按键数目较多的场合,它由行线和列线组成,按键位于行列的交叉点上。很明显,在按键数目较多的场,行列式键盘与独立式键盘相比,要节省很多的I/O口线。
对于独立式键盘,由于按键的数目比较少,可根据需要灵活编码。对于行列式键盘,按键的位置有行号和列号唯一确定,所以常常采用依次排列键号的方式对键盘进行编码。
在本设计中由于按键较多,所以采用矩阵式键盘。它是采用8155并行扩展接口构成的键盘显示接口电路。下面简要介绍的8155的结构与引脚。
3.7.3 8155的结构与引脚
8155的内部结构如图6―12(b)所示。它含有1个256字节的RAM、1个14位定时/计数器以及3个并行I/O口,其中A口、B口均为8位,C口为6位。A口、B口既可作为基本I/O口,也可作为选通I/O口;C口除可作为基本I/O口外,还可用作A口、B口的应答控制联络信号线。此外,8155内部还有一个控制寄存器组,用来存放控制命令字。8155引脚图如图3.14所示。
22
12345D U?1213141516171819AD0AD1AD2AD3AD4AD5AD6AD7PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5212223242526272829303132333435363738391258910711C6CERDWRIO/MALETMROUT3TMRIN4RESET8155 图3.14 8155的引脚图 8155引脚功能 B8155为40引脚双列直插式封装芯片。现将其各引脚的功能简介如下: AD0~AD7:地址/数据复用线。 它与8031单片机的P0口直接相连。8155和CPU之间的地址、数据、命令及状态信号都通过这组信号线传送。 CE:片选信号,输入,低电平有效。 IO/M:RAM和I/O口选择线。当IO/M=1时,选中I/O口;当IO/M =0时,A选中RAM。 ALE:地址锁存信号。 RD:读选通信号,输入,低电平有效。 1TitleSizeBDate:File:345ER:写选通信号,输入,低电平有效。 2 TIMERIN:定时器输入。它是8155片内定时器的脉冲信号输入端。 TIMEROUT:定时器输出。通过它可以输出矩形波或脉冲波。
PA0~PA7:A口通用的输入/输出线。由编程来决定是输入还是输出。
PB0~PB7:B口通用的输入/输出线。由编程来决定是输入还是输出。 PC0~PC5:C口的输入/输出或控制信号线。
3.7.4 矩阵式键盘电路简介
行列式键盘工作原理:按键设置在行列线交点上,行列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由于此行线相连的列线电平决定。其键盘显示电路如图3.15所示。
23
PB0PB7U?1213141516171819AD0AD1AD2AD3AD4AD5AD6AD7PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC521222324252627282930313233343536373839125PC0PC1PC2024R?R?R?R?R?R?R?R?RESRESRESRESRESRESRESRESDS?1234567abcdefgDPYafegdbcDS?1234567abcdefgDPYafegdbc8910711CERDWRIO/MALE[LEDgn][LEDgn]+5VDPY_7-SEG135DPY_7-SEGR?R?RESR?RESRES6TMROUT3TMRIN4RESET8155PA0PA1 图3.15 键盘显示电路 水位控制系统的水位显示和水位的设定直接采用电路在一块。当水位低于设定的最低水位值时,也采用蜂鸣器进行报警。用0#、1#键作为水位最高限、最低限的设定功能键;2#、3#键作为水位值设定的增加和减小功能键。 0#键:作为最高水位的设定功能键。按一次进入最高水位设定状态,选择最高限水位值后,再按一次确认设定完成。 Title1#键:作为最低水位的设定功能键。按一次进入最低水位设定状态,选择最SizeBNumber低限水位值后,再按一次确认设定完成。 2345Date:File:20-May-2010F:\\protel\\键盘电路的设计.ddb2#键:+1功能键,每一次将温度值加1,范围为1~99m。 3#键:-1功能键,每一次将温度值减1,范围为99~1m。
3.8 显示电路设计
3.8.1 显示器件的选择
①LED显示器件
单片机应用系统中经常用到LED数码管作为显示输出设备。LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能满足单片机应用系统的需要,所以在单片机应用系统中经常用到。
②LCD显示器件
液晶显示器简称LCD显示器,它是利用液晶经过处理后能改变光线的传播方
24