微机习题课(键盘-8255A行扫描法)
微机习题课(键盘-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字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




