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

📄 car.lst

📁 这是本人以前编的机遇PIC的汽车防盗程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
MPASM 02.30 Released              CAR.ASM   10-8-2001  23:05:26         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

Warning[205]: Found directive in column 1. (TITLE)
                    00001 TITLE "Burglarproof system for CAR"
Warning[205]: Found directive in column 1. (LIST)
Warning[217]: Hex file format specified on command line.
Warning[216]: Radix superceded by command line.
                    00002 LIST f=INHX8M,p=16C57,r=DEC
                    00003 ;************************************
  00000005          00004 PORTA           EQU     5
  00000006          00005 PORTB           EQU     6
  00000007          00006 PORTC           EQU     7
  00000003          00007 STATUS          EQU     3
  00000004          00008 FSR             EQU     4
  00000000          00009 INDF            EQU     0
  00000000          00010 C               EQU     0
  00000002          00011 Z               EQU     2
  00000000          00012 W               EQU     0
  00000001          00013 F               EQU     1
  00000005          00014 PA0             EQU     5
  00000008          00015 DELAYNUM0       EQU     0X08
  00000009          00016 DELAYNUM1       EQU     0X09
  0000000A          00017 DTIME0          EQU     0X0A
  0000000B          00018 DTIME1          EQU     0X0B
  0000000C          00019 DTIME           EQU     0X0C
  0000000D          00020 RELTIME         EQU     0X0D
  0000000E          00021 KEYVALUE        EQU     0X0E
  0000000F          00022 KEYSTATUS       EQU     0X0F
  00000010          00023 CARSTATUS       EQU     0X10
  00000011          00024 COMMAND         EQU     0X11
  00000012          00025 INPUT0          EQU     0X12
  00000013          00026 INPUT1          EQU     0X13
  00000014          00027 INPUT2          EQU     0X14
  00000015          00028 INPUT3          EQU     0X15
  00000016          00029 INBITNUM        EQU     0X16
  00000017          00030 IOTRIS          EQU     0X17
  00000018          00031 DTIME2          EQU     0X18
  00000019          00032 PASSWORD        EQU     0X19
                    00033 #DEFINE INBIT   PORTA,2
                    00034 #DEFINE HAND    PORTB,5
                    00035 #DEFINE FOOT    PORTB,3
                    00036 #DEFINE KEYON   PORTB,2
                    00037 #DEFINE FIRE    PORTB,4
                    00038 #DEFINE UR_ALERT        PORTB,1
                    00039 #DEFINE DOORTRI PORTB,0
                    00040 #DEFINE VIBRE   PORTA,3
                    00041 #DEFINE CLK     PORTB,6
                    00042 #DEFINE DATA    PORTB,7
                    00043 #DEFINE CEN1    PORTC,7
                    00044 #DEFINE CEN2    PORTC,6
                    00045 #DEFINE SOUND   PORTC,5
                    00046 #DEFINE LAMP    PORTC,4
                    00047 #DEFINE KEYACC  PORTC,3
                    00048 #DEFINE ON      PORTC,2
                    00049 #DEFINE START   PORTC,1
MPASM 02.30 Released              CAR.ASM   10-8-2001  23:05:26         PAGE  2
Burglarproof system for CAR

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00050 #DEFINE MOTOR   PORTC,0
                    00051 #DEFINE PUSHING KEYSTATUS,0
                    00052 #DEFINE PROCESSED KEYSTATUS,1
                    00053 ;****************************************
                    00054 
07FF                00055         ORG 0X7FF
Message[306]: Crossing page boundary -- ensure page bits are set.
07FF 0A79           00056         GOTO MAIN
0000                00057         ORG 0
0000 046F           00058         BCF KEYSTATUS,3
0001 0C32           00059 DELAY   MOVLW 50
0002 002A           00060         MOVWF DTIME0
0003 0C64           00061 DELAY1  MOVLW 100
0004 002B           00062         MOVWF DTIME1
0005 0000           00063 DELAY2  NOP
0006 076F           00064         BTFSS KEYSTATUS,3
0007 0A19           00065         GOTO DELAY3
0008 0000           00066         NOP
0009 0000           00067         NOP
000A 0000           00068         NOP
000B 0000           00069         NOP
000C 0000           00070         NOP
000D 02EB           00071 DELAY4  DECFSZ DTIME1,F          ;延时1ms
000E 0A05           00072         GOTO DELAY2
000F 02AD           00073 DELAY6  INCF RELTIME,F           ;键释放间隔+1
0010 0C50           00074         MOVLW 80
0011 008D           00075         SUBWF RELTIME,W
0012 0703           00076         BTFSS STATUS,C
0013 0A16           00077         GOTO $+3
0014 040F           00078         BCF PUSHING              ;键释放间隔超过80,则清键压着标志
0015 006D           00079         CLRF RELTIME
0016 02EA           00080         DECFSZ DTIME0,F
0017 0A03           00081         GOTO DELAY1              ;延时50ms,时间到返回
0018 0800           00082         RETLW 0
0019 0745           00083 DELAY3  BTFSS INBIT
001A 0A0D           00084         GOTO DELAY4
001B 0C0F           00085         MOVLW 15
001C 002C           00086         MOVWF DTIME
001D 02EC           00087         DECFSZ DTIME,F
001E 0A1D           00088         GOTO $-1                 ;防误触发
001F 0745           00089         BTFSS INBIT
0020 0A0D           00090         GOTO DELAY4
0021 0645           00091         BTFSC INBIT
0022 0A21           00092         GOTO $-1                 ;有键按,等待输入为0
0023 070F           00093         BTFSS PUSHING
0024 0A32           00094         GOTO DELAY5
0025 0CFE           00095         MOVLW 254                ;若键正按着,判断键是否还按着?
0026 002C           00096         MOVWF DTIME
0027 02EC           00097         DECFSZ DTIME,F
0028 0A27           00098         GOTO $-1
0029 0745           00099         BTFSS INBIT
002A 0A0F           00100         GOTO DELAY6
002B 0C21           00101         MOVLW 33
MPASM 02.30 Released              CAR.ASM   10-8-2001  23:05:26         PAGE  3
Burglarproof system for CAR

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

002C 002C           00102         MOVWF DTIME
002D 02EC           00103         DECFSZ DTIME,F
002E 0A2D           00104         GOTO $-1
002F 0645           00105         BTFSC INBIT
0030 006D           00106         CLRF RELTIME
0031 0A0F           00107         GOTO DELAY6
0032 0C1C           00108 DELAY5  MOVLW 28                 ;若是第一次按,则接受28BIT键值
0033 0036           00109         MOVWF INBITNUM
0034 0C8F           00110 DELAY8  MOVLW 143
0035 002C           00111         MOVWF DTIME
0036 02EC           00112         DECFSZ DTIME,F
0037 0A36           00113         GOTO $-1
0038 0403           00114         BCF STATUS,C
0039 0745           00115         BTFSS INBIT
003A 0503           00116         BSF STATUS,C
003B 0C6E           00117         MOVLW 110
003C 002C           00118         MOVWF DTIME
003D 02EC           00119         DECFSZ DTIME,F
003E 0A3D           00120         GOTO $-1
003F 0645           00121         BTFSC INBIT
0040 0A49           00122         GOTO DELAY7
0041 0C50           00123         MOVLW 80
0042 002C           00124         MOVWF DTIME
0043 02EC           00125         DECFSZ DTIME,F
0044 0A43           00126         GOTO $-1
0045 00EA           00127         DECF DTIME0,F
0046 0643           00128         BTFSC STATUS,Z
0047 0800           00129         RETLW 0
0048 0A0D           00130         GOTO DELAY4
0049 0375           00131 DELAY7  RLF INPUT3,F
004A 0374           00132         RLF INPUT2,F
004B 0373           00133         RLF INPUT1,F
004C 0372           00134         RLF INPUT0,F
004D 0645           00135         BTFSC INBIT
004E 0A4D           00136         GOTO $-1
004F 02F6           00137         DECFSZ INBITNUM,F
0050 0A34           00138         GOTO DELAY8
0051 0C0F           00139         MOVLW 0X0F
0052 0172           00140         ANDWF INPUT0,F
0053 0395           00141         SWAPF INPUT3,W
0054 0E0F           00142         ANDLW 0X0F
0055 002E           00143         MOVWF KEYVALUE
0056 0395           00144         SWAPF INPUT3,W
0057 0EF0           00145         ANDLW 0XF0
0058 0132           00146         IORWF INPUT0,F
0059 0214           00147         MOVF INPUT2,W
005A 0743           00148         BTFSS STATUS,Z
005B 0800           00149         RETLW 0
005C 0213           00150         MOVF INPUT1,W          ;判断信号是否有效?
005D 0FFB           00151         XORLW 0XFB
005E 0743           00152         BTFSS STATUS,Z
005F 0800           00153         RETLW 0
0060 0212           00154         MOVF INPUT0,W
MPASM 02.30 Released              CAR.ASM   10-8-2001  23:05:26         PAGE  4
Burglarproof system for CAR

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0061 0F54           00155         XORLW 0X54
0062 0743           00156         BTFSS STATUS,Z
0063 0800           00157         RETLW 0
0064 050F           00158         BSF PUSHING            ;有效,则置按键正压着标志
0065 042F           00159         BCF PROCESSED          ;清已处理标志
0066 0800           00160         RETLW 0
                    00161 
0067                00162 DELAY55
0067 0C21           00163         MOVLW 33
0068 002C           00164         MOVWF DTIME
0069 02EC           00165         DECFSZ DTIME,F
006A 0A69           00166         GOTO $-1
006B 0800           00167         RETLW 0
                    00168 
006C                00169 NOLOCK
006C 04E7           00170         BCF CEN1
006D 05C7           00171         BSF CEN2               ;开锁
006E 0C08           00172 LOCK1   MOVLW 8
006F 0028           00173         MOVWF DELAYNUM0
0070 0901           00174         CALL DELAY
0071 02E8           00175         DECFSZ DELAYNUM0,F
0072 0A70           00176         GOTO $-2
0073 04C7           00177         BCF CEN2
0074 04E7           00178         BCF CEN1
0075 0800           00179         RETLW 0
                    00180 
0076                00181 UPLOCK
0076 05E7           00182         BSF CEN1               ;上锁
0077 04C7           00183         BCF CEN2
0078 0A6E           00184         GOTO LOCK1
                    00185 
                    00186 
0079                00187 MAIN
0079 0C0D           00188         MOVLW 0X0D
007A 0025           00189         MOVWF PORTA
007B 0C0E           00190         MOVLW 0X0E
007C 0005           00191         TRIS PORTA
007D 0C3F           00192         MOVLW B'00111111'
007E 0026           00193         MOVWF PORTB
007F 0CFF           00194         MOVLW 0XFF
0080 0006           00195         TRIS PORTB
0081 0067           00196         CLRF PORTC
0082 0040           00197         CLRW
0083 0007           00198         TRIS PORTC
0084 0070           00199         CLRF CARSTATUS
0085 006F           00200         CLRF KEYSTATUS
0086 006D           00201         CLRF RELTIME
0087 052F           00202         BSF PROCESSED          ;初始化
0088 0AA7           00203         GOTO UNLOCK
                    00204 
0089                00205 NORMAL
0089 0070           00206         CLRF CARSTATUS
008A 0CFF           00207         MOVLW 0XFF
MPASM 02.30 Released              CAR.ASM   10-8-2001  23:05:26         PAGE  5
Burglarproof system for CAR

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

008B 0028           00208         MOVWF DELAYNUM0        ;延时25s,进入防盗状态
008C 0726           00209 NORMAL1 BTFSS UR_ALERT
008D 0BA9           00210         GOTO URGENCY
008E 0901           00211         CALL DELAY
008F 0646           00212         BTFSC KEYON
0090 0A97           00213         GOTO TEMP0
0091 0901           00214         CALL DELAY
0092 072F           00215         BTFSS PROCESSED        ;是否有键按?
0093 0A99           00216         GOTO NORMAL2
0094 02E8           00217         DECFSZ DELAYNUM0,F
0095 0A8C           00218         GOTO NORMAL1
0096 0AA3           00219         GOTO LOCK
0097 05A3           00220 TEMP0   BSF STATUS,PA0
Message[306]: Crossing page boundary -- ensure page bits are set.
0098 0A68           00221         GOTO DRIVE
0099 052F           00222 NORMAL2 BSF PROCESSED
009A 020E           00223         MOVF KEYVALUE,W
009B 0F01           00224         XORLW 0X01
009C 0643           00225         BTFSC STATUS,Z
009D 0AA3           00226         GOTO LOCK              ;按设定键,进入防盗状态
009E 020E           00227         MOVF KEYVALUE,W
009F 0F02           00228         XORLW 0X02
00A0 0643           00229         BTFSC STATUS,Z
00A1 0AA7           00230         GOTO UNLOCK            ;按解除键,灯闪三下回正常状态
00A2 0A8C           00231         GOTO NORMAL1
                    00232 
00A3                00233 LOCK
00A3 0587           00234         BSF LAMP               ;设定,则上锁,灯闪一下
00A4 0976           00235         CALL UPLOCK
00A5 0487           00236         BCF LAMP
00A6 0AC3           00237         GOTO ALERTING
00A7                00238 UNLOCK
00A7 0587           00239         BSF LAMP
00A8 096C           00240         CALL NOLOCK            ;解除,则开锁,灯闪三下
00A9 0487           00241         BCF LAMP
00AA 0C08           00242         MOVLW 8
00AB 0028           00243         MOVWF DELAYNUM0
00AC 0901           00244         CALL DELAY

⌨️ 快捷键说明

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