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

📄 adctimer.lst

📁 于ADuC812的智能无功补偿控制器的研制 一种眼科B型超声诊断议 SL11R单片机外部存储器扩展 单片机复位电路...支持键盘双击事件的C程序设计! 一些源程序 FrankLin C51 库函数的一
💻 LST
字号:
ADCTIMER                                                                                                      PAGE 1

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : March 2001
                       6    ;
                       7    ; File          : ADCtimer.asm
                       8    ;
                       9    ; Hardware      : ADuC814
                      10    ;
                      11    ; Description   : Performs ADC conversions at 10KSPS in Timer2 mode.
                      12    ;                 Outputs ADC results to RAM.  Continuously
                      13    ;                 flashes LED (independently of ADC routine) at
                      14    ;                 approximately 3Hz.
                      15    ;                 All rate calculations assume an 2.097152MHz Mclk.
                      16    ;               
                      17    ;********************************************************************
                      18    
                      19    $MOD814                         ; Use 8052&ADuC814 predefined symbols
                      20    
  00B3                21    LED     EQU     P3.3            ; P3.3 drives red LED on eval board
  0000                22    CHAN    EQU     0               ; convert this ADC input channel..
                      23                                    ; ..chan values can be 0 thru 6
                      24    
----                  25    DSEG 
0030                  26    ORG 0030H
  0028                27    LENGTH EQU 40
0030                  28    BUFFER: DS LENGTH                ; set up buffer in RAM
                      29    
                      30    ;____________________________________________________________________
                      31                                                      ; BEGINNING OF CODE
----                  32    CSEG
                      33    
0000                  34    ORG 0000h
                      35    
0000 02004B           36            JMP     MAIN            ; jump to main program
                      37    ;____________________________________________________________________
                      38                                                 ; INTERRUPT VECTOR SPACE
0033                  39    ORG 0033H ; (ADC ISR)
0033 B85803           40            CJNE    R0,#58H,CONT
0036 02003F           41            JMP     EXIT
0039 A6DA             42    CONT:   MOV     @R0,ADCDATAH
003B 08               43            INC     R0
003C A6D9             44            MOV     @R0,ADCDATAL            
003E 08               45            INC     R0
003F 32               46    EXIT:   RETI    
                      47            
                      48    
                      49    ;====================================================================
                      50                                                           ; MAIN PROGRAM
004B                  51    ORG 004Bh
                      52    
004B                  53    MAIN:
004B 7830             54            MOV     R0,#BUFFER
                      55    ; PRECONFIGURE...
004D 75EF9E           56            MOV     ADCCON1,#09Eh   ; power up ADC & enable Timer2 mode
0050 75D800           57            MOV     ADCCON2,#CHAN   ; select channel to convert
0053 75CAF6           58            MOV     RCAP2L,#0F6h    ; sample period = 2 * T2 reload prd
ADCTIMER                                                                                                      PAGE 2

0056 75CBFF           59            MOV     RCAP2H,#0FFh    ;   = 2*(10000h-FFF6h)*5.722us
0059 75CCF6           60            MOV     TL2,#0F6h       ;   = 2*9*5.722us
005C 75CDFF           61            MOV     TH2,#0FFh       ;   = 102.99us
                      62    
                      63    ; LAUNCH Timer2 DRIVEN CONVERSIONS...
005F D2AF             64            SETB    EA              ; enable interrupts
0061 D2AE             65            SETB    EADC            ; enable ADC interrupt
0063 D2CA             66            SETB    TR2             ; run Timer2
                      67    
                      68    ; CONTINUE WITH OTHER CODE...
0065 B2B3             69    AGAIN:  CPL     LED             ; blink (complement) the LED
0067 7401             70            MOV     A,#01H          ; Delay length
0069 12006E           71            CALL    DELAY           ; delay 100ms
006C 80F7             72            JMP     AGAIN           ; repeat
                      73    
                      74    ; the micro is free to continue with other tasks (flashing the LED in
                      75    ; this case) while the ADC operation is being controlled by Timer2
                      76    ; and the ADC interrupt service routine.
                      77    
                      78    ;____________________________________________________________________
                      79                                                             ; SUBROUTINE
006E                  80    DELAY:                                  ; Delays by 100ms * A
                      81                                            ; 100mSec based on 2.097152MHZ 
                      82                                            ; Core Clock 
                      83                                            ; i.e. default ADuC814 Clock
                      84    
006E F9               85                    MOV     R1,A            ; Acc holds delay variable
006F 7A22             86     DLY0:          MOV     R2,#022h        ; Set up delay loop0
0071 7BFF             87     DLY1:          MOV     R3,#0FFh        ; Set up delay loop1
0073 DBFE             88                    DJNZ    R3,$            ; Dec R3 & Jump here until R3 is 0
0075 DAFA             89                    DJNZ    R2,DLY1         ; Dec R2 & Jump DLY1 until R2 is 0
0077 D9F6             90                    DJNZ    R1,DLY0         ; Dec R1 & Jump DLY0 until R1 is 0
0079 22               91                    RET                     ; Return from subroutine
                      92    
                      93    
                      94    
                      95    ;____________________________________________________________________
                      96    
                      97    END

VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
ADCTIMER                                                                                                      PAGE 3

ADCCON1. . . . . . . . . . . . .  D ADDR  00EFH  PREDEFINED  
ADCCON2. . . . . . . . . . . . .  D ADDR  00D8H  PREDEFINED  
ADCDATAH . . . . . . . . . . . .  D ADDR  00DAH  PREDEFINED  
ADCDATAL . . . . . . . . . . . .  D ADDR  00D9H  PREDEFINED  
AGAIN. . . . . . . . . . . . . .  C ADDR  0065H  
BUFFER . . . . . . . . . . . . .  D ADDR  0030H  
CHAN . . . . . . . . . . . . . .    NUMB  0000H  
CONT . . . . . . . . . . . . . .  C ADDR  0039H  
DELAY. . . . . . . . . . . . . .  C ADDR  006EH  
DLY0 . . . . . . . . . . . . . .  C ADDR  006FH  
DLY1 . . . . . . . . . . . . . .  C ADDR  0071H  
EA . . . . . . . . . . . . . . .  B ADDR  00AFH  PREDEFINED  
EADC . . . . . . . . . . . . . .  B ADDR  00AEH  PREDEFINED  
EXIT . . . . . . . . . . . . . .  C ADDR  003FH  
LED. . . . . . . . . . . . . . .    NUMB  00B3H  
LENGTH . . . . . . . . . . . . .    NUMB  0028H  
MAIN . . . . . . . . . . . . . .  C ADDR  004BH  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  
RCAP2H . . . . . . . . . . . . .  D ADDR  00CBH  PREDEFINED  
RCAP2L . . . . . . . . . . . . .  D ADDR  00CAH  PREDEFINED  
TH2. . . . . . . . . . . . . . .  D ADDR  00CDH  PREDEFINED  
TL2. . . . . . . . . . . . . . .  D ADDR  00CCH  PREDEFINED  
TR2. . . . . . . . . . . . . . .  B ADDR  00CAH  PREDEFINED  

⌨️ 快捷键说明

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