教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

微机习题课(键盘-8255A行扫描法)

来源:网络收集 时间:2026-08-25
导读: 微机习题课(键盘-8255A行扫描法) 8255A并行接口(实验一) 8255A并行接口(实验一)识别按键方法:行扫描法和线反转法 1、行扫描法 STEP1: 检查是否有键按下 1)所有行输出‘0’; 2)读列状态,检查是否全‘1’; 若否,则有可能有键按下 3)延时20ms,再读列线,是否

微机习题课(键盘-8255A行扫描法)

8255A并行接口(实验一) 8255A并行接口(实验一)识别按键方法:行扫描法和线反转法 1、行扫描法 STEP1: 检查是否有键按下 1)所有行输出‘0’; 2)读列状态,检查是否全‘1’; 若否,则有可能有键按下 3)延时20ms,再读列线,是否全‘1’。 若否,有键按下1

微机习题课(键盘-8255A行扫描法)

STEP2:读键码(行扫描法) 1)行扫描; 逐行输出‘0’ 2)读列状态。 被扫描到得行有键按下,列状态才会改 变 STEP3:键分析 1)行值送(AL) 2)列值送(AH) 3)(AX)取反,得键码2

微机习题课(键盘-8255A行扫描法)

STEP4:键处理 1)查表 拿键值与键值表比较,相同则记录下对 应的字符码 2)显示字符

微机习题课(键盘-8255A行扫描法)

主程序:开始 设置数据段,显示提示信息 调键盘扫描子程序KEY N

字符是否为‘R’ Y 结束

微机习题课(键盘-8255A行扫描法)

键扫描子程序流程图(行扫描法):开始 置8255A控制字82H,A口输出,B口输入 B 标识位BL清零 A口输出低电平,B口读入数据 B Y 列线全为高电平 N (BL)=1? A Y N 延时去抖动 BL置15

微机习题课(键盘-8255A行扫描法)

A 第1行输出低电平 保存行值 列线全为高电平 行值左移1位 指向下一行 Y 取行值 N 行扫描完毕 Y B6

N

C

微机习题课(键盘-8255A行扫描法)

C 列值送(AH),行值送(AL),(AX)取反,查表 B Y 与表无任一键相同

N 在屏幕上显示此键对应的字符 从A口输出00,从B口读入列值 N 键是否已释放

Y 输入字符的ASCII码存放在(DL)中 返回7

微机习题课(键盘-8255A行扫描法)

行扫描法源程序PA55 PB55 P55CTL DATA TABLE

[1 of 10]

CHAR

EQU 218H EQU 219H EQU 21BH SEGMENT 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 DB ‘CDEF’ ;字符码表8

微机习题课(键盘-8255A行扫描法)

行扫描法源程序DB DB DB DB DB DB DB DB DB DB DB

[2 of 10]‘BA98’ ‘4567’ ‘3210’ ‘ ’ ;四个空格 ‘RPMG’ ‘INPUT ANY KEY IN THE’ ‘SMALL KEYBOARD.’ 0AH,0DH ;回车换行 ‘IT WILL BE DISPLAY’ ‘ON THE SCREEN!’ ‘END WITH ‘R’’9

MES

微机习题课(键盘-8255A行扫描法)

行扫描法源程序

[3 of 10]

DATA CODE MAIN ASSUME START:

KY:

DB 0AH,0DH, ‘$’ ENDS SEGMENT PROC FAR CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES MOV AH,09 INT 21H CALL KEY

;DS指向数据段 ;显示提示信息 ;调键盘扫描子程序10

微机习题课(键盘-8255A行扫描法)

行扫描法源程序CMP JNZ MOV INT RET ENDP PROC MOV MOV OUT MOV

[4 of 10]DL,’R’ KY AX,4C00H 21H ;键入字符不是‘R’,转KY

MAIN KEY

BEGIN:

NEAR AL,82H DX,P55CTL DX,AL BL,00H

;键盘扫描子程序 ;设置8255A控制字 ;工作在方式0,端 ;口A输出,端口B输入 ;标识位清零11

微机习题课(键盘-8255A行扫描法)

行扫描法源程序WAIT1: MOV MOV OUT MOV IN AND CMP JZ CMP JZ MOV

[5 of 10]AL,00H DX,PA55 DX,AL DX,PB55 AL,DX AL,07H AL,07H BEGIN BL,01H KPRESS CX,1000H ;端口A输出全0

;端口B读入列值

;若为07H,无键按下 ;若为1,已消抖动12

微机习题课(键盘-8255A行扫描法)

行扫描法源程序DLY: LOOP MOV JMP MOV MOV OUT PUSH MOV IN AND CMP

[6 of 10]DLY BL,01H WAIT1 AL,0FEH DX,PA55 DX,AL AX DX,PB55 AL,DX AL

,07H AL,07H ;延时去抖 ;标识位置1 ;第一行输出0

KPRESS: RSCAN:

;保存行值 ;读入列值

微机习题课(键盘-8255A行扫描法)

行扫描法源程序JZ MOV POP MOV NOT MOV MOV MOV CMP JZ DEC

[7 of 10]NEXTR AH,AL BX AL,BL AX SI,OFFSET TABLE DI,OFFSET CHAR CX,24 AX,[SI] NN CX ;列值全为1,跳转 ;列值送(AH) ;弹出行值 ;取反,得出键码 ;键码表首址 ;字符码表首址 ;键码相符转NN

TT:

微机习题课(键盘-8255A行扫描法)

行扫描法源程序JZ ADD INC JMP MOV MOV INT PUSH MOV MOV OUT

[8 of 10]BEGIN SI,2 DI TT DL,[DI] AH,02 21H DX AL,00 DX,PA55 DX,AL ;比较完仍不相符跳转

;继续比较 ;显示该键码对应字符 ;字符ASCII码入栈 ;端口A输出全0

NN:

WAIT2:

微机习题课(键盘-8255A行扫描法)

行扫描法源程序MOV IN CMP JNZ POP JMP POP CMP JE ROL JMP

[9 of 10]DX,PB55 AL,DX AL,0FFH WAIT2 DX DONE AX AL,0EFH BEGIN AL,1 RSCAN ;从端口B读进列值

;等待键释放 ;字符ASCII码出栈

NEXTR:

;行值左移一位,指向下一行16

…… 此处隐藏:1016字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机习题课(键盘-8255A行扫描法).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1983517.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)