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

📄 da0832.lst

📁 恒科试验平台的所有程序代码
💻 LST
字号:
A51 MACRO ASSEMBLER  DA0832                                                                 02/12/03 08:17:49 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;       “验证式”      实验五    D/A转换
                       2     
                       3     ;利用0832DA转换功能产生正弦波
                       4     
  E101                 5              OUTBIT   equ 0e101h  ; 位控制口
  E102                 6             CLK164   equ 0e102h  ; 段控制口(接164时钟位)
  E102                 7             DAT164   equ 0e102h  ; 段控制口(接164数据位)
  E103                 8             IN       equ 0e103h  ; 键盘读入口
  0040                 9             LEDBuf   equ   40h   ; 显示缓冲
                      10     
0000                  11             org 0000h
0000 758160           12             mov sp,#60h
0003 90E100           13             mov dptr,#0e100h    ;8155初始化
0006 7403             14             mov a,#03h
0008 F0               15             movx @dptr,a
0009 754000           16             mov 40h,#00h        ;显示缓冲区置值
000C 754108           17             mov 41h,#08h
000F 754203           18             mov 42h,#03h
0012 754302           19             mov 43h,#02h
0015 7D00             20     loop1:  mov r5,#00h
0017 90B000           21     loop2:  mov dptr,#0B000h     ;0832DA 从小到大转换
001A ED               22             mov a,r5
001B F0               23             movx @dptr,a
001C F545             24             mov 45h,a           ;拆字后送显示缓冲区
001E 7845             25             mov r0,#45h
0020 119D             26             acall ptds
0022 7E15             27             mov r6,#15h
0024 1148             28     dir10:  acall display       ;调用显示子程序
0026 DEFC             29             djnz r6,dir10
                      30         ;    lcall delay1
0028 0D               31             inc r5
0029 BD00EB           32             cjne r5,#00h,loop2
002C 90B000           33     loop3:  mov dptr,#0B000h     ;0832DA从大到小转换
002F 1D               34             dec r5
0030 ED               35             mov a,r5
0031 F0               36             movx @dptr,a
0032 7845             37             mov r0,#45h
0034 119D             38             acall ptds
0036 7E15             39             mov r6,#15h
0038 1148             40     dir11:  acall display
003A DEFC             41             djnz r6,dir11
                      42     ;       acall delay1
003C BD00ED           43             cjne r5,#00h,loop3
003F 80D4             44             sjmp loop1
0041                  45     Delay:
0041 7F00             46             mov   r7, #00         ; 延时子程序
                      47     
0043                  48     DelayLoop:
0043 DFFE             49             djnz  r7, DelayLoop
0045 DEFC             50             djnz  r6, DelayLoop
0047 22               51             ret
                      52     
0048 D2D3             53     DISPLAY:setb 0d3h
004A 7840             54             mov   r0, #LEDBuf
004C 7906             55             mov   r1, #6          ; 共6个八段管
004E 7A20             56             mov   r2, #00100000b  ; 从左边开始显示
0050                  57     Loop:
0050 90E101           58             mov   dptr, #OUTBIT
A51 MACRO ASSEMBLER  DA0832                                                                 02/12/03 08:17:49 PAGE     2

0053 7400             59             mov   a, #00h
0055 F0               60             movx  @dptr, a        ; 关所有八段管
                      61     
0056 E6               62             mov   a, @r0
0057 90008D           63             mov dptr,#LEDmap
005A 93               64             movc a,@a+dptr
005B 75F008           65             mov   B, #8           ; 送164
005E                  66     DLP:
005E 33               67             rlc   a
005F FB               68             mov   r3, a
0060 92E0             69             mov   acc.0, c
0062 54FD             70             anl  a,#0fdh
0064 90E102           71             mov   dptr, #DAT164
0067 F0               72             movx  @dptr, a
0068 90E102           73             mov   dptr, #CLK164
006B 4403             74             orl a,#03h
006D F0               75             movx  @dptr, a
006E 54FD             76             anl a,#0fDh
0070 F0               77             movx  @dptr, a
0071 EB               78             mov   a, r3
0072 D5F0E9           79             djnz  B, DLP
0075 90E101           80             mov   dptr, #OUTBIT
0078 EA               81             mov   a, r2
0079 F0               82             movx  @dptr, a        ; 显示一位八段管
007A 7E02             83             mov   r6, #02
007C 1141             84             call  Delay
007E EA               85             mov   a, r2           ; 显示下一位
007F 03               86             rr    a
0080 FA               87             mov   r2, a
0081 08               88             inc   r0
0082 D9CC             89             djnz  r1, Loop
0084 90E101           90             mov   dptr, #OUTBIT
0087 7400             91             mov   a, #0
0089 F0               92             movx  @dptr, a        ; 关所有八段管
008A C2D3             93             clr   0d3h
008C 22               94             ret
008D                  95     LEDMAP:                       ; 八段管显示码
008D 3F065B4F         96            db    3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
0091 666D7D07                
0095 7F6F777C         97            db    7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
0099 395E7971                
009D F9               98     ptds:   mov r1,a
009E 11A2             99             acall ptds1
00A0 E9              100             mov a,r1
00A1 C4              101             swap a
00A2 540F            102     ptds1:  anl a,#0fh
00A4 F6              103             mov @r0,a
00A5 18              104             dec r0
00A6 22              105             ret
00A7 7F03            106     Delay1: mov r7,#03h
00A9 8098            107             sjmp  DelayLoop
                     108             END
                             
A51 MACRO ASSEMBLER  DA0832                                                                 02/12/03 08:17:49 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      69
B. . . . . . . . .  D ADDR   00F0H   A      65 79
CLK164 . . . . . .  N NUMB   E102H   A      6# 73
DAT164 . . . . . .  N NUMB   E102H   A      7# 71
DELAY. . . . . . .  C ADDR   0041H   A      45# 84
DELAY1 . . . . . .  C ADDR   00A7H   A      106#
DELAYLOOP. . . . .  C ADDR   0043H   A      48# 49 50 107
DIR10. . . . . . .  C ADDR   0024H   A      28# 29
DIR11. . . . . . .  C ADDR   0038H   A      40# 41
DISPLAY. . . . . .  C ADDR   0048H   A      28 40 53#
DLP. . . . . . . .  C ADDR   005EH   A      66# 79
IN . . . . . . . .  N NUMB   E103H   A      8#
LEDBUF . . . . . .  N NUMB   0040H   A      9# 54
LEDMAP . . . . . .  C ADDR   008DH   A      63 95#
LOOP . . . . . . .  C ADDR   0050H   A      57# 89
LOOP1. . . . . . .  C ADDR   0015H   A      20# 44
LOOP2. . . . . . .  C ADDR   0017H   A      21# 32
LOOP3. . . . . . .  C ADDR   002CH   A      33# 43
OUTBIT . . . . . .  N NUMB   E101H   A      5# 58 80 90
PTDS . . . . . . .  C ADDR   009DH   A      26 38 98#
PTDS1. . . . . . .  C ADDR   00A2H   A      99 102#
SP . . . . . . . .  D ADDR   0081H   A      12


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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