📄 wdt_port_clk_init.lst
字号:
C51 COMPILER V7.50 WDT_PORT_CLK_INIT 04/23/2009 16:56:47 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE WDT_PORT_CLK_INIT
OBJECT MODULE PLACED IN wdt_port_clk_init.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE wdt_port_clk_init.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND
line level source
1 /*------------------------------------------------------------------------------
2 ;CAN总线大坝监测系统
3 ;底层节点
4 ;文件名称: wdt_port_clk_init.c
5 ;函数功能:看门狗,时钟,交叉开关,IO口初始化
6 ;MCU支持: C8051F040
7 ;上海富方软件合肥自动化分公司
8 ;-----------------------------------------------------------------------------*/
9
10 #include "c8051F040.h"
11 #include "wdt_port_clk_init.h"
12
13
14
15 ////////////////////////////////////////////////////////////////////////////////
16 // 看门狗关闭,之前最好关中断
17 ////////////////////////////////////////////////////////////////////////////////
18 void Watchdog_Close (void){
19 1 /* 0xFF锁住禁止功能,WDT超时间隔为4^(3+WDTCN[2-0])*Tsysclk */
20 1 /* 复位后默认开启且为最大超时间隔,复位不影响/RST引脚 */
21 1 /* 0xA5使能和重载看门狗定时器,在4个系统周期内写入0xDE和0xAD */
22 1 WDTCN = 0xDE;
23 1 WDTCN = 0xAD;
24 1 }
25
26
27
28 ////////////////////////////////////////////////////////////////////////////////
29 // 交叉开关配置,I/O口配置
30 ////////////////////////////////////////////////////////////////////////////////
31 void Port_Config (void){
32 1 SFRPAGE_SAVE = SFRPAGE;
33 1
34 1 /* 交叉开关配置 */
35 1 SFRPAGE = CONFIG_PAGE;
36 1 XBR3 = 0x80; // CAN发送脚 CTX (B7)为推挽模式,距离大建议为开漏模式
37 1
38 1 SFRPAGE = SFRPAGE_SAVE;
39 1 }
40
41
42
43 ////////////////////////////////////////////////////////////////////////////////
44 // 时钟初始化,使用外部11.0592MHz晶振作为时钟源
45 ////////////////////////////////////////////////////////////////////////////////
46 void Sysclk_Init (void){
47 1 int n;
48 1 SFRPAGE_SAVE = SFRPAGE;
49 1
50 1 SFRPAGE = CONFIG_PAGE;
51 1 OSCXCN = 0x77; // 0x7x外部晶振2分频,0x6x外部晶振不分频;XFCN = 111, 10-30Mhz, XFCN = 110,
- 4-10Mhz;
52 1 for (n=0;n<255;n++); // 等待1ms以上
53 1 while ((OSCXCN & 0x80) == 0); // B7为1表示外部晶振稳定运行
54 1 CLKSEL |= 0x01; // 选择外部时钟
C51 COMPILER V7.50 WDT_PORT_CLK_INIT 04/23/2009 16:56:47 PAGE 2
55 1 OSCICN = 0x00; // 内部晶振禁止
56 1
57 1 SFRPAGE = SFRPAGE_SAVE;
58 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 73 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -