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

📄 dacsync.lst

📁 aduc842原程序代码 ad公司芯片应用笔记
💻 LST
字号:
DACSYNC                                                                                                       PAGE 1

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : October 2003
                       6    ;
                       7    ; File          : DACsync.asm
                       8    ;
                       9    ; Hardware      : ADuC842
                      10    ;
                      11    ; Description   : Outputs sine waves on DAC0 and DAC1 at 590Hz.
                      12    ;                 Output signals are in quadrature with eachother,
                      13    ;                 DAC1 leading DAC0 by 90 degrees.  the SYNC bit is
                      14    ;                 used to ensure that both DAC outputs update
                      15    ;                 simultaneously thus avoiding a phase error of 0.625
                      16    ;                 degrees.
                      17    ;                
                      18    ;
                      19    ;********************************************************************
                      20    
                      21    $MOD842                         ; Use 8052&ADuC842 predefined symbols
                      22    
  00B4                23    LED     EQU     P3.4            ; P3.4 drives red LED on eval board
                      24    
                      25    ;____________________________________________________________________
                      26                                                      ; BEGINNING OF CODE
----                  27    CSEG
                      28    
0000                  29    ORG 0000h
0000 75EF80           30            MOV     ADCCON1,#80H
0003 75D703           31            MOV     PLLCON,#03H     ; 
0006 75FD1F           32            MOV     DACCON,#01Fh    ; both DACs on,12bit,asynchronous
0009 75FA08           33            MOV     DAC0H,#008h
000C 75F900           34            MOV     DAC0L,#000h     ; DAC0 to mid-scale
000F 75FC0F           35            MOV     DAC1H,#00Fh
0012 75FBFF           36            MOV     DAC1L,#0FFh     ; DAC1 to full-scale
                      37    
0015 901000           38            MOV     DPTR,#TABLE
                      39    
0018 53FDFB           40    STEP:   ANL     DACCON,#0FBh    ; clear SYNC bit                    
                      41    
001B E4               42            CLR     A               ;                                   
001C 93               43            MOVC    A,@A+DPTR       ; get high byte for mainDAC..       
001D F5FA             44            MOV     DAC0H,A         ; ..and move it into DAC0 register  
001F 7420             45            MOV     A,#020h         ; offset by 90deg for quadratureDAC 
0021 93               46            MOVC    A,@A+DPTR       ; get high byte for quadratureDAC.. 
0022 F5FC             47            MOV     DAC1H,A         ; ..and move it into DAC1 register  
0024 A3               48            INC     DPTR            ; move on to get low bytes          
                      49    
0025 E4               50            CLR     A               ;                                   
0026 93               51            MOVC    A,@A+DPTR       ; get low byte for mainDAC..        
0027 F5F9             52            MOV     DAC0L,A         ; ..and update DAC0                 
0029 7420             53            MOV     A,#020h         ; offset by 90deg for quadratureDAC 
002B 93               54            MOVC    A,@A+DPTR       ; get low byte for quadratureDAC..  
002C F5FB             55            MOV     DAC1L,A         ; ..and update DAC1                 
002E A3               56            INC     DPTR            ; move on for next data point       
                      57    
002F 43FD04           58            ORL     DACCON,#004h    ; set SYNC bit                      
DACSYNC                                                                                                       PAGE 2

                      59    
0032 53827F           60            ANL     DPL,#07Fh       ; wrap around at end of table       
                      61    
0035 E5FA             62            MOV     A,DAC0H         ;                                   
0037 A2E3             63            MOV     C,ACC.3         ; MSB of DAC0 value                 
0039 92B4             64            MOV     LED,C           ; LED = MSB of DAC0                 
                      65    
003B 00               66            NOP                     ;                                   
003C 00               67            NOP                     ;                                   
                      68    
003D 80D9             69            JMP     STEP            ;                                   
                      70    
                      71    
                      72    
                      73    ;____________________________________________________________________
                      74                                                      ; SINE LOOKUP TABLE
1000                  75    ORG 01000h
                      76    
1000                  77    TABLE:
                      78    
1000 07FF             79    DB  007h, 0FFh
1002 08C8             80    DB  008h, 0C8h
1004 098E             81    DB  009h, 08Eh
1006 0A51             82    DB  00Ah, 051h
1008 0B0F             83    DB  00Bh, 00Fh
100A 0BC4             84    DB  00Bh, 0C4h
100C 0C71             85    DB  00Ch, 071h
100E 0D12             86    DB  00Dh, 012h
1010 0DA7             87    DB  00Dh, 0A7h
1012 0E2E             88    DB  00Eh, 02Eh
1014 0EA5             89    DB  00Eh, 0A5h
1016 0F0D             90    DB  00Fh, 00Dh
1018 0F63             91    DB  00Fh, 063h
101A 0FA6             92    DB  00Fh, 0A6h
101C 0FD7             93    DB  00Fh, 0D7h
101E 0FF5             94    DB  00Fh, 0F5h
1020 0FFF             95    DB  00Fh, 0FFh
1022 0FF5             96    DB  00Fh, 0F5h
1024 0FD7             97    DB  00Fh, 0D7h
1026 0FA6             98    DB  00Fh, 0A6h
1028 0F63             99    DB  00Fh, 063h
102A 0F0D            100    DB  00Fh, 00Dh
102C 0EA5            101    DB  00Eh, 0A5h
102E 0E2E            102    DB  00Eh, 02Eh
1030 0DA7            103    DB  00Dh, 0A7h
1032 0D12            104    DB  00Dh, 012h
1034 0C71            105    DB  00Ch, 071h
1036 0BC4            106    DB  00Bh, 0C4h
1038 0B0F            107    DB  00Bh, 00Fh
103A 0A51            108    DB  00Ah, 051h
103C 098E            109    DB  009h, 08Eh
103E 08C8            110    DB  008h, 0C8h
1040 07FF            111    DB  007h, 0FFh
1042 0736            112    DB  007h, 036h
1044 0670            113    DB  006h, 070h
1046 05AD            114    DB  005h, 0ADh
1048 04EF            115    DB  004h, 0EFh
104A 043A            116    DB  004h, 03Ah
DACSYNC                                                                                                       PAGE 3

104C 038D            117    DB  003h, 08Dh
104E 02EC            118    DB  002h, 0ECh
1050 0257            119    DB  002h, 057h
1052 01D0            120    DB  001h, 0D0h
1054 0159            121    DB  001h, 059h
1056 00F1            122    DB  000h, 0F1h
1058 009B            123    DB  000h, 09Bh
105A 0058            124    DB  000h, 058h
105C 0027            125    DB  000h, 027h
105E 0009            126    DB  000h, 009h
1060 0000            127    DB  000h, 000h
1062 0009            128    DB  000h, 009h
1064 0027            129    DB  000h, 027h
1066 0058            130    DB  000h, 058h
1068 009B            131    DB  000h, 09Bh
106A 00F1            132    DB  000h, 0F1h
106C 0159            133    DB  001h, 059h
106E 01D0            134    DB  001h, 0D0h
1070 0257            135    DB  002h, 057h
1072 02EC            136    DB  002h, 0ECh
1074 038D            137    DB  003h, 08Dh
1076 043A            138    DB  004h, 03Ah
1078 04EF            139    DB  004h, 0EFh
107A 05AD            140    DB  005h, 0ADh
107C 0670            141    DB  006h, 070h
107E 0736            142    DB  007h, 036h          ; end of table
                     143    
1080 07FF            144    DB  007h, 0FFh          ; repeat first 90degrees for quadratureDAC
1082 08C8            145    DB  008h, 0C8h
1084 098E            146    DB  009h, 08Eh
1086 0A51            147    DB  00Ah, 051h
1088 0B0F            148    DB  00Bh, 00Fh
108A 0BC4            149    DB  00Bh, 0C4h
108C 0C71            150    DB  00Ch, 071h
108E 0D12            151    DB  00Dh, 012h
1090 0DA7            152    DB  00Dh, 0A7h
1092 0E2E            153    DB  00Eh, 02Eh
1094 0EA5            154    DB  00Eh, 0A5h
1096 0F0D            155    DB  00Fh, 00Dh
1098 0F63            156    DB  00Fh, 063h
109A 0FA6            157    DB  00Fh, 0A6h
109C 0FD7            158    DB  00Fh, 0D7h
109E 0FF5            159    DB  00Fh, 0F5h
10A0 0FFF            160    DB  00Fh, 0FFh
                     161    
                     162    ;____________________________________________________________________
                     163    
                     164    END

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

ACC. . . . . . . . . . . . . . .  D ADDR  00E0H  PREDEFINED  
ADCCON1. . . . . . . . . . . . .  D ADDR  00EFH  PREDEFINED  
DAC0H. . . . . . . . . . . . . .  D ADDR  00FAH  PREDEFINED  
DAC0L. . . . . . . . . . . . . .  D ADDR  00F9H  PREDEFINED  
DAC1H. . . . . . . . . . . . . .  D ADDR  00FCH  PREDEFINED  
DAC1L. . . . . . . . . . . . . .  D ADDR  00FBH  PREDEFINED  
DACCON . . . . . . . . . . . . .  D ADDR  00FDH  PREDEFINED  
DPL. . . . . . . . . . . . . . .  D ADDR  0082H  PREDEFINED  
LED. . . . . . . . . . . . . . .    NUMB  00B4H  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  
PLLCON . . . . . . . . . . . . .  D ADDR  00D7H  PREDEFINED  
STEP . . . . . . . . . . . . . .  C ADDR  0018H  
TABLE. . . . . . . . . . . . . .  C ADDR  1000H  

⌨️ 快捷键说明

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