⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a164.lst

📁 恒科试验平台的所有程序代码
💻 LST
字号:
A51 MACRO ASSEMBLER  A164                                                                   30/05/08 08:35:32 PAGE     1


DOS MACRO ASSEMBLER A51 X4.86
OBJECT MODULE PLACED IN A164.O
ASSEMBLER INVOKED BY: C:\OMF51\BIN\A51.EXE C:\HKCX\51ASM\A164.ASM DB SB XR RB(0) PR(A164.LST) OJ(A164.O) 

LOC  OBJ            LINE     SOURCE

                       1     ;  实验一  八段数码管显示
  E101                 2     OUTBIT   equ 0e101h  ; 位控制口
  E102                 3     CLK164   equ 0e102h  ; 段控制口(接164时钟位)
  E102                 4     DAT164   equ 0e102h  ; 段控制口(接164数据位)
  E103                 5     IN       equ 0e103h  ; 键盘读入口
  0060                 6     LEDBuf   equ   60h     ; 显示缓冲
  0070                 7     Num      equ   70h     ; 显示的数据
  0075                 8     DelayT   equ   75h     ;
0000                   9             org   0000h
0000 020057           10            ljmp  Start
0003                  11     LEDMAP:              ; 八段管显示码
0003 3F065B4F         12            db    3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
0007 666D7D07                
000B 7F6F777C         13            db    7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
000F 395E7971                
0013                  14     Delay:               ; 延时子程序
0013 7F00             15            mov   r7, #0
0015                  16     DelayLoop:
0015 DFFE             17           djnz  r7, DelayLoop
0017 DEFC             18            djnz  r6, DelayLoop
0019 22               19            ret
001A                  20     DisplayLED:
001A 7860             21            mov   r0, #LEDBuf
001C 7906             22            mov   r1, #6          ; 共6个八段管
001E 7A20             23            mov   r2, #00100000b  ; 从左边开始显示
0020                  24     Loop:
0020 90E101           25            mov   dptr, #OUTBIT
0023 7400             26            mov   a, #00h
0025 F0               27            movx  @dptr, a        ; 关所有八段管
0026 E6               28            mov   a, @r0
0027 75F008           29            mov   B, #8           ; 送164
002A                  30     DLP:
002A 33               31            rlc   a
002B FB               32            mov   r3, a
002C 92E0             33            mov   acc.0, c
002E 54FD             34            ANL   A, #0FDH
0030 90E102           35            mov   dptr, #DAT164
0033 F0               36            movx  @dptr, a
0034 90E102           37            mov   dptr, #CLK164
0037 4402             38            orl a,#02h
0039 F0               39            movx  @dptr, a
003A 54FD             40            anl a,#0fDh
003C F0               41            movx  @dptr, a
003D EB               42            mov   a, r3
003E D5F0E9           43            djnz  B, DLP
0041 90E101           44            mov   dptr, #OUTBIT
0044 EA               45            mov   a, r2
0045 F0               46            movx  @dptr, a        ; 显示一位八段管
0046 7E01             47            mov   r6, #1
0048 1113             48            call  Delay
004A EA               49            mov   a, r2           ; 显示下一位
004B 03               50            rr    a
004C FA               51            mov   r2, a
004D 08               52            inc   r0
004E D9D0             53            djnz  r1, Loop
0050 90E101           54            mov   dptr, #OUTBIT
0053 7400             55            mov   a, #0
0055 F0               56            movx  @dptr, a        ; 关所有八段管
A51 MACRO ASSEMBLER  A164                                                                   30/05/08 08:35:32 PAGE     2

0056 22               57            ret
0057 90E100           58     Start: mov dptr,#0e100h
005A 7403             59            mov a,#03h
005C F0               60            movx @dptr,a
005D 758140           61            mov   sp, #40h
0060 757000           62            mov   Num, #0
0063                  63     MLoop:
0063 0570             64            inc   Num
0065 E570             65            mov   a, Num
0067 F5F0             66            mov   b, a
0069 7860             67            mov   r0, #LEDBuf
006B                  68     FillBuf:
006B E5F0             69            mov   a, b
006D 540F             70            anl   a, #0fh
006F 900003           71            mov   dptr, #LEDMap
0072 93               72            movc  a, @a+dptr    ; 数字转换成显示码
0073 F6               73            mov   @r0,a         ; 显示在码填入显示缓冲
0074 08               74            inc   r0
0075 05F0             75            inc   b
0077 B866F1           76            cjne  r0, #LEDBuf+6, FillBuf
007A 75751E           77            mov   DelayT,#30
007D                  78     DispAgain:
007D 111A             79            call  DisplayLED    ; 显示
007F D575FB           80            djnz  DelayT,DispAgain
0082 020063           81            ljmp  MLoop
                      82            END
                             
                               
                             
A51 MACRO ASSEMBLER  A164                                                                   30/05/08 08:35:32 PAGE     3

XREF SYMBOL TABLE LISTING
---- ------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES / REFERENCES

ACC. . . . . . . .  D ADDR   00E0H   A      33
B. . . . . . . . .  D ADDR   00F0H   A      29 43 66 69 75
CLK164 . . . . . .  N NUMB   E102H   A      3# 37
DAT164 . . . . . .  N NUMB   E102H   A      4# 35
DELAY. . . . . . .  C ADDR   0013H   A      14# 48
DELAYLOOP. . . . .  C ADDR   0015H   A      16# 17 18
DELAYT . . . . . .  N NUMB   0075H   A      8# 77 80
DISPAGAIN. . . . .  C ADDR   007DH   A      78# 80
DISPLAYLED . . . .  C ADDR   001AH   A      20# 79
DLP. . . . . . . .  C ADDR   002AH   A      30# 43
FILLBUF. . . . . .  C ADDR   006BH   A      68# 76
IN . . . . . . . .  N NUMB   E103H   A      5#
LEDBUF . . . . . .  N NUMB   0060H   A      6# 21 67 76
LEDMAP . . . . . .  C ADDR   0003H   A      11# 71
LOOP . . . . . . .  C ADDR   0020H   A      24# 53
MLOOP. . . . . . .  C ADDR   0063H   A      63# 81
NUM. . . . . . . .  N NUMB   0070H   A      7# 62 64 65
OUTBIT . . . . . .  N NUMB   E101H   A      2# 25 44 54
SP . . . . . . . .  D ADDR   0081H   A      61
START. . . . . . .  C ADDR   0057H   A      10 58#


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -