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

📄 common.lst

📁 好东西与大家分享……关于单片机驱动微型打印机和液晶屏的程序!!已经测试过!绝对没有问题
💻 LST
字号:
C51 COMPILER V7.50   COMMON                                                                12/03/2005 12:09:11 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE COMMON
OBJECT MODULE PLACED IN COMMON.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE COMMON.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <head.h> // SFR declarations
   2          void DisplayAll(void)
   3          {
   4   1              write_chinese(0,0,0x10,kong);
   5   1              write_chinese(15,0,0x10,qi);
   6   1              write_chinese(30,0,0x10,nong);
   7   1              write_chinese(46,0,0x10,du);
   8   1              write_chinese(62,0,0x10,kong);
   9   1              write_chinese(77,0,0x10,qi);
  10   1              write_chinese(92,0,0x10,nong);
  11   1              write_chinese(107,0,0x10,du);
  12   1              clear_screen(4);
  13   1              write_chinese(0,0,0x10,wen);
  14   1              write_chinese(0x0f,0,0x10,du);
  15   1              write_chinese(0x3a,0,0x10,nong);
  16   1              write_chinese(0x4a,0,0x10,du);
  17   1              write_chinese(0,2,0x10,shi);
  18   1              write_chinese(0x0f,2,0x10,du);
  19   1      }
  20          
  21          void DisplayNongdu(float value)
  22          {
  23   1      //    unsigned char Nd100,Nd10;
  24   1          unsigned char x,y,i;
  25   1          unsigned int temp;
  26   1      // Nudu100,Nudu10,Nudu1    
  27   1          temp = value*100;
  28   1              x = 0x3a;
  29   1          y = 0;
  30   1              write_chinese(x,y,0x10,nong);
  31   1              write_chinese(x+0x10,y,0x10,du);
  32   1              Nudu100 = 0;
  33   1              i = 4;
  34   1              while(temp >= 100)
  35   1              {
  36   2                       Nudu100++;
  37   2                       temp = temp - 100;
  38   2              }
  39   1              write_chinese(x+(i++)*0x08,y,0x08,number(Nudu100));
  40   1              write_chinese(x+(i++)*0x08,y,0x08,dot);
  41   1              Nudu10 = 0;
  42   1              while(temp >= 10)
  43   1              {
  44   2                       Nudu10++;
  45   2                       temp = temp - 10;
  46   2              }
  47   1              Nudu1 = temp;
  48   1              write_chinese(x+(i++)*0x08,y,0x08,number(Nudu10));
  49   1              write_chinese(x+(i++)*0x08,y,0x08,number(Nudu1));
  50   1      }
  51          unsigned char CalHumidity(unsigned int Count)
  52          {
  53   1              unsigned char temp;
  54   1              if(Count >= 7351)       return(0);
  55   1              else if(Count >= 6728)
C51 COMPILER V7.50   COMMON                                                                12/03/2005 12:09:11 PAGE 2   

  56   1              {
  57   2                      temp = (7351 - Count) * LOW50; 
  58   2              }
  59   1              else if(Count >= 6186)
  60   1              {
  61   2                      temp = 50 + (6728 - Count) * HIGH40;
  62   2              }
  63   1              else if(Count > 6033) 
  64   1              {
  65   2                      temp = 90 + (6186 - Count) * MAX10;
  66   2              } 
  67   1              else
  68   1                      temp = 100;
  69   1              return(temp);
  70   1      }
  71          float CalTemp(unsigned int Count)
  72          {
  73   1              float temp;
  74   1              temp = Count*TempPara - 271.6667 - XIUZHENG;
  75   1              return(temp);
  76   1      }
  77          void DisplayHumidity()
  78          {
  79   1      //    unsigned char d10;
  80   1      // Shidu10,Shidu1;
  81   1          unsigned char x,y,i;
  82   1          unsigned char temp;
  83   1          temp = CalHumidity(HumidityFreq);
  84   1              x = 0;
  85   1          y = 2;
  86   1          i = 2;
  87   1              write_chinese(x,y,0x10,shi);
  88   1              write_chinese(x+i*0x08-1,y,0x10,du);
  89   1              i = 4;
  90   1              Shidu10 = 0;
  91   1              while(temp >= 10)
  92   1              {
  93   2                       Shidu10++;
  94   2                       temp = temp - 10;
  95   2              }
  96   1              Shidu1 = temp;
  97   1              write_chinese(x+(i++)*0x08-3,y,0x08,number(Shidu10));
  98   1              write_chinese(x+(i++)*0x08-4,y,0x08,number(Shidu1));
  99   1              write_chinese(x+(i++)*0x08-5,y,0x08,baifenhao);
 100   1      }
 101          void DisplayTemp()
 102          {
 103   1      //    unsigned char d10;
 104   1      //Wendu10,Wendu1
 105   1          unsigned char x,y,i;
 106   1          unsigned char temp;
 107   1          temp = CalTemp(TempValue);
 108   1              x = 0;
 109   1          y = 0;
 110   1          i = 2;
 111   1              write_chinese(x,y,0x10,wen);
 112   1              write_chinese(x+i*0x08-1,y,0x10,du);
 113   1              i = 4;
 114   1              Wendu10 = 0;
 115   1              while(temp >= 10)
 116   1              {
 117   2                       Wendu10++;
C51 COMPILER V7.50   COMMON                                                                12/03/2005 12:09:11 PAGE 3   

 118   2                       temp = temp - 10;
 119   2              }
 120   1              Wendu1 = temp;
 121   1              write_chinese(x+(i++)*0x08-2,y,0x08,number(Wendu10));
 122   1              write_chinese(x+(i++)*0x08-3,y,0x08,number(Wendu1));
 123   1              write_chinese(x+(i++)*0x08-4,y,0x0e,sheshidu);
 124   1      }
 125          void TestProm(void)
 126          {
 127   1              unsigned char i;
 128   1              if(ZEROFLAG==0)
 129   1              {
 130   2                      ZeroCount = 0;
 131   2                      for(i=0;i<3;i++)
 132   2                              ZeroCount += TestLight();
 133   2                      ZeroCount /= 3;
 134   2                      ZEROFLAG  = 1;
 135   2                      DisplayNongdu(0);
 136   2              }
 137   1              if(READFLAG==0)
 138   1              {
 139   2                      ReadCount = 0;
 140   2                      for(i=0;i<3;i++)
 141   2                              ReadCount += TestLight();
 142   2                      ReadCount /= 3;
 143   2                      READFLAG  = 1;
 144   2                      TestValue = formula(ReadCount,ZeroCount);
 145   2                      if(TestValue > 0.109999) JQOverFlag = 1;
 146   2                      else    JQOverFlag = 0; 
 147   2                      DisplayNongdu(TestValue);
 148   2              } 
 149   1              {
 150   2                      HumidityCount++;
 151   2                      HumidityFreq += TestHumidity();
 152   2                      if(HumidityCount >= 10)
 153   2                      {
 154   3                              HumidityCount = 0;
 155   3                              DisplayHumidity();
 156   3                              HumidityFreq = 0;
 157   3                      }
 158   2              }
 159   1              {
 160   2                      TempCount++;
 161   2                      TempValue += Adc0_sample();
 162   2                      if(TempCount >= 10)
 163   2                      {
 164   3                              TempCount = 0;
 165   3                              DisplayTemp();
 166   3                              TempValue = 0;
 167   3                      }
 168   2              }
 169   1      }
 170          
 171          unsigned int TestLight(void)
 172          {
 173   1              unsigned int temp;
 174   1              TR1     = 0;
 175   1              LED     = 0;      // led on
 176   1              TH1     = 0;
 177   1              TL1     = 0;
 178   1              TR1     = 1;
 179   1              TMR3H   = 0x3C;   // Timer 3 High Byte
C51 COMPILER V7.50   COMMON                                                                12/03/2005 12:09:11 PAGE 4   

 180   1          TMR3L       = 0xB0;   // Timer 3 Low Byte
 181   1          TMR3CN      = 0x04;  // Timer 3 Control Register
 182   1              ENABLE  = 1;      // enable
 183   1              while(!(TMR3CN & 0x80));
 184   1              TMR3CN  = 0x04;
 185   1              while(!(TMR3CN & 0x80));
 186   1              TMR3CN  = 0x00;
 187   1              LED     = 1;      // led off
 188   1              ENABLE  = 0;      // disable
 189   1              TR1     = 0;
 190   1              temp    = TH1*256 + TL1;
 191   1              return(temp);
 192   1      }
 193          unsigned int TestHumidity(void)
 194          {
 195   1              unsigned int temp;
 196   1              
 197   1              TR0     = 0;
 198   1              TH0     = 0;
 199   1              TL0     = 0;
 200   1              TR0     = 1;
 201   1              TMR3H   = 0x3C;   // Timer 3 High Byte
 202   1          TMR3L       = 0xB0;   // Timer 3 Low Byte
 203   1          TMR3CN      = 0x04;  // Timer 3 Control Register
 204   1              while(!(TMR3CN & 0x80));
 205   1              TMR3CN  = 0x04;
 206   1              while(!(TMR3CN & 0x80));
 207   1              TMR3CN  = 0x00;
 208   1              TR0     = 0;
 209   1              temp    = TH0*256 + TL0;
 210   1              return(temp);
 211   1      }
 212          
 213          unsigned int Adc0_sample(void)
 214          {
 215   1      //      ADC0CN |= AD0BUSY;             // Start Conversion
 216   1      //      AMX0CF = 0x00;  // AMUX Configuration Register
 217   1              AD0BUSY = 1;
 218   1              while(!AD0INT); // Wait Conversion is over
 219   1              AD0INT = 0;                     // Clear flag
 220   1      //      POWERMEAR 
 221   1              return ADC0;
 222   1      }


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