单片机汇编基础

本文介绍了一个使用汇编语言实现的按键控制流水灯花样程序,重点解析了JNB和JB指令在按键检测中的应用。通过查表方式改变流水灯状态,循环展示不同花样。理解这两个指令对于初学者至关重要,它们是实现程序循环和条件判断的关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:查询方式检查按键,按键控制不同的流水灯花样。


原理图6f3d22ce8a9843e39aeee3c91cdbb425.jpg

 ORG 0000H

AJMP MAIN

ORG 0100H

MAIN: ACALL KEY

CJNE R0,#1,LSD1

MOV DPTR, #TAB2

LJMP LSD

LSD1: MOV DPTR, #TAB1

LJMP LSD

LSD: CLR A

MOVC A, @A+DPTR //查表TB1

CJNE A,#55H,LOOP1 //检测是否结束

AJMP MAIN

LOOP1: ACALL KEY

MOV P0, A

ACALL DELAY

INC DPTR

AJMP LSD

KEY: JB P3.2,KEND 

 INC R0

CJNE R0,#2,KEND

MOV R0,#0

KEND: RET

DELAY: MOV R6, #200

DE1: MOV R4, #200

DJNZ R4, $

DJNZ R6, DE1

RET

TAB1: DB80H,40H,20H,10H,08H,04H,02H,01H,55H TAB2: DB 7EH,0BDH,0DBH,0E7H,55H

END

最开始初学时,我最难理解的是JNB和JB,理解了这两条语句,按键写法就很容易了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值