基于51单片机的八位数码管动态显示的汇编语言
时间: 2024-02-01 20:13:29 浏览: 114
以下是基于51单片机的八位数码管动态显示的汇编语言代码:
```assembly
;定义端口地址
sbit dula=P2^6;
sbit wela=P2^7;
sfr P0=0x80;
;定义延时函数
DelayMs PROC
push ACC
push B
push DPH
push DPL
mov B,#250
AGAIN1: mov DPL,B
AGAIN2: mov DPH,#0FFH
AGAIN3: djnz DPH,$
djnz DPL,AGAIN3
djnz B,AGAIN2
pop DPL
pop DPH
pop B
pop ACC
ret
DelayMs ENDP
;定义显示函数
Display PROC
mov P0,#0FFH
mov wela,1
mov wela,0
mov P0,#0F0H
mov dula,1
mov dula,0
mov P0,#0FFH
DelayMs 5
mov P0,#0FFH
mov wela,1
mov wela,0
mov P0,#0FH
mov dula,1
mov dula,0
mov P0,#0FFH
DelayMs 5
ret
Display ENDP
;主程序
MAIN:
mov DPTR, #TABLE
mov R0, #0
LOOP:
mov A, R0
add A, #0F0H
movc A, @A+DPTR
mov P0, A
inc R0
cjne R0, #10, LOOP
sjmp LOOP
TABLE:
DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
END
```
上述代码中,先定义了端口地址,然后定义了延时函数和显示函数。在主程序中,通过循环依次显示数字0-9。其中,数字0-9的编码存储在一个常量表中,通过移位和加法运算得到要显示的数字的编码,并通过显示函数进行输出。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)