📄 tx900-ok.lst
字号:
0037 0743 00223 SKPZ
0038 0A3C 00224 GOTO _STA
0039 0C1E 00225 MOVLW D'30'
003A 0037 00226 MOVWF R0
003B 0A49 00227 GOTO BIT00
003C 00228 _STA
003C 0C0F 00229 MOVLW D'15'
003D 0092 00230 SUBWF PUL_BREADTH,W
003E 0743 00231 SKPZ
003F 0A43 00232 GOTO _SYNC
0040 0C0A 00233 MOVLW D'10'
0041 0037 00234 MOVWF R0
0042 0A49 00235 GOTO BIT00
0043 00236 _SYNC
0043 0C01 00237 MOVLW D'1'
0044 0092 00238 SUBWF PUL_BREADTH,W
0045 0743 00239 SKPZ
0046 0A55 00240 GOTO BIT_END
0047 0C3C 00241 MOVLW D'60'
0048 0037 00242 MOVWF R0
0049 00243 BIT00
0049 05A7 00244 BSF PC,DAT
004A 0212 00245 MOVFW PUL_BREADTH
MPASM 02.70 Released TX900-OK.ASM 3-10-2003 14:57:32 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
004B 002C 00246 MOVWF TEMP_BUF
004C 02EC 00247 DECFSZ TEMP_BUF,F ; 3 * X + 3
004D 0A4C 00248 GOTO $-1
00249 ;
004E 04A7 00250 BCF PC,DAT
004F 0212 00251 MOVFW PUL_BREADTH
0050 002C 00252 MOVWF TEMP_BUF
0051 02EC 00253 DECFSZ TEMP_BUF,F ; 3 * X + 3
0052 0A51 00254 GOTO $-1
00255 ;
0053 02F7 00256 DECFSZ R0,F ; ((3 * X + 3)+(3 * X + 3)+3) * R0
0054 0A49 00257 GOTO BIT00
0055 00258 BIT_END
0055 0C0A 00259 MOVLW D'10' ; 10 * 5 = 50us
00260 DELX_US
0056 003C M MOVWF COUNT
0057 0000 M NOP
0058 0000 M NOP
0059 02FC M DECFSZ COUNT,F
005A 0A57 M GOTO $-3
005B 05A7 00261 BSF PC,DAT
005C 0800 00262 RETLW 0
00263 ;=====================================
00264 ; ((3*X+3)+(3*X+3)+3)*R0=1000US |
00265 ; ((3*X+3)*2+3)*R0 = 1000US |
00266 ; X = ((1000US/R0-3)/2-3)/3 |
00267 ;=====================================
00268 ;****************************************************
00269 ;initialize I/O port
00270 ; GPIO0.GPIO1.GPIO3 = IN
00271 ; GPIO2.GPIO4.GPIO5 = OUT
00272 ;****************************************************
005D 00273 INIT_GPIO
005D 0C0B 00274 MOVLW B'00001011'
005E 0006 00275 TRIS PB
005F 04A6 00276 BCF PB,5
0060 0C00 00277 MOVLW B'00000000'
0061 0007 00278 TRIS PC
0062 0407 00279 BCF PC,0
0063 0427 00280 BCF PC,1
0064 0447 00281 BCF PC,2
0065 0467 00282 BCF PC,TXEN
0066 0487 00283 BCF PC,PLLEN
0067 04A7 00284 BCF PC,DAT
0068 0800 00285 RETLW 0
00286
00287 ;****************************************************
0069 00288 DELAY10MS
0069 0C0A 00289 MOVLW D'10' ; Td = (((R1) * 5) + 5) * (R0)
006A 00290 DELAYX
006A 0037 00291 MOVWF R0 ; = (200 * 5 + 5) * 10
006B 0CC8 00292 MOVLW D'200' ; = 10.5ms
006C 0038 00293 MOVWF R1
MPASM 02.70 Released TX900-OK.ASM 3-10-2003 14:57:32 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
006D 0004 00294 CLRWDT
006E 0004 00295 CLRWDT
006F 02F8 00296 DECFSZ R1,F
0070 0A6D 00297 GOTO $-3
0071 02F7 00298 DECFSZ R0,F
0072 0A6B 00299 GOTO $-7
0073 0800 00300 RETLW 0
00301 ;
0074 00302 DELAY5S
0074 0C14 00303 MOVLW D'20' ; 20 * 250ms = 5s
0075 0039 00304 MOVWF R2
0076 0CFA 00305 MOVLW D'250' ; Td = (((R0) * 5) + 5) * (R1)
0077 0038 00306 MOVWF R1 ; = (200 * 5 + 5) * 250
0078 0CC8 00307 MOVLW D'200' ; = 250ms
0079 0037 00308 MOVWF R0
007A 0004 00309 CLRWDT
007B 0004 00310 CLRWDT
007C 02F7 00311 DECFSZ R0,F
007D 0A7A 00312 GOTO $-3
007E 02F8 00313 DECFSZ R1,F
007F 0A78 00314 GOTO $-7
0080 02F9 00315 DECFSZ R2,F
0081 0A70 00316 GOTO $-11
0082 0800 00317 RETLW 0
00318 ;----------------------------------------------------
00319 ;----------------------------------------------------
00320 ;----------------------------------------------------
00321 ; ROM BLOCK2
00322 ;----------------------------------------------------
00323 ;----------------------------------------------------
00324 ;----------------------------------------------------
00325 ;----------------------------------------------------
0210 00326 ORG 210H
0210 00327 _MAIN
0210 0064 00328 CLRF FSR ; Select blank 0
0211 006A 00329 CLRF FLG_AGO
0212 006B 00330 CLRF FLG_NOW
0213 007D 00331 CLRF FLG_QC
0214 007E 00332 CLRF FLG_POWUP
00333 ;
0215 0C80 00334 MOVLW B'10000000' ; check power on of start
0216 0143 00335 ANDWF STATUS,W
0217 0743 00336 SKPZ
0218 0A2B 00337 GOTO KEY_WAKE ;PIN_CHANGE
0219 00338 POWER_UP
00339 ;========================================================================
00340 ;========================================================================
0219 04A3 00341 BLOCK1
021A 095D 00342 CALL INIT_GPIO
021B 05A3 00343 BLOCK2
021C 0CFF 00344 MOVLW 0FFH ;power up, enable enter QC mode
021D 003E 00345 MOVWF FLG_POWUP
021E 0A2B 00346 GOTO KEY_WAKE ;power up, first chick QC mode
MPASM 02.70 Released TX900-OK.ASM 3-10-2003 14:57:32 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00347 ;**** check key-press
021F 00348 M_LOOP
021F 021D 00349 MOVFW FLG_QC
0220 0743 00350 SKPZ
0221 0A30 00351 GOTO QC_SCAN ; QC mode, not sleep
0222 0040 00352 CLRW
0223 0002 00353 OPTION
0224 0206 00354 MOVFW PB
0225 0000 00355 NOP
0226 0003 00356 SLEEP
0227 0000 00357 NOP
0228 0000 00358 NOP
0229 0000 00359 NOP
022A 0000 00360 NOP
022B 00361 KEY_WAKE
022B 0040 00362 CLRW
022C 0002 00363 OPTION
022D 04A3 00364 BLOCK1
022E 095D 00365 CALL INIT_GPIO
022F 05A3 00366 BLOCK2
0230 00367 QC_SCAN
0230 0004 00368 CLRWDT
0231 0206 00369 MOVF PB,W
0232 0E0B 00370 ANDLW B'00001011'
0233 002C 00371 MOVWF TEMP_BUF
0234 0F0B 00372 XORLW B'00001011'
0235 0643 00373 SKPNZ
0236 0A1F 00374 GOTO M_LOOP
00375 ;
0237 0C14 00376 MOVLW D'20'
0238 04A3 00377 BLOCK1
0239 096A 00378 CALL DELAYX
023A 05A3 00379 BLOCK2
00380 ;
023B 0206 00381 MOVF PB,W
023C 0E0B 00382 ANDLW B'00001011'
023D 002C 00383 MOVWF TEMP_BUF
023E 0F0B 00384 XORLW B'00001011'
023F 0643 00385 SKPNZ
0240 0A1F 00386 GOTO M_LOOP
00387 ;**** have key-press*******************************************
0241 00388 CPE_QC
0241 021E 00389 MOVFW FLG_POWUP
0242 0643 00390 SKPNZ
0243 0A56 00391 GOTO CPE_KEY1 ;if not power up, no enter QC mode
0244 007E 00392 CLRF FLG_POWUP
0245 0C00 00393 MOVLW V_KEYQC ; ! !!
0246 008C 00394 SUBWF TEMP_BUF,W ; 3-21
0247 0743 00395 SKPZ
0248 0A4F 00396 GOTO CPE_TS
0249 0CF0 00397 MOVLW V_QCMO
024A 0034 00398 MOVWF DATA_BUF ;enter QC mode
024B 09A4 00399 CALL SEND_PACKAGE
MPASM 02.70 Released TX900-OK.ASM 3-10-2003 14:57:32 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
024C 0CF0 00400 MOVLW V_QCMO ;QC mode
024D 003D 00401 MOVWF FLG_QC
024E 0A99 00402 GOTO ON_KEY
024F 00403 CPE_TS
024F 0C02 00404 MOVLW V_KEYTS ; ! !
0250 008C 00405 SUBWF TEMP_BUF,W ; 3-21
0251 0743 00406 SKPZ
0252 0A56 00407 GOTO CPE_KEY1
0253 0C0F 00408 MOVLW V_TSMO ;TEST mode
0254 003D 00409 MOVWF FLG_QC
0255 0A99 00410 GOTO ON_KEY
00411 ;-------------------------------------------------
0256 00412 CPE_KEY1
0256 0C0A 00413 MOVLW V_KEY1
0257 008C 00414 SUBWF TEMP_BUF,W
0258 0743 00415 SKPZ
0259 0A67 00416 GOTO CPE_KEY2
00417 ;
025A 0C0F 00418 MOVLW V_TSMO
025B 009D 00419 SUBWF FLG_QC,W
025C 0743 00420 SKPZ
025D 0A63 00421 GOTO _KEY1
025E 0587 00422 BSF PC,PLLEN
025F 05A6 00423 BSF PB,LV
0260 0567 00424 BSF PC,TXEN
0261 04A7 00425 BCF PC,DAT
0262 0A99 00426 GOTO ON_KEY
0263 00427 _KEY1
0263 0CAA 00428 MOVLW COM_BZ ;key 1 press-down
0264 0034 00429 MOVWF DATA_BUF
0265 09A4 00430 CALL SEND_PACKAGE
0266 0A99 00431 GOTO ON_KEY
00432 ;-------------------------------------------------
0267 00433 CPE_KEY2
0267 0C09 00434 MOVLW V_KEY2
0268 008C 00435 SUBWF TEMP_BUF,W
0269 0743 00436 SKPZ
026A 0A78 00437 GOTO CPE_KEY3
00438 ;
026B 0C0F 00439 MOVLW V_TSMO
026C 009D 00440 SUBWF FLG_QC,W
026D 0743 00441 SKPZ
026E 0A74 00442 GOTO _KEY2
026F 0587 00443 BSF PC,PLLEN
0270 05A6 00444 BSF PB,LV
0271 0567 00445 BSF PC,TXEN
0272 05A7 00446 BSF PC,DAT
0273 0A99 00447 GOTO ON_KEY
0274 00448 _KEY2
0274 0C55 00449 MOVLW COM_SO ;key 2 press-down
0275 0034 00450 MOVWF DATA_BUF
0276 09A4 00451 CALL SEND_PACKAGE
0277 0A99 00452 GOTO ON_KEY
MPASM 02.70 Released TX900-OK.ASM 3-10-2003 14:57:32 PAGE 10
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00453 ;-------------------------------------------------
0278 00454 CPE_KEY3
0278 0C03 00455 MOVLW V_KEY3
0279 008C 00456 SUBWF TEMP_BUF,W
027A 0743 00457 SKPZ
027B 0A1F 00458 GOTO M_LOOP
00459 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -