das8830.lst

来自「一个已经在使用的16位DAC8830的源码,有用的,欢迎下载」· LST 代码 · 共 151 行

LST
151
字号
A51 MACRO ASSEMBLER  DAS8830                                                              07/16/2007 13:19:07 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN das8830.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE das8830.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2     
                       3     
                       4     
  00E8                 5       P4      equ   0e8h
  E004                 6       sda_io  equ   0e004h
  E000                 7       da_cs   equ   0e000h
  00B5                 8       sclk    equ   p3.5
  00B4                 9       sdat    equ   p3.4
                      10     
  00E9                11       spk     bit   P4.1
                      12     
0000                  13       org    0000h
0000 020003           14       ljmp   main
                      15     
                      16       
0003                  17     main:
0003 90E004           18       mov    dptr,#sda_io
0006 7401             19       mov    a,#1
0008 F0               20       movx   @dptr,a
                      21       
                      22      
                      23     
0009 C2E9             24       clr   spk
000B C2B5             25       clr   sclk
000D D2B4             26       setb  sdat
                      27     
000F 90E000           28       mov   dptr,#0e000h
0012 7404             29       mov   a,#04H 
0014 F0               30       movx  @dptr,a
0015 7800             31       mov   r0,#0
0017 7900             32       mov   r1,#0
0019                  33     loop:
                      34     
0019 08               35       inc   r0
001A 120024           36       lcall dac8830
                      37     
001D 740A             38       mov   a,#10
001F 120050           39       lcall d1ms
                      40     
0022 80F5             41       sjmp  loop
                      42     
                      43     
0024                  44     dac8830:
                      45     ; 要输出的数据从R0R1输,R0为高字节,R1为低字节
                      46     ; 占用:ACC CY DPTR R0 R1 R2(计数)
0024 7400             47       mov  a,#0
0026 90E004           48       mov  dptr,#sda_io
0029 F0               49       movx @dptr,a
                      50     
002A 7404             51       mov  a,#00000100B
002C 90E000           52       mov  dptr,#da_cs
002F F0               53       movx @dptr,a
                      54     
0030 00               55       nop
0031 7A10             56       mov  r2,#16
0033                  57     dac8830_loop:
                      58       ;(MSB) R0 R1
A51 MACRO ASSEMBLER  DAS8830                                                              07/16/2007 13:19:07 PAGE     2

0033 C2B5             59       clr  sclk
0035 C3               60       clr  c
0036 E9               61       mov  a,r1
0037 33               62       rlc  a
0038 F9               63       mov  r1,a
0039 E8               64       mov  a,r0
003A 33               65       rlc  a
003B F8               66       mov  r0,a
003C 92B4             67       mov  sdat,c
003E 00               68       nop
003F 00               69       nop
0040 00               70       nop
0041 D2B5             71       setb sclk
0043 DAEE             72       djnz r2,dac8830_loop
0045 C2B5             73       clr  sclk
0047 00               74       nop
0048 00               75       nop
0049 7406             76       mov  a,#00000110B
004B 90E000           77       mov  dptr,#da_cs
004E F0               78       movx @dptr,a
004F 22               79       ret
                      80       
                      81     
                      82     
                      83     
                      84     
                      85     
                      86     
                      87     
0050                  88     D1ms:              ;X=22.1184MHz
                      89                        ;t=1-255ms
0050 C006             90             push  06h
0052 C007             91                     push  07h
0054 FF               92             MOV   R7,A
0055                  93     D1ms_01:
0055 7EC8             94             MOV   R6,#200  ;t.=1ms
0057                  95     D1ms_02:
0057 00               96             NOP
0058 00               97             NOP
0059 00               98             NOP
005A 00               99             NOP
005B 00              100             NOP
005C 00              101             NOP
005D 00              102             NOP
005E DEF7            103             DJNZ  R6,D1ms_02
0060 DFF3            104             DJNZ  R7,D1ms_01
                     105     
0062 D007            106             pop   07h
0064 D006            107                     pop   06h 
0066 22              108             RET
                     109        
                     110     
                     111     end
A51 MACRO ASSEMBLER  DAS8830                                                              07/16/2007 13:19:07 PAGE     3

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


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

D1MS . . . . . . .  C ADDR   0050H   A   
D1MS_01. . . . . .  C ADDR   0055H   A   
D1MS_02. . . . . .  C ADDR   0057H   A   
DAC8830. . . . . .  C ADDR   0024H   A   
DAC8830_LOOP . . .  C ADDR   0033H   A   
DA_CS. . . . . . .  N NUMB   E000H   A   
LOOP . . . . . . .  C ADDR   0019H   A   
MAIN . . . . . . .  C ADDR   0003H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
P4 . . . . . . . .  N NUMB   00E8H   A   
SCLK . . . . . . .  B ADDR   00B0H.5 A   
SDAT . . . . . . .  B ADDR   00B0H.4 A   
SDA_IO . . . . . .  N NUMB   E004H   A   
SPK. . . . . . . .  B ADDR   00E8H.1 A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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