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

📄 p676_koq.lst

📁 PIC16f676/630移植的keeloq滚动码汇编程序,节省一个外部EEPROM,并增加I/O端口.
💻 LST
📖 第 1 页 / 共 5 页
字号:
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0009   0095           00176                 MOVWF   WPUA
000A   3000           00177                 MOVLW   00H
000B   008B           00178                 MOVWF   INTCON                  ;setting intcon
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
000C   0191           00179                 CLRF    ANSEL                   ;setting along/digital pin
                      00180                 ;<80H REG SETTING
000D   1283           00181                 BCF             STATUS,RP0
000E   3007           00182                 MOVLW   07H                             ;setting cmcon
000F   0099           00183                 MOVWF   CMCON
                      00184 
0010   0185           00185         CLRF    PORTA                   ; RESET PORTA
0011   0187           00186         CLRF    PORTC                   ; RESET PORTC
                      00187 
0012   01A0           00188         CLRF    FLAGS                   ; RESET FLAGS
                      00189 
                      00190 
0013   2932           00191         GOTO    M_LOOP                  ; GOTO MAIN PROGRAM LOOP
                      00192 
                      00193 ;===========================================================================
                      00194 ;
                      00195 ; FUNCTION      : ROT_SHIFT()                           
                      00196 ;
                      00197 ; DESCRIPTION   : RIGHT ROTATE 64 BIT RECEIVE SHIFT REGISTER
                      00198 ;
                      00199 ; NOTE          : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
                      00200 ;
                      00201 ;===========================================================================
                      00202 
0014                  00203 ROT_SHIFT
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0014   0CB0           00204         RRF     CSR7,F
0015   0CAF           00205         RRF     CSR6,F
0016   0CAE           00206         RRF     CSR5,F                     
0017   0CAD           00207         RRF     CSR4,F                     
0018   0CAC           00208         RRF     CSR3,F                     
0019   0CAB           00209         RRF     CSR2,F                     
001A   0CAA           00210         RRF     CSR1,F                    
001B   0CA9           00211         RRF     CSR0,F                    
001C   3400           00212         RETLW   0
                      00213 
                      00214 ;===========================================================================
                      00215 ;
                      00216 ; FUNCTION      : TX_LOOKUP ()                          
                      00217 ;
                      00218 ; DESCRIPTION   : TRANSMITTER ADDRESS CALCULATION
                      00219 ;
                      00220 ; NOTE          : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
                      00221 ;
                      00222 ;===========================================================================
                      00223 
001D                  00224 TX_LOOKUP
001D   0822           00225         MOVF    TXNUM,W                 ; USE TRANSMITTER NUMBER TO CALCULATE 
001E   00A1           00226         MOVWF   ADDRESS                 ; ADDRESS OF TRANSMITER BLOCK
001F   1003           00227         CLRC                                    ; MULTIPLY BY 4 
0020   0DA1           00228         RLF             ADDRESS,F
0021   0DA1           00229         RLF             ADDRESS,F
0022   3004           00230         MOVLW   04H                             ; AND ADD 4
0023   07A1           00231         ADDWF   ADDRESS,F
0024   3400           00232         RETLW   0                               ; RETURN
                      00233 
                      00234 ;===========================================================================
                      00235 ;
                      00236 ; FUNCTION      : TST_RTCC ()                           
                      00237 ;
                      00238 ; DESCRIPTION   : UPDATE RTCC COUNTER 
                      00239 ;
                      00240 ; NOTE          : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
                      00241 ;
                      00242 ;===========================================================================
0025                  00243 TST_RTCC
0025   0064           00244         CLRWDT                          ; RESET WATCHDOG TIMER
0026   1683           00245         BSF             STATUS,RP0
0027   300E           00246         MOVLW   TRIS_A                  ; UPDATE TRI-STATE REGISTER FOR PORTA
0028   3085           00247         MOVLW   TRISA
0029   1283           00248         BCF             STATUS,RP0
                      00249 
002A   1F81           00250         BTFSS   TMR0,7                  ; TEST FOR 32MS TIMEOUT ON RTCC MSB
002B   3400           00251         RETLW   0                       ; ... DO QUICK RETURN TO RECEIVE ROUTINE
                      00252 
                      00253 ; **** INCREASE 16 BIT CLOCK TIMER *******
                      00254 
002C   1381           00255         BCF             TMR0,7                  ; CLEAR MSB OF RTCC
002D   0AA8           00256         INCF    CNT_LW,F                ; INCREASE 16 COUNTER
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  6


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

