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

📄 lpc935init.lst

📁 基于 PLC935单片机的三相漏电检测系统
💻 LST
字号:
C51 COMPILER V8.05a   LPC935INIT                                                           11/26/2007 12:48:21 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE LPC935INIT
OBJECT MODULE PLACED IN Lpc935Init.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Lpc935Init.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"reg935.h"
   2          #include"UserDef.h"
   3          
   4          /****************************************/
   5          /*            CPU   初始化子程序            */
   6          /****************************************/
   7          void Lpc935Init(void)
   8          {
   9   1              AUXR1 = 0x00;
  10   1              
  11   1      //时钟的设置
  12   1              TRIM |= 0x3F;
  13   1              DIVM = 0x00;                //CCLK = Fosc
  14   1      
  15   1      //端口设置
  16   1              P0M1=0xDF;                          //P0.5 设置为推挽输出状态,其余为输入状态
  17   1              P0M2=0x20;
  18   1              P1M1=0xBC;                          //P1.0/P1.1 设置为准双向状态,P1.2/P1.3/P1.6 设置为开漏输出,
  19   1              P1M2=0x4C;                          //其余为输入状态
  20   1              P2M1=0xFF;                  //P2.0 设置为开漏输出,其余为输入状态
  21   1              P2M2=0x01;
  22   1      
  23   1      //------------------------
  24   1      //      ADINS=0xF7;                             //1111 0111, 选择除AD03 外所有channel
  25   1              ADMODA=0x01;                    //0000 0001, 选择转换工作模式,单次转换模式
  26   1              ADMODB=0x60;                    //500Khz < ADC CLK < 3.3Mh,二分频,6M/2 =3M, 0010 0000 = 0x20   12M/4 = 3M  0110 0
             -000 = 0x60
  27   1              ADCON0=0x00;                    //选择转换触发模式,立即启动,不中断,0000 0101
  28   1              ADCON1=0x00;
  29   1              EADEE=0;                                //ADC/EEPROM中断不使能
  30   1      
  31   1      
  32   1      // RTC 设置
  33   1              IEN0 = 0xC0;                            //使能RTC中断,使能EA中断        *为什么在IEN0中已经将EWDRT = 1,下面还要重复什么意思?*
  34   1              EWDRT = 1;                                      //允许看门狗/时钟中断 (WDT用作看门狗定时器,作用?为何又没有WDL) 因为看门狗中断和RTC共用一
             -个中断向量,
  35   1                                          //所以要将看门狗定时功能开启,但不需要看门狗功能,将看们狗停止运行。
  36   1              WDCON = 0xE0;                           //关闭看门狗中断
  37   1              RTCH = RTC_RELOAD_H;
  38   1              RTCL = RTC_RELOAD_L;            //CCLK=6MHz , 1s 中断1次时,RTC的定时值
  39   1              RTCCON = 0x63;                          //开启RTC模块
  40   1      
  41   1      //------------------------
  42   1              PCONA = 0x25;               // 将不用的模块内部始终禁止
  43   1              
  44   1      //------------------------
  45   1              TMOD = 0x11;                        //设定T0为方式1,T1为方式1,定时器状态,由TR0和TR1起停
  46   1              TH0 = TIME_10ms_H;                  //设定定时时间为10ms
  47   1              TL0 = TIME_10ms_L;
  48   1      
  49   1      //UART 设置     
  50   1              //TH1 = 0xf3;
  51   1              //TL1 = 0xf3;                           //波特率为4800
  52   1              //PCON = 0x80;                      //波特率倍增
  53   1              
C51 COMPILER V8.05a   LPC935INIT                                                           11/26/2007 12:48:21 PAGE 2   

  54   1              SSTAT = 0x00;                       //双缓冲器禁止
  55   1              SCON = 0x40;                        //串行口方式1
  56   1              BRGCON = 0x00;                  //还是BRGCON = 0X02???难道是为了下面BRGR可以写时间常数?因为当BRGEN=1是,不可

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -