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

📄 ad转换12位.lst

📁 ad1674转换试验
💻 LST
字号:
C51 COMPILER V8.02   AD转换12位                                                            07/23/2008 15:27:50 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE AD转换12位
OBJECT MODULE PLACED IN .\AD转换12位.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\AD转换12位.c BROWSE DEBUG OBJECTEXTEND PRINT(.\AD转换12位.lst) OBJECT
                    -(.\AD转换12位.obj)

line level    source

   1          #include<reg51.h>
   2          #include<stdio.h>
   3          #include<intrins.h>
   4          
   5          sbit  L1=P3^3;
   6          sbit  L2=P3^2;
   7          sbit  L3=P3^1;
   8          sbit  L4=P3^0;
   9                         //定义端口
  10          sbit CE=P1^4;
  11          sbit CS=P1^1;                 //定义端口
  12          sbit RC=P1^3;
  13          sbit A0=P1^2;
  14          sbit STS=P1^0;
  15          
  16          unsigned char Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,
             -0x87,0xFF,0xEF};
  17           
  18          static unsigned char i,j,w,p,q,r,t,a,b,c,d,e,f,g,h;
  19          
  20          unsigned long l,k,m,n,s;
  21            
  22          
  23          Delay(ms)
  24           {
  25   1            while(ms--)
  26   1                      {
  27   2                      unsigned char i;
  28   2                      for(i=0;i<200;i++)
  29   2                       {
  30   3                         ;
  31   3                         }
  32   2                      
  33   2          }
  34   1         }
  35          
  36          void INIT_ADC()
  37          {
  38   1              CE=0;
  39   1              CS=0;
  40   1              RC=0;
  41   1              A0=1;
  42   1              CE=1;
  43   1              while(STS==1);
  44   1              CE=0;
  45   1      }
  46          
  47          
  48          
  49          
  50          void main()
  51          {
  52   1              TH0=(65535-5000)/256;         // 开启记时器设置
  53   1              TL0=(65535-5000)%256;
C51 COMPILER V8.02   AD转换12位                                                            07/23/2008 15:27:50 PAGE 2   

  54   1          
  55   1              EA=1;
  56   1              ET0=1;
  57   1              TMOD=0x01;
  58   1              TR0=1;
  59   1      
  60   1              while(1)
  61   1              {       
  62   2              
  63   2                      INIT_ADC();       //启动ad转换
  64   2      
  65   2      
  66   2                      STS=0;
  67   2                      A0=0;
  68   2                      CS=1;
  69   2                      CE=1;   
  70   2                      RC=1;
  71   2                      CE=0;
  72   2                      CS=0;
  73   2                      _nop_();
  74   2      
  75   2                      CE=1;
  76   2                      //传值
  77   2                      k=P0;
  78   2                      CE=0;       
  79   2                      
  80   2                      _nop_();       //取高八位
  81   2                              
  82   2                      CS=1;
  83   2                      CE=1;
  84   2                      A0=1;   
  85   2                      CE=0;
  86   2                      CS=0;
  87   2      
  88   2                      _nop_();
  89   2      
  90   2                      CE=1;
  91   2                      //传值
  92   2                      l=P0;
  93   2                      CE=0;       //取低四位
  94   2      
  95   2                      k=k<<4;
  96   2                      l=l>>4;
  97   2                      m=k+l;
  98   2      s=(int)m;
  99   2      m=s*5000/4096;
 100   2      
 101   2                 
 102   2                
 103   2                 a=m%10;           //数据处理
 104   2                     b=m/10%10;
 105   2                     c=m/100%10;
 106   2                     d=m/1000;        
 107   2               
 108   2               
 109   2                 
 110   2               }      
 111   1      }                        
 112          
 113          void Timer0() interrupt 1       //记时器显示程序
 114                  {
 115   1                      
C51 COMPILER V8.02   AD转换12位                                                            07/23/2008 15:27:50 PAGE 3   

 116   1                      
 117   1                 TH0=(65535-5000)/256;
 118   1                 TL0=(65535-5000)%256;
 119   1                      
 120   1                      
 121   1              
 122   1                 L1=0;
 123   1                 P2=Tab[a+10];
 124   1                 Delay(1);
 125   1                 L1=1;
 126   1      
 127   1                 L2=0;
 128   1                 P2=Tab[b];
 129   1                 Delay(1);
 130   1                 L2=1;  
 131   1              L3=0;
 132   1                 P2=Tab[c];
 133   1                 Delay(1);
 134   1                 L3=1;
 135   1                      
 136   1                 L4=0;
 137   1                 P2=Tab[d];
 138   1                 Delay(1);
 139   1                 L4=1;
 140   1                      
 141   1                      }


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