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

📄 hcs635.lst

📁 source for the microchip transponder for LF 125KHz.
💻 LST
📖 第 1 页 / 共 5 页
字号:
MPASM  5.16                        HCS635.ASM   4-16-2008  14:39:21         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00001 ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
                      00002 ;
                      00003 ; MICROCHIP HCS635 CODE HOPPING ENCODER
                      00004 ; Can be assembled for 12F635, 16F636, or 16F639
                      00005 ; with or without encryption
                      00006 ; with pull-ups of pull-downs on switch inputs
                      00007 ;
                      00008 ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
                      00009 ;
                      00010 ; VERSION 1.2:
                      00011 ;
                      00012 ;       Prepared by Chuck Simmers for standard PIC12F635, PIC16F636, or 
                      00013 ;       PIC16F639 (AFE A.1) on APR 29 2005
                      00014 ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
                      00015 ;
                      00016 ; Eariler Versions:
                      00017 ;
                      00018 ;       Prepared by Myron Loewen, based on an old HCS365 code revision
                      00019 ;
                      00020 ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
                      00021 
                      00022 ;---------------------------------------------------------------------------
                      00023 ; Conditional assembly options
                      00024 
                      00025 ; Select Processor - Enable only one below
                      00026 ;#DEFINE        P12F635 1       ; SET FOR CONDITIONAL COMPILE for desired processor
                      00027 ;#DEFINE P16F636        1       ; SET FOR CONDITIONAL COMPILE
                      00028 #DEFINE P16F639 1       ; SET FOR CONDITIONAL COMPILE
                      00029 
                      00030 ; Select PORTA pushbuttons to be connected to ground with internal pull-ups
                      00031 ; OR, connected to VCC with internal pull-downs
                      00032 #DEFINE pullup 1        ; Set to select pull-ups on PORT A. For pull-downs, comment out
                      00033 
                      00034 ; Since the In-Circuit-Emulator can not properly handle SLEEP
                      00035 ;#DEFINE ICEmul 1       ; Is set, device will not SLEEP, but will loop forever
                      00036 
                      00037 ; Select option not to Encrypt
                      00038 #define NoEncryption    1
                      00039 ;---------------------------------------------------------------------------
Warning[205]: Found directive in column 1. (page)
MPASM  5.16                        HCS635.ASM   4-16-2008  14:39:21         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00040 page
                      00041         LIST R=DEC
                      00042 
                      00043         IFDEF P12F635
                      00044         processor P12F635
                      00045         #include P12F635.INC
                      00046         #define ROMend 0x3FF
                      00047         ENDIF
                      00048 
                      00049         IFDEF P16F636
                      00050         processor P16F636
                      00051         #include P16F636.INC
                      00052         #define ROMend 0x7FF
                      00053         ENDIF
                      00054 
                      00055         IFDEF P16F639
                      00056         processor P16F639
                      00057         #include P16F636.INC
                      00001         LIST
                      00002 ; P16F636.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
Message[301]: MESSAGE: (Processor-header file mismatch.  Verify selected processor.)
                      00317         LIST
                      00058         #define ROMend 0x7FF
                      00059         ENDIF
                      00060 
                      00061         IFDEF P16F639
2007   3FD4           00062         __CONFIG _MCLRE_OFF & _INTRC_OSC_NOCLKOUT & _WDT_OFF
                      00063         ELSE
                      00064         __CONFIG _MCLRE_OFF & _INTRC_OSC_NOCLKOUT & _WDT_OFF & _WUREN_ON
                      00065         ENDIF
                      00066 
                      00067         ERRORLEVEL 0, -205,-224,-302,-305,-306  
                      00068                                 ; Message, Warning and Error Printed
                      00069                                 ; Ignore [224] => Use Of This Instruction is not recommended
                      00070                                 ; Ignore [302] => Register in operand not in bank 0. 
                      00071                                 ; Ignore [306] => Crossing page boundary - ensure ...
                      00072 
  00000001            00073 ON      EQU     1
  00000000            00074 OFF     EQU     0
                      00075 
