📄 black_plane-tx-v1.37.lst
字号:
283 000074
284 000074 7310 b0bts0 charge_start
285 000075 6E17 b0bset LEDbuf.6
286 000076
287 000076 7B10 b0bts1 charge_start
288 000077 6617 b0bclr LEDbuf.6
289 000078
290 000078 6210 b0bclr RED_flash_enable
291 000079 6217 b0bclr LEDbuf.2
292 00007A 6717 b0bclr LEDbuf.7
293 00007B
294 00007B 7C15 b0bts1 key_value.4
295 00007C
296 00007C 6310 b0bclr charge_start
297 00007D 807E jmp app90
298 00007E
299 00007E app90:
300 00007E 0E00 ret
301 00007F ;-------------------------------------------------------------------------------
302 00007F ;-------------------------------------------------------------------------------
303 00007F Mnscan_key:
304 00007F C083 call scan_keyin ; get the ports status
305 000080 C090 call scan_keychk ; check the key value
306 000081 C0AB call scan_keycvt ; convert the key value
307 000082 0E00 ret
308 000083 ;
309 000083 scan_keyin:
310 000083 1ED1 mov a,p1buf ; get p1 ports status
311 000084 1F12 mov keyinbuf,a
312 000085 78D0 b0bts1 p0buf.0 ; get ports p0.0 status
313 000086 6412 b0bclr keyinbuf.4
314 000087 79D2 b0bts1 p2buf.1 ; get ports p2.1 status
315 000088 6512 b0bclr keyinbuf.5
316 000089 7BD2 b0bts1 p2buf.3 ; get ports p2.3 status
317 00008A 6612 b0bclr keyinbuf.6
318 00008B 7DD2 b0bts1 p2buf.5 ; get ports p2.5 status
319 00008C 6712 b0bclr keyinbuf.7
320 00008D 2DFF mov a,#0ffh
321 00008E 1C12 xor keyinbuf,a
322 00008F
323 00008F 0E00 ret
324 000090 ;
325 000090 scan_keychk:
326 000090 2D00 mov a,#00h
327 000091 0712 cmprs a,keyinbuf ; compare the ports value
328 000092 8094 jmp scan_keychk10
329 000093 80A6 jmp scan_keychk60 ; no key pressed
330 000094 scan_keychk10:
331 000094 1E12 mov a,keyinbuf
332 000095 0713 cmprs a,keychkbuf
333 000096 809F jmp scan_keychk20
334 000097 7810 b0bts1 key_start
335 000098 80AA jmp scan_keychk90
336 000099 2616 decms key_count ; detect the key ,will pressed contineu to 100ms
337 00009A 80A9 jmp scan_keychk70
338 00009B 2D64 mov a,#64h
339 00009C 1F16 mov key_count,a
340 00009D ; mov a,keychkbuf
341 00009D ; mov keycvtbuf,a
342 00009D 6110 b0bclr nokeypress
343 00009E 80AA jmp scan_keychk90
344 00009F scan_keychk20:
345 00009F 1E12 mov a,keyinbuf
346 0000A0 1F13 mov keychkbuf,a
347 0000A1 2D64 mov a,#64h
348 0000A2 1F16 mov key_count,a ; set the 100ms original value
349 0000A3 6810 b0bset key_start
350 0000A4 80AA jmp scan_keychk90
351 0000A5 scan_keychk50:
352 0000A5 2B15 clr key_value
353 0000A6
354 0000A6 scan_keychk60:
355 0000A6 2B15 clr key_value
356 0000A7 6010 b0bclr key_start
357 0000A8 2B13 clr keychkbuf
358 0000A9 scan_keychk70:
359 0000A9 6910 b0bset nokeypress
360 0000AA scan_keychk90:
361 0000AA 0E00 ret
362 0000AB ;
363 0000AB scan_keycvt:
364 0000AB 7110 b0bts0 nokeypress
365 0000AC 80BE jmp scan_keycvt90
366 0000AD 6910 b0bset nokeypress
367 0000AE 1E13 mov a,keychkbuf
368 0000AF 1F15 mov key_value,a
369 0000B0
370 0000B0
371 0000B0
372 0000B0 7215 b0bts0 key_value.2
373 0000B1 80BC jmp scan_keycvt80
374 0000B2 7315 b0bts0 key_value.3
375 0000B3 80BC jmp scan_keycvt80
376 0000B4
377 0000B4 7815 b0bts1 key_value.0
378 0000B5 80BE jmp scan_keycvt90
379 0000B6 7915 b0bts1 key_value.1
380 0000B7 80BE jmp scan_keycvt90
381 0000B8 7C15 b0bts1 key_value.4 ; check the detect mode and set
382 0000B9 80BE jmp scan_keycvt90
383 0000BA 6E10 b0bset detect_led_on
384 0000BB 80BE jmp scan_keycvt90
385 0000BC
386 0000BC scan_keycvt80:
387 0000BC 6610 b0bclr detect_led_on
388 0000BD 2B20 clr sleep_time
389 0000BE
390 0000BE scan_keycvt90:
391 0000BE 0E00 ret
392 0000BF
393 0000BF ;-------------------------------------------------------------------------------
394 0000BF MnRF_TX:
395 0000BF
396 0000BF
397 0000BF
398 0000BF 7811 b0bts1 bitok ; if the bit transmit ok ,will get the next bit data
399 0000C0 8100 jmp RF_TX90
400 0000C1 6011 b0bclr bitok
401 0000C2 7911 b0bts1 code_start
402 0000C3 80CB jmp RF_TX_code_start ; transmitting the start code
403 0000C4 7A11 b0bts1 code_head
404 0000C5 80D1 jmp RF_TX_code_head ; transmitting the head code
405 0000C6 7B11 b0bts1 code_sycn
406 0000C7 80D7 jmp RF_TX_code_sycn ; transmitting the sycn code
407 0000C8 7C11 b0bts1 code_data
408 0000C9 80E2 jmp RF_TX_code_data ; transmitting the data code
409 0000CA 80F5 jmp RF_TX_code_wait30ms ; transmitting 30ms interval time
410 0000CB ;
411 0000CB RF_TX_code_start:
412 0000CB 261A decms data_length
413 0000CC 80CE jmp RF_TX_code_start10
414 0000CD ; b0bset code_current_data_ok
415 0000CD ; jmp RF_TX90
416 0000CD 6911 b0bset code_start ; the start code is transmitted ok
417 0000CE ; jmp RF_TX_code_head
418 0000CE
419 0000CE RF_TX_code_start10:
420 0000CE 2D01 mov a,#1
421 0000CF 1F1B mov low_times,a ; set the time of the low level continue 280us
422 0000D0 8100 jmp RF_TX90
423 0000D1
424 0000D1 RF_TX_code_head:
425 0000D1
426 0000D1 2D09 mov a,#9
427 0000D2 1F1B mov low_times,a ; set the time of the low level continue 2.5ms
428 0000D3 ; b0bset code_current_data_ok
429 0000D3 2D04 mov a,#4
430 0000D4 1F1A mov data_length,a ; the next data length
431 0000D5 ; jmp RF_TX90
432 0000D5 6A11 b0bset code_head
433 0000D6 8100 jmp RF_TX90
434 0000D7 ; jmp RF_TX_code_sycn
435 0000D7
436 0000D7 RF_TX_code_sycn:
437 0000D7 261A decms data_length
438 0000D8 80DF jmp RF_TX_code_sycn10
439 0000D9 2D01 mov a,#1
440 0000DA 1F1B mov low_times,a ; set the time of the low level continue 280us,transmitting 0
441 0000DB ; b0bset code_current_data_ok
442 0000DB 2D08 mov a,#8
443 0000DC 1F1A mov data_length,a ; the next data length
444 0000DD 6B11 b0bset code_sycn
445 0000DE 8100 jmp RF_TX90
446 0000DF ; jmp RF_TX_code_data
447 0000DF
448 0000DF RF_TX_code_sycn10:
449 0000DF 2D03 mov a,#3
450 0000E0 1F1B mov low_times,a ; set the time of the low level continue 840us,transmitting 1
451 0000E1 8100 jmp RF_TX90
452 0000E2
453 0000E2
454 0000E2 RF_TX_code_data:
455 0000E2 261A decms data_length
456 0000E3 80EF jmp RF_TX_code_data10
457 0000E4
458 0000E4 2D01 mov a,#1
459 0000E5 0B18 rlcm txdata ; transmitting the last bit
460 0000E6 7286 b0bts0 fc
461 0000E7 2D03 mov a,#3
462 0000E8 1F1B mov low_times,a
463 0000E9 6C11 b0bset code_data
464 0000EA 8100 jmp RF_TX90
465 0000EB
466 0000EB
467 0000EB ; b0bset code_current_data_ok
468 0000EB 6E11 b0bset code_all_data_ok
469 0000EC 2D02 mov a,#2
470 0000ED 1F1A mov data_length,a ; the next data length
471 0000EE ; jmp RF_TX90
472 0000EE 80F5 jmp RF_TX_code_wait30ms
473 0000EF
474 0000EF RF_TX_code_data10:
475 0000EF 2D01 mov a,#1 ; set the time of the low level continue 280us,TX 0
476 0000F0 0B18 rlcm txdata
477 0000F1 7286 b0bts0 fc
478 0000F2 2D03 mov a,#3 ; set the time of the low level continue 840us,TX 1
479 0000F3 1F1B mov low_times,a
480 0000F4 8100 jmp RF_TX90
481 0000F5
482 0000F5
483 0000F5 RF_TX_code_wait30ms:
484 0000F5 6F11 b0bset before
485 0000F6 2D6C mov a,#108 ; waiting for 30ms
486 0000F7 1F1B mov low_times,a
487 0000F8 2D02 mov a,#2
488 0000F9 1F1A mov data_length,a ; the next data length
489 0000FA 6111 b0bclr code_start
490 0000FB 6211 b0bclr code_head
491 0000FC 6311 b0bclr code_sycn
492 0000FD 6411 b0bclr code_data
493 0000FE 2B18 clr txdata
494 0000FF 6E11 b0bset code_all_data_ok
495 000100
496 000100 RF_TX90:
497 000100 0E00 ret
498 000101 ;---------------------------------------------------------------------------------
499 000101 ;---------------------------------------------------------------------------------
500 000101 Mntime_count:
501 000101 7D10 b0bts1 time50ms_ok ; the 50ms is coming
502 000102 814C jmp time_count90
503 000103 6510 b0bclr time50ms_ok
504 000104 161D incms time500ms
505 000105 cja_ time500ms,#10,flash_led
506 000105 2D0A mov a, #10
507 000106 221D sub a, time500ms
508 000107 7A86 b0bts1 FC
509 000108 8119 jmp flash_led
510 000109
511 000109 161E @@: incms time4s
512 00010A 0000 nop
513 00010B 73D2 b0bts0 p2buf.3 ; added on 2004/10/20
514 00010C 6C17 b0bset LEDbuf.4
515 00010D cja_ time4s,#100,sleep_mode ; check the time that no key pressed 200->100///2004/10/16
516 00010D 2D64 mov a, #100
517 00010E 221E sub a, time4s
518 00010F 7A86 b0bts1 FC
519 000110 8133 jmp sleep_mode
520 000111 7B10 b0bts1 charge_start
521 000112 814C jmp time_count90
522 000113 161F incms times4
523 000114 cja_ times4,#200,stop_charge ; detect the charge time
524 000114 2DC8 mov a, #200
525 000115 221F sub a, times4
526 000116 7A86 b0bts1 FC
527 000117 8124 jmp stop_charge
528 000118 814C jmp time_count90
529 000119 ;///////////////////////////////////////////////////////
530 000119 flash_led:
531 000119 2B1D clr time500ms
532 00011A 7A10 b0bts1 RED_flash_enable ; when flash is enable,will flash LED with 0.5Hz frequency
533 00011B 8109 jmp @b
534 00011C 7C10 b0bts1 LED_on
535 00011D 8121 jmp flash_led_on
536 00011E 6410 b0bclr LED_on
537 00011F 6717 b0bclr LEDbuf.7
538 000120 8109 jmp @b
539 000121 flash_led_on:
540 000121 6C10 b0bset LED_on
541 000122 6F17 b0bset LEDbuf.7
542 000123 8109 jmp @b
543 000124 ;///////////////////////////////////////////
544 000124 stop_charge:
545 000124 2B1F clr times4
546 000125 1621 incms charge_time
547 000126 0000 nop
548 000127 cja_ charge_time,#24,to_stop_charge
549 000127 2D18 mov a, #24
550 000128 2221 sub a, charge_time
551 000129 7A86 b0bts1 FC
552 00012A 812C jmp to_stop_charge
553 00012B 814C jmp time_count90
554 00012C ; mov a,#24
555 00012C ; mov charge_time,a
556 00012C to_stop_charge:
557 00012C 2B21 clr charge_time
558 00012D
559 00012D 6217 b0bclr LEDbuf.2
560 00012E 6E17 b0bset LEDbuf.6 ;/////////////////////
561 00012F
562 00012F 6717 b0bclr LEDbuf.7
563 000130 6210 b0bclr RED_flash_enable
564 000131
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -