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

📄 led.lst

📁 一个集合DS18B20的多路温度测量系统,加上adc0809数据采集,加上1602液晶显示的综合数据处理系统,有较高学习价值.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 119   2                                      C  =  0; 
 120   2                                      n  =  0;
 121   2                              }
 122   2                              else
 123   2                              {
 124   2      */                              
 125   2      
 126   2                                      ledout = 0xff;
 127   2                                      ledout = ledtable[display[0]];
 128   2                                      Disdata = ledout;
 129   2                                      if(tmp < 10)                              //小数点判别
 130   2                                      {
 131   3                                              E = 0;
 132   3                                      }
 133   2                                      A  =  0;                                                   
 134   2                                      D  =  1;                                                
 135   2                                      C  =  0; 
 136   2                                                                                      //第6个数码显示完毕,转向7位显示                         
 137   2                      //      }
 138   2                              place = 6; 
 139   2                              break; 
 140   2                      case 6:
 141   2                              A  =  0;                                                   
 142   2                              D  =  1;                                                
 143   2                              C  =  0;
 144   2                              ledout = 0xff;
 145   2                              ledout = ledtable[display[1]];
 146   2                              Disdata = ledout;
 147   2                              if((tmp>=10) && (tmp<100))                                //小数点判别
 148   2                              {
 149   3                                      E = 0;
 150   3                              } 
 151   2                              A  =  1;                                                   
 152   2                              D  =  0;                                                
 153   2                              C  =  0;
 154   2                                                      
 155   2                              place = 7;                                                      //第7个数码显示完毕,转向8位显示
 156   2                              break;  
 157   2                      case 7:
 158   2                              A  =  1;                                                   
 159   2                              D  =  0;                                                
 160   2                              C  =  0;
 161   2                              ledout = 0xff;
 162   2                              ledout = ledtable[display[2]];
 163   2                              Disdata = ledout;
 164   2                              A  =  0;                                                   
 165   2                              D  =  0;                                                
 166   2                              C  =  0;                
 167   2                              place = 0;                                                      //第8个数码显示完毕,转向1位显示
 168   2                              break;                           
 169   2              }       
 170   1      }
 171          
 172          
 173          /************将实际电压值转化为LED要显示的BCD码*******************/
 174          void test(void)
 175          {         
 176   1            unsigned int int_disv;
 177   1            unsigned int int_number;
 178   1                unsigned int int_temp;
C51 COMPILER V8.02   LED                                                                   01/17/2007 05:33:06 PAGE 4   

 179   1      
 180   1              if(power < 10)
 181   1              {
 182   2                      int_disv =  (unsigned int)(power * 10);
 183   2                      disv[0]  =  int_disv / 10;                                    //取商 取出十位数字 送第一个LED显示
 184   2                      disv[1]  =  int_disv % 10;                                                //取余,取出个位数字 送第二个LED显示
 185   2              }
 186   1              else
 187   1              {
 188   2                      int_disv =  (unsigned int)(power * 10);
 189   2                      disv[0]  =  int_disv / 100;                                   //取商 取出十位数字 送第一个LED显示
 190   2                      disv[1]  =  (int_disv % 100)/10;                                                  //取余,取出个位数字 送第二个LED显示
 191   2              }                                     
 192   1       
 193   1       
 194   1      
 195   1      
 196   1               
 197   1              if(current < 10)
 198   1              {
 199   2                      int_number =  (unsigned int)(current*100);   //对ADC0809检查出的电压进行取整
 200   2                      disa[0]    =  int_number / 100;                          //取出第1位送入第三个数码管
 201   2                  disa[1]    =  ((int_number % 100) / 10);     //取出第2位送入第四个数码管
 202   2                      disa[2]    =  (int_number % 10);                         //取出小数位送入第五个数码管
 203   2              }
 204   1              else
 205   1              {
 206   2                  int_number =  (unsigned int)(current*100);   //对ADC0809检查出的电压进行取整
 207   2                      disa[0]    =  int_number / 1000;                     //取出第1位送入第三个数码管
 208   2                  disa[1]    =  ((int_number % 1000) / 100);   //取出第2位送入第四个数码管
 209   2                      disa[2]    =  ((int_number %100) /10);          //取出小数位送入第五个数码管
 210   2              } 
 211   1      
 212   1      
 213   1      
 214   1      
 215   1      
 216   1              if(tmp < 10)
 217   1              {
 218   2                      int_temp =  (unsigned int)(tmp*100);   //对ADC0809检查出的电压进行取整
 219   2                      display[0]         =  int_temp / 100;                            //取出第1位送入第三个数码管
 220   2                  display[1]    =  ((int_temp % 100) / 10);     //取出第2位送入第四个数码管
 221   2                      display[2]         =  (int_temp % 10);                   //取出小数位送入第五个数码管
 222   2              }
 223   1              else
 224   1              {
 225   2                  int_temp =  (unsigned int)(tmp*100);   //对ADC0809检查出的电压进行取整
 226   2                      display[0]         =  int_temp / 1000;               //取出第1位送入第三个数码管
 227   2                  display[1]    =  ((int_temp % 1000) / 100);   //取出第2位送入第四个数码管
 228   2                      display[2]         =  ((int_temp %100) /10);            //取出小数位送入第五个数码管
 229   2              } 
 230   1      }                                                                                  
 231             


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    849    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9       7
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.02   LED                                                                   01/17/2007 05:33:06 PAGE 5   

   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 + -