📄 stc12c5412ad_driver.lst
字号:
C51 COMPILER V7.50 STC12C5412AD_DRIVER 08/24/2007 11:26:19 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE STC12C5412AD_DRIVER
OBJECT MODULE PLACED IN STC12C5412AD_Driver.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE STC12C5412AD_Driver.C BROWSE DEBUG OBJECTEXTEND
line level source
1 //模块:STC12C5412AD_Driver.C
2
3 //功能:单片机增强功能驱动模块
4
5 //晶振:24.000MHz
6
7 //芯片: STC12C5412AD
8
9 //版本:V1.0.0
10
11 //设计:魏广寅
12
13 //日期:2007.4.10
14
15 #include "STC12C5412AD.h"
16
17 #define uchar unsigned char
18
19 #define uint unsigned int
20
21 //--------------------------------------------------------------------
22
23 /*void set_timer0_1T()//设置T0为1T模式
24
25 {
26
27 AUXR=AUXR|0x80;
28
29 }
30
31 //--------------------------------------------------------------------
32
33 void set_timer1_1T()//设置T1为1T模式
34
35 {
36
37 AUXR=AUXR|0x40;
38
39 }
40
41 //--------------------------------------------------------------------
42
43 void set_timer0_12T()//设置T0为12T模式
44
45 {
46
47 AUXR=AUXR&0x7f;
48
49 }
50
51 //--------------------------------------------------------------------
52
53 void set_timer1_12T()//设置T1为12T模式
54
55 {
C51 COMPILER V7.50 STC12C5412AD_DRIVER 08/24/2007 11:26:19 PAGE 2
56
57 AUXR=AUXR&0xbf;
58
59 }
60
61 //--------------------------------------------------------------------
62
63 uchar EEPROM_read(uint addr)//EEPROM字节读
64
65 {
66
67 ISP_ADDRH=(addr&0xff00)>>8;
68
69 ISP_ADDRL=addr&0x00ff;
70
71 ISP_CONTR=0x81;
72
73 ISP_CMD=1;
74
75 ISP_TRIG=0x46;
76
77 ISP_TRIG=0xb9;
78
79 return ISP_DATA;
80
81 }
82
83 //--------------------------------------------------------------------
84
85 void EEPROM_write(uint addr,uchar dat)//EEPROM字节写
86
87 {
88
89 ISP_DATA=dat;
90
91 ISP_ADDRH=(addr&0xff00)>>8;
92
93 ISP_ADDRL=addr&0x00ff;
94
95 ISP_CONTR=0x81;
96
97 ISP_CMD=2;
98
99 ISP_TRIG=0x46;
100
101 ISP_TRIG=0xb9;
102
103 }
104
105 //--------------------------------------------------------------------
106
107 void EEPROM_ERASE(uint addr)//EEPROM扇区擦除
108
109 {
110
111 ISP_ADDRH=(addr&0xff00)>>8;
112
113 ISP_ADDRL=addr&0x00ff;
114
115 ISP_CONTR=0x81;
116
117 ISP_CMD=3;
C51 COMPILER V7.50 STC12C5412AD_DRIVER 08/24/2007 11:26:19 PAGE 3
118
119 ISP_TRIG=0x46;
120
121 ISP_TRIG=0xb9;
122
123 } */
124
125 //--------------------------------------------------------------------
126
127 /* void set_p3_tw()
128
129 {
130
131 P3M0|=0x00;
132
133 P3M1|=0x00;
134
135 }*/
136
137 //--------------------------------------------------------------------
138
139 void AD_init(uchar AD_port_sel ) //ADC初始化
140
141 {
142 1
143 1 ADC_CONTR|=0x80; //开ADC电源
144 1
145 1 switch(AD_port_sel) //选择作为ADC的端口
146 1
147 1 {
148 2
149 2 case 0:
150 2
151 2 P1M0=0x01;
152 2
153 2 P1M1=0x00;
154 2
155 2 ADC_CONTR&=0xf8;
156 2
157 2
158 2
159 2 break;
160 2
161 2
162 2
163 2 case 1:
164 2
165 2 P1M0=0x02;
166 2
167 2 P1M1=0x00;
168 2
169 2 ADC_CONTR&=0xf8;
170 2
171 2 ADC_CONTR|=0x01;
172 2
173 2 break;
174 2
175 2
176 2
177 2 case 2:
178 2
179 2 P1M0=0x04;
C51 COMPILER V7.50 STC12C5412AD_DRIVER 08/24/2007 11:26:19 PAGE 4
180 2
181 2 P1M1=0x00;
182 2
183 2 ADC_CONTR&=0xf8;
184 2
185 2 ADC_CONTR|=0x02;
186 2
187 2 break;
188 2
189 2
190 2
191 2 case 3:
192 2
193 2 P1M0=0x08;
194 2
195 2 P1M1=0x10;
196 2
197 2 ADC_CONTR&=0xf8;
198 2
199 2 ADC_CONTR|=0x03;
200 2
201 2 break;
202 2
203 2
204 2
205 2 case 4:
206 2
207 2 P1M0=0x10;
208 2
209 2 P1M1=0x00;
210 2
211 2 ADC_CONTR&=0xf8;
212 2
213 2 ADC_CONTR|=0x03;
214 2
215 2 break;
216 2
217 2
218 2
219 2 case 5:
220 2
221 2 P1M0=0x20;
222 2
223 2 P1M1=0x00;
224 2
225 2 ADC_CONTR&=0xf8;
226 2
227 2 ADC_CONTR|=0x05;
228 2
229 2 break;
230 2
231 2
232 2
233 2 case 6:
234 2
235 2 P1M0=0x40;
236 2
237 2 P1M1=0x00;
238 2
239 2 ADC_CONTR&=0xf8;
240 2
241 2 ADC_CONTR|=0x06;
C51 COMPILER V7.50 STC12C5412AD_DRIVER 08/24/2007 11:26:19 PAGE 5
242 2
243 2 break;
244 2
245 2
246 2
247 2 case 7:
248 2
249 2 P1M0=0x80;
250 2
251 2 P1M1=0x80;
252 2
253 2 ADC_CONTR&=0xf8;
254 2
255 2 ADC_CONTR|=0x07;
256 2
257 2 break;
258 2
259 2 }
260 1
261 1 ADC_CONTR=0xe7;
262 1
263 1 }
264
265 //--------------------------------------------------------------------
266
267 uint GET_AD_Result()//启动AD转换并返回转换值
268
269 {
270 1
271 1 uchar temp;
272 1
273 1 uint data_temp;
274 1
275 1 data_temp=0;
276 1
277 1 ADC_DATA=0;
278 1
279 1 ADC_LOW2=0;
280 1
281 1 ADC_CONTR|=0x08;
282 1
283 1 re: temp=0x10;
284 1
285 1 temp&=ADC_CONTR;
286 1
287 1 if(temp==0)
288 1
289 1 goto re;
290 1
291 1 ADC_CONTR&=0xe7;
292 1
293 1 data_temp=ADC_DATA;
294 1
295 1 data_temp<<=2;
296 1
297 1 data_temp+=ADC_LOW2;
298 1
299 1 return data_temp;
300 1
301 1 }
C51 COMPILER V7.50 STC12C5412AD_DRIVER 08/24/2007 11:26:19 PAGE 6
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 192 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -