第10章MCS-51与键盘、显示器、拨盘、打印机的接口设计•10.1LED显示器的接口原理•10.2键盘接口原理•10.3键盘/显示器接口设计实例LED(LightEmittingDiode):发光二极管10.1.1LED显示器的结构常用的有‘8’字型和‘米’字型10.1LED显示器接口原理为使LED显示不同的符号或数字,要为LED提供段码(或称字型码)。字型和段码可由设计者自行设计,习惯排序如下:按上述格式,8段LED的段码见课本。显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC0Hc39HC6H106HF9Hd5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8Hy6EH91H87FH80HH76H89H96FH90HL38HC7HA77FH88H“灭”00HFFHb7CH83H………表10-1LED段码(8段)若将格式改为下列格式:则“0”的段码为7EH(共阴)。字型及段码由设计者自行设定10.1.2LED显示器工作原理图10-2是4位LED显示器的结构原理图。段码线控制显示的字型,位选线控制该显示位的亮或暗。LED显示器有两种显示方式。1.静态显示方式每位的段码线(a~dp)分别与一个8位的锁存器输出相连。各位的共阴极/共阳极连接在一起接地/+5V优点:显示的亮度高。缺点:占用口线较多例:图10-3:4位静态LED显示器电路。2.动态显示方式所有位的段码线相应段并联在一起,共用一个8位I/O口,多路复用,各位的共阴极/共阳极(位选线)分别由相应的I/O线控制,分时选通。缺点:占用CPU时间多。例:图10-4:4位8段LED动态显示电路。注:给一位显示的时间不可过长或者过短某一时刻,只有一位LED位选线为0(共阴极)或1(共阳极)10.2键盘接口原理1.键盘输入的特点按键未按下,输出为高按键按下,输出为0抖动时间一般为5~10ms故确认一个按键是否按下的基本思想为:★在第一次检测到输出为低电平时,执行一段延时10ms的子程序后(去抖动),再次确任该行线电平是否仍为低电平,仍为低,则确认有键按下,否则视为干扰。确认键是否释放则同样须防抖动。2.去抖动措施:软件去抖动:执行一段延时10ms的子程序硬件去抖动:如双稳态消抖电路10.2.1键盘接口的工作原理1.独立式键盘接口含义:各键相互独立,一个按键--一根输入口线。按键判断:检测输入线的电平判断按键是否按下,有中断方式和查询方式2种适用场合:适用于按键数较少或操作速度较高的场合例:图10-8为8255A扩展I/O口的独立式按键接口电路。图10-9用三态缓冲器扩展的I/O口的按键接口电路。注:10-8和10-9,按键为外部RAM单元,MOVX设计软件:请以10-9为电路,采用软件去抖动的方法,以查询方式检测,当且仅当有一键按下时才予以识别,如有多键按下讲不予处理。此子程序如下:KEYIN:MOVDPTR,#0BFFFH;键盘端口地址BFFFHMOVXA,@DPTR;读键盘状态ANLA,#00011111B;屏蔽高三位CJNEA,#00011111B,GOONJMPRETURNGOON:MOVR3,A;保存键盘状态值LCALLDELAY10;延时10ms去键盘抖动MOVXA,@DPTR;再读键盘状态ANLA,#0001111B;屏蔽高三位CJNEA,R3,RETURN;两次不同,抖动引起转RETURNCJNEA,#00011110B,KEY2;LJMPPKEY1;00011110时为S1KEY2:CJNEA,#00011101B,KEY3LJMPPKEY2KEY3:CJNEA,#00011011B,KEY4LJMPPKEY3KEY4:CJNEA,#00010111B,KEY5LJMPPKEY4KEY5:CJNEA,#00001111B,RETURNLJMPPKEY5RETURN:RET;多键按下不予处理2.行列式(矩阵式)键盘接口含义:由行线和列线组成,按键位于行、列的交叉点上。适用于:按键数目较多的场合。例:(1)工作原理当无键按下时,行线电平为高(有上拉电阻)当有键按下时,由与此行线相连的列线的电平决定。故:必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。(2)按键的识别方法扫描法和线反转法a、扫描法:2步第1步:识别键盘有无键按下。具体方法:把所有列线置低,检查各行线电平是否有变化,有变化,有键按下,否则无键按下。第2步:如有键被按下,识别出具体的按键。具体方法:即先把某一列置低,其余列置高,检查各行线电平如果某行线电平为低,则可确定此行此列交叉点处的按键被按下。扫描法的缺点:b、线反转法:2步第1步:让行线--输入线,列线--输出线,并使输出线为低电平,则行电平由高变低的行为按键所在行。第2步:同第...