通过Keil和Proteus联调,用汇编语言编写汇编程序,将按键状态显示到LED,显示时常约1s

汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
一条汇编语言指令,最多包含四个区段,其一般格式为:
【标号:】操作码【操作数】【;注释】
利用Proteus绘制如下原理图
在这里插入图片描述
在Keil中用汇编语言编写汇编程序,将按键状态显示到LED,显示时常约1s。如按下第一个按键,则第一个LED点亮1s。
ORG 0000H ;告诉汇编器偏移0
LJMP MAIN ;转到主程序
ORG 0030H ;主程序入口地址,编译器偏移直接跳转到30H
MAIN:
MOV P1,#0FFH ;把立即数0FFH送P1口,使P1口全部置1,LED熄灭
MOV P0,#0FFH ;把立即数0FFH送P0口,使P0口全部置1,LED熄灭
STEP:
JB P0.0,STEP1 ;判断P0.0是否为1,不为1继续运行,为1跳转到LOOP1运 行
CPL P1.0 ;对P1.0求反,LED点亮
LCALL DELAY ;调用延时程序,延时1S
CPL P1.0 ; LED熄灭
STEP1:
JB P0.1,STEP2
CPL P1.1
LCALL DELAY
CPL P1.1
STEP2:
JB P0.2,STEP3
CPL P1.2
LCALL DELAY
CPL P1.2
STEP3:
JB P0.3,STEP4
CPL P1.3
LCALL DELAY
CPL P1.3
STEP4:
JB P0.4,STEP5
CPL P1.4
LCALL DELAY
CPL P1.4
STEP5:
JB P0.5,STEP6
CPL P1.5
LCALL DELAY
CPL P1.5
STEP6:
JB P0.6,STEP7
CPL P1.6
LCALL DELAY
CPL P1.6
STEP7:
JB P0.7,STEP8
CPL P1.7
LCALL DELAY
CPL P1.7
STEP8:LJMP STEP;转到LOOP
DELAY: MOV R4,#10
DEL3: MOV R2, #200
DEL1: MOV R3, #250
DEL2: DJNZ R3, DEL2
DJNZ R2, DEL1
DJNZ R4, DEL2
RET ;延时程序
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值