📄 mcp3204.lst
字号:
C51 COMPILER V8.05a MCP3204 04/01/2009 12:08:34 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MCP3204
OBJECT MODULE PLACED IN MCP3204.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MCP3204.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include<myc51.h>
3 #include<1602.h>
4
5
6 sbit clk = P1^4; // clock signel
7 sbit dout = P1^5; // data get out
8 sbit din = P1^6 ; // data put in
9 sbit cs = P1^7; // cs selt
10
11
12 void delay50ms(uint t)
13 {
14 1 uint j;
15 1 for(t;t>0;t--)
16 1 for(j=6245;j>0;j--);
17 1
18 1 }
19
20
21
22 // clock time ***************************************
23 void clkt()
24 {
25 1 clk=1;
26 1
27 1 //delay1us;
28 1 clk=0;
29 1 //delay1us;
30 1 }
31
32 void clktf()
33 {
34 1 clk=0;
35 1
36 1 //delay1us;
37 1 clk=1;
38 1 //delay1us;
39 1 }
40
41
42 sint getdata()//uchar chx)
43 {
44 1 sint hd=0x00,ld=0x00; sint t;
45 1 sint dat=0x00;
46 1 // float outdat;
47 1
48 1
49 1
50 1
51 1
52 1
53 1 //din=0;clkf();din=0;clkf();din=0;clkf();//clkt();clkt();
54 1 /*
55 1 din=1;
C51 COMPILER V8.05a MCP3204 04/01/2009 12:08:34 PAGE 2
56 1 clktf();
57 1 din=1; //single CH
58 1 clktf();
59 1 din=1; //D2
60 1 clktf(); //8
61 1
62 1
63 1 din=0; //0x02&chx; //D1
64 1 clktf();
65 1 din=1; //0x01&chx; //D0
66 1 clktf(); //10
67 1
68 1 clktf();
69 1 clk=0; //12
70 1 //delay1us;
71 1
72 1 */
73 1
74 1 uchar ch=0xe0; //1 11 0 ;0 000
75 1
76 1 cs=1;
77 1
78 1 cs=0;
79 1
80 1 clk=1;
81 1 for(t=0;t<6;t++)
82 1 {
83 2 din=0x80&ch;
84 2 // if(0x80&ch==0x80)
85 2 // {
86 2 // din=1;
87 2 // }
88 2 // else din=0;
89 2
90 2 clk=0;//delay1us;
91 2 clk=1;//delay1us;
92 2 ch<<=1;
93 2 }
94 1
95 1 for(t=0;t<13;t++)
96 1
97 1 {
98 2 clk=0;
99 2 hd<<=1;
100 2 clk=1;
101 2 delay1us;delay1us;delay1us;
102 2 hd|=dout; delay1us;delay1us;delay1us;
103 2 }
104 1
105 1 cs=1;
106 1 /*
107 1 for(t=8;t>0;t--)
108 1 {
109 1 ld<<=1;
110 1
111 1 clkt();
112 1 ld|=dout;// delay1us;
113 1 }*/
114 1 //clk=1;
115 1
116 1 //delay1us;
117 1 //cs=0;
C51 COMPILER V8.05a MCP3204 04/01/2009 12:08:34 PAGE 3
118 1
119 1
120 1 //hd<<=8;
121 1 //dat=hd+ld;
122 1
123 1 //outdat=((float)dat/4095)*5*1000;
124 1 //dat=(sint)outdat;
125 1 //dat=(sint)outdat;
126 1 return hd;
127 1
128 1
129 1 }
130
131
132 sint getd(uchar ch)
133 {
134 1 sint dat=0x00;
135 1 uchar i;
136 1 cs=1;
137 1 cs=0;
138 1
139 1 for(i=5;i>0;i--)
140 1 {
141 2
142 2
143 2 din=0x80&ch;
144 2 clk=0;delay1us;
145 2 clk=1;delay1us;
146 2 ch<<=1;
147 2 }
148 1 clk=0;delay1us;
149 1 clk=1;delay1us;
150 1 clk=0;delay1us;
151 1 clk=1;delay1us;
152 1 clk=0;delay1us;
153 1 //clk=1;delay1us;
154 1 //clk=0;delay1us;
155 1
156 1
157 1 for(i=12;i>0;i--)
158 1 {
159 2 dat<<=1;
160 2
161 2 clk=1;delay1us;
162 2
163 2 clk=0;delay1us;
164 2 dat|=dout;
165 2 }
166 1
167 1 cs=1;delay1us;
168 1
169 1 return dat;
170 1 }
171
172 void main()
173 {
174 1 sint bb,aa,cc; float outdat;
175 1
176 1 start1602();
177 1 delay50ms(10);
178 1 bb=3;
179 1 goto_xy(0,0);
C51 COMPILER V8.05a MCP3204 04/01/2009 12:08:34 PAGE 4
180 1 printd(bb);
181 1 delay50ms(10);
182 1
183 1 while(1)
184 1 {
185 2 delay50ms(10);
186 2
187 2 // aa=getd(0xe0);
188 2 delay50ms(10); cc=getdata();
189 2
190 2 //delay50ms(20);
191 2
192 2 //goto_xy(0,1);
193 2
194 2 // printf(" ");
195 2
196 2 //goto_xy(0,1);
197 2
198 2 //printd(aa);
199 2 // outdat=((float)aa/4095)*5;goto_xy(6,1);printdf(outdat);
200 2
201 2 // delay50ms(10);
202 2
203 2 goto_xy(0,0); printf(" ");
204 2
205 2
206 2
207 2 goto_xy(0,0);
208 2
209 2 printd(bb++);
210 2
211 2 goto_xy(4,0);
212 2
213 2 printd(cc); outdat=((float)cc/4095)*5;goto_xy(10,0);printdf(outdat);
214 2 }
215 1
216 1 }
*** WARNING C280 IN LINE 174 OF MCP3204.C: 'aa': unreferenced local variable
217
218
219
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 805 ----
CONSTANT SIZE = 54 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 53
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -