📄 stc_ad.lst
字号:
C51 COMPILER V7.06 STC_AD 04/17/2008 15:19:49 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE STC_AD
OBJECT MODULE PLACED IN STC_AD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE STC_AD.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2
3
4
5 #include "Reg51.H"
6 #include "stc12c.h"
7
8 sfr AUXR=0x8e;
9 sfr WDT_CONTR = 0XE1;
10 sfr ADC_CONTR = 0XC5;
11 sfr ADC_DATA = 0XC6;
12 sfr ADC_Channel_2_Result=0xc6;
13 //#define ADC_Channel_2_Result 0X32
14
15
16 void Initial_uart( void )
17 {
18 1 SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
19 1 TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
20 1 PCON |= 0x80 ; //SMOD=1;
21 1 TH1 = 0xFF ; //Baud:9600 fosc=11.0592MHz
22 1 IE |= 0x90 ; //Enable Serial Interrupt
23 1 //AUXR&=0XBF;
24 1 TR1 = 1 ;
25 1 EX0=1; // timer 1 run // TI=1; }
26 1 EA=1;
27 1 }
28
29 void Serial_send(unsigned char send_data)
30 {
31 1
32 1 SBUF=send_data;
33 1 while(TI==0);
34 1 TI=0;
35 1
36 1 }
37
38 void delay(unsigned char i)
39 {
40 1 unsigned char j,k;
41 1 for (j=0;j<i;j++)
42 1 for (k=0;k<100;k++);
43 1 }
44
45
46 void main(void)
47 {
48 1
49 1 int i;
50 1 int count=1;
51 1 unsigned char str[5], *p;
52 1 unsigned char rdata;
53 1 p = str;
54 1 WDT_CONTR=0X00;
55 1 P3M0=0X00;
C51 COMPILER V7.06 STC_AD 04/17/2008 15:19:49 PAGE 2
56 1 P3M1=0X00;
57 1 //P1=0xdc;
58 1 ADC_DATA =0X00;
59 1 ADC_CONTR=0X00; //关闭ADC电源
60 1
61 1 Initial_uart();
62 1
63 1 P1M0=0X04;
64 1 P1M1=0X04; //设置P1.2为开漏模式
65 1 ADC_CONTR=0X80; //开ADC电源
66 1 delay(100);
67 1 ADC_CONTR=0XE2; //P1.2作为AD转换通道
68 1 delay(100);
69 1
70 1
71 1 ADC_CONTR=0XEA; //启动AD转换
72 1 delay(200);
73 1
74 1 //*p = ADC_Channel_2_Result; //保存AD转换结果
75 1 //*p=0x03;
76 1 //*p++;
77 1 //i=p;
78 1 //ADC_Channel_2_Result=0x05;
79 1 // for(i=0;i<5;i++)
80 1 while(1)
81 1 {
82 2 //delay(10000);
83 2
84 2 while(ADC_CONTR&0x10==0x10)
85 2 {
86 3 //delay(100);
87 3 }
88 2 ADC_CONTR=0xE2;//清ADC_FLAG,ADC_START位,停止ADC转换
89 2
90 2 //P1M0=0X00; //设置p1口为准双向口
91 2 //P1M1=0X00;
92 2
93 2 rdata=ADC_Channel_2_Result;
94 2
95 2
96 2 Serial_send(0xbf);
97 2 //delay(200);
98 2 Serial_send(rdata);
99 2 // delay(200);
100 2 Serial_send(0xff);
101 2 };
102 1 while(1)
103 1 {};
104 1
105 1
106 1 for(i=0;i<5;i++)
107 1 {
108 2 delay(100);
109 2
110 2 while(ADC_CONTR&0x10==0)
111 2 {
112 3 delay(100);
113 3 }
114 2
115 2 // ADC_CONTR=0xE2;//清ADC_FLAG,ADC_START位,停止ADC转换
116 2
117 2 // *p = ADC_Channel_2_Result; //保存AD转换结果
C51 COMPILER V7.06 STC_AD 04/17/2008 15:19:49 PAGE 3
118 2
119 2 // *p++;
120 2 //count++;
121 2 //ADC_CONTR=0X00; //关闭ADC电源
122 2
123 2 // P1M0=0X00; //设置p1口为准双向口
124 2 // P1M1=0X00;
125 2 //P1=ADC_Channel_2_Result;
126 2
127 2 Serial_send(0xbf);
128 2 delay(200);
129 2 Serial_send(P1);
130 2 delay(200);
131 2 Serial_send(0xff);
132 2
133 2 }
134 1 }
135
136
137
138
139 /*
140 if(count==5)
141 {
142
143 Serial_send(0xbf);
144 delay(200);
145 Serial_send(count);
146 delay(200);
147 Serial_send(0xff);
148 while(1)
149 {};
150 /*
151 for(i = 0, p = str; i <5; i++)
152 {
153
154 delay(200);
155
156 Serial_send(0xbf);
157
158
159 delay(200);
160 Serial_send(str[i]);
161 Serial_send(count);
162
163 delay(200);
164 Serial_send(0xff);
165
166
167 delay(200);
168 }
169 */
170 /* }
171 else
172 {
173 Serial_send(0xee);
174 break;
175 }
176
177 P1M0=0X00; //设置p1口为准双向口
178 P1M1=0X00;
179 P1=ADC_Channel_2_Result;
C51 COMPILER V7.06 STC_AD 04/17/2008 15:19:49 PAGE 4
180
181 delay(200);
182 }
183 } */
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 131 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
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 + -