MPASM  5.16                        HCS635.ASM   4-16-2008  14:39:21         PAGE  3


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00076 page
                      00077 ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
                      00078 ; REGISTER Bank 0:                              
                      00079 ;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
                      00080 
                      00081 ; GENERAL PURPOSE REGISTERS
                      00082 ; GLOBAL WORK REGISTERS 
                      00083 IFDEF P16F639
                      00084                cblock  0x20
  00000020            00085                 AFEflags        ; AFE system flags
  00000021            00086                 INNER           ; register used in DELAY routine
  00000022            00087                 OUTER           ; register used in DELAY routine
  00000023            00088                 Delay_Delta     ; register used in Delay routine
  00000024            00089                 SPIBufL
  00000025            00090                 SPIBufH
  00000026            00091                 TEMP1
  00000027            00092                 TEMP2
  00000028            00093                 COUNTER
  00000029            00094                 RXTX_REG
  0000002A            00095                 Count00
                      00096                 endc
                      00097         #define AFEOK   AFEflags,0      ; AFE is present and functional
                      00098         #define ValidLFIFF      AFEflags,1
                      00099 ENDIF
                      00100 
                      00101         cblock  0x58
  00000058            00102         FLAGS   ; USER FLAG REGISTER
  00000059            00103         TX_CFG0 ; TRANSMITTER CONFIGURATION BYTE #0
  0000005A            00104         BUTTON:2        ; CURRENT BUTTON VALUE, MSB SET ON REPEATED BUTTON PRESS
  0000005C            00105         NSR8    ; EXTRA SPACE FOR SHIFT REGISTER
  0000005D            00106         CNT0    ; LOOP COUNTER #0
  0000005E            00107         CNT1    ; LOOP COUNTER #1
  0000005F            00108         CNT2    ; LOOP COUNTER #2
  00000060            00109         TX_CFG1 ; TRANSMITTER CONFIGURATION BYTE #0
  00000061            00110         SYSCFG0 ; SYSTEM CONFIGURATION BYTE #0
  00000062            00111         SYSCFG1 ; SYSTEM CONFIGURATION BYTE #1
                      00112 
  00000063            00113         B_MASK  ; BUTTON MASK REGISTER
  00000064            00114         TE_COMP ; TE DELAY OVERHEAD COMPENSATION REGISTER
  00000065            00115         CRC     ; MSB AND LSB OF CRC REGISTER
  00000066            00116         QUEUE   ; QUEUE BIT COUNTER 
                      00117 
  00000067            00118         CLK_50  ; 50ms EVENT CLOCK COUNTER
  00000068            00119         CLK_HI  ; OVERFLOW FOR CLK_50 COUNTER
  00000069            00120         CLK_LED ; LED TIMEOUT COUNTER
  0000006A            00121         TEMP    ; TEMPORARY STORAGE SPACE
                      00122 
  0000006B            00123         CSR5    ; FALLING EDGE BUTTON DEBOUNCE REUSED FOR LFTE
  0000006C            00124         CSR6    ; TRANSMISSION BITS REUSED TO MEASURE LF BIT WIDTHS
  0000006D            00125         COMP    ; TE COMPENSATION VALUE
  0000006E            00126         CNT3    ; LOOP COUNTER #3
                      00127 
  0000006F            00128         ButtonImage; Real button positions
MPASM  5.16                        HCS635.ASM   4-16-2008  14:39:21         PAGE  4


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00129         endc
                      00130 
                      00131         cblock  0x70            ;Shared Bank0-1-2-3 addresses
  00000070            00132         VLOWLEVEL               ; TEMP LOCATION TO STORE EEPROM VLOW LATCH SETTING
  00000071            00133         UserDefined:2
                      00134         endc
                      00135 
                      00136         cblock  0x78
  00000078            00137         NSR0    ; KEELOQ ALGORTIHM CODE SHIFT REGISTERS 
  00000079            00138         NSR1    ; KEELOQ ALGORTIHM CODE SHIFT REGISTERS
  0000007A            00139         NSR2    ; KEELOQ ALGORTIHM CODE SHIFT REGISTERS
  0000007B            00140         NSR3    ; KEELOQ ALGORTIHM CODE SHIFT REGISTERS
  0000007C            00141         NSR4    ; KEELOQ ALGORTIHM KEY REGISTER
  0000007D            00142         NSR5    ; TRANSMISSION SHIFT REGISTER
  0000007E            00143         NSR6    ; TRANSMISSION SHIFT REGISTER
  0000007F            00144         NSR7    ; TRANSMISSION SHIFT REGISTER
                      00145         endc
                      00146 
                      00147         #define COUNTA  NSR5            ; COUNTER BITS 21-16 MSB
                      00148         #define COUNTB  NSR4            ; COUNTER BITS 15-8
                      00149         #define COUNTC  NSR3            ; COUNTER BITS 7-0 LSB
                      00150         #define CHECKBC NSR2            ; B XOR C CHECKSUM
                      00151         #define CHECKAB NSR1            ; A XOR B CHECKSUM
                      00152         #define CHECKAC NSR0            ; A XOR C CHECKSUM
                      00153 
MPASM  5.16                        HCS635.ASM   4-16-2008  14:39:21         PAGE  5


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00154 page
                      00155 ; ********* PORT BIT DEFINITIONS **************************
                      00156         IFDEF P12F635
                      00157 ;        _________
                      00158 ;    Vdd | 1   8 | Vss
                      00159 ;    S0  | 2   7 | LEDn          12F635
                      00160 ;    S1  | 3   6 | DATA
                      00161 ;    S2  | 4   5 | S3/SHIFT/RFEN
                      00162 ;        ---------
                      00163         #define LED     PORTA,0         ; LED LINE
                      00164         #define RFOUT   PORTA,1 ; RF DATA OUTPUT
                      00165         #define S0      PORTA,5         ; S0 BUTTON INPUT
                      00166         #define S1      PORTA,4         ; S1 BUTTON INPUT
                      00167         #define S2      PORTA,3         ; S2 BUTTON INPUT

⌨️ 快捷键说明

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