📄 动态显示4.lst
字号:
A51 MACRO ASSEMBLER 动态显示4 04/14/2005 16:25:47 PAGE 1
MACRO ASSEMBLER A51 V1.10
OBJECT MODULE PLACED IN 动态显示4.OBJ
ASSEMBLER INVOKED BY: H:\239\A51.EXE 动态显示4.ASM DB
LOC OBJ LINE SOURCE
1 ;实验四:数码管动态显示程序
0000 2 org 00h
0000 0150 3 ajmp main
0050 4 org 50h
0050 7A00 5 main: mov r2,#00h ;将要显示的数字器送R2
0052 900082 6 sss: mov dptr,#tab ;查表取得数字的字型码送R0
0055 EA 7 mov a,r2
0056 93 8 movc a,@a+dptr
0057 F8 9 mov r0,a
0058 7E40 10 mov r6,#40h ;循环调用显示程序延时1.5S
005A 120065 11 xsh1: lcall disp1
005D DEFB 12 djnz r6,xsh1
005F 0A 13 inc r2 ;将下一个要显示数字送R2
0060 BA0AEF 14 cjne r2,#0ah,sss;判断数字9显示完否?
0063 0150 15 ajmp main
0065 7D08 16 disp1: mov r5,#08h ;显示程序开始,将要显示的位数送R5
0067 79FE 17 mov r1,#0feh ;将要显示的位码送R1
0069 907FFF 18 dis00: mov dptr,#7fffh ;将要显示的字型码送74LS273
006C E8 19 mov a,r0
006D F0 20 movx @dptr,a
006E E9 21 mov a,r1 ;将位选码送入R1
006F F5A0 22 mov p2,a
0071 120079 23 lcall delay ;调延时1MS子程序
0074 23 24 rl a ;位选左移,选中下一位,如果8位数字
0075 F9 25 mov r1,a ;显示完了则返回
0076 DDF1 26 djnz r5,dis00
0078 22 27 ret
0079 7B08 28 delay: mov r3,#08h ;延时1MS程序
007B 7CA0 29 loop: mov r4,#0a0h
007D DCFE 30 djnz r4,$
007F DBFA 31 djnz r3,loop
0081 22 32 ret
0082 C0F9A4B0 33 tab: db 0c0h,0f9h,0a4h,0b0h,99h ;字型表
0086 99
0087 9282F880 34 db 92h,82h,0f8h,80h,90h
008B 90
35 end
A51 MACRO ASSEMBLER 动态显示4 04/14/2005 16:25:47 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY. . . . . . . C ADDR 0079H A
DIS00. . . . . . . C ADDR 0069H A
DISP1. . . . . . . C ADDR 0065H A
LOOP . . . . . . . C ADDR 007BH A
MAIN . . . . . . . C ADDR 0050H A
P2 . . . . . . . . D ADDR 00A0H A
SSS. . . . . . . . C ADDR 0052H A
TAB. . . . . . . . C ADDR 0082H A
XSH1 . . . . . . . C ADDR 005AH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -