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

📄 timer.lst

📁 一个温度采集系统的单片机程序与WINDOWS 串口通信程序
💻 LST
字号:
C51 COMPILER V7.00  TIMER                                                                  03/07/2005 21:01:09 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN timer.OBJ
COMPILER INVOKED BY: C:\PROGRA~1\Keil\C51\BIN\c51.exe timer.c DB OE SMALL ROM(LARGE)

stmt level    source

   1          #include<reg51.h>
   2          
   3          unsigned int data       t0_count;
   4          unsigned int data t1_count0;
   5          unsigned int data t1_count1;
   6          
   7          
   8          
   9          //////////////////////////////*
  10          /*
  11          名称:定时器0 ISR
  12          功能:查询告警标志,并作相应处理
  13          //////////////////////////////*/
  14          void timer0(void) interrupt 1 using 3
  15          {
  16   1      ET0     =0;
  17   1      TH0     =0x4C;
  18   1      TL0     =0x00;
  19   1         while((--t0_count)==0 )
  20   1         {
  21   2      //      communicate_ds_pc();          //查询DS18B20告警标志,若温度超限,主动请求数据传送/通知PC处理
  22   2              t0_count=36000;
  23   2              break;
  24   2         }
  25   1      ET0     =1;
  26   1      }
  27          
  28          //////////////////////////////*
  29          /*
  30          名称:定时器1 ISR
  31          功能:DS18B20定时温度采集,存储
  32          //////////////////////////////*/
  33          void timer1(void) interrupt 3 using 3
  34          {
  35   1      ET1     =0;
  36   1      TH0     =0x4C;
  37   1      TL0     =0x00;
  38   1              while( (--t1_count0)==0 )
  39   1            {
  40   2                      while( (--t1_count1)==0 )
  41   2                      {
  42   3      //                      collect_ds();              //命令DS18B20开始温度采集,数据按封装
  43   3                              t1_count0       =900;
  44   3                              t1_count1       =480;
  45   3                              break;
  46   3                      }
  47   2                      t1_count0       =900;
  48   2                      break;
  49   2              }
  50   1      ET1     =1;                  //(十进制,两位整数,两位小数,小数在低地址),存入EEPROM
  51   1      }
  52          
  53          
  54          main()
  55          {
C51 COMPILER V7.00  TIMER                                                                  03/07/2005 21:01:09 PAGE 2   

  56   1      //定时器0,定时器1定时计数单元赋初值,可由PC命令修改
  57   1      t0_count        =36000;    //定时30 minute
  58   1      t1_count0       =900;      //定时6 hour 
  59   1      t1_count1       =480;
  60   1      //初始化定时器0,定时器1
  61   1      TMOD    =0x11;
  62   1      TH0     =0x4C;           //50ms中断一次,初始值0x4C00  
  63   1      TL0     =0x00;
  64   1      TR0     =1;
  65   1      
  66   1      TH1     =0x4C;           //50ms中断一次
  67   1      TL1     =0x00;
  68   1      TR1     =1;
  69   1      
  70   1      //使能定时器中断,串行口中断,外部中断0
  71   1      IP      =0x01;             //外部中断0中断优先级最高
  72   1      ET0     =1;
  73   1      //EX0   =1;
  74   1      ET1     =1;
  75   1      //ES    =1;
  76   1      EA      =1;
  77   1      
  78   1      //无限循环,等待
  79   1      while(1);
  80   1      
  81   1      }


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