📄 tlc1543.lst
字号:
C51 COMPILER V7.20 TLC1543 06/20/2005 16:55:58 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TLC1543
OBJECT MODULE PLACED IN TLC1543.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TLC1543.c BROWSE DEBUG OBJECTEXTEND
line 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 #include "charger.h"
9
10 //hardware conection
11 #define CLOCK P1_2
12 #define D_IN P1_1
13 #define D_OUT P1_3
14 #define P_CS P1_0
15 #define EOC P1_4
16 //----------------------------------------
17 //data read from (port)channel of tlc2543
18 unsigned int tlc1543(unsigned char port){
19 1 unsigned char data i;
20 1 word data c;
21 1 c.i=0;
22 1 CLOCK=0;
23 1 P_CS=0;//low level start a/d
24 1 port<<=4;//move to high 4bit
25 1 _nop_(); _nop_(); _nop_();
26 1 for(i=0;i<4;i++){//input channels signal
27 2 D_IN=(bit)(port&0x80);
28 2 CLOCK=1; _nop_();CLOCK=0;
29 2 port<<=1;
30 2 }
31 1 D_IN=0;
32 1 for(i=0;i<8;i++){//fill 8 clock signal
33 2 CLOCK=1;_nop_();CLOCK=0;
34 2 }
35 1 P_CS=1;
36 1 for(i=0;i<20;i++);//wait a/d conversion
37 1 P_CS=0;
38 1 for(i=0;i<4;i++){//get bit
39 2 D_OUT=1;
40 2 CLOCK=1;
41 2 c.b[0]<<=1;
42 2 if(D_OUT)c.b[0]|=0x01;
43 2 CLOCK=0;
44 2 }
45 1 for(i=0;i<8;i++){//get D7~D0 bit
46 2 D_OUT=1;
47 2 CLOCK=1;
48 2 c.b[1]<<=1;
49 2 if(D_OUT)c.b[1]|=0x01;
50 2 CLOCK=0;
51 2 }
52 1 _nop_(); _nop_(); _nop_();
53 1 P_CS=1;
54 1
55 1 RESET_DOG;
C51 COMPILER V7.20 TLC1543 06/20/2005 16:55:58 PAGE 2
56 1
57 1 return c.i;
58 1 }
59
60 /*
61 //----------------------------------------
62 //data read from (port)channel of tlc1543
63 unsigned int tlc1543(unsigned char port){
64 unsigned char idata i;
65 word idata c;
66 c.i=0;
67 CLOCK=0;
68 P_CS=0;//low level start a/d
69 port<<=4;//move to high 4bit
70 for(i=0;i<4;i++){//input channels signal
71 D_IN=(bit)(port&0x80);
72 CLOCK=1;CLOCK=0;
73 port<<=1;
74 }
75 for(i=0;i<6;i++){//fill 6 clock signal
76 CLOCK=1;CLOCK=0;
77 }
78 P_CS=1;
79 for(i=0;i<10;i++);//wait a/d conversion,EOC low is busy
80 P_CS=0;
81 _nop_();
82 for(i=0;i<2;i++){//get D9,D8 bit
83 D_OUT=1;
84 CLOCK=1;
85 c.b[0]<<=1;
86 if(D_OUT)c.b[0]|=0x01;
87 CLOCK=0;
88 }
89 for(i=0;i<8;i++){//get D7~D0 bit
90 D_OUT=1;
91 CLOCK=1;
92 c.b[1]<<=1;
93 if(D_OUT)c.b[1]|=0x01;
94 CLOCK=0;
95 }
96 P_CS=1;
97 return c.i;
98 }
99
100 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 119 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -