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

📄 digairpress.lst

📁 51.rar
💻 LST
字号:
C51 COMPILER V7.02b   DIGAIRPRESS                                                          12/10/2005 18:50:58 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE DIGAIRPRESS
OBJECT MODULE PLACED IN DigAirPress.OBJ
COMPILER INVOKED BY: E:\EDATOOLS\KEILC7.0\C51\BIN\C51.EXE DigAirPress.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*****************************************/
   2          /* Copyright (c) 2005, 通信工程学院      */
   3          /* All rights reserved.                  */
   4          /* 作    者:戴 佳                                               */
   5          /*****************************************/
   6          
   7          #include "DigAirPress.h"
   8          
   9          void display();
  10          
  11          /* 定时器0中断 */
  12          void timer0() interrupt 1 using 1
  13          {
  14   1              uint x,y;
  15   1              uint fo;
  16   1      
  17   1              ET0 = 0;                                // 关闭定时器0中断
  18   1              count++;
  19   1              if (count == 10)                        // 500ms
  20   1              {
  21   2                      TR1 = 0;                        // 停止计数器1
  22   2                      count = 0;
  23   2                      x = TH1;
  24   2                      y = TL1;
  25   2                      
  26   2                      /* 计算频率值,由于是500ms所以需乘以2 */
  27   2                      fo = (x*256+y)*2;
  28   2                      
  29   2                      /* 根据推算出来的公式 P=20fo/K+9 计算气压值 */
  30   2                      PressVal = (uint)(20*(float)(fo)/K+9);  
  31   2      
  32   2                      /* 显示函数,将计算出的PressVal值通过5位数码管(4位数字和1位小数点)
  33   2                      显示出来,显示精度为0.1,即保留小数点后一位。此函数本例中略去。 */      
  34   2                      display();
  35   2                      
  36   2                      /* 计数器1清0 */
  37   2                      TH1 = 0;
  38   2                      TL1 = 0;                
  39   2          }
  40   1      
  41   1              /* 重置TH0和TL0 */
  42   1              TH0 = -50000/256;
  43   1              TL0 = -50000%256;
  44   1      
  45   1              ET0 = 1;                                // 打开定时器0中断
  46   1              TR1 = 1;                                // 启动计数器1
  47   1      
  48   1              return;
  49   1      }
  50          
  51          /* 主程序 */
  52          void main(void)
  53          {
  54   1              EA = 1;
  55   1              ET0 = 1;                        // 打开定时器0中断
C51 COMPILER V7.02b   DIGAIRPRESS                                                          12/10/2005 18:50:58 PAGE 2   

  56   1              
  57   1              /* 设置T1为16位计数器,T0为16位定时器 */
  58   1              TMOD = 0x51;
  59   1              
  60   1              /* 定时器0为50ms定时 */
  61   1              TH0 = -50000/256;
  62   1              TL0 = -50000%256;
  63   1              
  64   1              /* 定时器1从0开始计数 */
  65   1              TH1 = 0;
  66   1              TL1 = 0;
  67   1      
  68   1              TR0 = 1;                        // 启动定时器0
  69   1              TR1 = 1;                        // 启动计数器1
  70   1      
  71   1              count = 0;
  72   1              
  73   1              /* 开始无限循环,等待中断到来 */
  74   1              while (1);              
  75   1      
  76   1      }
  77          
  78          void display(void)
  79          {
  80   1              //本例中略去
  81   1      }


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