📄 c8051f126_driver.lst
字号:
165 扇出数: 无
166 扇入数: Main()
167 输入参数: 无
168 输出参数: 无
169 返回值: 无
170 其他: 无
171 *************************************************/
172 void PortInit(void)
173 {
174 1 uchar SFRPAGE_SAVE = SFRPAGE;
175 1 SFRPAGE = CONFIG_PAGE;
176 1 XBR0 = 0X00;
177 1 XBR1 = 0X14; //打开外部中断0
178 1 XBR2 = 0XC0; //全局弱上拉,使能交叉开关,
179 1 P0 = 0XFF;
C51 COMPILER V8.05a C8051F126_DRIVER 03/27/2008 14:12:42 PAGE 4
180 1 P3 = 0XFF;
181 1 P4 = 0xff;
182 1 P5 = 0XFF;
183 1 P6 = 0XFF;
184 1 P7 = 0XFF;
185 1 P0MDOUT = 0X0f;
186 1 P1MDOUT = 0XF8;
187 1 P2MDOUT = 0Xff;
188 1 P3MDOUT = 0Xff;
189 1 P4MDOUT = 0Xff;
190 1 P5MDOUT = 0xff;
191 1 P6MDOUT = 0Xff;
192 1 P7MDOUT = 0Xff;
193 1 SFRPAGE = SFRPAGE_SAVE;
194 1 }
195
196 /*************************************************
197 函数名: EmifInit()
198 描述: 存储器初始化
199 扇出数: 无
200 扇入数: Main()
201 输入参数: 无
202 输出参数: 无
203 返回值: 无
204 其他: 无
205 *************************************************/
206 void EmifInit()
207 {
208 1 uchar SFRPAGE_SAVE = SFRPAGE;
209 1 SFRPAGE = EMI0_PAGE;
210 1 EMI0CF = 0X38;
211 1 EMI0CN = 0X30;
212 1 //EMI0TC = 0X6c;
213 1
214 1 //EMI0CF = 0X00; //低位口,复用方式,内部存储器,ALE建立4个系统周期
215 1 //EMI0CN = 0Xff; //XRAM页选择位,提供16位外部数据存储器地选择一个256字节的RAM页。
216 1 EMI0TC = 0XFF; //外部存储器时序控制,地址建立时间4个系统周期
217 1 //WR/RD脉冲宽度16个系统时钟
218 1 SFRPAGE = SFRPAGE_SAVE;
219 1 }
220
221 /*************************************************
222 函数名: ExtInterrupInit()
223 描述: 外部中断初始化
224 扇出数: 无
225 扇入数: Main()
226 输入参数: 无
227 输出参数: 无
228 返回值: 无
229 其他: 无
230 *************************************************/
231 void ExtInterrupInit()
232 {
233 1 uchar SFRPAGE_SAVE = SFRPAGE;
234 1 SFRPAGE = TIMER01_PAGE;
235 1 IT0 = 1; //设置中断触发方式,下降沿有效
236 1 EX0 = 1; //打开外部中断 0
237 1 EX1 = 1;
238 1 IT1 = 1;
239 1 EIE1 = 0X10;
240 1 EA = 1; //打开中断
241 1 SFRPAGE = SFRPAGE_SAVE;
C51 COMPILER V8.05a C8051F126_DRIVER 03/27/2008 14:12:42 PAGE 5
242 1 }
243
244 /*************************************************
245 函数名: Cpt0Init()
246 描述: 比较器0初始化
247 扇出数: 无
248 扇入数: Main()
249 输入参数: 无
250 输出参数: 无
251 返回值: 无
252 其他: 无
253 *************************************************/
254 void Cpt0Init()
255 {
256 1 uchar SFRPAGE_SAVE = SFRPAGE;
257 1 SFRPAGE = CPT0_PAGE;
258 1 CPT0CN = 0X86; //使能比较器,正向回差电压5mv,负向回差电压10mv
259 1 CPT0MD = 0X10; //下降沿中断,相应时间最快
260 1 SFRPAGE = SFRPAGE_SAVE;
261 1 }
262
263 /*************************************************
264 函数名: PllIint()
265 描述: 锁相环初始化
266 扇出数: 无
267 扇入数: Main()
268 输入参数: 无
269 输出参数: 无
270 返回值: 无
271 其他: 无
272 *************************************************/
273 void PllInit()
274 {
275 1 unsigned char n; // n used for short delay counter
276 1
277 1 SFRPAGE = CONFIG_PAGE; // Set SFR page
278 1
279 1 OSCICN = 0x83; // Set internal oscillator to run
280 1 // at its maximum frequency
281 1
282 1 PLL0CN = 0x00; // Set internal oscillator as PLL source
283 1
284 1 SFRPAGE = LEGACY_PAGE;
285 1 FLSCL = FLSCL_FLRT; // Set FLASH read time according to SYSCLK
286 1 SFRPAGE = CONFIG_PAGE;
287 1
288 1 PLL0CN |= 0x01; // Enable Power to PLL
289 1 PLL0DIV = PLL_DIV; // Set PLL divider value using macro
290 1 PLL0MUL = PLL_MUL; // Set PLL multiplier value using macro
291 1 PLL0FLT = PLLFLT_ICO|PLLFLT_LOOP; // Set the PLL filter loop and ICO bits
292 1 for (n=0xFF;n!=0;n--); // Wait at least 5us
293 1 PLL0CN |= 0x02; // Enable the PLL
294 1 while(!(PLL0CN & 0x10)); // Wait until PLL frequency is locked
295 1 CLKSEL = 0x02; // Select PLL as SYSCLK source
296 1 }
297
298 /*************************************************
299 函数名: PllIint()
300 描述: 锁相环初始化
301 扇出数: 无
302 扇入数: Main()
303 输入参数: 无
C51 COMPILER V8.05a C8051F126_DRIVER 03/27/2008 14:12:42 PAGE 6
304 输出参数: 无
305 返回值: 无
306 其他: 无
307 *************************************************/
308 void Time3Init()
309 {
310 1 uchar SFRPAGE_SAVE = SFRPAGE;
311 1 SFRPAGE = TMR3_PAGE;
312 1 TMR3CN = 0X00;
313 1 TMR3CF = 0X08;
314 1 RCAP3 = -(INTOSC / 500);
315 1 TMR3 = RCAP3;
316 1 TR3 = 1;
317 1 EIE2 |= 0X01;
318 1 SFRPAGE = SFRPAGE_SAVE;
319 1 }
320
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 233 ----
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 + -