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

上传人:wuy****n92 文档编号:53442061 上传时间:2022-10-26 格式:PPT 页数:37 大小:410KB
返回 下载 相关 举报
《显示键盘接口》课件.ppt_第1页
第1页 / 共37页
《显示键盘接口》课件.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《《显示键盘接口》课件.ppt》由会员分享,可在线阅读,更多相关《《显示键盘接口》课件.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、键盘接口电路 下面的程序是用行扫描法进行键扫描的程序,其中KS1 为判键闭合的子程序。有键闭合时(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:MO

4、V R3,00H ;行号初值送R3 MOV R2,FEH ;行扫描初值送R2LK3: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 ;行号加

5、1SJMP LK3 ;转至扫描下一行 LK4:MOV A,R3 ;行号送入A ADD A,R3 ;行号2 MOV 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 ;键值

6、存入A中KND:RET LK8:MOV A,FFH ;无键标志FFH存入A中 RET KS1:MOV DPTR,0101H ;判键子程序 MOV 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数码显示器 各段码位的对应关系如下:P的显示段码 2.

7、LED显示器接口电路显示器接口电路 图 8.3 6 位动态显示器接口 图 8.4 显示子程序流程图 程序清单如下:DIR:MOV R0,79H ;显示缓冲区首址送R0MOV 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;

8、没有,R3 左环移一位,扫描下一个显示位 MOV R3,A AJMP LD0LD1:RETDSEG:DB 3FH,06H,5BH,4FH,66H,6DH ;显示段码表DSEG1:DB 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 内

9、部结构逻辑结构 DB0-DB7 RESET CLK IRQ内部数据总线 OUTA0-A3 SL0-SL3 RL0-RL3 SHIFT CNTL OUTB0-B3 数据缓冲器I/O控制FIFO/传感器RAM状态显示地址寄存器16 X 8显示RAM控制及定时寄存器键盘消抖及控制8x8 FIFO/传感器 RAM显示寄存器控制及定时扫描计数器回送缓冲内部模块数据缓冲数据缓冲:与DB相连控制与定时寄存器控制与定时寄存器:用于控制与寄存键盘与显示器的工作方式,锁存操作命令产生内部控制信号 定时器定时器:内部1个5位,对CLK输入进行分频,产生100kHz内部定时信号,外输入信号周期不得小于500ns(8字

10、符显示周期为5.1ms).扫描寄存器扫描寄存器:其状态以编码方式和译码方式输出回送缓冲回送缓冲+消抖控制消抖控制:锁存RL0-7输入。当某键按下,键盘数据以下列格式送FIFO/传感器 RAM 在传感器方式 RL7-RL0数据被直接送FIFO/传感器 RAMCNTLSHIFT扫描(闭合键行号)回送(闭合键列号)RL7RL6RL0内部模块FIFO/传感器 RAM:双功能8x8RAM,在键盘或选通方式时,为FIFO RAM,其状态在对应的状态寄存器中。显示RAM:存储显示数据,在显示数据时,显示数据依此从这里输出。分为2组OUTA0-OUTA3,OUTB0-OUTB3,可独立也可以联合使用。图 8.

11、4 8279的引脚图 管脚(40个)DB0-DB7:双向缓冲数据总线-CPURESET,Vcc,Vss A0:数据缓冲地址输入,=1,选命令或状态寄存器,=0,选数据寄存器IRQ:中断申请,在键盘工作方式,当FIFO/传感器RAM有数据(有键闭合),变为高向CPU申请,当CPU读出后变低。若不为空,再变高,直到读完。在传感器工作方式,每当检测到传感器状态变化,变为高,申请中断。管脚SL0-SL3:扫描输出,分为译码(内译码,4个输出信号)和编码(外译码后16个输出)RL0-RL7:回送线,内有 上拉,有键闭合变低。SHIFT:扩展键盘功能CNTR(/STB):扩展键盘功能管脚OUTA,OUTB

12、: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+1内容。在键盘少描,AI,AAA都无用。按键送入顺序读。读显示RAM(A0也=0):但D7D6D5=01

13、1,读AAAA地址内的显示内容。AI=1,显示后显示下一地址。AI=0,总显示相同地址的数。写显示RAM 屏蔽/熄灭显示器:清除命令结束中断/错误方式设置。图8-23 88键盘的键值与键号例子。8279138OUTB0dpbaOUTA3SL2SL1SL0RL3RL074067407x2SHIFTCNTL+5V100 欧x8初始化子程序 INTI:MOV DPTR,#7FFFH ;8279 命令口 MOV A,#0D1H;清显示(11010001)MOV DPTR,A NOP NOP LOOP:MOVX A,DPTR;读状态字 JB ACC.7,LOOP;清除未完,等待 MOV A,#34H;分

14、频系数,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:MOV A,R0 ADD A,#6 ;加偏移对准当前显示字在SEG表中位置 MOVC A,A+PC;获得显示段码 MOVX DPTR,A;送段码

15、显示 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 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