?? tlc1543.lst
字號:
C51 COMPILER V6.11.4C, TLC1543 04/01/103 02:34:46 PAGE 1
QCW(0x00002D1A)
WIN32 C51 COMPILER V6.11.4C, COMPILATION OF MODULE TLC1543
OBJECT MODULE PLACED IN d:\solar_charge_controller\scca\tlc1543.obj
COMPILER INVOKED BY: C51.EXE D:\SOLAR_CHARGE_CONTROLLER\SCCA\TLC1543.C OBJECT(D:
-\SOLAR_CHARGE_CONTROLLER\SCCA\TLC1543.OBJ) PIN(D:\FSI\INC) NOAM PR(
-D:\SOLAR_CHARGE_CONTROLLER\SCCA\TLC1543.LST) CD SB OE(1) SM FP(NOFL
-OAT) PW(80)
stmt level source
1 /*
2 TLC1543//SPI port//11 channels Analog input//10 bit//10us Rate
3
4 2003.1.6
5 */
6 #include <AT89X52.H>
7 #include <INTRINS.h>
8
9 //hardware conection
10 #define CLOCK P1_2
11 #define D_IN P1_1
12 #define D_OUT P1_3
13 #define P_CS P1_0
14 #define EOC P1_4
15
16 typedef struct
17 {
18 unsigned char ah;
19 unsigned char al;
20 }word;
21
22
23 union bitseg
24 {
25 word byte;
26 unsigned int i;
27 };
28 //----------------------------------------
29 //data read from (port)channel of tlc1543
30 unsigned int tlc1543(unsigned char port){
31 1 unsigned char idata i;
32 1 union bitseg idata c;
33 1 c.byte.al=0,c.byte.ah=0;
34 1 CLOCK=0;
35 1 P_CS=0;//low level start a/d
36 1 port<<=4;//move to high 4bit
37 1 for(i=0;i<4;i++){//input channels signal
38 2 D_IN=(bit)(port&0x80);CLOCK=1;CLOCK=0;
39 2 port<<=1;
40 2 }
41 1 for(i=0;i<6;i++){//fill 6 clock signal
42 2 CLOCK=1;CLOCK=0;
43 2 }
44 1 P_CS=1;
45 1 _nop_(); _nop_(); _nop_(); _nop_();
46 1 P_CS=0;//wait a/d conversion,EOC low is busy
47 1 for(i=0;i<2;i++){//get D9,D8 bit
48 2 D_OUT=1;
49 2 CLOCK=1;
50 2 c.byte.ah<<=1;
51 2 if(D_OUT)c.byte.ah|=0x01;
52 2 CLOCK=0;
53 2 }
54 1 for(i=0;i<8;i++){//get D7~D0 bit
55 2 D_OUT=1;
56 2 CLOCK=1;
57 2 c.byte.al<<=1;
58 2 if(D_OUT)c.byte.al|=0x01;
59 2 CLOCK=0;
60 2 }
61 1 P_CS=1;
62 1 _nop_();
63 1 P1=0xff;
64 1 return c.i;
65 1 }
66
C51 COMPILER V6.11.4C, TLC1543 04/01/103 02:34:46 PAGE 2
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _tlc1543 (BEGIN)
; Register R7 is assigned to parameter port
; SOURCE LINE # 33
0000 7900 R MOV R1,#c+01H
0002 7700 MOV @R1,#000H
0004 7900 R MOV R1,#c
0006 7700 MOV @R1,#000H
; SOURCE LINE # 34
0008 C292 CLR P1_2
; SOURCE LINE # 35
000A C290 CLR P1_0
; SOURCE LINE # 36
000C EF MOV A,R7
000D C4 SWAP A
000E 54F0 ANL A,#0F0H
0010 FF MOV R7,A
; SOURCE LINE # 37
0011 7900 R MOV R1,#i
0013 7700 MOV @R1,#000H
0015 ?FOR4:
; SOURCE LINE # 38
0015 EF MOV A,R7
0016 5480 ANL A,#080H
0018 24FF ADD A,#0FFH
001A 9291 MOV P1_1,C
001C D292 SETB P1_2
001E C292 CLR P1_2
; SOURCE LINE # 39
0020 EF MOV A,R7
0021 C3 CLR C
0022 33 RLC A
; SOURCE LINE # 37
0023 7900 R MOV R1,#i
0025 07 INC @R1
0026 B704EC CJNE @R1,#004H,?FOR4
; SOURCE LINE # 41
0029 7900 R MOV R1,#i
002B 7700 MOV @R1,#000H
002D ?FOR5:
; SOURCE LINE # 42
002D D292 SETB P1_2
002F C292 CLR P1_2
; SOURCE LINE # 37
0031 7900 R MOV R1,#i
0033 07 INC @R1
0034 B706F6 CJNE @R1,#006H,?FOR5
; SOURCE LINE # 44
0037 D290 SETB P1_0
; SOURCE LINE # 45
0039 00 NOP
003A 00 NOP
003B 00 NOP
003C 00 NOP
; SOURCE LINE # 46
003D C290 CLR P1_0
; SOURCE LINE # 47
003F 7900 R MOV R1,#i
0041 7700 MOV @R1,#000H
0043 ?FOR6:
; SOURCE LINE # 48
0043 D293 SETB P1_3
; SOURCE LINE # 49
0045 D292 SETB P1_2
; SOURCE LINE # 50
0047 7900 R MOV R1,#c
0049 E7 MOV A,@R1
004A C3 CLR C
004B 33 RLC A
004C F7 MOV @R1,A
; SOURCE LINE # 51
004D 309306 JNB P1_3,?NXT16
0050 7900 R MOV R1,#c
0052 E7 MOV A,@R1
0053 4401 ORL A,#001H
0055 F7 MOV @R1,A
0056 ?NXT16:
; SOURCE LINE # 52
0056 C292 CLR P1_2
; SOURCE LINE # 37
0058 7900 R MOV R1,#i
005A 07 INC @R1
005B B702E5 CJNE @R1,#002H,?FOR6
; SOURCE LINE # 54
005E 7900 R MOV R1,#i
0060 7700 MOV @R1,#000H
0062 ?FOR7:
; SOURCE LINE # 55
0062 D293 SETB P1_3
; SOURCE LINE # 56
0064 D292 SETB P1_2
; SOURCE LINE # 57
0066 7900 R MOV R1,#c+01H
0068 E7 MOV A,@R1
0069 C3 CLR C
006A 33 RLC A
006B F7 MOV @R1,A
; SOURCE LINE # 58
006C 309306 JNB P1_3,?NXT19
006F 7900 R MOV R1,#c+01H
0071 E7 MOV A,@R1
0072 4401 ORL A,#001H
0074 F7 MOV @R1,A
0075 ?NXT19:
; SOURCE LINE # 59
0075 C292 CLR P1_2
; SOURCE LINE # 37
0077 7900 R MOV R1,#i
0079 07 INC @R1
007A B708E5 CJNE @R1,#008H,?FOR7
; SOURCE LINE # 61
007D D290 SETB P1_0
; SOURCE LINE # 62
007F 00 NOP
; SOURCE LINE # 63
0080 7590FF MOV P1,#0FFH
; SOURCE LINE # 64
0083 7900 R MOV R1,#c
0085 8706 MOV AR6,@R1
0087 09 INC R1
0088 8707 MOV AR7,@R1
008A 22 RET
; FUNCTION _tlc1543 (END)
C51 COMPILER V6.11.4C, TLC1543 04/01/103 02:34:46 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
bitseg . . . . . . . . . . . . . . . . * TAG * ----- UNION ----- 2
byte . . . . . . . . . . . . . . . . MEMBER ----- STRUCT 0000H 2
i. . . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0000H 2
tlc1543. . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
port?057 . . . . . . . . . . . . . . PARAM DATA BASE 0000H 1
port?057 . . . . . . . . . . . . . . PARAM DATA BASE 0000H 1
i?058. . . . . . . . . . . . . . . . . PUBLIC IDATA BASE 0002H 1
c?059. . . . . . . . . . . . . . . . . PUBLIC IDATA UNION 0000H 2
C51 COMPILER V6.11.4C, TLC1543 04/01/103 02:34:46 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 139 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- 3
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING, 0 ERROR
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -