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

📄 adcpin.lst

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

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : March 2001
                       6    ;
                       7    ; File          : ADCpin.asm
                       8    ;
                       9    ; Hardware      : ADuC814
                      10    ;
                      11    ; Description   : Performs hardware pin driven ADC conversions and
                      12    ;                 outputs results on the UART  Continuously flashes
                      13    ;                 LED (independently of ADC routine) at approximately
                      14    ;                 5Hz (assuming an 2.097152 MHz Mclk).
                      15    ;               
                      16    ;********************************************************************
                      17    
                      18    $MOD814                         ; Use 8052&ADuC814 predefined symbols
                      19    
  00B3                20    LED     EQU     P3.3            ; P3.3 drives red LED on eval board
  0000                21    CHAN    EQU     0               ; convert this ADC input channel..
                      22                                    ; ..chan values can be 0 thru 8
                      23    ;____________________________________________________________________
                      24                                                      ; BEGINNING OF CODE
----                  25    CSEG
                      26    
0000                  27    ORG 0000h
                      28    
0000 02004B           29            JMP     MAIN            ; jump to main program
                      30    ;____________________________________________________________________
                      31                                                 ; INTERRUPT VECTOR SPACE
0033                  32    ORG 0033H ; (ADC ISR)
0033 E5DA             33            MOV A,ADCDATAH
0035 12009F           34            CALL SENDVAL
0038 E5D9             35            MOV A,ADCDATAL
003A 12009F           36            CALL SENDVAL    
003D 32               37            RETI
                      38    
                      39    ;====================================================================
                      40                                                           ; MAIN PROGRAM
004B                  41    ORG 004Bh
                      42    
004B                  43    MAIN:
                      44    
                      45    ; Set up UART
004B 75CBFF           46            MOV     RCAP2H,#0FFh ; config UART for 9600 baud
004E 75CAF9           47            MOV     RCAP2L,#-7   ; 
0051 75CDFF           48            MOV     TH2,#0FFh
0054 75CCF9           49            MOV     TL2,#-7
0057 759852           50            MOV     SCON,#52h
005A 75C834           51            MOV     T2CON,#34h
                      52    ; PRECONFIGURE...
                      53    
005D 75EF80           54            MOV     ADCCON1,#080h   ; power up ADC 
0060 75D800           55            MOV     ADCCON2,#CHAN   ; select channel to convert
                      56    
                      57    ; LAUNCH CONTINUOUS CONVERSIONS...
                      58    
ADCPIN                                                                                                        PAGE 2

0063 D2AF             59            SETB    EA              ; enable interrupts
0065 D2AE             60            SETB    EADC            ; enable ADC interrupt
0067 43EF01           61            ORL     ADCCON1,#001h   ; enable hardware CONVST pin
                      62    
                      63    ; CONTINUE WITH OTHER CODE...
                      64    
006A B2B3             65    AGAIN:  CPL     LED             ; blink (complement) the LED
006C 7401             66            MOV     A,#01H          ; delay length
006E 120073           67            CALL    DELAY           ; delay 100ms
0071 80F7             68            JMP     AGAIN           ; repeat
                      69    
                      70    ; the micro is free to continue with other tasks (flashing the LED in
                      71    ; this case) while the ADC is converting, synchronously to the
                      72    ; external CONVST pin.  results are being handled by the ADC
                      73    ; interrupt service routine.
                      74    
                      75    ;____________________________________________________________________
                      76                                                             ; SUBROUTINE
0073                  77    DELAY:                                  ; Delays by 100ms * A
                      78                                            ; 100mSec based on 2.097152MHZ 
                      79                                            ; Core Clock 
                      80                                            ; i.e. default ADuC814 Clock
                      81    
0073 F9               82                    MOV     R1,A            ; Acc holds delay variable
0074 7A22             83     DLY0:          MOV     R2,#022h        ; Set up delay loop0
0076 7BFF             84     DLY1:          MOV     R3,#0FFh        ; Set up delay loop1
0078 DBFE             85                    DJNZ    R3,$            ; Dec R3 & Jump here until R3 is 0
007A DAFA             86                    DJNZ    R2,DLY1         ; Dec R2 & Jump DLY1 until R2 is 0
007C D9F6             87                    DJNZ    R1,DLY0         ; Dec R1 & Jump DLY0 until R1 is 0
007E 22               88                    RET                     ; Return from subroutine
                      89    
                      90    ;____________________________________________________________________
                      91    
                =1    92    $INCLUDE(UARTIO.ASM)
                =1    93    ;********************************************************************
                =1    94    ;
                =1    95    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                =1    96    ;
                =1    97    ; Date          : 12 October 1999
                =1    98    ;
                =1    99    ; File          : UARTIO.hex
                =1   100    ;
                =1   101    ; Hardware      : any 8051 based microcontroller or MicroConverter
                =1   102    ;
                =1   103    ; Description   : standard UART I/O subroutines.  total size of this
                =1   104    ;                 code when assembled is 155 bytes.  routines for use
                =1   105    ;                 external to this file are:
                =1   106    ;
                =1   107    ;                 SENDSTRING - sends a string of characters
                =1   108    ;                 SENDCHAR   - sends a single character
                =1   109    ;                 SENDVAL    - sends a byte as 2 ASCII characters
                =1   110    ;                 HEX2ASCII  - converts from HEX to ASCII
                =1   111    ;                 ASCII2HEX  - converts from ASCII to HEX
                =1   112    ;                 GETCHAR    - gets a single character
                =1   113    ;                 GETVAL     - gets a byte as 2 ASCII characters
                =1   114    ;
                =1   115    ;********************************************************************
                =1   116    
ADCPIN                                                                                                        PAGE 3

                =1   117    ;____________________________________________________________________
                =1   118                                                             ; SENDSTRING
                =1   119    
007F            =1   120    SENDSTRING:     ; sends ASCII string to UART starting at location
                =1   121                    ; DPTR and ending with a null (0) value
                =1   122    
007F C0E0       =1   123            PUSH    ACC
0081 C0F0       =1   124            PUSH    B
0083 E4         =1   125            CLR     A
0084 F5F0       =1   126            MOV     B,A
0086 E5F0       =1   127    IO0010: MOV     A,B
0088 05F0       =1   128            INC     B
008A 93         =1   129            MOVC    A,@A+DPTR
008B 6005       =1   130            JZ      IO0020
008D 120097     =1   131            CALL    SENDCHAR
0090 80F4       =1   132            JMP     IO0010
0092 D0F0       =1   133    IO0020: POP     B
0094 D0E0       =1   134            POP     ACC
                =1   135    
0096 22         =1   136            RET
                =1   137    
                =1   138    ;____________________________________________________________________
                =1   139                                                               ; SENDCHAR
                =1   140    
0097            =1   141    SENDCHAR:       ; sends ASCII value contained in A to UART
                =1   142    
0097 3099FD     =1   143            JNB     TI,$            ; wait til present char gone
009A C299       =1   144            CLR     TI              ; must clear TI
009C F599       =1   145            MOV     SBUF,A
                =1   146    
009E 22         =1   147            RET
                =1   148    
                =1   149    ;____________________________________________________________________

⌨️ 快捷键说明

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