📄 main.lst
字号:
C51 COMPILER V7.50 MAIN 06/13/2008 16:37:11 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <C8051F310.H>
2 #include <intrins.h>
3
4 sbit daclk = P3^4;
5 sbit da = P2^7;
6 sbit convn = P2^6;
7 sbit csn = P2^5;
8 sbit busyn = P2^4;
9
10 sbit led1 = P2^3; //right
11 sbit led2 = P2^2;
12 sbit led3 = P2^1;
13 sbit led4 = P1^7; //left
14
15 sbit RL1 = P0^6;
16 sbit RL2 = P0^5;
17 sbit sw = P0^7;
18
19 sbit key1 = P3^1;
20 sbit key2 = P3^2;
21 sbit key3 = P3^3;
22
23 code char table[16] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
24 void display(char buf,char num)
25 {
26 1 char i;
27 1 led1=led2=led3=led4=1;
28 1 if(buf>0x0f)
29 1 {
30 2 buf = 0x0;
31 2 }
32 1 i = table[buf];
33 1 P1 = i;
34 1 switch(num)
35 1 {
36 2 case 0:
37 2 led4 = 0;
38 2 break;
39 2 case 1:
40 2 led3 = 0;
41 2 break;
42 2 case 2:
43 2 led2 = 0;
44 2 break;
45 2 case 3:
46 2 led1 = 0;
47 2 break;
48 2 default:
49 2 led1=led2=led3=led4=1;
50 2 break;
51 2 }
52 1 }
53
54 void ad_init()
55 {
C51 COMPILER V7.50 MAIN 06/13/2008 16:37:11 PAGE 2
56 1 csn = 0;
57 1 daclk =0 ;
58 1 da = 1;
59 1 convn = 1;
60 1 busyn = 1;
61 1
62 1 }
63 void ad_conv()
64 {
65 1
66 1 csn = 0;
67 1 daclk = 0;
68 1 da = 1;
69 1 busyn = 1;
70 1 convn = 0;
71 1 _nop_;
*** WARNING C275 IN LINE 71 OF MAIN.C: expression with possibly no effect
72 1 _nop_;
*** WARNING C275 IN LINE 72 OF MAIN.C: expression with possibly no effect
73 1 convn = 1;
74 1
75 1 }
76 int read_ad()
77 {
78 1 char i,j;
79 1 int tmp=0;
80 1 for(i = 0;i<16;i++)
81 1 {
82 2 tmp=tmp<<1;
83 2 daclk = 1;
84 2 _nop_;
*** WARNING C275 IN LINE 84 OF MAIN.C: expression with possibly no effect
85 2 _nop_;
*** WARNING C275 IN LINE 85 OF MAIN.C: expression with possibly no effect
86 2 _nop_;
*** WARNING C275 IN LINE 86 OF MAIN.C: expression with possibly no effect
87 2
88 2 _nop_;
*** WARNING C275 IN LINE 88 OF MAIN.C: expression with possibly no effect
89 2 daclk = 0;
90 2 if(da)
91 2 {
92 3 //tmp=tmp|(0x0001<<i);
93 3 tmp=tmp+1;
94 3 }
95 2 _nop_;
*** WARNING C275 IN LINE 95 OF MAIN.C: expression with possibly no effect
96 2 // _nop_;
97 2 // _nop_;
98 2
99 2 // tmp=tmp<<1;
100 2 }
101 1 // tmp=tmp<<1;
102 1 return(tmp);
103 1 }
*** WARNING C280 IN LINE 78 OF MAIN.C: 'j': unreferenced local variable
104 void sys_init()
105 {
106 1 sw = 1;
107 1 key1 = key2 = key3 = 1;
108 1 led1 = led2 = led3 = led4 = 1;
109 1 RL1 = 0;
C51 COMPILER V7.50 MAIN 06/13/2008 16:37:11 PAGE 3
110 1 RL2 = 0;
111 1 }
112 void T2buf(int t,char* buf)
113 {
114 1 *buf = (t>>12)&0x000f;
115 1 *(buf+1) = (t>>8)&0x000f;
116 1 *(buf+2) = (t>>4)&0x000f;
117 1 *(buf+3) = t&0x000f;
118 1 }
119 void delay()
120 {
121 1 char i,j;
122 1 for(i=0;i<4;i++)
123 1 for(j = 0;j<20;j++);
124 1 }
125 void main()
126 {
127 1 char dbuf[4]={0,1,2,3};
128 1 char ledn=0;
129 1 char dly =0;
130 1 char Flag_Ad = 0;
131 1 char Flag_Key1 = 0;
132 1 char Flag_Key2 = 0;
133 1 char Flag_Key3 = 0;
134 1 int Temp=0;
135 1 int Tbuf[10];
136 1 long Tsum =0;
137 1 char Tnum = 0;
138 1 char num=0;
139 1 char keynum1=0;
140 1 char keynum2=0;
141 1 char keynum3=0;
142 1 XBR1 = 0x40;
143 1 PCA0MD = 0X00; //CLOSE WDT
144 1 P3MDOUT = 0X10;
145 1 P0MDOUT = 0X60;
146 1 P2MDOUT = 0X60;
147 1
148 1 ad_init();
149 1 sys_init();
150 1 while(1)
151 1 {
152 2
153 2 if(busyn)
154 2 {
155 3 if(Flag_Ad==0)
156 3 {
157 4 ad_conv();
158 4 Flag_Ad = 1;
159 4 }
160 3 else
161 3 {
162 4 //if(++Tnum>=100)
163 4 {
164 5 Tnum=0;
165 5 Temp = read_ad();
166 5 Flag_Ad = 0;
167 5 }
168 4 }
169 3 }
170 2
171 2 //--------------------------------------
C51 COMPILER V7.50 MAIN 06/13/2008 16:37:11 PAGE 4
172 2 if(!key1)
173 2 {
174 3 if(++keynum1>=1)
175 3 {
176 4 keynum1 = 0;
177 4 Flag_Key1 = 1;
178 4 }
179 3 }
180 2 else if(!key2)
181 2 {
182 3 if(++keynum2>=1)
183 3 {
184 4 keynum2 = 0;
185 4 Flag_Key2 = 1;
186 4 }
187 3 }
188 2 else if(!key3)
189 2 {
190 3 if(++keynum3>=1)
191 3 {
192 4 keynum3 = 0;
193 4 Flag_Key3 = 1;
194 4 }
195 3 }
196 2 //----------------------------------------
197 2 if(Flag_Key1 && key1)
198 2 {
199 3 RL1 = 0;
200 3 RL2 = 0;
201 3 Flag_Key1 = 0;
202 3 }
203 2 else if(Flag_Key2 && key2)
204 2 {
205 3 RL1 = 1;
206 3 RL2 = 0;
207 3 Flag_Key2 = 0;
208 3 }
209 2 else if(Flag_Key3 && key3)
210 2 {
211 3 RL1 = 0;
212 3 RL2 = 1;
213 3 Flag_Key3 = 0;
214 3 }
215 2 //----------------------------------------
216 2 display(dbuf[ledn],ledn);
217 2 dly++;
218 2 if(dly>=10)
219 2 {
220 3 dly = 0;
221 3 ledn ++;
222 3 if(ledn >= 4)
223 3 {
224 4 ledn = 0;
225 4 if(++num>=50)
226 4 {
227 5 num=0;
228 5 T2buf(Temp,dbuf);
229 5 }
230 4 }
231 3 }
232 2 delay();
233 2 }
C51 COMPILER V7.50 MAIN 06/13/2008 16:37:11 PAGE 5
234 1 }
*** WARNING C280 IN LINE 135 OF MAIN.C: 'Tbuf': unreferenced local variable
235
236
237
238
239
240
241
242
243
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 672 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 55 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 9 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -