📄 rke_tianqiu_630.lst
字号:
00205 ;RKE_Learn_Status
00206 #define RKE_LEARN_BEGIN 0x00
00207 #define RKE_LEARN_READY 0x01
00208 #define RKE_LEARN_REAL1 0x02
00209 #define RKE_LEARN_REAL2 0x03
00210
00211
00212 ;------------------------------------------------
00213
00214 ;RF_Flags
00215 #define ALERT_LED_SHOW RF_Flags,0
00216 #define MAIN_CHECK RF_Flags,1
00217 #define WRITE_EEPROM_ENABLE RF_Flags,2
00218
00219 #define KEY_MAY_ERROR_CHECK RF_Flags,3
00220
00221 #define PASS_LOW RF_Flags,5
00222 #define RF_FRAME_GET RF_Flags,6
00223 #define RF_FRAME_RECIEVE RF_Flags,7
00224
00225 ;------------------------------------------------
00226
00227 ;About Learn Port
00228 #define PORT_LEARN_STATUS Key_Flag,2
00229 #define PORT_HAND_OPEN Key_Flag,0 ;
00230 #define PORT_HAND_CLOSE Key_Flag,1 ;
00231
00232
00233
00234
00235
00236
00237
00238
00020
00021
00022
00023 ;**********************************************************************
0000 00024 ORG 0x000
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0000 018A 00025 clrf PCLATH
0001 28CE 00026 goto main
00027
00028
0004 00029 ORG 0x004
0004 00A0 00030 movwf w_temp
0005 0803 00031 movf STATUS,W
0006 1283 00032 bcf STATUS,RP0
0007 00A1 00033 movwf status_temp
00034
0008 018A 00035 clrf PCLATH
0009 204D 00036 call Interrupt_Begin
00037
000A 0821 00038 movf status_temp,w
000B 0083 00039 movwf STATUS
000C 0EA0 00040 swapf w_temp,f
000D 0E20 00041 swapf w_temp,w
000E 0009 00042 retfie
00043
00044 #include "Decript.inc"
00001
000F 00002 DECRYPT
000F 300C 00003 MOVLW 11+1
0010 00A7 00004 MOVWF CNT1
00005
0011 00006 DECRYPT_OUTER
0011 3030 00007 MOVLW 48
0012 00A6 00008 MOVWF CNT0
00009
0013 00010 DECRYPT_INNER
0013 0064 00011 CLRWDT
0014 0827 00012 MOVFW CNT1
0015 3A01 00013 XORLW 1
0016 1903 00014 SKPNZ
0017 283D 00015 GOTO ROTATE_KEY
00016
00017
00018
0018 1003 00019 CLRC
00020
0019 3001 00021 MOVLW 1
001A 19B1 00022 BTFSC HOP3,3
001B 3010 00023 MOVLW 10000B
001C 00A5 00024 MOVWF MASK
00025
001D 1C32 00026 BTFSS HOP2,0
001E 2821 00027 GOTO $+3
001F 0DA5 00028 RLF MASK,F
0020 0DA5 00029 RLF MASK,F
00030
0021 1833 00031 BTFSC HOP1,0
0022 0DA5 00032 RLF MASK,F
00033
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00034 ; MASK HAS NOW BEEN SHIFTED 0-7 TIMES ACCORDING TO BITS 2:1:0
00035
0023 3000 00036 MOVLW 0
0024 18B0 00037 BTFSC HOP4,1
0025 3802 00038 IORLW 2
0026 1B30 00039 BTFSC HOP4,6
0027 3804 00040 IORLW 4
00041
0028 0782 00042 ADDWF PCL,F
00043
00044
0029 00045 TABLE
0029 302E 00046 MOVLW 02EH
002A 2830 00047 GOTO TABLE_END
00048
002B 3074 00049 MOVLW 074H
002C 2830 00050 GOTO TABLE_END
00051
002D 305C 00052 MOVLW 05CH
002E 2830 00053 GOTO TABLE_END
00054
002F 303A 00055 MOVLW 03AH
00056
0030 00057 TABLE_END
0030 05A5 00058 ANDWF MASK,F
0031 3000 00059 MOVLW 0
0032 1D03 00060 SKPZ
0033 3080 00061 MOVLW 10000000B
00062
0034 0632 00063 XORWF HOP2,W
0035 0630 00064 XORWF HOP4,W
0036 0629 00065 XORWF KEY1,W
00066
0037 00A5 00067 MOVWF MASK
0038 0DA5 00068 RLF MASK,F
00069
0039 0DB3 00070 RLF HOP1,F
003A 0DB2 00071 RLF HOP2,F
003B 0DB1 00072 RLF HOP3,F
003C 0DB0 00073 RLF HOP4,F
00074
003D 00075 ROTATE_KEY
003D 1003 00076 CLRC
003E 1BAF 00077 BTFSC KEY7,7
003F 1403 00078 SETC
00079
0040 0DA8 00080 RLF KEY0,F
0041 0DA9 00081 RLF KEY1,F
0042 0DAA 00082 RLF KEY2,F
0043 0DAB 00083 RLF KEY3,F
0044 0DAC 00084 RLF KEY4,F
0045 0DAD 00085 RLF KEY5,F
0046 0DAE 00086 RLF KEY6,F
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0047 0DAF 00087 RLF KEY7,F
00088
00089
0048 0BA6 00090 DECFSZ CNT0,F
0049 2813 00091 GOTO DECRYPT_INNER
00092
004A 0BA7 00093 DECFSZ CNT1,F
004B 2811 00094 GOTO DECRYPT_OUTER
00095
004C 3400 00096 RETLW 0
00045 #include "Inter.inc"
00001 ; isr code can go here or be located as a call subroutine elsewhere
00002 ;**********************************************************
00003 ;interrupt codes
00004 ;**********************************************************
004D 00005 Interrupt_Begin:
00006 ;==========================================================
00007
004D 1283 1303 00008 banksel PORTA
00009
004F 1D0B 00010 btfss INTCON,T0IF
0050 28B3 00011 goto TMR0_Interrupt_Over
0051 110B 00012 bcf INTCON,T0IF
00013
0052 30B8 00014 movlw d'184'
0053 0781 00015 addwf TMR0,F
00016
0054 1B3D 00017 btfsc RF_FRAME_GET
0055 28C3 00018 goto Interrupt_Over
00019
0056 1BBD 00020 btfsc RF_FRAME_RECIEVE
0057 288C 00021 goto Get_Frame_Begin
00022
0058 1805 00023 btfsc RECIEVE_PORT
0059 285D 00024 goto Recieve_High
00025
005A 00026 Recieve_Low:
005A 0ABE 00027 incf Preamble_Low_Counter,F
005B 16BD 00028 bsf PASS_LOW
005C 28C3 00029 goto Interrupt_Over
005D 00030 Recieve_High:
005D 1EBD 00031 btfss PASS_LOW
005E 288A 00032 goto Recieve_High_Jump
005F 12BD 00033 bcf PASS_LOW
00034
00035
0060 3003 00036 movlw d'3'
0061 023F 00037 subwf Preamble_High_Counter,W
0062 1C03 00038 skpc
0063 2887 00039 goto Preamble_Counter_Clr
00040
0064 3009 00041 movlw d'9'
0065 023F 00042 subwf Preamble_High_Counter,W
MPASM 03.70 Released RKE_TIANQIU_630.ASM 12-7-2006 8:36:22 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0066 1803 00043 skpnc
0067 2887 00044 goto Preamble_Counter_Clr
00045
0068 3019 00046 movlw d'25'
0069 023E 00047 subwf Preamble_Low_Counter,W
006A 1803 00048 skpnc
006B 2876 00049 goto Preamble_Last_Get
00050
006C 3003 00051 movlw d'3'
006D 023E 00052 subwf Preamble_Low_Counter,W
006E 1C03 00053 skpc
006F 2887 00054 goto Preamble_Counter_Clr
00055
0070 3009 00056 movlw d'9'
0071 023E 00057 subwf Preamble_Low_Counter,W
0072 1803 00058 skpnc
0073 2887 00059 goto Preamble_Counter_Clr
00060
0074 00061 Preamble_Get:
0074 0AC0 00062 incf Preamble_Counter,F
0075 2888 00063 goto Preamble_Clr
00064
0076 00065 Preamble_Last_Get:
0076 3009 00066 movlw d'9'
0077 0240 00067 subwf Preamble_Counter,W
0078 1C03 00068 skpc
0079 2887 00069 goto Preamble_Counter_Clr
00070
007A 3041 00071 movlw d'65'
007B 00C1 00072 movwf Frame_Bit_Counter
00073
007C 01C0 00074 clrf Preamble_Counter
00075
007D 17BD 00076 bsf RF_FRAME_RECIEVE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -