单片机 汇编 LED数码管动态显示

发布网友 发布时间:2022-04-20 15:01

我来回答

3个回答

热心网友 时间:2023-07-11 06:46

dbuf equ 30h ;置存储区首址
temp equ 40h ;置缓冲区首址
org 00h
mov 30h,#2 ;存入数据
mov 31h,#0
mov 32h,#1
mov 33h,#0
mov 34h,#7
mov 35h,#1
mov r0,#dbuf
mov r1,#temp
mov r2,#6 ;六位显示器
mov dptr,#segtab ;段码表首地址
dp00: mov a,@r0 ;取要显示的数据
movc a,@a+dptr ;查表取段码
mov @r1,a ;段码暂存
inc r1
inc r0
djnz r2,dp00
disp0: mov r0,#temp ;显示子程序
mov r1,#6 ;扫描6次
mov r2,#01h ;从第一位开始
dp01: mov a,@r0
mov p0,a ;段码输出
mov a,r2 ;取位码
mov p1,a ;位码输出
acall delay ;调用延时
mov a,r2
rl a
mov r2,a
inc r0
djnz r1,dp01
sjmp disp0
segtab: db 3fh,06h,5bh,4fh,66h
db 6dh,7dh,07h,7fh,6fh
delay: mov r4,#03h ;延时子程序
aa1: mov r5,0ffh
aa: djnz r5,aa
djnz r4,aa1
ret
end

热心网友 时间:2023-07-11 06:46

所谓的动态显示就是:led灯按设定的循序不停的一个一个(一个数用一块八段管)数的输出显示,由于led灯的闪烁速度很快,而人的眼睛最多只能识别0.2秒间隙以上的变化。那么在人看来,不停闪烁的led管就像是静态显示一样。

图中,段控制和位控制分时复用P0口,选用两个锁存器573来分开段控制和位控制数据。

段控制:数码管显示的字形

位控制:哪个数码管显示(或者说控制字形送往哪个数码管)

注意:段控制是与所有数码管连接在一起的。(如果将位控制全开的话,数码管就变成了静态显示了,并且显示的数字也是一样的)。位控制是一个一个连接的。

热心网友 时间:2023-07-11 06:46

已发送 请注意查收

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com