八段数码管显示 1.实验目的:
(1)了解数码管动态显示的原理。 (2)了解74LS164 扩展端口的方法。 2.实验内容:
利用实验仪提供的显示电路,动态显示一行数据。
7.参考程序(SY10.ASM):
OUTBIT equ 0e101h ; 位控制口
CLK164 equ 0e102h ; 段控制口(接164 时钟位) DAT164 equ 0e102h ; 段控制口(接164 数据位) IN equ 0e103h ; 键盘读入口 LEDBuf equ 60h ; 显示缓冲 Num equ 70h ; 显示的数据 DelayT equ 75h org 0000h ljmp Start
LEDMAP: ; 八段管显示码
db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h Delay: ; 延时子程序 mov r7, #0 DelayLoop:
djnz r7, DelayLoop djnz r6, DelayLoop ret
DisplayLED:
mov r0, #LEDBuf
mov r1, #6 ; 共6 个八段管
mov r2, #00100000b ; 从左边开始显示 Loop:
mov dptr, #OUTBIT mov a, #00h
movx @dptr, a ; 关所有八段管 mov a, @r0
mov B, #8 ; 送164 DLP: rlc a
mov r3, a mov acc.0, c ANL A, #0FDH
mov dptr, #DAT164 movx @dptr, a
mov dptr, #CLK164