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

📄 dacsine.lst

📁 大量ADuc831的程序员代码
💻 LST
字号:
DACSINE                                                                                                       PAGE 1

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : 31 May 2002
                       6    ;
                       7    ; File          : DACsine.asm
                       8    ;
                       9    ; Hardware      : ADuC831
                      10    ;
                      11    ; Description   : Outputs a sine waves on DAC0 at 720Hz.
                      12    ;                 Rate calculations assume an 11.0592MHz Mclk.
                      13    ;
                      14    ;********************************************************************
                      15    
                      16    $MOD831                         ; Use 8052&ADuC831 predefined symbols
                      17    
  00B4                18    LED     EQU     P3.4            ; P3.4 drives red LED on eval board
                      19    
                      20    ;____________________________________________________________________
                      21                                                      ; BEGINNING OF CODE
----                  22    CSEG
                      23    
0000                  24    ORG 0000h
0000 75EF80           25            MOV     ADCCON1,#80H
                      26    
0003 75FD0D           27            MOV     DACCON,#00Dh    ; DAC0 on, 12bit, asynchronous
0006 75FA08           28            MOV     DAC0H,#008h
0009 75F900           29            MOV     DAC0L,#000h     ; DAC0 to mid-scale
                      30    
000C 901000           31            MOV     DPTR,#TABLE
                      32    
000F E4               33    STEP:   CLR     A               ;                                   1
0010 93               34            MOVC    A,@A+DPTR       ; get high data byte from table..   2
0011 F5FA             35            MOV     DAC0H,A         ; ..and move it into DAC register   1
0013 A3               36            INC     DPTR            ; move on to get low byte           2
                      37    
0014 E4               38            CLR     A               ;                                   1
0015 93               39            MOVC    A,@A+DPTR       ; get low data byte from table..    2
0016 F5F9             40            MOV     DAC0L,A         ; ..and update DAC output           1
0018 A3               41            INC     DPTR            ; move on for next data point       2
                      42    
0019 53827F           43            ANL     DPL,#07Fh       ; wrap around at end of table       2
                      44    
001C E5FA             45            MOV     A,DAC0H         ;                                   1
001E A2E3             46            MOV     C,ACC.3         ; MSB of DAC0 value                 1
0020 92B4             47            MOV     LED,C           ; LED = MSB of DAC0                 2
                      48    
0022 80EB             49            JMP     STEP            ;                                   2
                      50    
                      51    ; numbers at right in the above loop represent the number of machine
                      52    ; cycles for each instruction.  the complete loop takes exactly 20
                      53    ; machine cycles.  with an 11.0592MHz master clock, a machine cycle
                      54    ; is 1.085us, so the above loop takes 21.70us to update each data
                      55    ; point.  since there are 64 data points in the below sine lookup
                      56    ; table, this results in a 1.389ms period, i.e. a 720.0Hz frequency.
                      57    
                      58    ;____________________________________________________________________
DACSINE                                                                                                       PAGE 2

                      59                                                      ; SINE LOOKUP TABLE
1000                  60    ORG 01000h
                      61    
1000                  62    TABLE:
                      63    
1000 07FF             64    DB  007h, 0FFh
1002 08C8             65    DB  008h, 0C8h
1004 098E             66    DB  009h, 08Eh
1006 0A51             67    DB  00Ah, 051h
1008 0B0F             68    DB  00Bh, 00Fh
100A 0BC4             69    DB  00Bh, 0C4h
100C 0C71             70    DB  00Ch, 071h
100E 0D12             71    DB  00Dh, 012h
1010 0DA7             72    DB  00Dh, 0A7h
1012 0E2E             73    DB  00Eh, 02Eh
1014 0EA5             74    DB  00Eh, 0A5h
1016 0F0D             75    DB  00Fh, 00Dh
1018 0F63             76    DB  00Fh, 063h
101A 0FA6             77    DB  00Fh, 0A6h
101C 0FD7             78    DB  00Fh, 0D7h
101E 0FF5             79    DB  00Fh, 0F5h
1020 0FFF             80    DB  00Fh, 0FFh
1022 0FF5             81    DB  00Fh, 0F5h
1024 0FD7             82    DB  00Fh, 0D7h
1026 0FA6             83    DB  00Fh, 0A6h
1028 0F63             84    DB  00Fh, 063h
102A 0F0D             85    DB  00Fh, 00Dh
102C 0EA5             86    DB  00Eh, 0A5h
102E 0E2E             87    DB  00Eh, 02Eh
1030 0DA7             88    DB  00Dh, 0A7h
1032 0D12             89    DB  00Dh, 012h
1034 0C71             90    DB  00Ch, 071h
1036 0BC4             91    DB  00Bh, 0C4h
1038 0B0F             92    DB  00Bh, 00Fh
103A 0A51             93    DB  00Ah, 051h
103C 098E             94    DB  009h, 08Eh
103E 08C8             95    DB  008h, 0C8h
1040 07FF             96    DB  007h, 0FFh
1042 0736             97    DB  007h, 036h
1044 0670             98    DB  006h, 070h
1046 05AD             99    DB  005h, 0ADh
1048 04EF            100    DB  004h, 0EFh
104A 043A            101    DB  004h, 03Ah
104C 038D            102    DB  003h, 08Dh
104E 02EC            103    DB  002h, 0ECh
1050 0257            104    DB  002h, 057h
1052 01D0            105    DB  001h, 0D0h
1054 0159            106    DB  001h, 059h
1056 00F1            107    DB  000h, 0F1h
1058 009B            108    DB  000h, 09Bh
105A 0058            109    DB  000h, 058h
105C 0027            110    DB  000h, 027h
105E 0009            111    DB  000h, 009h
1060 0000            112    DB  000h, 000h
1062 0009            113    DB  000h, 009h
1064 0027            114    DB  000h, 027h
1066 0058            115    DB  000h, 058h
1068 009B            116    DB  000h, 09Bh
DACSINE                                                                                                       PAGE 3

106A 00F1            117    DB  000h, 0F1h
106C 0159            118    DB  001h, 059h
106E 01D0            119    DB  001h, 0D0h
1070 0257            120    DB  002h, 057h
1072 02EC            121    DB  002h, 0ECh
1074 038D            122    DB  003h, 08Dh
1076 043A            123    DB  004h, 03Ah
1078 04EF            124    DB  004h, 0EFh
107A 05AD            125    DB  005h, 0ADh
107C 0670            126    DB  006h, 070h
107E 0736            127    DB  007h, 036h          ; end of table
                     128    
                     129    ;____________________________________________________________________
                     130    
                     131    END

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
DACSINE                                                                                                       PAGE 4

ACC. . . . . . . . . . . . . . .  D ADDR  00E0H  PREDEFINED  
ADCCON1. . . . . . . . . . . . .  D ADDR  00EFH  PREDEFINED  
DAC0H. . . . . . . . . . . . . .  D ADDR  00FAH  PREDEFINED  
DAC0L. . . . . . . . . . . . . .  D ADDR  00F9H  PREDEFINED  
DACCON . . . . . . . . . . . . .  D ADDR  00FDH  PREDEFINED  
DPL. . . . . . . . . . . . . . .  D ADDR  0082H  PREDEFINED  
LED. . . . . . . . . . . . . . .    NUMB  00B4H  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  
STEP . . . . . . . . . . . . . .  C ADDR  000FH  
TABLE. . . . . . . . . . . . . .  C ADDR  1000H  

⌨️ 快捷键说明

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