⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdt_port_clk_init.lst

📁 CAN通讯底层节点
💻 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 + -