002E   1903           00257         SKPNZ                           ; INCREASE UPPER BYTE IF ZERO ( OVERFLOW )
002F   0AA7           00258         INCF    CNT_HI,F
0030   3400           00259         RETLW   0
                      00260 
                      00261 ;===========================================================================
                      00262 ;
                      00263 ; FUNCTION      : TST_TIMER()                           
                      00264 ;
                      00265 ; DESCRIPTION   : TEST 32MS TIMER AND UPDATE OUTPUTS IF REQUIRED
                      00266 ;
                      00267 ; NOTE          : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
                      00268 ;
                      00269 ;===========================================================================
                      00270 
0031                  00271 TST_TIMER
                      00272 ; ***** TEST FOR 500 MS TIMEMOUT ON OUTPUTS **********
0031   1F28           00273         BTFSS   CNT_LW,6                ; TEST FOR 500 MS TIMEOUT
0032   2837           00274         GOTO    TST_30                  ; ... IF NOT TEST 30S TIMEOUT
                      00275 
0033   0807           00276         MOVFW   PORTC
0034   1D03           00277         BTFSS   STATUS,Z
Message[305]: Using default destination of 1 (file).
0035   0987           00278         COMF    PORTC                   ; DOWN ALL PULSE OUTPUTS 
0036   01A8           00279         clrf    CNT_LW
                      00280  ; ********* TEST FOR 30 S LEARN TIMEOUT *************
0037                  00281 TST_30          
0037   1CA0           00282         BTFSS   FLAGS,LRNF
0038   283B           00283         GOTO    TST_END
                      00284         
0039   1927           00285         BTFSC   CNT_HI,2                ; TEST FOR LEARN TIMEOUT
003A   2800           00286         GOTO    RESET                   ; ... IF LEARN TIMEMOUT FORCE SOFT RESET 
                      00287 
003B                  00288 TST_END 
003B   3400           00289         RETLW   0H
                      00290 
                      00291 
                      00292 
                      00293 ;===========================================================================
                      00294 ;
                      00295 ; FUNCTION      : EEWRITE ()                            
                      00296 ;
                      00297 ; DESCRIPTION   : WRITE 16 BIT VALUE TO EEPROM 
                      00298 ;
                      00299 ; NOTE          : THIS ROUTINE MUST BE IN THE LOWER HALF OF THE PAGE
                      00300 ;
                      00301 ;===========================================================================
                      00302 
003C                  00303 EEWRITE
003C   0064           00304                 CLRWDT          
003D   0821           00305                 MOVFW   ADDRESS
003E   00B3           00306                 MOVWF   ADDRESS1
Message[305]: Using default destination of 1 (file).
003F   0DB3           00307                 RLF             ADDRESS1
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  7


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0040   0831           00308                 MOVFW   TMP1
0041   00B9           00309                 MOVWF   DATAS
0042   3002           00310                 MOVLW   02H
0043   00A5           00311                 MOVWF   CNT1
0044                  00312 EEWRITE1
0044   1683           00313                 BSF             STATUS,RP0
0045   0833           00314                 MOVF    ADDRESS1,W
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0046   009B           00315                 MOVWF   EEADR
0047   0839           00316                 MOVF    DATAS,W
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0048   009A           00317                 MOVWF   EEDATA
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0049   151C           00318                 BSF             EECON1,WREN
004A   3055           00319                 MOVLW   55H
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
004B   009D           00320                 MOVWF   EECON2
004C   30AA           00321                 MOVLW   0AAH
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
004D   009D           00322                 MOVWF   EECON2
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
004E   149C           00323                 BSF             EECON1,WR
004F                  00324 WRIT_VERIFY
004F   0064           00325                 CLRWDT  
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0050   189C           00326                 BTFSC   EECON1,WR
0051   284F           00327                 GOTO    $-2
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0052   081A           00328                 MOVF    EEDATA,W
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0053   141C           00329                 BSF             EECON1,RD
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0054   061A           00330                 XORWF   EEDATA,W
0055   1D03           00331                 BTFSS   STATUS,Z
0056   2844           00332                 GOTO    EEWRITE1
0057   1283           00333                 BCF             STATUS,RP0
                      00334 
Message[305]: Using default destination of 1 (file).
0058   0BA5           00335                 DECFSZ  CNT1
0059   285C           00336                 GOTO    EEWRITE2
Message[305]: Using default destination of 1 (file).
005A   0AA1           00337                 INCF    ADDRESS
005B   3400           00338                 RETLW   0H                                      
005C                  00339 EEWRITE2
005C   0832           00340                 MOVFW   TMP2
005D   00B9           00341                 MOVWF   DATAS
Message[305]: Using default destination of 1 (file).
005E   0AB3           00342                 INCF    ADDRESS1
005F   2844           00343                 GOTO    EEWRITE1
                      00344 
                      00345 
                      00346 ;===========================================================================

⌨️ 快捷键说明

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