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

📄 p676_koq.lst

📁 PIC16f676/630移植的keeloq滚动码汇编程序,节省一个外部EEPROM,并增加I/O端口.
💻 LST
📖 第 1 页 / 共 5 页
字号:
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001 ;------------------------------------------------------------------------------
                      00002 ;  MICROCHIP KEELOQ CODE HOPPING SIMPLE DECODER
                      00003 ;
                      00004 ;------------------------------------------------------------------------------
                      00005 ;  LEGAL NOTICE
                      00006 ;
                      00007 ;  The information contained in this document is proprietary and 
                      00008 ;  confidential information of Microchip Technology Inc.  Therefore all 
                      00009 ;  parties are required to sign a non-disclosure agreement before 
                      00010 ;  receiving this document.
                      00011 ;------------------------------------------------------------------------------
                      00012 
                      00013 ;===========================================================================
                      00014 ; SIMPLE DECODER WITH ONE STEP LEARN AND SINGLE KEY
                      00015 ;===========================================================================
                      00016 ;
                      00017 ;PROGRAM INFORMATION:   FILE:   SIMDEC10.ASM    
                      00018 ;                       DATE:   08/15/96 
                      00019 ;                       VER.:   1.0
                      00020 ;                       CKSM:   XXXXH - FUSES:RC,WDT=ON,CP=ON
                      00021 ;                       ASM.:   MPASM VERSION 1.40 USED
                      00022 ;                       INCL:   NONE
                      00023 ;                       TABS:   8
                      00024 ;===========================================================================
                      00025 ; CONFIGURATION CONTROL:
                      00026 ; 
                      00027 ; DATE          VERSION LINE    CHANGES
                      00028 ; 08/14/96      1.0             FIRST VERSION
                      00029 ;===========================================================================
                      00030         INCLUDE<P16F676.INC>
                      00001         LIST
                      00002 ; P16F676.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
                      00259         LIST
                      00031         LIST P=PIC16F676,R=DEC
                      00032 ;===========================================================================
                      00033 ;******USER DEFINITIONS******
  0000000F            00034 MAX_USERS       EQU     15
                      00035 ; This is the maximum number of transmitters that the system is able to 
                      00036 ; learn (1 to 15).  
                      00037 ;===========================================================================
                      00038 
                      00039 
                      00040 ; USER DEFINED REGISTER
                      00041 
  00000020            00042 FLAGS   EQU             20H             ; USER FLAG REGISTER
  00000021            00043 ADDRESS EQU             21H             ; ADDRESS REGISTER
  00000022            00044 TXNUM   EQU             22H             ; CURRENT TX
  00000023            00045 OUTBYT  EQU             23H             ; GENERAL DATA REGISTER
  00000023            00046 MASK    EQU             OUTBYT          ; MASK REGISTER USED IN DECRYPTION
  00000023            00047 TMP_CNT EQU             OUTBYT          ; TEMPORARY COUNTER
                      00048 
                      00049 ; COUNTER REGISTERS
                      00050 
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

  00000024            00051 CNT0    EQU     24H             ; LOOP COUNTERS
  00000025            00052 CNT1    EQU             25H             
  00000026            00053 CNT2    EQU     26H             
                      00054 
  00000027            00055 CNT_HI  EQU             27H             ; 16 BIT CLOCK COUNTER
  00000028            00056 CNT_LW  EQU             28H             
                      00057 
                      00058 ; CIRCULAR BUFFER REGISTER
                      00059 
  00000029            00060 CSR0    EQU     29H             ; 64 BIT RECEIVE SHIFT REGISTER
  0000002A            00061 CSR1    EQU     2AH            
  0000002B            00062 CSR2    EQU     2BH            
  0000002C            00063 CSR3    EQU     2CH            
  0000002D            00064 CSR4    EQU     2DH             
  0000002E            00065 CSR5    EQU     2EH            
  0000002F            00066 CSR6    EQU     2FH            
  00000030            00067 CSR7    EQU     30H            
                      00068 
                      00069 ; TEMP REGISTERS
  00000031            00070 TMP1            EQU             31H             ; TEMP REGISTER FOR READ AND WRITE
  00000032            00071 TMP2            EQU             32H             ; TEMP REGISTER FOR READ AND WRITE
  00000033            00072 ADDRESS1        EQU             33H             ; NOT USED
  00000034            00073 COUNT_ERASE     EQU             34H             ; NOT USED
                      00074 
  00000035            00075 KEY0    EQU             35H             ; 64 BIT KEY SHIFT REGISTER
  00000036            00076 KEY1    EQU             36H
  00000037            00077 KEY2    EQU             37H
  00000038            00078 KEY3    EQU             38H
  00000026            00079 KEY4    EQU             CNT2
  0000002E            00080 KEY5    EQU             CSR5
  0000002F            00081 KEY6    EQU             CSR6
  00000030            00082 KEY7    EQU             CSR7
                      00083 
                      00084 
  00000039            00085 DATAS   EQU             39H
                      00086 
                      00087 ; ***** USER REGISTER RE-MAPPINGS ***************
                      00088 
  00000029            00089 HOP1    EQU             CSR0            ; 32 BIT HOPCODE REGISTER
  0000002A            00090 HOP2    EQU             CSR1
  0000002B            00091 HOP3    EQU             CSR2
  0000002C            00092 HOP4    EQU             CSR3
                      00093 
                      00094 ; RECEIVED TRANSMISSION OPEN 32 BITS 
                      00095 
  00000030            00096 SER_0   EQU             CSR7            ; 28 BIT SERIAL NUMBER
  0000002F            00097 SER_1   EQU             CSR6
  0000002E            00098 SER_2   EQU             CSR5
  0000002D            00099 SER_3   EQU             CSR4
                      00100 
                      00101 ; RECEIVED TRANSMISSION ENCRYPTED 32 BITS 
                      00102 
  0000002C            00103 FUNC    EQU             CSR3            ; BUTTON CODE & USER BIT FUNCTION BYTE
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

  0000002B            00104 CODEE   EQU             CSR2            ; DISCRIMINATION VALUE
  0000002A            00105 CNTR_HI EQU             CSR1            ; 16 BIT RX COUNTER HIGH BYTE
  00000029            00106 CNTR_LW EQU             CSR0            ; 16 BIT RX COUNTER LOW BYTE
                      00107 
                      00108 ; ********* EEPROM MEMORY *******
  00000002            00109 LRNPTR  EQU             02H             ; LEARN POINTER
                      00110 
                      00111 ; ********* PORTA BIT DEFINITIONS *******
                      00112 
  00000000            00113 LED             EQU             0H              ; RESERVED PIN
  00000001            00114 RFIN    EQU             1H              ; RF INPUT
  00000002            00115 LRN             EQU             2H              ; LEARN BUTTON
  00000003            00116 RES0    EQU             3H              ; LEARN INDICATOR LED OUTPUT - VALID SIGNAL
                      00117 
                      00118 ; ********* PORTC BIT DEFINITIONS *******
                      00119 
  00000000            00120 S0              EQU             0H              ; S0 OUTPUT
  00000001            00121 S1              EQU             1H              ; S1 OUTPUT
  00000002            00122 S2              EQU             2H              ; S2 OUTPUT
  00000003            00123 S3              EQU             3H              ; S3 OUTPUT
                      00124 
  00000004            00125 DIO             EQU             4H              ; EEPROM DATA LINE
  00000005            00126 CLK             EQU             5H              ; EEPROM SERIAL CLOCK
  00000006            00127 CS              EQU             6H              ; EEPROM CHIP SELECT
  00000007            00128 RES1    EQU             7H              ; RESERVED PIN
                      00129 
                      00130 ; ********* COMPILER DEFINES ******************
  00000040            00131 NBITS   EQU     64              ; MAXIMUM TRANSMISSION BIT LENGTH
  00000230            00132 MIN     EQU     560             ; TRANSMISSION HEADER MINIMUM LENGTH [鍿]
  0000000E            00133 TRIS_A  EQU             001110B         ; PORTA: TRI-STATE VALUE
  00000000            00134 WRCFG   EQU             00000000B       ; PORTC: EEPROM WRITE TRI-STATE VALUE
  00000000            00135 RDCFG   EQU             00000000B       ; PORTC: EEPROM READ TRI-STATE VALUE
                      00136 
                      00137 ;****** FLAGS DEFINITIONS **************
  00000000            00138 BITIN   EQU             0H              ; RF BIT VALUE 
  00000001            00139 LRNF    EQU             1H              ; LEARN FLAG
  00000002            00140 SEC_CNT EQU             2H              ; SECOND COUNTER IS BEING CHECKED
  00000003            00141 RELEARN EQU             3H              ; RELEARNING A TRANSMITTER
                      00142 
                      00143 ;****** STATUS REGISTER BIT DEFINITIONS *****************
  00000000            00144 C       EQU       0             ; CARRY
  00000001            00145 DC      EQU       1             ; DIGIT CARRY
  00000002            00146 Z       EQU       2             ; ZERO
  00000003            00147 PD      EQU       3             ; POWER DOWN
  00000004            00148 TO      EQU       4             ; TIMEOUT
  00000005            00149 PA0     EQU       5             ; NOT USED
  00000006            00150 PA1     EQU       6             ; NOT USED 
                      00151 
  00000040            00152 flash_flags     equ             40h
                      00153 ;===========================================================================
                      00154 ; PAGE 0: 
                      00155 ;===========================================================================
0000                  00156         ORG 00H
MPASM 03.60 Released                             P676_KOQ.ASM   3-4-2005  17:50:49         PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00157 
                      00158 ;===========================================================================
                      00159 ;
                      00160 ; FUNCTION     : RESET ()                               
                      00161 ;
                      00162 ; DESCRIPTION  : PROGRAM RESET ROUTINE
                      00163 ;
                      00164 ;===========================================================================
                      00165 
0000                  00166 RESET
0000   1683           00167         BSF             STATUS,RP0              ;calibrating the internal oscillator
0001   3007           00168                 MOVLW   07H                             ;setting option
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0002   0081           00169                 MOVWF   OPTION_REG
0003   300E           00170                 MOVLW   TRIS_A                  ;setting TRIS_A
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0004   0085           00171                 MOVWF   TRISA   
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0005   0096           00172                 MOVWF   IOCA                    ;setting IOCA
0006   3000           00173                 MOVLW   00h                             ;setting trisC
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0007   0087           00174                 MOVWF   TRISC
0008   3034           00175                 MOVLW   34H                             ;setting wpua

⌨️ 快捷键说明

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