- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 显示键盘接口
? 字形码 ?在实际应用中,常用一个8位并行I/O口的输出D0~D7对应控制数码管的a~dp以显示不同字形。从I/O口输出的驱动数码管以显示不同字形的数据称为字形码(字段码、显示代码)。 【例】共阴极结构的数码管显示“0”的字段码为: ? 显示字符转换为字形码的方法(查表法) 2. LED显示器的工作方式和显示程序 ? 显示器的工作方式 1)静态显示驱动方式 2)动态显示驱动方式 1.按键状态的输入与消抖动 (1)键输入 K按下时,D=0; K断开时,D=1。 (2)消抖动 方法: ?硬件消抖动 ?软件消抖动:软件延时 ?按键盘编码产生方法,键盘可分为编码键盘(用硬件来实现对键的识别)和非编码键盘(由用户软件来实现键的识别与定义)两种; ?按键盘的连接方式,可分为独立式按键和行列式(矩阵式)键盘。 3.键盘扫描程序 ? 检测是否有按键闭合; ? 若有键闭合,延时消抖动; ? 确认是否有按键闭合; ? 判断闭合按键键号; ? 等待按键释放; ? 执行相应键功能。 在微机应用系统中,扫描键盘只是CPU的工作任务之一,在实际应用中,要想做到既能及时响应键操作,又不过多地占用CPU的工作时间,就要根据应用系统的实际情况,选择适当的键盘工作方式。 (1)编程扫描方式 编程扫描方式是利用CPU完成其他工作的空余时间,调用键盘扫描子程序来响应键输入要求。在执行键功能程序时,不再响应键输入的要求。 (2)中断工作方式 4. 键盘工作方式 开始 初始化 显示 扫描键盘 执行其他操作 编程扫描方式 开始 有键闭合吗? 延时消抖动 确有键闭合吗? 判断闭合键键号 闭合键释放否? 执行键功能 返回 N N N Y Y Y 5.独立式键盘及扫描程序 S_KEY PROC MOV DX,313H MOV AL,89H ;C口为输入 OUT DX,AL ;8255初始化 MOV DX,312H ;C口 IN AL,DX ;读键盘状态 NOT AL JZ RTN ;若无键闭合,则返回 CALL D10MS ;延时消抖动 MOV DX,312H IN AL,DX MOV BL,AL ;读稳定的键盘状态 假设8255端口地址为310H~313H MOV DX,312H WT: IN AL,DX NOT AL JNZ WT ;等待键释放 NOT BL TEST BL,01H JNZ KEY0 ;K0键按下,则转KEY0处理 TEST BL,02H JNZ KEY1 ;K1键按下,则转KEY1处理 ……. TEST BL,80H JNZ KEY7 ;K7键按下,则转KEY7处理 RTN: RET KEY0:…… ;K0键处理 RET KEY1:…… ;K1键处理 RET …… S_KEY ENDP 5.矩阵式键盘及扫描程序 7 6 5 4 3 2 1 0 列 0 1 2 3 行 键的识别:?行扫描法 ?行反转法 (1)行扫描法 V_KEY PROC MOV DX,20BH MOV AL,90H ;A口方式0输入,C口输出 OUT DX,AL ;8255初始化 MOV DX,20AH MOV AL,0 OUT DX,AL ;行线输出0 MOV DX,208H IN AL,DX ;读列线 CMP AL,0FFH JZ NOK ;若无键按下,返回 假设8255端口地址为208H~20BH CALL D10MS ;延时消抖 MOV BH,0 ;行首键号 MOV BL,0 ;列值 MOV CX,4 ;共4行 MOV AH,0FEH ;行输出初值 NXL: MOV AL,AH MOV DX,20AH OUT DX,AL ;逐行输出0 MOV DX,208H IN AL,DX ;输入列状态 CMP AL,0FFH JNZ XL1 ;若有键闭合,则计算键值 ADD BH,8 ;修改行首键号 SHL AH,1 ;下一行 LOOP NXL JMP NO
文档评论(0)