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

📄 rke_tianqiu_630 over.lst

📁 汽车遥控制的源代码.用的单片机是PIC16F72. 大批量生产.
💻 LST
📖 第 1 页 / 共 5 页
字号:
                      00037                                         ;else clrf Preamble_Counter 
0060   3003           00038         movlw   d'3'
0061   023F           00039         subwf   Preamble_High_Counter,W
0062   1C03           00040         skpc
0063   2887           00041         goto    Preamble_Counter_Clr
                      00042         
0064   3009           00043         movlw   d'9'
0065   023F           00044         subwf   Preamble_High_Counter,W
0066   1803           00045         skpnc
0067   2887           00046         goto    Preamble_Counter_Clr
                      00047         
0068   3019           00048         movlw   d'25'
0069   023E           00049         subwf   Preamble_Low_Counter,W
006A   1803           00050         skpnc
006B   2876           00051         goto    Preamble_Last_Get
                      00052         
006C   3003           00053         movlw   d'3'
006D   023E           00054         subwf   Preamble_Low_Counter,W
006E   1C03           00055         skpc
006F   2887           00056         goto    Preamble_Counter_Clr
                      00057         
0070   3009           00058         movlw   d'9'
0071   023E           00059         subwf   Preamble_Low_Counter,W
0072   1803           00060         skpnc
0073   2887           00061         goto    Preamble_Counter_Clr
                      00062         
0074                  00063 Preamble_Get:
0074   0AC0           00064         incf    Preamble_Counter,F
0075   2888           00065         goto    Preamble_Clr            
                      00066 
0076                  00067 Preamble_Last_Get:
0076   3009           00068         movlw   d'9'
0077   0240           00069         subwf   Preamble_Counter,W
0078   1C03           00070         skpc                                    ;Preamble_Count >= 10, then begin to get frame
0079   2887           00071         goto    Preamble_Counter_Clr
                      00072         
007A   3041           00073         movlw   d'65'
007B   00C1           00074         movwf   Frame_Bit_Counter
                      00075         
007C   01C0           00076         clrf    Preamble_Counter
                      00077         
007D   17BD           00078         bsf     RF_FRAME_RECIEVE
                      00079         
007E   01BC           00080         clrf    Frame_Buff9
007F   01BB           00081         clrf    Frame_Buff8
0080   01BA           00082         clrf    Frame_Buff7
0081   01B9           00083         clrf    Frame_Buff6
0082   01B8           00084         clrf    Frame_Buff5
0083   01B7           00085         clrf    Frame_Buff4
MPASM 03.80 Released                      RKE_TIANQIU_630.ASM   2-7-2005  14:54:21         PAGE 10


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0084   01B6           00086         clrf    Frame_Buff3
0085   01B5           00087         clrf    Frame_Buff2
0086   01B4           00088         clrf    Frame_Buff1
                      00089         
0087                  00090 Preamble_Counter_Clr:
0087   01C0           00091         clrf    Preamble_Counter
0088                  00092 Preamble_Clr:
0088   01BF           00093         clrf    Preamble_High_Counter
0089   01BE           00094         clrf    Preamble_Low_Counter
008A                  00095 Recieve_High_Jump:
008A   0ABF           00096         incf    Preamble_High_Counter,F
008B   28C3           00097         goto    Interrupt_Over
                      00098         
                      00099 ;==========================================================
                      00100 
008C                  00101 Get_Frame_Begin:
008C   1805           00102         btfsc   RECIEVE_PORT
008D   2891           00103         goto    Get_Frame_Port_High
                      00104 
008E                  00105 Get_Frame_Port_Low:
008E   0ABE           00106         incf    Preamble_Low_Counter,F
008F   16BD           00107         bsf     PASS_LOW
0090   28B2           00108         goto    Get_Frame_Over
                      00109         
0091                  00110 Get_Frame_Port_High:
0091   1EBD           00111         btfss   PASS_LOW
0092   28B0           00112         goto    Get_Frame_High_Jump
                      00113                                         ;Begin judge time
0093   083F           00114         movf    Preamble_High_Counter,W
0094   07BE           00115         addwf   Preamble_Low_Counter,F  ;Low as total
                      00116                 
0095   300C           00117         movlw   d'12'                   ;Total 9-15 *100us, 12 is best
0096   023E           00118         subwf   Preamble_Low_Counter,W
0097   1C03           00119         skpc
0098   28B2           00120         goto    Get_Frame_Over          ;If error, then miss a High
                      00121         
0099   3016           00122         movlw   d'22'
009A   023E           00123         subwf   Preamble_Low_Counter,W
009B   1803           00124         skpnc
009C   28B2           00125         goto    Get_Frame_Over
                      00126         
009D   12BD           00127         bcf     PASS_LOW                ;Here clr this flag, not in error condition
                      00128         
009E   13BC           00129         bcf     Frame_Buff9,7
009F   3008           00130         movlw   d'8'                    ;Now one bit is recieved OK, test "1" or "0"
00A0   023F           00131         subwf   Preamble_High_Counter,W
00A1   1C03           00132         skpc                            ;if >=6 then means 0
00A2   17BC           00133         bsf     Frame_Buff9,7
                      00134 
00A3   20C4           00135         call    Recieve_Buff_RRF
                      00136 
00A4   01BF           00137         clrf    Preamble_High_Counter
00A5   01BE           00138         clrf    Preamble_Low_Counter
MPASM 03.80 Released                      RKE_TIANQIU_630.ASM   2-7-2005  14:54:21         PAGE 11


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00139         
00A6   0BC1           00140         decfsz  Frame_Bit_Counter,F
00A7   28B0           00141         goto    Get_Frame_High_Jump
                      00142         
00A8   20C4           00143         call    Recieve_Buff_RRF
00A9   20C4           00144         call    Recieve_Buff_RRF
00AA   20C4           00145         call    Recieve_Buff_RRF
00AB   20C4           00146         call    Recieve_Buff_RRF
00AC   20C4           00147         call    Recieve_Buff_RRF
00AD   20C4           00148         call    Recieve_Buff_RRF
                      00149 
00AE   13BD           00150         bcf     RF_FRAME_RECIEVE
                      00151         
00AF   173D           00152         bsf     RF_FRAME_GET
                      00153 
00B0                  00154 Get_Frame_High_Jump:
00B0   0ABF           00155         incf    Preamble_High_Counter,F 
00B1   28B2           00156         goto    Get_Frame_Over
                      00157         
00B2                  00158 Get_Frame_Over:                         ;17us
00B2   28C3           00159         goto    Interrupt_Over
                      00160                 
                      00161 
00B3                  00162 TMR0_Interrupt_Over:    
                      00163         
                      00164 ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       
                      00165 
00B3   1C0C           00166         btfss   PIR1,TMR1IF
00B4   28BC           00167         goto    TMR1_Interrupt_Over
00B5   100C           00168         bcf     PIR1,TMR1IF
                      00169         
00B6   309E           00170         movlw   d'158'
00B7   078F           00171         addwf   TMR1H,F
00B8   3058           00172         movlw   d'88'
00B9   078E           00173         addwf   TMR1L,F                 ;Set new time over.
                      00174                                         ;First test if Key get(only set flag, deal in mainloop
00BA   14BD           00175         bsf     MAIN_CHECK              ;Set here and clear at Mainloop and then check Key input
                      00176 
00BB   28C3           00177         goto    Interrupt_Over
00BC                  00178 TMR1_Interrupt_Over:    
                      00179 
                      00180 ;==========================================================
                      00181         
00BC   30E0           00182         movlw   b'11100000'
00BD   058B           00183         andwf   INTCON,F
00BE   018C           00184         clrf    PIR1
                      00185         
00BF   1683           00186         bsf     STATUS,RP0
00C0   3003           00187         movlw   b'00000011'             ;EEIE=0,ADIE=0,RCIE=0,TXIE=0, CMIE=0,0,TMR2IE=1,TMR1IE=1
00C1   008C           00188         movwf   PIE1
00C2   1283           00189         bcf     STATUS,RP0
                      00190 
                      00191 ;**********************************************************
MPASM 03.80 Released                      RKE_TIANQIU_630.ASM   2-7-2005  14:54:21         PAGE 12


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00192 ;Interrupt over
                      00193 ;**********************************************************
                      00194 
00C3                  00195 Interrupt_Over:
00C3   0008           00196         return
                      00197 
                      00198 
                      00199 ;**********************************************************
                      00200 ;**********************************************************
00C4                  00201 Recieve_Buff_RRF:
00C4   0CBC           00202         rrf     Frame_Buff9,F
00C5   0CBB           00203         rrf     Frame_Buff8,F
00C6   0CBA           00204         rrf     Frame_Buff7,F
00C7   0CB9           00205         rrf     Frame_Buff6,F
00C8   0CB8           00206         rrf     Frame_Buff5,F
00C9   0CB7           00207         rrf     Frame_Buff4,F
00CA   0CB6           00208         rrf     Frame_Buff3,F
00CB   0CB5           00209         rrf     Frame_Buff2,F
00CC   0CB4           00210         rrf     Frame_Buff1,F
00CD   0008           00211         return
                      00044 
00CE                  00045 main
                      00046 ;**********************************************************
                      00047 ;Alex codes are from here.
                      00048 ;**********************************************************
00CE   20D2           00049         call    Register_Initiate
                      00050         
00CF                  00051 Main_Loop:
00CF   20F4           00052         call    Register_Sure
                      00053         
00D0   2141           00054         call    Key_Deal
                      00055 
00D1   28CF           00056         goto    Main_Loop
                      00057         
                      00058 ;**********************************************************
                      00059 ;Sub-Function are here
                      00060 ;**********************************************************
                      00061 #include "Ini_Sure.inc"
                      00001 ;#####################################
                      00002 ;Sub-Function-1: Intitate
                      00003 ;#####################################
00D2                  00004 Register_Initiate:
                      00005         ;--------------------------------------------------
                      00006         ;SFR initiate
                      00007         ;--------------------------------------------------
00D2   1283 1303      00008         banksel PORTA
00D4   0185           00009         clrf    PORTA
                      00010 
                      00011         ;------------------------------
                      00012 
00D5   1683           00013         bsf     STATUS,RP0
00D6   300F           00014         movlw   b'00001111'             ;GPPU=0(En),INTEDG=0,T0CS=0(OSC/4),T0SE=0(Posedge),PSA=0(TMR0),P
                            S2-PS0=011(1:16)
MPASM 03.80 Released                      RKE_TIANQIU_630.ASM   2-7-2005  14:54:21         PAGE 13


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

00D7   0081           00015         movwf   OPTION_REG
                      00016 
                      00017 ;       movlw   b'00001011'             ;NOP,NOP,OPEN,CLOSE | Clear, LED, Learn, RF
                      00018 ;       movwf   TRISA
00D8   300B           00019         movlw   b'00001011'             ;NOP,NOP,OPEN,CLOSE | Input, LED, Learn, RF
00D9   0085           00020         movwf   TRISA
00DA   3003           00021         movlw   b'00000011'             ;NOP,NOP,NOP,NOP | NOP,NOP,HAND_CLOSE,HAND_OPEN
00DB   0087           00022         movwf   TRISC
                      00023                 

⌨️ 快捷键说明

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