📄 12887.lst
字号:
C51 COMPILER V6.11.4C, 12887 04/01/103 02:34:48 PAGE 1
QCW(0x00002D1A)
WIN32 C51 COMPILER V6.11.4C, COMPILATION OF MODULE 12887
OBJECT MODULE PLACED IN d:\solar_charge_controller\scca\12887.obj
COMPILER INVOKED BY: C51.EXE D:\SOLAR_CHARGE_CONTROLLER\SCCA\12887.C OBJECT(D:\S
-OLAR_CHARGE_CONTROLLER\SCCA\12887.OBJ) PIN(D:\FSI\INC) NOAM PR(D:\S
-OLAR_CHARGE_CONTROLLER\SCCA\12887.LST) CD SB OE(1) SM FP(NOFLOAT) P
-W(80)
stmt level source
1 //#define unsigned char unsigned char
2 //#define uint unsigned int
3 #include <absacc.h>
4 #include <AT89X52.H>
5
6 #define P128870 XBYTE[0x2000] //second
7 #define P128871 XBYTE[0x2001] //second alarm
8 #define P128872 XBYTE[0x2002] //minutes
9 #define P128873 XBYTE[0x2003] //minutes alarm
10 #define P128874 XBYTE[0x2004] //hours
11 #define P128875 XBYTE[0x2005] //hours alarm
12 #define P128876 XBYTE[0x2006] //Day of the week
13 #define P128877 XBYTE[0x2007] //Day of the month
14 #define P128878 XBYTE[0x2008] //month
15 #define P128879 XBYTE[0x2009] //year
16 #define P12887a XBYTE[0x200A] //A register
17 #define P12887b XBYTE[0x200B] //B register
18 #define P12887c XBYTE[0x200C] //C register
19 #define P12887d XBYTE[0x200D] //D register
20
21 static unsigned char xdata time_area[0x1E] _at_ 0x2000;
22
23 void setup12887(unsigned char *p) //set system timer
24 //24hours per day, binary system, P12887b=0x26,AIP
25 //24hours per day, BCD system, P12887b=0x22;
26 {
27 1 unsigned char data i;
28 1 P12887b=0xa6;
29 1 P12887a=0x70;
30 1 P128870=*p++;
31 1 P128871=0xff;
32 1 P128872=*p++;
33 1 P128873=0xff;
34 1 P128874=*p++;
35 1 P128875=0xff;
36 1 P128876=*p++;
37 1 P128877=*p++;
38 1 P128878=*p++;
39 1 P128879=*p++;
40 1 P12887a=0x20;
41 1 i=P12887c;
42 1 i=P12887d;
43 1 P12887b=0x26;//start clock
44 1 }
45 //
46
47 void read12887(unsigned char *p) //read system timer
48 {
49 1 unsigned char data i,t;
50 1 i=ACC;
51 1 //UIP==0 per second, update after 244us
52 1 do{ ACC=P12887a;}while(BUSYFLAG);
53 1 *p++=P128879;
54 1 *p++=P128878;
55 1 *p++=P128877;
56 1 *p++=P128874;
57 1 *p++=P128872;
58 1 *p++=P128870;
59 1 *p++=P128876;//day of the week
60 1 t=P12887c;
61 1 ACC=i;
62 1 }
63
64 void start12887(void) //start clock
65 {
66 1 unsigned char data i;
67 1 P12887b=0xa6;
68 1 P12887a=0x70;
69 1 P128871=0xff;
70 1 P128873=0xff;
71 1 P128875=0xff;
72 1 P12887a=0x20;
73 1 P12887b=0x26;
74 1 i=P12887c;
75 1 i=P12887d;
76 1 }
77
78
79
C51 COMPILER V6.11.4C, 12887 04/01/103 02:34:48 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _setup12887 (BEGIN)
; Register R0R4R5 is assigned to parameter p
; SOURCE LINE # 43
0000 EA MOV A,R2
0001 FC MOV R4,A
0002 E9 MOV A,R1
0003 F8 MOV R0,A
; SOURCE LINE # 28
0004 90200B MOV DPTR,#0200BH
0007 74A6 MOV A,#0A6H
0009 F0 MOVX @DPTR,A
; SOURCE LINE # 29
000A 90200A MOV DPTR,#0200AH
000D 7470 MOV A,#070H
000F F0 MOVX @DPTR,A
; SOURCE LINE # 30
0010 08 INC R0
0011 E8 MOV A,R0
0012 7002 JNZ ?LAB8
0014 0C INC R4
0015 EC MOV A,R4
0016 ?LAB8:
0016 902000 MOV DPTR,#02000H
0019 120000 R LCALL IPGN1?C
001C F0 MOVX @DPTR,A
; SOURCE LINE # 31
001D 902001 MOV DPTR,#02001H
0020 74FF MOV A,#0FFH
0022 F0 MOVX @DPTR,A
; SOURCE LINE # 32
0023 EC MOV A,R4
0024 FA MOV R2,A
0025 E8 MOV A,R0
0026 F9 MOV R1,A
0027 08 INC R0
0028 E8 MOV A,R0
0029 7002 JNZ ?LAB9
002B 0C INC R4
002C EC MOV A,R4
002D ?LAB9:
002D 902002 MOV DPTR,#02002H
0030 120000 R LCALL IPGN1?C
0033 F0 MOVX @DPTR,A
; SOURCE LINE # 33
0034 902003 MOV DPTR,#02003H
0037 74FF MOV A,#0FFH
0039 F0 MOVX @DPTR,A
; SOURCE LINE # 34
003A EC MOV A,R4
003B FA MOV R2,A
003C E8 MOV A,R0
003D F9 MOV R1,A
003E 08 INC R0
003F E8 MOV A,R0
0040 7002 JNZ ?LAB10
0042 0C INC R4
0043 EC MOV A,R4
0044 ?LAB10:
0044 902004 MOV DPTR,#02004H
0047 120000 R LCALL IPGN1?C
004A F0 MOVX @DPTR,A
; SOURCE LINE # 35
004B 902005 MOV DPTR,#02005H
004E 74FF MOV A,#0FFH
0050 F0 MOVX @DPTR,A
; SOURCE LINE # 36
0051 EC MOV A,R4
0052 FA MOV R2,A
0053 E8 MOV A,R0
0054 F9 MOV R1,A
0055 08 INC R0
0056 E8 MOV A,R0
0057 7002 JNZ ?LAB11
0059 0C INC R4
005A EC MOV A,R4
005B ?LAB11:
005B 902006 MOV DPTR,#02006H
005E 120000 R LCALL IPGN1?C
0061 F0 MOVX @DPTR,A
; SOURCE LINE # 37
0062 EC MOV A,R4
0063 FA MOV R2,A
0064 E8 MOV A,R0
0065 F9 MOV R1,A
0066 08 INC R0
0067 E8 MOV A,R0
0068 7002 JNZ ?LAB12
006A 0C INC R4
006B EC MOV A,R4
006C ?LAB12:
006C 902007 MOV DPTR,#02007H
006F 120000 R LCALL IPGN1?C
0072 F0 MOVX @DPTR,A
; SOURCE LINE # 38
0073 EC MOV A,R4
0074 FA MOV R2,A
0075 E8 MOV A,R0
0076 F9 MOV R1,A
0077 08 INC R0
0078 E8 MOV A,R0
0079 7002 JNZ ?LAB13
007B 0C INC R4
007C EC MOV A,R4
007D ?LAB13:
007D 902008 MOV DPTR,#02008H
0080 120000 R LCALL IPGN1?C
0083 F0 MOVX @DPTR,A
; SOURCE LINE # 39
0084 EC MOV A,R4
0085 FA MOV R2,A
0086 E8 MOV A,R0
0087 F9 MOV R1,A
0088 08 INC R0
0089 E8 MOV A,R0
008A 7002 JNZ ?LAB14
008C 0C INC R4
008D EC MOV A,R4
008E ?LAB14:
008E 902009 MOV DPTR,#02009H
0091 120000 R LCALL IPGN1?C
0094 F0 MOVX @DPTR,A
; SOURCE LINE # 40
0095 90200A MOV DPTR,#0200AH
0098 7420 MOV A,#020H
009A F0 MOVX @DPTR,A
; SOURCE LINE # 41
009B 90200C MOV DPTR,#0200CH
009E E0 MOVX A,@DPTR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -