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

📄 adc-12.lst

📁 基于8位并行AD和12位串行AD的数字直流电压表
💻 LST
字号:
C51 COMPILER V7.06   ADC_12                                                                07/05/2008 21:52:17 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ADC_12
OBJECT MODULE PLACED IN ADC-12.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADC-12.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"reg51.h"
   2          #include"intrins.h"
   3          #define uchar unsigned char 
   4          #define uint unsigned int
   5          #define nop() _nop_()
   6          #define WEI P2
   7          #define DUAN P0
   8          
   9          code uchar display[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };
  10          data uchar Disp_Data[6]={0,0,0,0,0,0};
  11          /*************变量定义******************/
  12          uint Con_Data=0;
  13          float Vref=2.5;
  14          
  15          /*************函数声明******************/
  16          void delay(uchar j);//
  17          void Data_Process(void);
  18          void led_display(void);
  19          /**************************************/
  20          sbit DOUT=P1^0;
  21          sbit SCLK=P1^1;
  22          sbit CS=P1^2;
  23          
  24          /***************************************/
  25          void delay(uchar j)
  26          {       register i;
  27   1              while(j--)
  28   1              {
  29   2                      for(i=0;i<125;i++)
  30   2                      {;}
  31   2              }
  32   1      }
  33                    
  34          /***************************************/
  35          void Re_Data(void)
  36          {
  37   1              uchar i;
  38   1              CS=0;
  39   1              Con_Data=0;
  40   1              nop();
  41   1              DOUT=1;
  42   1              SCLK=0;
  43   1              nop();
  44   1              SCLK=1;
  45   1              nop();
  46   1              for(i=0;i<12;i++)
  47   1              {       
  48   2                  SCLK=0;
  49   2                      nop();
  50   2                      SCLK=1;
  51   2                      Con_Data<<=1;
  52   2                      if(DOUT)
  53   2                       {Con_Data|=0x01;}
  54   2              }       
  55   1              CS=1;
C51 COMPILER V7.06   ADC_12                                                                07/05/2008 21:52:17 PAGE 2   

  56   1      }
  57          /***************************************/
  58          void Data_Process(void)
  59          {
  60   1              float tt;
  61   1              uint dispnumber;
  62   1              tt=(Con_Data*Vref)/4095.0;
  63   1              tt*=1000.0;                                                               //电压放大1000倍,显示到
  64   1          dispnumber=(uint)tt;
  65   1              Disp_Data[0]=dispnumber/100000;
  66   1              Disp_Data[1]=dispnumber%100000/10000;
  67   1              Disp_Data[2]=dispnumber%100000%10000/1000;
  68   1              Disp_Data[3]=dispnumber%100000%10000%1000/100;
  69   1              Disp_Data[4]=dispnumber%100000%10000%1000%100/10;
  70   1              Disp_Data[5]=dispnumber%100000%10000%1000%100%10;
  71   1      
  72   1      }
  73          /**************************************/
  74          void led_display(void)
  75          {
  76   1              uchar i,j,k;
  77   1          uchar *p,*q;
  78   1              p=&Disp_Data[0];        
  79   1              q=display;      
  80   1              k=0x20;
  81   1                      for(i=0;i<6;i++)
  82   1                      {
  83   2                              WEI=k;
  84   2                              j=*(p+i);
  85   2                              DUAN=*(q+j);
  86   2                              if(i==2)
  87   2                              {DUAN|=0x80;}                   
  88   2                              k>>=1;
  89   2                              delay(1);
  90   2                      }
  91   1      }
  92          
  93          /**************************************/
  94          void main(void)//主程序
  95          {   
  96   1              while(1)
  97   1              {
  98   2                      Re_Data();
  99   2                      Data_Process();
 100   2                      led_display();
 101   2              }
 102   1       }
 103          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    595    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12      14
   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 + -