带注释的c51汇编语言,51单片机矩阵键盘控制程序 汇编语言 带详细注释

本文档提供了一份51单片机矩阵键盘控制程序的C51汇编语言代码,详细注释了每个步骤,包括扫描键盘、消除抖动、按键识别和数码管显示。通过循环和条件判断来检测键盘状态,实现对按键的精确控制。
摘要由CSDN通过智能技术生成

ORG 0000H ;伪指令,指定一下程序汇编后代码在入程序存储器0000H单元开始的连续单元中,不占有内存

AJMP MAIN ;短转移指令,转到主程序开始处

ORG 0050H ;伪指令,指定一下程序是从0050H之后连续单元存储

MAIN:

MOV P1,#0F0H ;给P1口赋值,使得低四位为低电平,所有行为低电平,全扫描 高四位列

ONE:MOV A,P1  ;将P1口值赋值给寄存器A,读取列值

XRL A,#0F0H ;将A中的值与11110000异或

JZ ONE  ;判断A的值是否为0,为0则没有键按下,继续判断,有则进行下面程序

ACALL DELAY  ;延时20ms去除按压时的抖动

MOV A,P1 ;再将P1口的值赋值给寄存器A

XRL A,#0F0H ;与11110000异或

JZ ONE  ;判断若A=0则PC+ONE的地址跳转

MOV A,#00H ;若不为0,PC值继续向下运行,给A赋值0

JNB P1.4,TWO ;判断P1.4引脚是否为0,若不为0跳转TWO,继续下面的判断键值

INC A  ;若为0,将A 值加1

JNB P1.5,TWO ;继续判断P1.5位是否为0,舨晃?跳转TWO,继续下面的判断键值

INC A  ;若为0,将A 值加1

JNB P1.6,TWO ;继续判断P1.6位是否为0,舨晃?跳转TW,继续下面的判断键值

INC A  ;若为0,将A 值加1

JNB P1.7,TWO ;继续

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值