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

📄 ads7822.lst

📁 关键字:LCD液晶显示屏 串行 并行 ST7920 RT12864
💻 LST
字号:
C51 COMPILER V7.06   ADS7822                                                               05/31/2007 05:03:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ADS7822
OBJECT MODULE PLACED IN ADS7822.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADS7822.C LARGE

stmt level    source

   1          
   2          #include <reg52.h>
   3          #include "string.h"
   4          #include <stdio.h>
   5          char    buffer[2]={0x00,0x00};
   6          bit     tempbit;
   7          sbit cs = P2^7;
   8          sbit dout= P2^6;
   9          sbit dclk =P2^5;
  10          typedef unsigned short int u_int; 
  11          typedef unsigned char  u_char;
  12          void delayms(u_int sec)                 
  13                  {
  14   1              u_int j;
  15   1              for(j=0;j<sec;j++)
  16   1                      {
  17   2                      j=j;
  18   2                      j=j;
  19   2                      }
  20   1                      
  21   1              }
  22          void delayUs(char n)
  23          {
  24   1         n*=8;
  25   1         for(;n>0;n--);
  26   1      }
  27          void wputs(char s[]);
  28          xdata char s[20];
  29          xdata int value_bak;
  30          xdata long tt;
  31          int GetAdc(void)
  32                  {
  33   1              int value=0;
  34   1          long int rt;
  35   1              long int tx;
  36   1          long k;
  37   1              u_char  i,j,num;
  38   1          delayUs(100);
  39   1              dout=1;                         //设置DOUT端口为输入
  40   1      
  41   1              buffer[1]=0x00;
  42   1              buffer[0]=0x00;
  43   1              value=0;
  44   1              cs=1;
  45   1      
  46   1              num=0;
  47   1          dclk=0;
  48   1              delayUs(10);
  49   1          cs=0;
  50   1                      
  51   1          for(j=0;j<2;j++)
  52   1                      {
  53   2                        dclk=0;
  54   2                    delayUs(10);
  55   2                        dclk=1;
C51 COMPILER V7.06   ADS7822                                                               05/31/2007 05:03:25 PAGE 2   

  56   2                        delayUs(10);
  57   2                        dclk=0;
  58   2                      }
  59   1          delayUs(10);
  60   1              //wputs("\n\rA/D : ");
  61   1              //若DOUT值不是0,则AD出错
  62   1              if(dout!=0) 
  63   1                  {
  64   2                       dclk=0;
  65   2                       strcpy(s,"AdcErr");
  66   2                       return(0);
  67   2                      }                       
  68   1              
  69   1          //wputs("::");
  70   1              
  71   1              for(j=0;j<12;j++)
  72   1                      {
  73   2                      dclk=1;
  74   2                      delayUs(20);
  75   2                  dclk=0;
  76   2                      delayUs(10);
  77   2              
  78   2              value=value<<1;
  79   2                  if(dout) value |= 1;
  80   2                  delayUs(10);
  81   2                      }
  82   1          value  &=0xfff;
  83   1              value_bak =(value_bak*5 + value)/6;
  84   1      
  85   1          sprintf(s,"%d ",value_bak);
  86   1          return(value_bak);
  87   1              }
*** WARNING C280 IN LINE 34 OF ADS7822.C: 'rt': unreferenced local variable
*** WARNING C280 IN LINE 35 OF ADS7822.C: 'tx': unreferenced local variable
*** WARNING C280 IN LINE 36 OF ADS7822.C: 'k': unreferenced local variable
*** WARNING C280 IN LINE 37 OF ADS7822.C: 'i': unreferenced local variable
  88          
  89          int Get_R_Str(void)
  90                  {
  91   1          long int rt;
  92   1          long k;
  93   1              char sng=0;
  94   1          rt=((long)(value_bak-82)*194L)/40L;
  95   1              if( rt<0)
  96   1                      {
  97   2                    rt=-rt;
  98   2                    //sprintf(s,"-%d.%d ",(int)(rt/100L),(int)(rt%100L)); 
  99   2                              }
 100   1          else ;//sprintf(s,"%d.%d ",(int)(rt/100L),(int)(rt%100L));
 101   1          return(0);
 102   1              }
*** WARNING C280 IN LINE 92 OF ADS7822.C: 'k': unreferenced local variable
 103          
 104          struct t_R_table
 105          {
 106             int t;
 107             long int R;  //R=Rt X 100
 108          }  RtTab[15]=
 109          {
 110             -100,-390,
 111             000,0,
 112             100,390,
C51 COMPILER V7.06   ADS7822                                                               05/31/2007 05:03:25 PAGE 3   

 113             500,1950,
 114             1000,3900,
 115             1500,5840,
 116             2000,7780,
 117             2500,9730,
 118             3000,11680,   
 119             3500,13610,
 120             4000,15540,
 121             4500,17470,
 122             5000,19400,
 123             6500,25150,
 124             8000,30900
 125          };
 126          
 127          
 128          
 129          int Get_t_Str(void)
 130                  {
 131   1          long int rt;
 132   1          long k;
 133   1          char i;
 134   1              char sng=0;
 135   1          rt=((long)(value_bak-82)*194L)/40L;
 136   1          for(i=1;i<15;i++)
 137   1                {
 138   2                 if(  RtTab[i].R < rt ) continue;
 139   2                 else  break;
 140   2                 }
 141   1          if(i==14)
 142   1                 {
 143   2                   sprintf(s,"xxxxxx");
 144   2                       return(0);
 145   2                      }
 146   1          k=(RtTab[i].t-RtTab[i-1].t)*1000L/(RtTab[i].R-RtTab[i-1].R);
 147   1              tt=RtTab[i-1].t+( (rt-RtTab[i-1].R)*k)/1000L;
 148   1              if(tt<0) 
 149   1              {
 150   2                tt=-tt;
 151   2            tt +=5;
 152   2                sprintf(s,"-%d.%d",(int)(tt/100L),(int)((tt/10)%10L));
 153   2                }
 154   1          else 
 155   1              {
 156   2                tt+=5;
 157   2                sprintf(s,"%d.%d",(int)(tt/100L),(int)((tt/10)%10));
 158   2               }
 159   1          return(0);
 160   1              }
 161          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1044    ----
   CONSTANT SIZE    =     31    ----
   XDATA SIZE       =    118      32
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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