《显示键盘接口》PPT课件.ppt

上传人:小飞机 文档编号:5528522 上传时间:2023-07-18 格式:PPT 页数:37 大小:223KB
返回 下载 相关 举报
《显示键盘接口》PPT课件.ppt_第1页
第1页 / 共37页
《显示键盘接口》PPT课件.ppt_第2页
第2页 / 共37页
《显示键盘接口》PPT课件.ppt_第3页
第3页 / 共37页
《显示键盘接口》PPT课件.ppt_第4页
第4页 / 共37页
《显示键盘接口》PPT课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《《显示键盘接口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《显示键盘接口》PPT课件.ppt(37页珍藏版)》请在三一办公上搜索。

1、第8章 单片机与显示器和键盘的接口,8.1 键盘接口 键盘实际上是由排列成矩阵形式的一系列按键开关组成,用户通过键盘可以向CPU输入数据、地址和命令。键盘按其结构形式可分为:编码式键盘和非编码式键盘两类。单片机系统中普遍使用非编码式键盘,这类键盘主要解决以下几个问题:键的识别;如何消除键的抖动;键的保护。,1.非编码式键盘工作原理 非编码式键盘识别按键的方法有两种:一是行扫描法,二是线反转法。1)行扫描法 通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所接的端口得到的是全“1”信号,如果有键按下的话,则得到非全“1”信号。为了防止双键或多键同时按下,往往从第 0 行一直扫描到

2、最后 1 行,若只发现 1 个闭合键,则为有效键,否则全部作废。找到闭合键后,读入相应的键值,再转至相应的键处理程序。,2)线反转法 线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。先将行线作为输出线,列线作为输入线,行线输出全“0”信号,读入列线的值,然后将行线和列线的输入输出关系互换,并且将刚才读到的列线值从列线所接的端口输出,再读取行线的输入值。那么在闭合键所在的行线上值必为 0。这样,当一个键被按下时,必定可读到一对唯一的行列值。,2.键盘接口电路,图 8.1 采用8155的键盘接口电路,下面的程序是用行扫描法进行键扫描的程序,其中KS1

3、 为判键闭合的子程序。有键闭合时(A)=0。DIR为数码显示器扫描显示子程序,执行一遍的时间约6 ms。程序执行后,若键闭合,键值存入A中,键值的计算公式是:键值=行号4+列号;若无键闭合,则A中存入标志FFH。,KEY1:LCALL KS1;检查有无闭合键?JNZ LK1;(A)=0,有键闭合则转 LJMP LK8;无闭合键则返回 LK1:LCALL DIR;延时 12 ms LCALL DIR;清抖 LCALL LS1;再检查有键闭合否?JNZ LK2;有键闭合则转 LJMP LK8;无键闭合则返回,LK2:MOV R3,00H;行号初值送R3 MOV R2,FEH;行扫描初值送R2LK3

4、:MOV DPTR,0101H;指向 8155 口A MOV A,R2;行扫描值送A MOVX DPTR,A;扫描 1 行 INC DPTR INC DPTR;指向 8155 口C MOVX A,DPTR;读入列值 ANL A,0FH;保留低 4 位 MOV R4,A;暂存列值 CJNZ A,0FH,LK4;列值非全“1”则转 MOV A,R2;行扫描值送A,JNB ACC.7,LK8;扫至最后一行则转RL A;未扫完,则移至下一行MOV R2,A;行值存入R2 中INC R3;行号加 1SJMP LK3;转至扫描下一行 LK4:MOV A,R3;行号送入A ADD A,R3;行号2 MOV

5、R5,A ADD A,R5;行号4 MOV R5,A;存入R5 中 MOV A,R4;列值送A,LK5:RRC A;右移一位 JNC LK6;该位为 0 则转 INC R5;列号加 1 SJMP LK5;列号未判完则继续LK6:MOV 20H,R5;存键值LK7:LCALL DIR;扫描一遍显示器 LCALL KS1;发扫描信号 JNZ LK7;键未释放等待 LCALL DIR;键已释放 LCALL DIR;延时 12 ms,清抖 MOV A,20H;键值存入A中KND:RET,LK8:MOV A,FFH;无键标志FFH存入A中 RET KS1:MOV DPTR,0101H;判键子程序 MOV

6、 A,00H;全扫描信号 MOVX DPTR,A;发全扫描信号 INC DPTR INC DPTR;指向8155口C MOVX A,DPTR;读入列值 ANL A,0FH;保留低4位 ORL A,F0H;高4位取“1”CPL A;取反,无键按下则全“0”RET,最简单的键盘、指示灯扩展法,8.2 LED显示器接口,1.LED显示器结构与原理,图 8.2 7段LED数码显示器,各段码位的对应关系如下:,表 8.1十六进制数及空白与P的显示段码,2.LED显示器接口电路,图 8.3 6 位动态显示器接口,图 8.4 显示子程序流程图,程序清单如下:,DIR:MOV R0,79H;显示缓冲区首址送R

7、0MOV R3,01H;使显示器最右边位亮MOV A,R3LD0:MOV DPTR,0101H;扫描值送PA口MOVX DPTR,AINC DPTR;指向PB口MOV A,R0;取显示数据ADD A,12H;加上偏移量MOVX A,A+PC;取出字形MOVX DPTR,A;送出显示,ACALL DL1;延时 INC R0;缓冲区地址加 1 MOV A,R3;JB ACC.5,LD1;扫到第 6 个显示位了吗?RL A;没有,R3 左环移一位,扫描下一个显示位 MOV R3,A AJMP LD0LD1:RETDSEG:DB 3FH,06H,5BH,4FH,66H,6DH;显示段码表DSEG1:D

8、B 7DH,07H,7FH,6FH,77H,7CH,DSEG2:DB 39H,5EH,79H,71H,73H,3EHDSEG3:DB 31H,61H,1CH,23H,40H,03HDSEG4:DB 18H,00H,00H,00HDL1:MOV R7,02HDW;延时子程序DL:MOV R6,0FFHDL6:DJNZ R6,DL6 DJNZ R7,DL RET,8.3 键盘显示器接口8279,8279 内部结构,逻辑结构 DB0-DB7 RESET CLK IRQ内部数据总线 OUTA0-A3 SL0-SL3 RL0-RL3 SHIFT CNTL OUTB0-B3,内部模块,数据缓冲:与DB相连

9、控制与定时寄存器:用于控制与寄存键盘与显示器的工作方式,锁存操作命令产生内部控制信号 定时器:内部1个5位,对CLK输入进行分频,产生100kHz内部定时信号,外输入信号周期不得小于500ns(8字符显示周期为5.1ms).扫描寄存器:其状态以编码方式和译码方式输出回送缓冲+消抖控制:锁存RL0-7输入。当某键按下,键盘数据以下列格式送FIFO/传感器 RAM 在传感器方式 RL7-RL0数据被直接送FIFO/传感器 RAM,内部模块,FIFO/传感器 RAM:双功能8x8RAM,在键盘或选通方式时,为FIFO RAM,其状态在对应的状态寄存器中。显示RAM:存储显示数据,在显示数据时,显示数

10、据依此从这里输出。分为2组OUTA0-OUTA3,OUTB0-OUTB3,可独立也可以联合使用。,图 8.4 8279的引脚图,管脚(40个),DB0-DB7:双向缓冲数据总线-CPURESET,Vcc,Vss A0:数据缓冲地址输入,=1,选命令或状态寄存器,=0,选数据寄存器IRQ:中断申请,在键盘工作方式,当FIFO/传感器RAM有数据(有键闭合),变为高向CPU申请,当CPU读出后变低。若不为空,再变高,直到读完。在传感器工作方式,每当检测到传感器状态变化,变为高,申请中断。,管脚,SL0-SL3:扫描输出,分为译码(内译码,4个输出信号)和编码(外译码后16个输出)RL0-RL7:回

11、送线,内有 上拉,有键闭合变低。SHIFT:扩展键盘功能CNTR(/STB):扩展键盘功能,管脚,OUTA,OUTB:A组(显示RAM高4位)和B组(显示RAM低4)显示输出,消隐,显示熄灭信号。,2.8279的接口电路与应用,图 8.5 8031与 8279 接口连接框图,表8-2 8279命令功能键一览表,8279命令解释,显示和键盘设置:其中的传感器矩阵工作方式是指,传感器开关闭合直接使IRQ马上为1,申请中断。时钟编程命令:PPPPP=231,CLK=2M,output=100kHz,则20分频,编程命令字为34H。读FIFO/传感器RAM(A0=0):AI=1,读完该地址,读AAA+

12、1内容。在键盘少描,AI,AAA都无用。按键送入顺序读。读显示RAM(A0也=0):但D7D6D5=011,读AAAA地址内的显示内容。AI=1,显示后显示下一地址。AI=0,总显示相同地址的数。写显示RAM 屏蔽/熄灭显示器:清除命令结束中断/错误方式设置。,图8-23 88键盘的键值与键号,例子。,8279,138,OUTB0,dp,b,a,OUTA3,SL2,SL1,SL0,RL3,RL0,7406,7407x2,SHIFT,CNTL,+5V,100 欧x8,初始化子程序 INTI:MOV DPTR,#7FFFH;8279 命令口 MOV A,#0D1H;清显示(11010001)MOV

13、 DPTR,A NOP NOP LOOP:MOVX A,DPTR;读状态字 JB ACC.7,LOOP;清除未完,等待 MOV A,#34H;分频系数,12M晶振,20分 MOVX DPTR,A MOV A,#00H;清键盘显示命令 MOV DPTR,A MOV IE,#84H;允许8279在外中断1中断 RET,显示子程序 DIS:MOV DPTR,#7FFFH;8279命令状态口 MOV R0,#30H;字段码首地址 MOV R7,#08H;8位显示 MOV A,#90H;送显示,显示后自动地址加1,首址0000 MOVX DPTR,A;MOV DPTR,#7EFFH;8279数据口 LP

14、:MOV A,R0 ADD A,#6;加偏移对准当前显示字在SEG表中位置 MOVC A,A+PC;获得显示段码 MOVX DPTR,A;送段码显示 INC R0 DJNZ R7,LP RET SEG:DB 3FH,06H,5BH,4FH,66H,6DH;see 教育188面,键盘中断子程序 KEY:PUSH PSW PUSH DPL PUSH DPH PUSH ACC PUSH B SETB PSW.3 MOV DPTR,#7FFFH MOVX A,DPTR;读FIFO状态 ANL A,#0FH JZ PKYR;全0无键按下 MOV A,#40H;读FIFO字送A MOVX DPTR,A;送读FIFO字到命令口,MOV DPTR,#7EFFH;数据口地址 MOVX A,DPTR;读数据 JMP KEY1;转键值处理程序 PKYR:POP B POP ACC POP DPH POP DPL POP PSW RETIKEY1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号