📄 timer.ls1
字号:
639 ; SOURCE LINE # 197
00A0 E0 640 MOVX A,@DPTR
00A1 FC 641 MOV R4,A
00A2 A3 642 INC DPTR
00A3 E0 643 MOVX A,@DPTR
00A4 FD 644 MOV R5,A
00A5 A3 645 INC DPTR
00A6 E0 646 MOVX A,@DPTR
00A7 FE 647 MOV R6,A
00A8 A3 648 INC DPTR
00A9 E0 649 MOVX A,@DPTR
00AA 2401 650 ADD A,#01H
00AC FF 651 MOV R7,A
A51 MACRO ASSEMBLER TIMER 04/19/2006 17:04:01 PAGE 11
00AD E4 652 CLR A
00AE 3E 653 ADDC A,R6
00AF FE 654 MOV R6,A
00B0 E4 655 CLR A
00B1 3D 656 ADDC A,R5
00B2 FD 657 MOV R5,A
00B3 E4 658 CLR A
00B4 3C 659 ADDC A,R4
00B5 FC 660 MOV R4,A
00B6 900000 F 661 MOV DPTR,#G_AutoPowerOffCount
00B9 120000 F 662 LCALL ?C?LSTXDATA
00BC 8007 663 SJMP ?C0011
00BE 664 ?C0010:
665 ; else
666 ; G_AutoPowerOffCount=0;
667 ; SOURCE LINE # 199
00BE 120000 F 668 LCALL ?C?LSTKXDATA
00C1 00 669 DB 00H
00C2 00 670 DB 00H
00C3 00 671 DB 00H
00C4 00 672 DB 00H
00C5 673 ?C0011:
674 ;
675 ; G_Timer0Count1=0;
676 ; SOURCE LINE # 201
00C5 E4 677 CLR A
00C6 900000 F 678 MOV DPTR,#G_Timer0Count1
00C9 F0 679 MOVX @DPTR,A
00CA A3 680 INC DPTR
00CB F0 681 MOVX @DPTR,A
682 ;
683 ; if(G_FlashChargeFlag==1)
684 ; SOURCE LINE # 203
00CC 900000 F 685 MOV DPTR,#G_FlashChargeFlag
00CF E0 686 MOVX A,@DPTR
00D0 FF 687 MOV R7,A
00D1 B40107 688 CJNE A,#01H,?C0012
689 ; {
690 ; SOURCE LINE # 204
691 ;
692 ; XBYTE[0x2033]= XBYTE[0x2033]^0x40; //gpio 30
693 ; SOURCE LINE # 206
00D4 902033 694 MOV DPTR,#02033H
00D7 E0 695 MOVX A,@DPTR
00D8 6440 696 XRL A,#040H
00DA F0 697 MOVX @DPTR,A
698 ; //UI_Buzzer();
699 ; }
700 ; SOURCE LINE # 208
00DB 701 ?C0012:
702 ;
703 ;
704 ; if(G_FlashChargeFlag==2)
705 ; SOURCE LINE # 211
00DB EF 706 MOV A,R7
00DC B4020E 707 CJNE A,#02H,?C0014
708 ; G_FlashChargeCount++;
709 ; SOURCE LINE # 212
00DF 900000 F 710 MOV DPTR,#G_FlashChargeCount+01H
00E2 E0 711 MOVX A,@DPTR
00E3 04 712 INC A
00E4 F0 713 MOVX @DPTR,A
00E5 7006 714 JNZ ?C0152
00E7 900000 F 715 MOV DPTR,#G_FlashChargeCount
00EA E0 716 MOVX A,@DPTR
00EB 04 717 INC A
A51 MACRO ASSEMBLER TIMER 04/19/2006 17:04:01 PAGE 12
00EC F0 718 MOVX @DPTR,A
00ED 719 ?C0152:
720 ;
721 ;
722 ; }
723 ; SOURCE LINE # 215
724 ;
725 ; //wendy@2004/9/8
726 ;
727 ; }
728 ; SOURCE LINE # 219
00ED 729 ?C0014:
00ED D0D0 730 POP PSW
00EF 22 731 RET
732 ; END OF TIMER0_Handler
733
734 ;
735 ; //-----------------------------------------------------------------------------
736 ; //TIMER0_Start
737 ; //-----------------------------------------------------------------------------
738 ; //ada@0415 test ui
739 ; //patch4.2@ada@0527 for key scan
740 ; void TIMER0_Start(void) USING_0
741
---- 742 RSEG ?PR?TIMER0_Start?TIMER
0000 743 TIMER0_Start:
744 USING 0
0000 C0D0 745 PUSH PSW
0002 75D000 746 MOV PSW,#00H
747 ; SOURCE LINE # 226
748 ; {
749 ; G_TimeStamp = 0; //clear time stamp
750 ; SOURCE LINE # 228
0005 900000 F 751 MOV DPTR,#G_TimeStamp
0008 120000 F 752 LCALL ?C?LSTKXDATA
000B 00 753 DB 00H
000C 00 754 DB 00H
000D 00 755 DB 00H
000E 00 756 DB 00H
757 ; G_KeyScan = 0;
758 ; SOURCE LINE # 229
000F E4 759 CLR A
0010 900000 F 760 MOV DPTR,#G_KeyScan
0013 F0 761 MOVX @DPTR,A
762 ; G_Timer0Stop = 0;
763 ; SOURCE LINE # 230
0014 900000 F 764 MOV DPTR,#G_Timer0Stop
0017 F0 765 MOVX @DPTR,A
766 ;
767 ; //start timer
768 ; ET0 = 1; //IE: TIMER0 interrupt enable
769 ; SOURCE LINE # 233
0018 D2A9 770 SETB ET0
771 ; TR0 = 1; //TCON: TIMER0 enable
772 ; SOURCE LINE # 234
001A D28C 773 SETB TR0
774 ; }
775 ; SOURCE LINE # 235
001C D0D0 776 POP PSW
001E 22 777 RET
778 ; END OF TIMER0_Start
779
780 ;
781 ; //-----------------------------------------------------------------------------
782 ; //TIMER0_Stop
783 ; //-----------------------------------------------------------------------------
A51 MACRO ASSEMBLER TIMER 04/19/2006 17:04:01 PAGE 13
784 ; //ada@0415 test ui
785 ; //patch4.2@ada@0527 for key scan
786 ; void TIMER0_Stop(void) USING_0
787
---- 788 RSEG ?PR?TIMER0_Stop?TIMER
0000 789 TIMER0_Stop:
790 ; SOURCE LINE # 242
791 ; {
792 ; G_Timer0Stop = 1;
793 ; SOURCE LINE # 244
0000 900000 F 794 MOV DPTR,#G_Timer0Stop
0003 7401 795 MOV A,#01H
0005 F0 796 MOVX @DPTR,A
797 ;
798 ; //stop timer
799 ; TR0 = 0; //TCON: TIMER0 disable
800 ; SOURCE LINE # 247
0006 C28C 801 CLR TR0
802 ; ET0 = 0; //IE: TIMER0 interrupt disable
803 ; SOURCE LINE # 248
0008 C2A9 804 CLR ET0
805 ; }
806 ; SOURCE LINE # 249
000A 22 807 RET
808 ; END OF TIMER0_Stop
809
810 ;
811 ; //=============================================================================
812 ; //TIMER0_Keypad_Scan
813 ; //=============================================================================
814 ; //ada@0415 test ui
815 ; //patch4.2@ada@0527 for key scan
816 ; void TIMER0_Keypad_Scan(void) USING_2
817
---- 818 RSEG ?PR?TIMER0_Keypad_Scan?TIMER
0000 819 TIMER0_Keypad_Scan:
820 USING 2
0000 C0D0 821 PUSH PSW
0002 75D010 822 MOV PSW,#010H
823 ; SOURCE LINE # 256
824 ; {
825 ; //Joe@2003.3.7 15:45 add begin
826 ; UCHAR mode;
827 ; //Joe@2003.3.7 15:45 add end
828 ;
829 ; // G_KeyState = K_UI_BUTTON_NULL; //yichang
830 ; G_KeyScan = 1;
831 ; SOURCE LINE # 263
0005 900000 F 832 MOV DPTR,#G_KeyScan
0008 7401 833 MOV A,#01H
000A F0 834 MOVX @DPTR,A
835 ; if(G_KeyState != K_UI_BUTTON_NULL)
836 ; SOURCE LINE # 264
000B 900000 F 837 MOV DPTR,#G_KeyState
000E E0 838 MOVX A,@DPTR
000F 7003 839 JNZ ?C0153
0011 A3 840 INC DPTR
0012 E0 841 MOVX A,@DPTR
0013 F4 842 CPL A
0014 843 ?C0153:
0014 6003 844 JZ $ + 5H
0016 020000 F 845 LJMP ?C0018
0019 846 ?C0017:
847 ; return;
848 ;
849 ; //Joe@2003.3.5 11:09 add begin
A51 MACRO ASSEMBLER TIMER 04/19/2006 17:04:01 PAGE 14
850 ; #if(ROTARY_OPTION == 1)
851 ; //Joe@2003.3.5 11:09 add end
852 ; switch(TIMER0_Get_Hardware_Keypad2())
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -