📄 li_charge_main.lst
字号:
479 000029 jmp display_prepare_end
480 000029
481 000029 display5:
482 000029 ;; b0bts0 f_display
483 000029 ;; jmp display5_1 ;fanxiang
484 000029 bset com_p
485 000029 bclr s1_p
486 000029 bclr s2_p
487 000029 bclr s3_p
488 000029 bclr s4_p
489 000029 bclr s5_p
490 000029 b0bts1 f_charge
491 000029 jmp display5_next
492 000029 bset mob_p
493 000029 b0bts1 f_500ms
494 000029 jmp display_prepare_end
495 000029 bclr f_500ms
496 000029 b0bts0 f_lcd
497 000029 jmp $+5
498 000029 bset f_lcd
499 000029 bset s6_p
500 000029 bset plu_p
501 000029 jmp display_prepare_end
502 000029 bclr f_lcd
503 000029 bclr s6_p
504 000029 bclr plu_p
505 000029 jmp display
506 000029 display5_next:
507 000029 bclr s6_p
508 000029 b0bts1 f_discharge
509 000029 jmp display5_next1
510 000029 bset plu_p
511 000029 b0bts0 f_500ms
512 000029 jmp display_prepare_end
513 000029 bclr f_500ms
514 000029 b0bts0 f_lcd
515 000029 jmp $+4
516 000029 bset f_lcd
517 000029 bset mob_p
518 000029 jmp display_prepare_end
519 000029 bclr f_lcd
520 000029 bclr mob_p
521 000029 jmp display_p
522 000029 display5_next1:
523 000029 bclr plu_p
524 000029 bclr mob_p
525 000029 jmp display_prepare_end
526 000029
527 000029 display6:
528 000029 bset comp
529 000029 bclr s1_p
530 000029 bclr s2_p
531 000029 bclr s3_p
532 000029 bclr s4_p
533 000029 bclr s5_p
534 000029 bclr s6_p
535 000029 bclr plu_p
536 000029 b0bts0 f_discharge
537 000029 jmp $+3
538 000029 bclr mob_p
539 000029 jmp display_prepare_end
540 000029 b0bts1 f_500ms
541 000029 jmp display_prepare_end
542 000029 bclr f_500ms
543 000029 b0bts0 f_lcd
544 000029 jmp $+4
545 000029 bset f_lcd
546 000029 bset mob_p
547 000029 jmp display_prepare_end
548 000029 bclr f_lcd
549 000029 bclr mob_p
550 000029 ; jmp display_prepare_end
551 000029 display_prepare_end:
552 000029 ret
553 000029 ;-----------------------------------------------------------
554 000029 diaplay:
555 000029 b0bts0 f_display
556 000029 jmp display_next
557 000029 b0bset f_display
558 000029 b0mov a,p0_buf
559 000029 b0mov p0,a
560 000029 b0mov a,p4_buf
561 000029 b0mov p4,a
562 000029 b0mov a,p5_buf
563 000029 b0mov p5,a
564 000029 jmp display_end
565 000029 display_next:
566 000029 bclr f_display
567 000029 b0mov a,p0_buf
568 000029 xor a,#0ffh
569 000029 b0mov p0,a
570 000029 b0mov a,p4_buf
571 000029 xor a,#0ffh
572 000029 b0mov p4,a
573 000029 b0mov a,p5_buf
574 000029 xor a,#0ffh
575 000029 b0mov p5,a
576 000029 display_end:
577 000029 ret
578 000029
579 000029
580 000029 include initial.asm
581 000029
582 000029 ;***********************************************
583 000029 ;Name :PortInitial
584 000029 ;Function:
585 000029 ;Input :
586 000029 ;Output :
587 000029 ;Register Used:
588 000029 ;***********************************************
589 000029 PortInitial:
590 000029 mov a,#0fh
591 000029 b0mov p0,a
592 000029 b0mov p0m,a
593 000029
594 000029 mov a,#18h
595 000029 b0mov p5,a
596 000029 b0mov p5m,a
597 000029
598 000029 mov a,#07h
599 000029 b0mov p4,a
600 000029 b0mov p1m,a
601 000029
602 000029 bset com_p
603 000029 RET
604 000029
605 000029 ;**********************************************
606 000029 ;Name :SysInitial
607 000029 ;Function:
608 000029 ;Input :
609 000029 ;Output :
610 000029 ;Register Used:
611 000029 ;***********************************************
612 000029 SysInitial:
613 000029 mov a,#0h
614 000029 b0mov intrq,a
615 000029 b0bclr FGIE ;//disable Interrupt gain
616 000029 clr PFLAG ;pflag = x,x,x,x,x,c,dc,z
617 000029 clr inten
618 000029 mov A,#0h ;Clear watchdog timer and initial system mode
619 000029 b0mov OSCM,A
620 000029
621 000029 ;---set tc1 overtime : 10ms
622 000029 mov A,#01110100B ;disable tc1,Fcpu/2,auto-reload,Disable the PWM output
623 000029 b0mov TC1M,A
624 000029 mov A,#216 ;1ms interrupt
625 000029 b0mov TC1R,A ;T=(256-n)*(1/(32k/4/2))=10ms,n=216
626 000029 b0mov TC1C,A
627 000029 clr intrq ; CLEAR INTERRUPT FLAG
628 000029 b0bset FTC1ENB ; Enable TC0
629 000029 b0bset ftc1ien
630 000029 ret
631 000029
632 000029 ;**********************************************
633 000029 ;Name :RAMInitial
634 000029 ;Function: clr 64byte ram
635 000029 ;Input :
636 000029 ;Output :
637 000029 ;Register Used:
638 000029 ;***********************************************
639 000029 RAMInitial:
640 000029 ClrBank0:
641 000029 clr Y ;Select bank 0
642 000029 mov A,#64
643 000029 b0mov Z,A ;Set @YZ address from 7fh
644 000029 ClrRAM10:
645 000029 clr @YZ ;Clear @YZ content
646 000029 decms Z ;z = z - 1 , skip next if z=0
647 000029 jmp ClrRAM10
648 000029 clr @YZ ;Clear address 0x00
649 000029 ret
650 000029 ;**********************************************
651 000029 ;Name : VariableInitial
652 000029 ;Function: 变量初始化
653 000029 ;Input :
654 000029 ;Output :
655 000029 ;Register Used:
656 000029 ;***********************************************
657 000029 VariableInitial:
658 000029
659 000029 ret
660 000029 include tint.asm
661 000029 ;-------------------------------------------------------------------------------
662 000029 ; Isr (中断服务程序)
663 000029 ; Arguments :
664 000029 ; Returns :
665 000029 ; Reg Change:
666 000029 ;10ms中断
667 000029 ;-------------------------------------------------------------------------------
668 000029 isr:
669 000029 b0xch a,accbuf
670 000029 b0mov a,PFLAG
671 000029 B0MOV pflagbuf,a
672 000029
673 000029 inttc1chk:
674 000029 b0bts1 FTC1IEN
675 000029 jmp IsrExit ;
676 000029 b0bts0 FTC1IRQ ;
677 000029
678 000029 incms counter_500ms
679 000029 nop
680 000029 b0mov a,counter_500ms
681 000029 sub a,#50
682 000029 b0bts1 fc
683 000029 jmp IsrExit
684 000029 bset f_500ms
685 000029 clr counter_500ms
686 000029 IsrExit:
687 000029 clr intrq
688 000029 B0MOV A, PFLAGBUF ;
689 000029 B0MOV PFLAG, A
690 000029 b0xch A,AccBuf ;使用B0XCH 不会影响到C,Z 标志
691 000029 reti ;中断返回
692 000029
693 000029 ;=========================================================
694 000029
695 000029 ;Name : delay_10ms
696 000029 ;Function:
697 000029 ;Input :
698 000029 ;Output :
699 000029 ;Register Used:
700 000029 ;***********************************************
701 000029 delay_10ms:
702 000029 mov a,#249
703 000029 b0mov temp1,a
704 000029 mov a,#13
705 000029 b0mov temp2,a
706 000029 delay_10ms_loop:
707 000029 decms temp1
708 000029 jmp delay_10ms_loop
709 000029 decms temp2
710 000029 jmp delay_10ms_loop
711 000029 ret
712 000029 ;**********************************************
713 000029 endp
714 000029
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -