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

📄 mcu_init.lst

📁 ad9851应用
💻 LST
字号:
C51 COMPILER V8.01   MCU_INIT                                                              08/21/2008 08:59:22 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE MCU_INIT
OBJECT MODULE PLACED IN MCU_Init.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MCU_Init.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /***********************************************************************************************/
   2          //                                                                      初始化模块
   3          //              模块功能:时钟初始化、端口初始化、串口(UART)初始化、AD-DA初始化、定时器(T3)初始化
   4          //                        PCA初始化
   5          /***********************************************************************************************/
   6          #include<MCU_Init.h>
   7          #include<C8051F000.h>
   8          //--------------------------------------------------------------------------------------------------/
   9          //                                                                      时钟初始化
  10          //--------------------------------------------------------------------------------------------------/
  11          void SYSCLK_Init()                                                                                                                              //时钟初始化
  12          {
  13   1              OSCICN=OSCICN|0x03;                                                                                                                     //启用内部晶振16MHZ
  14   1      }
  15          //--------------------------------------------------------------------------------------------------/
  16          //                                                                      端口初始化
  17          //--------------------------------------------------------------------------------------------------/
  18          void PORT_Init()                                                                                                                                //端口初始化
  19          {
  20   1              XBR0=0x00;
  21   1              XBR1=0x00;
  22   1              XBR2=0x40;
  23   1              PRT0CF=0xFF;                                                                                                                            //PO推挽输出
  24   1              PRT1CF=0xFF;                                                                                                                            //PO推挽输出
  25   1              PRT3CF=0xff;                                                                                                                            //P3设置为推挽输出
  26   1              P0=0x0F;                                                                                                                                        //用于键盘判断
  27   1              P1=0x0ff;
  28   1      }
  29          //--------------------------------------------------------------------------------------------------/
  30          //                                                                      串口初始化
  31          //--------------------------------------------------------------------------------------------------/
  32          void Uart_Init()                                                                                                                                //串口初始化
  33          {
  34   1              TMOD=0x20;                                                                                                                                      //定时器T1方式2,作波特率发生器(若用T2:TCON.5、TCON.4须置1)
  35   1              TH1=0xe8;
  36   1              TL1=0xe8;
  37   1              PCON=0x00;
  38   1              TR1=1;
  39   1              SCON=0x50;                                                                                                                                      //UART方式1(方式2、方式3适于多机通讯(SM2))
  40   1      }
  41          //--------------------------------------------------------------------------------------------------/
  42          //                                                                      ADC初始化
  43          //--------------------------------------------------------------------------------------------------/
  44          void ADC0_Init()                                                                                                                                //ADC初始化
  45          {
  46   1              ADC0CN=0x00;                                                                                                                            //ADC0禁止、ADCBUSY写1、数据右对齐
  47   1              REF0CN=0x03;                                                                                                                            //AD基准选择:内部基准源
  48   1              AMX0CF=0x00;                                                                                                                            //ADC输入方式选择:单端输入
  49   1              AMX0SL=0x00;                                                                                                                            //选择通道0作为电压AD输入 AMX0SL=0x01;
  50   1              ADC0CF=0x80;                                                                                                                            //分频系数(为16〕与增益(为1)设置
  51   1              EIE2&=0xFD;                                                                                                                                     //禁止ADC中断
  52   1      }
  53          //--------------------------------------------------------------------------------------------------/
  54          //                                                                      定时器3初始化
  55          //--------------------------------------------------------------------------------------------------/
C51 COMPILER V8.01   MCU_INIT                                                              08/21/2008 08:59:22 PAGE 2   

  56          void Timer3_Init(unsigned int counts)
  57          {
  58   1              TMR3CN=0x02;                                                            //停止定时器3,清除TF3,系统时钟为时基
  59   1              TMR3RL=~counts+1;                                                       //赋初值 
  60   1              TMR3=TMR3RL;
  61   1              EIE2&=!0x01;                                                            //关T3中断
  62   1              TMR3CN|=0x04;                                                           //启动T3
  63   1      }
  64          
  65          //--------------------------------------------------------------------------------------------------/
  66          //                                                                      DAC初始化
  67          //--------------------------------------------------------------------------------------------------/
  68          void DAC_Init()                                                                                                                                 //DAC初始化
  69          {
  70   1              DAC0CN=0x81;                                                                                                                            //DAC允许, 右对齐方式
  71   1      }
  72          
  73          //--------------------------------------------------------------------------------------------------/
  74          //                                                                      PCA初始化
  75          //--------------------------------------------------------------------------------------------------
  76          void PCA_Init()
  77          {
  78   1              
  79   1              PCA0MD=0x03;                                                            //CPU等待时PCA0正常工作;系统时钟的1/4为计数脉冲源溢出中断允许 
  80   1              PCA0CPM0=0x02;                                                          //模块0:8位脉宽调制方式、脉宽调制允许、电平切换匹配中断禁止
  81   1              PCA0CPM1=0x61;                                                          //模块1:正边沿捕捉方式、匹配中断允许
  82   1              EIE1|=0x08;                                                                     //允许PCA0中断
  83   1              PCA0CPH0=0xd0;                                                  
  84   1              CR=0;                                                                           //关PCA0
  85   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    117    ----
   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 + -