汇编语言利用开关控制数码管从0到9循环显示代码
时间: 2024-02-27 13:56:46 浏览: 126
汇编语言:在两个数码管上实现00-99的循环显示.doc
下面是一份基于8051单片机的汇编代码,可以利用开关控制数码管从0到9循环显示。
```
ORG 0H ; 程序起始地址
; 定义I/O口地址
P0 EQU 90H ; 数码管控制端口
P1 EQU 91H ; 开关输入端口
; 定义常量
DELAY_TIME EQU 200 ; 延时时间
; 定义变量
COUNT DB 0 ; 计数器
; 主程序
MAIN:
MOV COUNT, #0 ; 初始化计数器为0
LOOP:
MOV P0, #0FFH ; 显示数码管
ACALL DELAY ; 延时
MOV P0, #00H ; 关闭数码管
ACALL DELAY ; 延时
INC COUNT ; 计数器加1
CJNE COUNT, #10, LOOP ; 如果计数器不等于10,跳转到LOOP
MOV COUNT, #0 ; 计数器清零
SJMP LOOP ; 无限循环
; 延时函数
DELAY:
MOV R1, #DELAY_TIME ; 设置延时时间
HERE: ; 延时循环
DJNZ R1, HERE ; 计数器减1,如果不为0,跳转到HERE
RET ; 返回
END ; 程序结束
```
该程序通过循环计数器来实现从0到9的循环显示,并且使用延时函数来控制数码管的亮灭。开关输入端口P1可以用来控制程序的启停,如果需要停止程序,只需要按下任意一个开关即可。
阅读全文