利用2位共阳级的数码管显示秒表汇编程序
时间: 2024-03-08 11:06:04 浏览: 73
下面是使用汇编语言编写的秒表程序,实现了2位共阳极数码管的显示:
```
ORG 0
SJMP Main
; 数码管段码
Segs: DB 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90
; 延时函数
Delay: MOV R7, #20
Delay1: MOV R6, #255
Delay2: DJNZ R6, Delay2
DJNZ R7, Delay1
RET
; 显示函数
Display:MOV P2, #0x03
MOV A, D2
ADDC A, #0
MOV P1, Segs+0
MOV P2, #0x01
CALL Delay
MOV P2, #0x03
MOV A, D1
ADDC A, #0
MOV P1, Segs+0
MOV P2, #0x02
CALL Delay
RET
Main: MOV D1, #0
MOV D2, #0
Loop: CALL Display
INC D1
CJNE D1, #10, Next
MOV D1, #0
INC D2
Next: CJNE D2, #10, Loop
END
```
这个程序与之前的程序类似,不同之处在于使用了2位共阳级的数码管。因此,`Display`函数中的`P2`端口需要设置为`0x03`,并且每次只显示最低的两位数字。程序的主要逻辑是通过循环来不断更新数码管的显示内容,实现秒表功能。
阅读全文