题目描述:
4X4键盘分别连到P1口的8个引脚,其中低四位控制行,高四位控制列,有一排条形LED灯分别连至P2和P3口,要通过汇编代码实现按下一个按钮,则对应个数的LED灯亮起,例如按下第8个按钮,则上面8个灯亮,按下第13个按钮,则亮13个灯,对应的Proteus仿真图如下所示:
训练目的:
1)矩形键盘的扫描方法
2)模块化编写代码
3)基本运算,如减法,移位等
直奔代码吧……
代码文件main.asm
// 矩阵键盘控制LED灯
// 4X4矩阵键盘连到P1口上
// 16个LED灯依次连到P2和P3口上
// IO口作为输入口时,要先给他置1才能接受外接的信号,遇1则1,遇0则0
ORG 00H
// *************************************
// 初始化工作
// *************************************
START:
使LED全灭状态
MOV R1,#0FFH
MOV R2,#0FFH
MOV P2,R1
MOV P3,R2
// *************************************
// 主循环
// *************************************
MAIN_LOOP:
MOV A,#0F0H //使低四位(行)为0