12键盘显示器接口.ppt
《12键盘显示器接口.ppt》由会员分享,可在线阅读,更多相关《12键盘显示器接口.ppt(42页珍藏版)》请在三一办公上搜索。
1、第12章键盘显示器接口设计12.1 键盘接口12.2 LED显示器接口12.3 液晶显示器(LCD)接口,12.1.1 键盘接口简介1.键盘输入的特点键盘:一组按键开关的集合行线电压信号通过键盘开关机械触点的断开、闭合,输出波形如图。,2.按键的确认检测行线电平 高电平:断开;低电平:闭合,3.如何消除按键的抖动常用软件来消除按键抖动。基本思想:检测到有键按下,键对应的行线为低,软件延时10ms后,行线如仍为低,则确认该行有键按下。当键松开时,行线变高,软件延时10ms后,行线仍为高,说明按键已松开。采取以上措施,躲开了两个抖动期t1和t3的影响。,12.1.2 独立式键盘接口各键相互独立,每
2、个按键各接一根输入线,通过检测输入线的电平状态可很容易判断那个键被按下。此种接口适于键数较少或操作速度较高的场合。,8255A扩展I/O口的独立式按键接口电路。,三态缓冲器扩展的I/O口的按键接口电路。,三态缓冲器扩展的I/O口独立式键盘编程:软件消抖,查询方式检测键的状态。仅有一键按下时才有效才处理。,KEYIN:MOV DPTR,#0BFFFH;键盘端口地址BFFFHMOVX A,DPTR;读键盘状态ANL A,#1FH;屏蔽高三位MOV R3,A;保存键盘状态值LCALL DELAY10;延时10ms去键盘抖动MOVX A,DPTR;再读键盘状态ANL A,#1FH;屏蔽高三位CJNE
3、A,R3,RETURN;两次不同,抖动引起转RETURNCJNE A,#1EH,KEY2;相等,但S1键未按,下转KEY2LJMP PKEY1;是S1键按下,转K1键处理;子程序PKEY1,KEY2:CJNE A,#1DH,KEY3;S2键未按下,转KEY3LJMP PKEY2;S2键按下,转PKEY2处理KEY3:CJNE A,#1BH,KEY4;S3未按下,转KEY4LJMP PKEY3;S3按下,转PKEY3处理KEY4:CJNE A,#17H,KEY5;S4键未按下,转KEY5LJMP PKEY4;S4按下,转PKEY4处理KEY5:CJNE A,#0FH,PASS;S5未按下,转RE
4、TURNLJMP PKEY5;S5按下,转PKEY5处理RETURN:RET;重键或无键按下,从子程序返回,识别和编程简单,用在按键数较少的场合。,12.1.3 BCD码拨码盘接口 拨码盘有不同的种类,单片10位10线输出式拨码盘和BCD码4线输出式拨码盘是其中的两种。10线拨码盘:实际上是单刀单掷转换开关,把A端接地,09端分别接单片机IO口线,读人口线电平状态就能判别10线拨码盘处于哪个挡位,识别处理简单,但占用单片机IO口线较多。BCD码拨盘:拨码盘内有5个接点,A为输入控制线,另外4条为BCD码输出线。拨码盘拨动时A线与4条输出线按BCD码的关系接通,代表拨码盘指示的十进制数。,BCD
5、码拨码盘的外形见图。图中3片拨码盘组合成为3位十进制拨码盘组。每个拨码盘有09共10个挡位,与输入的十进制数字相对应,5个接点位于拨码盘后方。每一片拨码盘代表一位十进制数,拨码盘可按位数需要拼接。,4片拨盘的BCD码输出相同端接入同一个4个与非门。四个与非门输出8,4,2,1端分别接入P1.3,P1.2,P1.1,P1.0。P1.7、P1.6、P1.5、P1.4分别与千、百、十、个位BCD码拨盘的控制端相连。当选中某位时,该位的控制端置0,其它三个控制端置1。,程序的执行过程是:把P1.7P1.4口逐条置低(每次只有一条口线置低),从P1.3P1.0口读人“千位”至“个位”的BCD码,再由软件
6、转换成十进制数值。例如选中千位时,P1.7置0,P1.6P1.4置1,此时四个与非门所有其它位连接的输入端均为1状态,因此四与非门输出的状态取决于千位数BCD拨盘输出状态。由于该位的控制端置0,因此,拨盘所置之数输出为BCD反码,通过与非门输出为该千位数的BCD码,例如输入为9345,这时,每位BCD码输出端上有相应的数字与A接通。,将读入的4位BCD码按千、百、十、个依次存放在片内RAM的30H33H单元,每个单元的高4位为0,低4位为BCD码。,RDS:MOV R0,30H;初始化,存放单元首址MOV R2,7FH;P1口高4位置控制字及低4位置输入方式MOV R3,04H;读入4个BCD
7、码LOOP:MOV A,R2MOV P1,A;P1口送控制字及低4位置输入方式MOV A,P1;读入BCD码ANL A,0FH;屏蔽高4位MOV R0,A;送入存储单元INC R0;指向下个存储单元MOV A,R2;准备下一片拨盘的控制端置0RR A;MOV R2,A;DJNZ R3,LOOP;未读完返回RET;读完结束,12.1.4 行列式(矩阵式)键盘接口用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图所示。,按键数目较多的场合,行列式键盘与独立式键盘相比,要节省很多的I/O口线。,扫描法(1)查询有否按键被按下 按键没有按下时,上拉电阻使全部列线为1。首先使全部行
8、线送出0,把列线的电平状态读入累加器A。若有键按下,读人A中的列线电平状态必不全为1。(2)判断哪个键被按下 P1.0P1.2口逐行送出0,然后读取列线的电平状态,若不全为1,则按下的键必定位于行线电平为0和列线电平为0的交点处。,(3)给按键赋值按照“行线首键号+列线编号”的规则赋值:行线首键号分别为:8(P1.0),4(P1.1),0(P1.2)列线的编号依次为:0(P1.3),1(P1.4)2(P1.5)3(P1.6)则赋予“8”键号的键值为:8+0=8;赋予“9”键号的键值为:8+1=9。其余按键的赋值与此类似。键值的排列有规律,依次为0,1,2,9,A,B,(4)查询是否按键己释放
9、提取键值后,行线送出全0,读人列线电平状态。若列线全为1,表示按键已释放。,2.线反转法只需两步便能获得此按键所在的行列值,线反转法的原理如图。识别键盘有无键被按下的方法,分两步进行:第1步:列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。第2步:行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。结合上述两步,可确定按键所在行和列。,(3)键盘的编码根据实际需要灵活编码。,12.1.5 键盘的工作方式原则:即要保证能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘工作方式有3种,即编程扫描、定时扫描和中断扫描。,编程扫描方式只有当单片机空闲时,才调用键盘扫描
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 键盘 显示器 接口

链接地址:https://www.31ppt.com/p-6159862.html