微机系统与接口教学资料 第8章3 习题课二 8255实验 李晓东 文档.ppt

微机系统与接口教学资料 第8章3 习题课二 8255实验 李晓东 文档.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在屏幕上显示此键对应的字符 从 B 口输出 00 ,从 A 口读入列值 输入字符的 ASCII 码存放在 (DL) 中 键是否已释放 返回 Y N C KEY PROC NEAR ; 线反转法子程序 START1 : MOV AL,82H ; 设置 8255A 控制字 MOV DX,P55CTL ; 工作在方式 0 ,端 OUT DX,AL ; 口 A 输出,端口 B 输入 BEGIN: MOV BL,00H ; 标识位清零 WAIT1: MOV AL,00H ; 端口 A 输出全 0 MOV DX,PA55 OUT DX,AL MOV DX,PB55 IN AL,DX ; 端口 B 读入列值 MOV AH,AL ; 暂存列值 AND AL,07H CMP AL,07H JZ BEGIN ; 若为 07H ,无键按下 线反转法源程序 [1 of 4] CMP BL,01H JZ KPRESS ; 若为 1 ,已消抖动 MOV CX,1000H DLY: LOOP DLY ; 延时去抖 MOV BL,01H ; 标识位置 1 JMP WAIT1 KPRESS: OR AH,F8H ; 列值高 5 位置“ 1 ” PUSH AX ; 保存列值 MOV AL,90H ; 设置 8255A 控制字,工作在方 ; 式 0 ,端口 B 输出,端口 A 输入 MOV DX,P55CTL ; OUT DX,AL ; MOV AL,AH ; 端口 B 输出列值 MOV DX,PB55 OUT DX,AL MOV DX,PA55 IN AL,DX ; 端口 A 读入行置 线反转法源程序 [2 of 4] POP BX ; 弹出列值 MOV AH,BH ; 得出键码 MOV SI,OFFSET TABLE ; 键码表首址 MOV DI,OFFSET CHAR ; 字符码表首址 MOV CX,24 TT: CMP AX,[SI] ; 键码相符转 NN JZ NN DEC CX JZ START1 ; 比较完仍不相符跳转 ADD SI,2 INC DI JMP TT ; 继续比较 NN: MOV DL,[DI] MOV AH,02 ; 显示该键码对应字符 INT 21H PUSH DX ; 字符 ASCII 码入栈 线反转法源程序 [3 of 4] WAIT2: MOV AL,00 ; 端口 A 输出全 0 MOV DX,PB55 OUT DX,AL MOV DX,PA55 ; 从端口 B 读进列值 IN AL,DX CMP AL,0FFH JNZ WAIT2 ; 等待键释放 POP DX ; 字符 ASCII 码出栈 JMP DONE DONE: RET KEY ENDP CODE ENDS END START 线反转法源程序 [4 of 4] 行扫描法与线反转法的总结: 行扫描法:从第一行至最后一行逐行发出低电平信号,检测列 线端口,则得到的是全“ 1 ”信号,则没有按键按下;否则

文档评论(0)

wq1987 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档