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

📄 main.lst

📁 C8051F310单片机控制ADS7812源码
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  06/13/2008 16:37:11 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <C8051F310.H>
   2          #include <intrins.h>
   3          
   4          sbit    daclk = P3^4;
   5          sbit    da        = P2^7;
   6          sbit    convn = P2^6;
   7          sbit    csn             = P2^5;
   8          sbit    busyn   = P2^4;
   9          
  10          sbit    led1 = P2^3;                    //right
  11          sbit     led2 = P2^2;
  12          sbit     led3 = P2^1;
  13          sbit     led4 = P1^7;                   //left
  14          
  15          sbit    RL1 = P0^6;
  16          sbit    RL2 = P0^5;
  17          sbit    sw = P0^7;
  18          
  19          sbit    key1 = P3^1;
  20          sbit    key2 = P3^2;
  21          sbit    key3 = P3^3;
  22          
  23          code char  table[16] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
  24          void display(char buf,char num)
  25          {
  26   1      char i;
  27   1              led1=led2=led3=led4=1;
  28   1              if(buf>0x0f)
  29   1              {
  30   2                      buf = 0x0;
  31   2              }
  32   1              i = table[buf];
  33   1              P1 = i;
  34   1              switch(num)
  35   1              {
  36   2                      case 0:
  37   2                              led4 = 0;
  38   2                      break;
  39   2                      case 1:
  40   2                              led3 = 0;
  41   2                      break;
  42   2                      case 2:
  43   2                              led2 = 0;
  44   2                      break;
  45   2                      case 3:
  46   2                              led1 = 0;
  47   2                      break;
  48   2                      default:
  49   2                              led1=led2=led3=led4=1;
  50   2                      break;
  51   2              }
  52   1      }
  53          
  54          void ad_init()
  55          {
C51 COMPILER V7.50   MAIN                                                                  06/13/2008 16:37:11 PAGE 2   

  56   1              csn = 0;
  57   1              daclk =0 ;
  58   1              da = 1;
  59   1              convn = 1;
  60   1              busyn = 1;
  61   1              
  62   1      }
  63          void ad_conv()
  64          {
  65   1                      
  66   1              csn = 0;
  67   1              daclk = 0;
  68   1              da = 1;
  69   1              busyn = 1;
  70   1              convn = 0;
  71   1              _nop_;
*** WARNING C275 IN LINE 71 OF MAIN.C: expression with possibly no effect
  72   1              _nop_;
*** WARNING C275 IN LINE 72 OF MAIN.C: expression with possibly no effect
  73   1              convn = 1;
  74   1      
  75   1      }
  76          int read_ad()
  77          {
  78   1      char i,j;
  79   1      int tmp=0;
  80   1              for(i = 0;i<16;i++)
  81   1              {
  82   2                      tmp=tmp<<1;
  83   2                      daclk = 1;
  84   2                      _nop_;
*** WARNING C275 IN LINE 84 OF MAIN.C: expression with possibly no effect
  85   2                      _nop_;
*** WARNING C275 IN LINE 85 OF MAIN.C: expression with possibly no effect
  86   2                      _nop_;
*** WARNING C275 IN LINE 86 OF MAIN.C: expression with possibly no effect
  87   2                      
  88   2                      _nop_;
*** WARNING C275 IN LINE 88 OF MAIN.C: expression with possibly no effect
  89   2                      daclk = 0;
  90   2                      if(da)
  91   2                      {
  92   3                              //tmp=tmp|(0x0001<<i);
  93   3                              tmp=tmp+1;
  94   3                      }
  95   2                      _nop_;
*** WARNING C275 IN LINE 95 OF MAIN.C: expression with possibly no effect
  96   2              //      _nop_;
  97   2              //      _nop_;
  98   2                      
  99   2              //      tmp=tmp<<1;
 100   2              }
 101   1      //      tmp=tmp<<1;
 102   1              return(tmp);
 103   1      }
*** WARNING C280 IN LINE 78 OF MAIN.C: 'j': unreferenced local variable
 104          void sys_init()
 105          {
 106   1              sw = 1;
 107   1              key1 = key2 = key3 = 1;
 108   1              led1 = led2 = led3 = led4 = 1;
 109   1              RL1 = 0;
C51 COMPILER V7.50   MAIN                                                                  06/13/2008 16:37:11 PAGE 3   

 110   1              RL2 = 0;
 111   1      }
 112          void T2buf(int t,char* buf)
 113          {
 114   1              *buf = (t>>12)&0x000f;
 115   1              *(buf+1) = (t>>8)&0x000f;
 116   1              *(buf+2) = (t>>4)&0x000f;
 117   1              *(buf+3) = t&0x000f;
 118   1      }
 119          void delay()
 120          {
 121   1      char i,j;
 122   1              for(i=0;i<4;i++)
 123   1                      for(j = 0;j<20;j++);
 124   1      }
 125          void main()
 126          {
 127   1      char dbuf[4]={0,1,2,3};
 128   1      char ledn=0;
 129   1      char dly =0;
 130   1      char Flag_Ad = 0;
 131   1      char Flag_Key1 = 0;
 132   1      char Flag_Key2 = 0;
 133   1      char Flag_Key3 = 0;
 134   1      int Temp=0;
 135   1      int Tbuf[10];
 136   1      long Tsum =0;
 137   1      char Tnum = 0;
 138   1      char num=0;
 139   1      char keynum1=0;
 140   1      char keynum2=0;
 141   1      char keynum3=0;
 142   1                         XBR1   = 0x40;
 143   1                         PCA0MD = 0X00;       //CLOSE WDT
 144   1                         P3MDOUT = 0X10;
 145   1                         P0MDOUT = 0X60;
 146   1                         P2MDOUT = 0X60;
 147   1                         
 148   1              ad_init();
 149   1              sys_init();
 150   1              while(1)
 151   1              {
 152   2                      
 153   2                      if(busyn)
 154   2                      {
 155   3                              if(Flag_Ad==0)
 156   3                              {
 157   4                                      ad_conv();
 158   4                                      Flag_Ad = 1;
 159   4                              }
 160   3                              else
 161   3                              {
 162   4                              //if(++Tnum>=100)
 163   4                              {
 164   5                              Tnum=0;
 165   5                                      Temp = read_ad();
 166   5                                      Flag_Ad = 0;
 167   5                              }
 168   4                              }
 169   3                      }
 170   2                      
 171   2                      //--------------------------------------
C51 COMPILER V7.50   MAIN                                                                  06/13/2008 16:37:11 PAGE 4   

 172   2                      if(!key1)
 173   2                      {
 174   3                              if(++keynum1>=1)
 175   3                              {
 176   4                                      keynum1 = 0;
 177   4                                      Flag_Key1 = 1;
 178   4                              }
 179   3                      }
 180   2                      else if(!key2)
 181   2                      {
 182   3                              if(++keynum2>=1)
 183   3                              {
 184   4                                      keynum2 = 0;
 185   4                                      Flag_Key2 = 1;
 186   4                              }
 187   3                      }
 188   2                      else if(!key3)
 189   2                      {
 190   3                              if(++keynum3>=1)
 191   3                              {
 192   4                                      keynum3 = 0;
 193   4                                      Flag_Key3 = 1;
 194   4                              }
 195   3                      }
 196   2                      //----------------------------------------
 197   2                      if(Flag_Key1 && key1)
 198   2                      {
 199   3                              RL1 = 0;
 200   3                              RL2 = 0;
 201   3                              Flag_Key1 = 0;
 202   3                      }
 203   2                      else if(Flag_Key2 && key2)
 204   2                      {
 205   3                              RL1 = 1;
 206   3                              RL2 = 0;
 207   3                              Flag_Key2 = 0;
 208   3                      }
 209   2                      else if(Flag_Key3 && key3)
 210   2                      {
 211   3                              RL1 = 0;
 212   3                              RL2 = 1;
 213   3                              Flag_Key3 = 0;
 214   3                      }
 215   2                      //----------------------------------------
 216   2                      display(dbuf[ledn],ledn);
 217   2                      dly++;
 218   2                      if(dly>=10)
 219   2                      {
 220   3                              dly = 0;
 221   3                              ledn ++;
 222   3                              if(ledn >= 4)
 223   3                              {
 224   4                                      ledn = 0;
 225   4                                      if(++num>=50)
 226   4                                      {
 227   5                                              num=0;
 228   5                                              T2buf(Temp,dbuf);
 229   5                                      }
 230   4                              }
 231   3                      }
 232   2                      delay();
 233   2              }
C51 COMPILER V7.50   MAIN                                                                  06/13/2008 16:37:11 PAGE 5   

 234   1      }
*** WARNING C280 IN LINE 135 OF MAIN.C: 'Tbuf': unreferenced local variable
 235                                          
 236                          
 237                          
 238                          
 239                          
 240                          
 241                          
 242                                                          
 243                  


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    672    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     55    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  9 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -