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

📄 pdown.lst

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

                       1    ;********************************************************************
                       2    ;
                       3    ; Author        : ADI - Apps            www.analog.com/MicroConverter
                       4    ;
                       5    ; Date          : Febuary 2001
                       6    ;
                       7    ; File          : PDown.asm
                       8    ;
                       9    ; Hardware      : ADuC84
                      10    ;
                      11    ; Description   : Demonstrates a use of a timer interval counter to
                      12    ;               wake the ADuC814 out of Power down mode after a user
                      13    ;               specified Power down time.
                      14    ;
                      15    ;               The LED will, on power up, flash at 10Hz. After 5s
                      16    ;               the ADuC8414 will enter power down mode (the LED will 
                      17    ;               stop flashing in the off position). 
                      18    ;               
                      19    ;               By pressing the external interrupt 0 button (INT0) or
                      20    ;               when the user specified time runs out (20s in this 
                      21    ;               example) the ADuC814 will wake up and continue 
                      22    ;               blinking as before for 5s before entering power down
                      23    ;               mode again.
                      24    ;
                      25    ;********************************************************************
                      26    
                      27    $MOD814                         ; Use 8052&ADuC814 predefined symbols
                      28    
  00B3                29    LED     EQU     P3.3            ; P3.3 drives red LED on eval board
                      30    
                      31    ;____________________________________________________________________
                      32                                                      ; BEGINNING OF CODE
----                  33    CSEG
                      34    
0000                  35    ORG 0000h
                      36    
0000 020060           37            JMP     MAIN            ; jump to main program
                      38    
                      39    
                      40    ;____________________________________________________________________
                      41                                        ; EXTERNAL INTERRUPT VECTOR SPACE
0003                  42    ORG 0003h       
0003 32               43            RETI
                      44    
                      45    ;____________________________________________________________________
                      46                                             ; TIC INTERRUPT VECTOR SPACE
0053                  47    ORG 0053h
0053 32               48            RETI
                      49    ;_____________________________________________________________________
                      50    
0060                  51    ORG 0060h
                      52    
0060                  53    MAIN:                   
0060 75A9A4           54            MOV     IEIP2, #0A4h    ; enable time interval interrupt
                      55            
0063 D288             56            SETB    IT0             ; INT0 edge triggered
0065 D2A8             57            SETB    EX0             ; enable INT0 (button on eval board)
0067 D2AF             58            SETB    EA              ; enable interrupts
PDOWN                                                                                                         PAGE 2

                      59    
0069 75A614           60            MOV     INTVAL, #14h    ; initialise intval to 20 
                      61                                    ;     => 20 unit delay
                      62    
006C 7832             63    BLINK:  MOV     R0, #50       
                      64           
006E 7401             65    LOOP:   MOV     A, #01          ; Blink light 50 times at 10Hz =>5s
0070 120084           66            CALL    DELAY
0073 B2B3             67            CPL     LED
0075 D8F7             68            DJNZ    R0, LOOP
                      69    
0077 75A113           70            MOV     TIMECON, #13h  ; initialise timecon to 
                      71                                   ; -count in secs
                      72                                   ; -start all time counters     
                      73    
007A C2B3             74            CLR     LED            ; turn off light when in power down
007C 758722           75            MOV     PCON, #22h     ; power down the ADuC814
                      76                                   ; Execution stops here until the ADuC
                      77                                   ; is powered up again by either an 
                      78                                   ; external interrupt or a Time Interval
                      79                                   ; Interrupt (20s)
                      80                                   ; Note: if using external data mem 
                      81                                   ; make sure ALE remains toggling after
                      82                                   ; you power up again. i.e. PCON.4=0
                      83     
007F 75A112           84            MOV     TIMECON, #12h  ; disable TCEN to reset counter to 0
                      85                                   ; and to temporarily stop counter 
0082 80E8             86            JMP     BLINK
                      87            
                      88    
                      89    ;____________________________________________________________________
                      90                                                                  ; DELAY
                      91    
0084                  92    DELAY:                                  ; Delays by 100ms * A
                      93                                            ; 100mSec based on 2.097152MHZ 
                      94                                            ; Core Clock 
                      95                                            ; i.e. default ADuC814 Clock
                      96    
0084 F9               97                    MOV     R1,A            ; Acc holds delay variable
0085 7A22             98     DLY0:          MOV     R2,#022h        ; Set up delay loop0
0087 7BFF             99     DLY1:          MOV     R3,#0FFh        ; Set up delay loop1
0089 DBFE            100                    DJNZ    R3,$            ; Dec R3 & Jump here until R3 is 0
008B DAFA            101                    DJNZ    R2,DLY1         ; Dec R2 & Jump DLY1 until R2 is 0
008D D9F6            102                    DJNZ    R1,DLY0         ; Dec R1 & Jump DLY0 until R1 is 0
008F 22              103                    RET                     ; Return from subroutine
                     104    
                     105    
                     106    ;____________________________________________________________________
                     107    
                     108    END

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

BLINK. . . . . . . . . . . . . .  C ADDR  006CH  
DELAY. . . . . . . . . . . . . .  C ADDR  0084H  
DLY0 . . . . . . . . . . . . . .  C ADDR  0085H  
DLY1 . . . . . . . . . . . . . .  C ADDR  0087H  
EA . . . . . . . . . . . . . . .  B ADDR  00AFH  PREDEFINED  
EX0. . . . . . . . . . . . . . .  B ADDR  00A8H  PREDEFINED  
IEIP2. . . . . . . . . . . . . .  D ADDR  00A9H  PREDEFINED  
INTVAL . . . . . . . . . . . . .  D ADDR  00A6H  PREDEFINED  
IT0. . . . . . . . . . . . . . .  B ADDR  0088H  PREDEFINED  
LED. . . . . . . . . . . . . . .    NUMB  00B3H  
LOOP . . . . . . . . . . . . . .  C ADDR  006EH  
MAIN . . . . . . . . . . . . . .  C ADDR  0060H  
P3 . . . . . . . . . . . . . . .  D ADDR  00B0H  PREDEFINED  
PCON . . . . . . . . . . . . . .  D ADDR  0087H  PREDEFINED  
TIMECON. . . . . . . . . . . . .  D ADDR  00A1H  PREDEFINED  

⌨️ 快捷键说明

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