📄 mypjt.lst
字号:
0045 0708 00197 BTFSS flag,INFRARED_F
0046 0A4C 00198 GOTO NEXT_STEP4 ;没感应,下一步
00199 ;有感应时
Warning[202]: Argument out of range. Least significant bits used.
0047 0408 00200 BCF flag,INFRARED_F ;清标志
0048 0C01 00201 MOVLW AUTO_MODE ;保存工作模式
0049 0033 00202 MOVWF work_mode
00203 ; MOVF door_stu,w ;检测门状态
00204 ; XORLW DOOR_CLOSE_STU
00205 ; BTFSC STATUS,Z
00206 ; GOTO LABEL7 ;门关着
00207 ;不在门关着状态,再判是否是自动开状态
00208 ; MOVF door_stu,w
00209 ; XORLW DOOR_AUTO_OPEN_STU
00210 ; BTFSC STATUS,Z
00211 ; GOTO NEXT_STEP4 ;是自动开态
00212 ; MOVLW MM_CLOSE
00213 ; GOTO LABEL8
004A 00214 LABEL7:
004A 0C01 00215 MOVLW MM_OPEN
004B 00216 LABEL8:
004B 0029 00217 MOVWF motor_mode
00218 ;------------------------------------------------------
00219 ;------------------------------------------------------
004C 00220 NEXT_STEP4:
004C 00221 MOTOR_HD:
00222
004C 09D8 00223 CALL MOTOR_PRC
004D 00224 NEXT_STEP5:
004D 0979 00225 CALL LED_PRC
00226
004E 0A21 00227 GOTO MAIN_LOOP
MPASM 02.30.11 Intermediate MYPJT.ASM 1-14-2005 0:41:58 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00228
00229
00230 ;------------------------------------------------------
00231 ;------------------------------------------------------
004F 00232 INFRARED_SCAN:
Warning[202]: Argument out of range. Least significant bits used.
004F 0506 00233 BSF PORTB,MAIN_OP_POWER ;OPEN MAIN_OP_POWER
Warning[202]: Argument out of range. Least significant bits used.
0050 04E6 00234 BCF PORTB,SUB_OP_POWER ;OPEN SUB_OP_POWER
0051 0C06 00235 MOVLW 0x6 ;共发5次红外光
0052 003E 00236 MOVWF temp_va5
0053 00237 CHECK:
0053 0004 00238 CLRWDT
00239 ; CALL DELAY_10MS
0054 09AC 00240 CALL DELAY_1MS
0055 09AC 00241 CALL DELAY_1MS
0056 09AC 00242 CALL DELAY_1MS
0057 09AC 00243 CALL DELAY_1MS
Warning[202]: Argument out of range. Least significant bits used.
0058 0426 00244 BCF PORTB,INFRARED_LED ;发红外光
0059 0000 00245 NOP
005A 0000 00246 NOP
005B 0000 00247 NOP
Warning[202]: Argument out of range. Least significant bits used.
005C 0526 00248 BSF PORTB,INFRARED_LED ;停发
00249 ; CALL DELAY_1MS
005D 09AC 00250 CALL DELAY_1MS ;延迟1MS后,检测有没有接收红外光
005E 0C0A 00251 MOVLW 0x0a
005F 003F 00252 MOVWF temp_va6
0060 00253 NEXT:
0060 0205 00254 MOVF PORTA,W
0061 003A 00255 MOVWF temp_va1
0062 061A 00256 BTFSC temp_va1,0
Message[305]: Using default destination of 1 (file).
0063 02B1 00257 INCF HIGH_LEVEL_COUNT ;有收到
Message[305]: Using default destination of 1 (file).
0064 02FF 00258 DECFSZ temp_va6
0065 0A60 00259 GOTO NEXT
Message[305]: Using default destination of 1 (file).
0066 02FE 00260 DECFSZ temp_va5 ;没有,5次发完没?
0067 0A53 00261 GOTO CHECK ;5次没发完,继续发
00262 ;检测一下电源电压是否正常
00263 ; MOVF PORTA,W
00264 ; MOVWF temp_va1
00265 ; BTFSC temp_va1,1
0068 0625 00266 BTFSC PORTA,1
0069 0A6C 00267 GOTO VOLATAGE
Warning[202]: Argument out of range. Least significant bits used.
006A 0448 00268 BCF flag,LOW_V_F ;清除欠压标志
006B 0A6D 00269 GOTO POWER_OFF
006C 00270 VOLATAGE:
Warning[202]: Argument out of range. Least significant bits used.
006C 0548 00271 BSF flag,LOW_V_F ;置位欠压标志
MPASM 02.30.11 Intermediate MYPJT.ASM 1-14-2005 0:41:58 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00272 ; 5次已发完,关闭相应的电源
006D 00273 POWER_OFF
Warning[202]: Argument out of range. Least significant bits used.
006D 0406 00274 BCF PORTB,MAIN_OP_POWER ;CLOSE MAIN_OP_POWER
Warning[202]: Argument out of range. Least significant bits used.
006E 05E6 00275 BSF PORTB,SUB_OP_POWER ;CLOSE SUB_OP_POWER
00276 ;5次已发完,判别有没有检测到人
00277
006F 0C30 00278 MOVLW 0x30 ;暂定接收到10次为有感应
0070 0091 00279 SUBWF HIGH_LEVEL_COUNT,W
0071 0603 00280 BTFSC STATUS,C
0072 0A76 00281 GOTO LABEL3
Warning[202]: Argument out of range. Least significant bits used.
0073 0408 00282 BCF flag,INFRARED_F
0074 0071 00283 CLRF HIGH_LEVEL_COUNT
0075 0800 00284 RETLW 00H
Warning[207]: Found label after column 1. (LABEL3)
0076 00285 LABEL3:
Warning[202]: Argument out of range. Least significant bits used.
0076 0508 00286 BSF flag,INFRARED_F
0077 0071 00287 CLRF HIGH_LEVEL_COUNT
0078 0800 00288 RETLW 00H
00289
00290
00291 ;---------------------------------------------------------------
00292 ;--------------------------------------------------------------- MOVF door_stu,w
00293
00294 ;------------------------------------------------------
00295 ;------------------------------------------------------
Warning[207]: Found label after column 1. (LED_PRC)
0079 00296 LED_PRC:
Warning[202]: Argument out of range. Least significant bits used.
0079 0648 00297 BTFSC flag,LOW_V_F
007A 0A87 00298 GOTO RED_LED_ON ;欠压了,红灯报警
007B 0209 00299 MOVF motor_mode,w
007C 0F01 00300 XORLW MM_OPEN
007D 0643 00301 BTFSC STATUS,Z
007E 0A84 00302 GOTO GREEN_LED_ON
007F 0209 00303 MOVF motor_mode,w
0080 0F00 00304 XORLW MM_DUMMY
0081 0743 00305 BTFSS STATUS,Z
0082 0800 00306 RETLW 00H
0083 0A8A 00307 GOTO FLASH_RED_LED ;待机时红灯闪烁
Warning[207]: Found label after column 1. (GREEN_LED_ON)
0084 00308 GREEN_LED_ON:
Warning[202]: Argument out of range. Least significant bits used.
0084 0446 00309 BCF PORTB,LED_RED
Warning[202]: Argument out of range. Least significant bits used.
0085 0566 00310 BSF PORTB,LED_GREEN
0086 0A9B 00311 GOTO RET_LED_PRC
Warning[207]: Found label after column 1. (RED_LED_ON)
0087 00312 RED_LED_ON:
Warning[202]: Argument out of range. Least significant bits used.
MPASM 02.30.11 Intermediate MYPJT.ASM 1-14-2005 0:41:58 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0087 0466 00313 BCF PORTB,LED_GREEN
Warning[202]: Argument out of range. Least significant bits used.
0088 0546 00314 BSF PORTB,LED_RED
0089 0A9B 00315 GOTO RET_LED_PRC
Warning[207]: Found label after column 1. (FLASH_RED_LED)
008A 00316 FLASH_RED_LED:
Warning[202]: Argument out of range. Least significant bits used.
008A 0466 00317 BCF PORTB,LED_GREEN
Message[305]: Using default destination of 1 (file).
008B 02F4 00318 DECFSZ fresh_red_time
008C 0A99 00319 GOTO ENTER_SLEEP
Warning[202]: Argument out of range. Least significant bits used.
008D 0768 00320 BTFSS flag,RED_FRESH_F
008E 0A90 00321 GOTO FRESH_ON
008F 0A95 00322 GOTO FRESH_OFF
Warning[207]: Found label after column 1. (FRESH_ON)
0090 00323 FRESH_ON:
0090 0C01 00324 MOVLW TM500MS
0091 0034 00325 MOVWF fresh_red_time
Warning[202]: Argument out of range. Least significant bits used.
0092 0546 00326 BSF PORTB,LED_RED
Warning[202]: Argument out of range. Least significant bits used.
0093 0568 00327 BSF flag,RED_FRESH_F
0094 0A99 00328 GOTO ENTER_SLEEP
Warning[207]: Found label after column 1. (FRESH_OFF)
0095 00329 FRESH_OFF:
0095 0C1C 00330 MOVLW TM4S
0096 0034 00331 MOVWF fresh_red_time
Warning[202]: Argument out of range. Least significant bits used.
0097 0446 00332 BCF PORTB,LED_RED
Warning[202]: Argument out of range. Least significant bits used.
0098 0468 00333 BCF flag,RED_FRESH_F
00334
Warning[207]: Found label after column 1. (ENTER_SLEEP)
0099 00335 ENTER_SLEEP:
0099 0003 00336 SLEEP
009A 0800 00337 RETLW 00H
Warning[207]: Found label after column 1. (RET_LED_PRC)
009B 00338 RET_LED_PRC:
009B 0C1C 00339 MOVLW TM4S
009C 0034 00340 MOVWF fresh_red_time
Warning[202]: Argument out of range. Least significant bits used.
009D 0468 00341 BCF flag,RED_FRESH_F
009E 0800 00342 RETLW 0x00
00343 ;----------------------------------------------
00344 ;----------------------------------------------
009F 00345 DELAY_10MS:
00346 ; MOVLW 0xE8 ;4MHZ
009F 0C4F 00347 MOVLW 0x4F
00A0 003C 00348 MOVWF temp_va3
00A1 0C03 00349 MOVLW 0x03
00350 ; MOVWF temp_va4 ;4Mhz osc
00A2 007D 00351 CLRF temp_va4 ;RC OSC
MPASM 02.30.11 Intermediate MYPJT.ASM 1-14-2005 0:41:58 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
Warning[207]: Found label after column 1. (LOOP)
00A3 0CFF 00352 LOOP: MOVLW 0xff
00353 ; NOP ;4MHZ
00A4 01FC 00354 ADDWF temp_va3, F
00A5 0703 00355 BTFSS STATUS,C
00A6 00FD 00356 DECF temp_va4, F ;4MHZ OSC
00A7 021D 00357 MOVF temp_va4, W
00A8 011C 00358 IORWF temp_va3, W
00A9 0743 00359 BTFSS STATUS, Z
00AA 0AA3 00360 GOTO LOOP
00AB 0800 00361 RETLW 0x00
00362 ;----------------------------------------------
00363 ;----------------------------------------------
00AC 00364 DELAY_1MS:
00AC 0C0E 00365 MOVLW 0x0E
00AD 003C 00366 MOVWF temp_va3
00AE 00367 ONE_LOOP:
00368
Message[305]: Using default destination of 1 (file).
00AE 02FC 00369 DECFSZ temp_va3
00AF 0AAE 00370 GOTO ONE_LOOP
00B0 0800 00371 RETLW 00H
00372 ;---------------------------------------------------------------
00373 ;---------------------------------------------------------------
00374 ; RAM 0X07 IS DOOR_HD
00B1 00375 KEY_SCAN:
00B1 0004 00376 CLRWDT ;清狗,以防复位
00B2 0205 00377 MOVF PORTA, W
00B3 0E0C 00378 ANDLW 0xc
00B4 003A 00379 MOVWF temp_va1 ;keyvld1-->temp_va1
00B5 099F 00380 CALL DELAY_10MS
00B6 0205 00381 MOVF 0x5, W
00B7 0E0C 00382 ANDLW 0xc
00B8 003B 00383 MOVWF temp_va2 ;keyvld2-->temp_va2
00B9 019A 00384 XORWF temp_va1, W ;; temp_va1== temp_va2 ?
00BA 0643 00385 BTFSC STATUS, Z
00BB 0ABD 00386 GOTO KEY_OK ;;temp_va1 == temp_va2
00BC 0800 00387 RETLW 0x00 ;;temp_va1 != temp_va2
00388
Warning[207]: Found label after column 1. (KEY_OK)
00BD 00389 KEY_OK:
00BD 021A 00390 MOVF temp_va1, W
00BE 0F04 00391 XORLW 0x4 ;;open key?
00BF 0643 00392 BTFSC STATUS, Z
00C0 0AC7 00393 GOTO KEY_OPEN ;yes,open_key
00C1 021A 00394 MOVF temp_va1,w
00C2 0F08 00395 XORLW 0x08 ;;close key?
00C3 0643 00396 BTFSC STATUS, Z
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -