- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机习题课(键盘-8255A行扫描法)课件
8255A并行接口(实验一);STEP2:读键码(行扫描法)
1)行扫描;
逐行输出‘0’
2)读列状态。
被扫描到得行有键按下,列状态才会改变
STEP3:键分析
1)行值送(AL)
2)列值送(AH)
3)(AX)取反,得键码
;STEP4:键处理
1)查表
拿键值与键值表比较,相同则记录下对应的字符码
2)显示字符;主程序:
;键扫描子程序流程图(行扫描法):;第1行输出低电平;与表无任一键相同;
PA55 EQU 218H
PB55 EQU 219H
P55CTL EQU 21BH
DATA SEGMENT
TABLE DW 0101H,0102H,0104H,0108H ;键码表
DW 0110H,0120H,0140H,0180H
DW 0201H,0202H,0204H,0208H
DW 0210H,0220H,0240H,0280H
DW 0401H,0402H,0404H,0408H
DW 0410H,0420H,0440H,0480H
CHAR DB ‘CDEF’ ;字符码表;
DB ‘BA98’
DB ‘4567’
DB ‘3210’
DB ‘ ’ ;四个空格
DB ‘RPMG’
MES DB ‘INPUT ANY KEY IN THE’ DB ‘SMALL KEYBOARD.’
DB 0AH,0DH ;回车换行
DB ‘IT WILL BE DISPLAY’ DB ‘ON THE SCREEN!’
DB ‘END WITH ‘R’’ ;
DB 0AH,0DH, ‘$’
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX ;DS指向数据段
MOV DX,OFFSET MES
MOV AH,09 ;显示提示信息
INT 21H
KY: CALL KEY ;调键盘扫描子程序;
CMP DL,’R’ ;键入字符不是‘R’,转KY
JNZ KY
MOV AX,4C00H
INT 21H
RET
MAIN ENDP
KEY PROC NEAR ;键盘扫描子程序
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读入列值
AND AL,07H
CMP AL,07H
JZ BEGIN ;若为07H,无键按下
CMP BL,01H
JZ KPRESS ;若为1,已消抖动
MOV CX,1000H;
DLY: LOOP DLY ;延时去抖
MOV BL,01H ;标识位置1
JMP WAIT1
KPRESS: MOV AL,0FEH ;第一行输出0
RSCAN: MOV DX,PA55
OUT DX,AL
PUSH AX ;保存行值
MOV DX,PB55
IN AL,DX ;读???列值
AND AL,07H
CMP AL,07H ;
JZ NEXTR ;列值全为1,跳转
MOV AH,AL ;列值送(AH)
POP BX ;弹出行值
MOV AL,BL
NOT AX ;取反,得出键码
MOV SI,OFFSET TABLE ;键码表首址
MOV DI,OFFSET CHAR ;字符码表首址
MOV CX,24
TT: CMP AX,[SI] ;键码相符转NN
JZ NN
DEC CX ;
JZ BEGIN ;比较完仍不相符跳转
ADD SI,2
INC DI
JMP TT ;继续比较
NN: MOV DL,[DI]
MOV AH,02 ;显示该键码对应字符
INT 21H
PUSH DX ;字符ASCII码入栈
WAIT2: MOV AL
文档评论(0)