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

📄 newdetector_v10.lst

📁 TSL256源程序驱动!通过其IIC口采集环境光光强
💻 LST
字号:
C51 COMPILER V8.15   NEWDETECTOR_V10                                                       12/25/2008 21:36:26 PAGE 1   


C51 COMPILER V8.15, COMPILATION OF MODULE NEWDETECTOR_V10
OBJECT MODULE PLACED IN .\NewDetector_v10.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Inc\NewDetector_v10.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND PRINT(.\New
                    -Detector_v10.lst) OBJECT(.\NewDetector_v10.obj)

line level    source

   1          //**********************************************************
   2          //**             主程序                                   **
   3          //**          单片机: STC12C5410AD 主频: 24MHz          **
   4          //**              Jumping <2008.04.20>              **
   5          //**********************************************************
   6          
   7          
   8          //#include <REGx051.H>                                                          // AT89C4051头文件
   9          #include "../inc/STC12C5410AD.H"                                        // AT89C4051头文件
  10          #include "def.h"                                                                        // 类型定义文件
  11          #include "config.h"                                                                     // 参数配置头文件
  12          #include "uart.h"                                                                       // uart通讯程序头文件
  13          #include "time0.h"                                                                      // 定时器0中断程序
  14          #include "IIC.h"                                                                        // IIC驱动程序头文件
  15          //#include "pwm.h"                                                                      // pwm头文件
  16          
  17          // *** 全局变量定义 ***
  18          
  19          INT data curt_brit;                                                             // 当前亮度
  20          
  21          uchar data idval;//for test
  22          
  23          // *** 函数声明 ***
  24          void delay_10ms (uchar count);
  25          /*******************************************************************************
  26          * 名    称: InitSys
  27          * 功    能: 系统初始化
  28          * 入口参数: 无
  29          * 出口参数: 无
  30          *******************************************************************************/
  31          void InitSys(void)
  32          {
  33   1              EA=0;
  34   1              P1=0XFF;
  35   1              P3=0XFF;
  36   1              DRE=0;            //RS485 处于收状态
  37   1      
  38   1              Set_clk_div(IDLE_CLK_DIV_BY_1);  //设置时钟分频
  39   1              SET_T0_DIV_BY_12;                       //设置T0的速度0=12T
  40   1              SET_T1_DIV_BY_12;                           //设置T1的速度0=12T
  41   1              SET_UART_M0DIV_BY_12;                   //设置uart模式0的速度。0,12t速度。1是2t速度。 
  42   1      
  43   1              DISABLE_ADC_INT;                                //ADC接口中断取消
  44   1              DISABLE_SPI_INT ;                       //SPI接口中断取消
  45   1              //p1.1-SCL P1.2-SDA  P3.3 TO OC OUT
  46   1              set_p1_mode(0x06,0x06);                 //设置P1端口输出模式  00-标准I/o  | 01-推挽  | 00-输入  | 00-开漏  
  47   1              set_p3_mode(0x08,0x08);                 //设置P3端口输出模式  00-标准I/o  | 01-推挽  | 00-输入  | 00-开漏  
  48   1              
  49   1      //      WDT_DISABLE;                                    //看门狗取消
  50   1              WDT_CONTR=0x3d;                                 //看门狗打开2.23s
  51   1      
  52   1              DISABLE_LVD_INT;                                //低电压中断取消
  53   1              
  54   1              curt_brit=50;                                   //初始化照度值50Lux
C51 COMPILER V8.15   NEWDETECTOR_V10                                                       12/25/2008 21:36:26 PAGE 2   

  55   1              
  56   1              uart_init();                                    // 初始化串口
  57   1              timer0_init();                                  // 定时器0初始化
  58   1              InitTsl256x();                  // 初始化Tsl2561
  59   1      
  60   1              EA=1;
  61   1      }
  62          /*******************************************************************************
  63          * 名    称: main
  64          * 功    能: 主程序
  65          * 入口参数: 无
  66          * 出口参数: 无
  67          *******************************************************************************/
  68          void main (void)
  69          {
  70   1      
  71   1              LED = 0;                                                        // 开LED
  72   1              WDT_CONTR=0x3d;                                 //看门狗打开2.23s
  73   1              
  74   1              delay_10ms(50);                                         // 延时500mS
  75   1              WDT_CONTR=0x3d;                                 //看门狗打开2.23s
  76   1      
  77   1              InitSys();                          //系统初始化
  78   1              WDT_CONTR=0x3d;                                 //看门狗打开2.23s
  79   1              
  80   1      //      LED = 0;
  81   1              //while(3!=TSL2561_read_byte(REG_CTR)) //write 03 to 00Reg  and read the 00Reg val Must be 03!Then is OK!
             -!
  82   1      
  83   1              //i=CalculateLux(1,2,9999,516,0);
  84   1              EA  = 1;                                                        // 开中断
  85   1              REN = 1;                                                        // 允许UART接收
  86   1              
  87   1              link_cont=0;
  88   1              while (1)                                                       // 主循环
  89   1              {
  90   2                      if(link_cont>500)                               //RS485连接超时(10Ms*500)灯具输出全亮!
  91   2                      {
  92   3                              
  93   3                              if(ccctmp>=100)//(10Ms*200)
  94   3                              {
  95   4                                      ccctmp=0;
  96   4                                      LED=0;
  97   4                                      delay_10ms(10);
  98   4                                      LED=1;
  99   4                                      delay_10ms(100);
 100   4                                      LED=0;
 101   4                                      delay_10ms(10);
 102   4                                      LED=1;
 103   4                              } 
 104   3                              
 105   3                              if(ccctmp>50)
 106   3                              {
 107   4                              WDT_CONTR=0x3d;                                 //看门狗打开2.23s
 108   4                              }
 109   3              
 110   3                      }else
 111   2                      {       
 112   3                              if(ccctmp>300)                          //RS485连接超时(10Ms*500)灯具输出全亮!
 113   3                              {
 114   4                                      ccctmp=0;
 115   4                                      curt_brit=GetLux();
C51 COMPILER V8.15   NEWDETECTOR_V10                                                       12/25/2008 21:36:26 PAGE 3   

 116   4                              }
 117   3      
 118   3                              if(ccctmp>50)
 119   3                              {
 120   4                              WDT_CONTR=0x3d;                                 //看门狗打开2.23s
 121   4                              }
 122   3      
 123   3                      }
 124   2      
 125   2              }
 126   1      }
 127          
 128          
 129          /*******************************************************************************
 130          * 名    称: delay_10ms
 131          * 功    能: 延时10毫秒子程序, a(2b+3)*12/11.0592
 132          * 入口参数: count: 要延时的10mS数
 133          * 出口参数: 无
 134          *******************************************************************************/
 135          void delay_10ms (uchar count)
 136          {
 137   1              uchar a, b;
 138   1      
 139   1              for ( ; count!=0; count--)
 140   1              {
 141   2                      for (a=22; a!=0; a--)
 142   2                      {
 143   3                              for (b=207; b!=0; b--) ;
 144   3                      }
 145   2              }
 146   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    214    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   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 + -