📄 dvcpu.ls1
字号:
511 ; SOURCE LINE # 122
0016 A3 512 INC DPTR
0017 74B2 513 MOV A,#0B2H
0019 F0 514 MOVX @DPTR,A
515 ; EINT1PEN = 0x00;
516 ; SOURCE LINE # 123
001A E4 517 CLR A
001B A3 518 INC DPTR
001C F0 519 MOVX @DPTR,A
A51 MACRO ASSEMBLER DVCPU 07/14/2006 09:47:05 PAGE 9
520 ; SCON = 0x50; //serial port work mode 1,enable serial port receive.
521 ; SOURCE LINE # 124
001D 759850 522 MOV SCON,#050H
523 ; ETCTR|= 1<<2; // TR2 = 1
524 ; SOURCE LINE # 125
0020 7430 525 MOV A,#030H
0022 4404 526 ORL A,#04H
0024 900F88 527 MOV DPTR,#ETCTR
0027 F0 528 MOVX @DPTR,A
529 ; }
530 ; SOURCE LINE # 126
0028 22 531 RET
532 ; END OF initSerialPort
533
534 ;
535 ;
536 ; code void initTimer0(void)
537
---- 538 RSEG ?PR?initTimer0?DVCPU
0000 539 initTimer0:
540 ; SOURCE LINE # 129
541 ; {
542 ; SOURCE LINE # 130
543 ; // Set Time Base=2ms
544 ; TH0=(65536-2000)/256;
545 ; SOURCE LINE # 132
0000 758CF8 546 MOV TH0,#0F8H
547 ; TL0=(65536-2000)%256;
548 ; SOURCE LINE # 133
0003 758A30 549 MOV TL0,#030H
550 ; }
551 ; SOURCE LINE # 134
0006 22 552 RET
553 ; END OF initTimer0
554
555 ;
556 ; code void initIIC(void)
557
---- 558 RSEG ?PR?initIIC?DVCPU
0000 559 initIIC:
560 ; SOURCE LINE # 136
561 ; {
562 ; SOURCE LINE # 137
563 ; IICCTR = 0x00;
564 ; SOURCE LINE # 138
0000 E4 565 CLR A
0001 900F00 566 MOV DPTR,#IICCTR
0004 F0 567 MOVX @DPTR,A
568 ; }
569 ; SOURCE LINE # 139
0005 22 570 RET
571 ; END OF initIIC
572
573 ;
574 ; code void initWatchDog(void)
575
---- 576 RSEG ?PR?initWatchDog?DVCPU
0000 577 initWatchDog:
578 ; SOURCE LINE # 141
579 ; {
580 ; SOURCE LINE # 142
581 ; WDT = 0x00; //disable the watchdog
582 ; SOURCE LINE # 143
0000 E4 583 CLR A
0001 900F18 584 MOV DPTR,#WDT
0004 F0 585 MOVX @DPTR,A
A51 MACRO ASSEMBLER DVCPU 07/14/2006 09:47:05 PAGE 10
586 ; }
587 ; SOURCE LINE # 144
0005 22 588 RET
589 ; END OF initWatchDog
590
591 ;
592 ; code void dvCPUInit(void)
593
---- 594 RSEG ?PR?dvCPUInit?DVCPU
0000 595 dvCPUInit:
596 ; SOURCE LINE # 146
597 ; {
598 ; SOURCE LINE # 147
599 ;
600 ; DisableInterrupt();
601 ; SOURCE LINE # 149
0000 C2AF 602 CLR EA
603 ; PADMOD50 = 0x00;
604 ; SOURCE LINE # 150
0002 E4 605 CLR A
0003 900F50 606 MOV DPTR,#PADMOD50
0006 F0 607 MOVX @DPTR,A
608 ; PADMOD51 = 0x00;
609 ; SOURCE LINE # 151
0007 A3 610 INC DPTR
0008 F0 611 MOVX @DPTR,A
612 ; PADMOD52 = 0x04;
613 ; SOURCE LINE # 152
0009 A3 614 INC DPTR
000A 7404 615 MOV A,#04H
000C F0 616 MOVX @DPTR,A
617 ; PADMOD54 = 0x00;
618 ; SOURCE LINE # 153
000D E4 619 CLR A
000E 900F54 620 MOV DPTR,#PADMOD54
0011 F0 621 MOVX @DPTR,A
622 ; PADMOD55 = 0x81;
623 ; SOURCE LINE # 154
0012 A3 624 INC DPTR
0013 7481 625 MOV A,#081H
0015 F0 626 MOVX @DPTR,A
627 ; OPTION56 = 0x03;
628 ; SOURCE LINE # 155
0016 A3 629 INC DPTR
0017 7403 630 MOV A,#03H
0019 F0 631 MOVX @DPTR,A
632 ; PADMOD57 = 0x00;
633 ; SOURCE LINE # 156
001A E4 634 CLR A
001B A3 635 INC DPTR
001C F0 636 MOVX @DPTR,A
637 ; PADMOD5D = 0xFF;
638 ; SOURCE LINE # 157
001D 900F5D 639 MOV DPTR,#PADMOD5D
0020 74FF 640 MOV A,#0FFH
0022 F0 641 MOVX @DPTR,A
642 ;
643 ; TMOD = 0x01; //Timer0 16bit timer.
644 ; SOURCE LINE # 159
0023 758901 645 MOV TMOD,#01H
646 ; initSerialPort();
647 ; SOURCE LINE # 160
0026 120000 F 648 LCALL initSerialPort
649 ; initTimer0();
650 ; SOURCE LINE # 161
0029 120000 F 651 LCALL initTimer0
A51 MACRO ASSEMBLER DVCPU 07/14/2006 09:47:05 PAGE 11
652 ; initIIC();
653 ; SOURCE LINE # 162
002C 120000 F 654 LCALL initIIC
655 ; initWatchDog();
656 ; SOURCE LINE # 163
002F 120000 F 657 LCALL initWatchDog
658 ; //enable timer0 run
659 ; TR0 = 1;
660 ; SOURCE LINE # 165
0032 D28C 661 SETB TR0
662 ; //enable timer0 interrupt
663 ; ET0 = 1;
664 ; SOURCE LINE # 167
0034 D2A9 665 SETB ET0
666 ; //enable extern interrupt 0
667 ; EX0 = 0;
668 ; SOURCE LINE # 169
0036 C2A8 669 CLR EX0
670 ; //enable all interrupt
671 ; EnableInterrupt();
672 ; SOURCE LINE # 171
0038 D2AF 673 SETB EA
674 ; }
675 ; SOURCE LINE # 172
003A 22 676 RET
677 ; END OF dvCPUInit
678
---- 679 CSEG AT 0000BH
000B 020000 F 680 LJMP Timer0
681
682 ;
683 ;
684 ;
685 ; code void Timer0(void) interrupt 1
686
---- 687 RSEG ?PR?Timer0?DVCPU
688 USING 0
0000 689 Timer0:
0000 C0E0 690 PUSH ACC
0002 C0F0 691 PUSH B
0004 C083 692 PUSH DPH
0006 C082 693 PUSH DPL
0008 C0D0 694 PUSH PSW
000A 75D000 695 MOV PSW,#00H
000D C000 696 PUSH AR0
000F C001 697 PUSH AR1
0011 C002 698 PUSH AR2
0013 C003 699 PUSH AR3
0015 C004 700 PUSH AR4
0017 C005 701 PUSH AR5
0019 C006 702 PUSH AR6
001B C007 703 PUSH AR7
704 USING 0
705 ; SOURCE LINE # 176
706 ; {
707 ; TR0 = 0;
708 ; SOURCE LINE # 178
001D C28C 709 CLR TR0
710 ; initTimer0();
711 ; SOURCE LINE # 179
001F 120000 F 712 LCALL initTimer0
713 ; if(m_Timer != 0)
714 ; SOURCE LINE # 180
0022 E500 F 715 MOV A,m_Timer+01H
0024 4500 F 716 ORL A,m_Timer
0026 6008 717 JZ ?C0006
A51 MACRO ASSEMBLER DVCPU 07/14/2006 09:47:05 PAGE 12
718 ; m_Timer--;
719 ; SOURCE LINE # 181
0028 E500 F 720 MOV A,m_Timer+01H
002A 1500 F 721 DEC m_Timer+01H
002C 7002 722 JNZ ?C0016
002E 1500 F 723 DEC m_Timer
0030 724 ?C0016:
0030 725 ?C0006:
726 ; IICTimerProcess();
727 ; SOURCE LINE # 182
0030 120000 F 728 LCALL IICTimerProcess
729 ; CalibrationTimerProcess();
730 ; SOURCE LINE # 183
0033 120000 F 731 LCALL CalibrationTimerProcess
732 ; TR0 = 1;
733 ; SOURCE LINE # 184
0036 D28C 734 SETB TR0
735 ; }
736 ; SOURCE LINE # 185
0038 D007 737 POP AR7
003A D006 738 POP AR6
003C D005 739 POP AR5
003E D004 740 POP AR4
0040 D003 741 POP AR3
0042 D002 742 POP AR2
0044 D001 743 POP AR1
0046 D000 744 POP AR0
0048 D0D0 745 POP PSW
004A D082 746 POP DPL
004C D083 747 POP DPH
004E D0F0 748 POP B
0050 D0E0 749 POP ACC
0052 32 750 RETI
751 ; END OF Timer0
752
753 ;
754 ;
755 ; code void SendChar(BYTE ch )
756
---- 757 RSEG ?PR?_SendChar?DVCPU
0000 758 _SendChar:
759 ; SOURCE LINE # 188
760 ;---- Variable 'ch?640' assigned to Register 'R7' ----
761 ; {
762 ; SOURCE LINE # 189
763 ;
764 ; SBUF = ch;
765 ; SOURCE LINE # 191
0000 8F99 766 MOV SBUF,R7
0002 767 ?C0008:
768 ; while(1)
769 ; SOURCE LINE # 192
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -