📄 secsys14.lst
字号:
00762 ; PAGE : 0
00763 ;
00764 ;**************************************************************************
00765
010B 00766 TST_RTCC1
010B 0004 00767 CLRWDT ; RESET WATCHDOG TIMER
010C 0203 00768 MOVFW STATUS
010D 0181 00769 XORWF RTCC,W
010E 0E80 00770 ANDLW 080H
00771
010F 0743 00772 BTFSS STATUS,ZERO
0110 0B12 00773 GOTO TST_RTCC2 ; TEST FOR 32MS TIMEOUT ON RTCC MSB
0111 0800 00774 RETLW 0H ; ... DO QUICK RETURN TO RECEIVE ROUTINE
00775
00776 ; **** INCREASE 16 BIT CLOCK TIMER *******
0112 00777 TST_RTCC2
0112 04E3 00778 BCF STATUS,OVF
0113 0201 00779 MOVFW RTCC
0114 0E80 00780 ANDLW 080H
0115 0123 00781 IORWF STATUS,F
00782
0116 02BC 00783 INCF CNT_LW,F ; INCREASE 16 COUNTER
0117 0643 00784 BTFSC STATUS,ZERO ; INCREASE UPPER BYTE IF ZERO ( OVERFLOW )
0118 02BB 00785 INCF CNT_HI,F
00786
0119 05A4 00787 BSF FSR,5 ; SELECT RAM BANK 1
011A 02B4 00788 INCF CNT1_LW,F ; INCREASE REPEAT DEBOUNCE TIMER
011B 02B6 00789 INCF CNT2_LW,F ; INCREASE 2 SECOND PANIC TIMER
011C 04A4 00790 BCF FSR,5 ; SELECT RAM BANK 0
00791
011D 0C09 00792 MOVLW RDCFG ; UPDATE TRI-STATE REGISTER FOR PORTA
011E 0005 00793 TRIS PORTA
011F 0C00 00794 MOVLW TRISB ; UPDATE TRI-STATE REGISTER FOR PORTB
MPASM 02.50 Released SECSYS14.ASM 1-11-2002 15:33:39 PAGE 16
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0120 0006 00795 TRIS PORTB
0121 0CFF 00796 MOVLW TRISC ; UPDATE TRI-STATE REGISTER FOR PORTC
0122 0007 00797 TRIS PORTC
00798
00799
00800 ; *********** UPDATE LED IF REQUIRED ********
0123 00801 TST_LED
0123 077F 00802 BTFSS FLAGS,LFLASH
0124 0B2A 00803 GOTO TST_PLIGHT
00804
0125 079C 00805 BTFSS CNT_LW,4
0126 0B29 00806 GOTO TST_LED1
00807
0127 05E6 00808 BSF PORTB,LED ; LED HIGH FOR 524MS
0128 0B2A 00809 GOTO TST_PLIGHT
0129 00810 TST_LED1
0129 04E6 00811 BCF PORTB,LED ; LED LOW FOR 524MS
00812
00813 ; *********** UPDATE PLIGHT IF REQUIRED ********
012A 00814 TST_PLIGHT
00815
012A 079F 00816 BTFSS FLAGS,PFLASH
012B 0B31 00817 GOTO TST_30
00818
012C 079C 00819 BTFSS CNT_LW,4
012D 0B30 00820 GOTO TST_PLIGHT1
00821
012E 0546 00822 BSF PORTB,PLIGHT ; PLIGHT HIGH FOR 524MS
012F 0B31 00823 GOTO TST_30
00824
0130 00825 TST_PLIGHT1
0130 0446 00826 BCF PORTB,PLIGHT ; PLIGHT LOW FOR 524MS
00827
00828 ; ********* TEST FOR 30 S LEARN TIMEOUT *************
0131 061F 00829 TST_30 BTFSC FLAGS,NORMAL ; TIMEOUT USE ONLY WITH LEARN
0132 0B36 00830 GOTO TST_RPT
00831
0133 075B 00832 BTFSS CNT_HI,2
0134 0B36 00833 GOTO TST_RPT ; TEST FOR LEARN TIMEOUT
00834
0135 0BCD 00835 GOTO WIPE_TX ; IF LEARN TIMEMOUT ABORT
00836
00837 ; ********* TEST REPEAT TIMEOUT *************
00838
0136 00839 TST_RPT
0136 05A4 00840 BSF FSR,5 ; SELECT RAM BANK 1
00841
0137 0794 00842 BTFSS CNT1_LW,4
0138 0B3B 00843 GOTO TST_PANIC ; REPEAT TIMEMOUT OF 0.5 SEC
00844
0139 04A4 00845 BCF FSR,5
013A 04FF 00846 BCF FLAGS,RPT
00847
MPASM 02.50 Released SECSYS14.ASM 1-11-2002 15:33:39 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00848 ; ********* TEST PANIC TIMEOUT *************
00849
013B 00850 TST_PANIC
013B 04A4 00851 BCF FSR,5
00852
013C 07FF 00853 BTFSS FLAGS,RPT
013D 0B47 00854 GOTO TST_END
00855
013E 05A4 00856 BSF FSR,5
013F 0C30 00857 MOVLW 48D ; PANIC TIME OF 2 SEC
0140 0096 00858 SUBWF CNT2_LW,W
0141 0703 00859 BTFSS STATUS,CARRY
0142 0B47 00860 GOTO TST_END
0143 04A4 00861 BCF FSR,5 ; SELECT RAM BANK 0
0144 04FF 00862 BCF FLAGS,RPT
0145 05C3 00863 BSF STATUS,PA1 ; SELECT PAGE #2
0146 0ABA 00864 GOTO ALARM
00865
0147 00866 TST_END
0147 04A4 00867 BCF FSR,5 ; SELECT RAM BANK 0
0148 0800 00868 RETLW 0H
00869
00870 ;**************************************************************************
00871 ;
00872 ; FUNCTION : TST_LEARN ()
00873 ;
00874
00875 ; DESCRIPTION : TEST AND HANDLE LEARN BUTTON
00876 ;
00877 ; PAGE : 0
00878 ;
00879 ;**************************************************************************
0149 00880 TST_LEARN1
0149 0004 00881 CLRWDT ; RESET WATCHDOG TIMER
014A 0767 00882 BTFSS PORTC,LEARN ; CHECK FOR LEARN BUTTON PRESSED
014B 0800 00883 RETLW 0 ; ... IF NOT RETURN
014C 065F 00884 BTFSC FLAGS,PASS2
014D 0B6F 00885 GOTO TST_LEARN7 ; ALREADY IN LEARN
00886
014E 00887 TST_LEARN2
014E 0C42 00888 MOVLW ALARMS ; CHECK IF IN ALARM STATE
014F 019D 00889 XORWF RAMS,W
0150 0643 00890 BTFSC STATUS,ZERO ; ... NO, CONTINUE
0151 0800 00891 RETLW 0 ; ... YES, RETURN
00892
0152 007B 00893 CLRF CNT_HI ; RESET EVENT COUNTER
0153 007C 00894 CLRF CNT_LW
0154 047F 00895 BCF FLAGS,LFLASH ; CLEAR LED FLASH MODE
00896
0155 00897 TST_LEARN3
0155 0C80 00898 MOVLW 080H ; CHANGE LED STATE
0156 01A6 00899 XORWF PORTB,F ; USED TO FLASH LED AT 25KhZ
0157 0906 00900 CALL TST_RTCC ; CALL RTCC UPDATE ROUTINE
MPASM 02.50 Released SECSYS14.ASM 1-11-2002 15:33:39 PAGE 18
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00901
0158 061B 00902 BTFSC CNT_HI,0
0159 0B5D 00903 GOTO TST_LEARN4 ; TEST FOR ERASE TIMEMOUT ( 8.2 SEC )
00904
015A 0767 00905 BTFSS PORTC,LEARN
015B 0B5F 00906 GOTO TST_LEARN5 ; WAIT FOR LEARN BUTTON LIFT
00907
015C 0B55 00908 GOTO TST_LEARN3 ; ... IF NOT WAIT FOR LEARN KEY LIFT
00909
015D 00910 TST_LEARN4
015D 05A3 00911 BSF STATUS,PA0 ; SELECT PAGE #1
015E 0A89 00912 GOTO ERASE ; ERASE ALL LEARNED TRANSMITTERS
00913
015F 00914 TST_LEARN5
00915
015F 063F 00916 BTFSC FLAGS,PASS1
0160 0B6F 00917 GOTO TST_LEARN7 ; ALREADY IN LEARN
00918
0161 0C02 00919 MOVLW 2
0162 009C 00920 SUBWF CNT_LW,W
00921
0163 0603 00922 BTFSC STATUS,CARRY
0164 0B6B 00923 GOTO TST_LEARN6 ; TEST IF LEARN PRESS LONGER THAN 64 MS
00924
0165 0CA5 00925 MOVLW ARMEDS ; CHECK IF IN ARMED STATE
0166 019D 00926 XORWF RAMS,W
0167 0643 00927 BTFSC STATUS,ZERO ; ... NO, CONTINUE
0168 057F 00928 BSF FLAGS,LFLASH ; RESET FLASH FLAG
00929
0169 04E6 00930 BCF PORTB,LED
016A 0800 00931 RETLW 0 ; ... IF NOT ABORT LEARN
00932
016B 00933 TST_LEARN6
016B 053F 00934 BSF FLAGS,PASS1 ; INDICATE FIRST STATE OF LEARN
016C 041F 00935 BCF FLAGS,NORMAL ; INDICATE FIRST STATE OF LEARN
016D 045F 00936 BCF FLAGS,PASS2
016E 042F 00937 BCF FLAGS1,S_RSTR ; FLAGS MUST NOT BE RESTORED
00938
016F 00939 TST_LEARN7
016F 05E6 00940 BSF PORTB,LED ; LED ON TO INDICATE LEARN ACTIVATED
0170 0800 00941 RETLW 0H
00942
00943 ;**************************************************************************
00944 ;
00945 ; FUNCTION : SENDC ()
00946 ;
00947
00948 ; DESCRIPTION : SEND EEPROM COMMAND
00949 ;
00950 ; PAGE : 0
00951 ;
00952 ;******************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -