📄 p676_koq.lst
字号:
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 + -