现代微机原理与接口技术 综合练习 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 1 综 合 练 习
现代微机原理与接口技术 例1假设有一个4×4的矩阵键盘通过并行接口 芯片8255与微机相连。8255的A口作为输出 ,与键盘的行线相连;B口为输入口,与 键盘列线相连。 设8255A口地址为60H,B口地址为6H,控 制寄存器地址为63H,请编写键盘扫描程序。 Department of Computer Science Engineering 2 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 2 例1 假设有一个4×4的矩阵键盘通过并行接口 芯片8255与微机相连。8255的A口作为输出 口,与键盘的行线相连;B口为输入口,与 键盘列线相连。 • 设8255A口地址为60H,B口地址为61H,控 制寄存器地址为63H,请编写键盘扫描程序
现代微机原理与接口技术 +5V PAD 0行 PAl 1行 CPU(呼外y PA2 2行 3行 PB0↓ PB1 PB2 PB3 3列 图715825连接非编码接口键盘 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 3
现代微机原理与接口技术 ●程序如下: mov al. 82h out 63. al begin: mov al,0;检查是否有键按下 out 60h. al wait n al. 6lh and al. oth cmp al, Ofh jz wait;无键按下,继续等待 Department of Computer Science Engineering 4 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 4 • 程序如下: mov al, 82h out 63h, al begin: mov al, 0 ;检查是否有键按下 out 60h, al wait: in al, 61h and al, 0fh cmp al, 0fh jz wait ;无键按下,继续等待
现代微机原理与接口技术 Sn movd,4;行数送dl mov al,ofeh;扫描码,0行为0 mov ch,O;键号初值为0 Grow out60h,al;扫描一行 rcl a,1;修改扫描行 mov ah,al;保存下次要扫描的扫描码 a,6lh;读列线状态 and al. ofh cmp al,0mh;是否有列线为0 jnz scol;有列线为0转到scol Department of Computer Science Engineering 「计算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 5 sm: mov dl, 4;行数送dl mov al, 0feh;扫描码,0行为0 mov ch, 0 ;键号初值为0 srow: out 60h, al ;扫描一行 rcl al,1 ;修改扫描行 mov ah, al ;保存下次要扫描的扫描码 in al, 61h ;读列线状态 and al, 0fh cmp al, 0fh ;是否有列线为0 jnz scol ;有列线为0转到scol