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

📄 text12.lst

📁 量程自动切换数字电压表原理图文件。。源程序
💻 LST
字号:
C51 COMPILER V8.05a   TEXT12                                                               12/31/2008 14:41:16 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE TEXT12
OBJECT MODULE PLACED IN Text12.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE Text12.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1           #include<reg52.h>
   2          unsigned char code dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
   3          unsigned char dispbuf[4];
   4          unsigned int i;
   5          unsigned int j;
   6          unsigned int getdata;
   7          unsigned int temp;
   8          unsigned int temp1;
   9          unsigned char count;
  10          unsigned char d;
  11          sbit ST=P2^4;
  12          sbit OE=P2^5;
  13          sbit EOC=P2^6;
  14          sbit CLK=P2^7;
  15          sbit ADD_A=P3^4;  //选择AD的输入端
  16          sbit ADD_B=P3^5;
  17          sbit ADD_C=P3^6;
  18          sbit D0=P2^0;  //数码管的位控制端
  19          sbit D1=P2^1;
  20          sbit D2=P2^2;
  21          sbit D3=P2^3;
  22          sbit P17=P1^7;  //确定小数点的位置
  23          sbit s1=P3^2;
  24          sbit s2=P3^3;
  25          #define  _v0_5 {s1=1;s2=0;}
  26          #define _v10 {s1=0;s2=1;}
  27           
  28          
  29          unsigned char m;
  30          
  31          void TimeInitial();
  32          void Delay(unsigned int i);
  33          
  34          void TimeInitial()
  35          { TMOD=0x10;
  36   1       TH1=(65536-200)/256;
  37   1       TL1=(65536-200)%256;
  38   1       EA=1;
  39   1       ET1=1;
  40   1       TR1=1;
  41   1       }
  42          void Delay(unsigned int i)
  43          {
  44   1        unsigned int j;
  45   1        for(;i>0;i--)
  46   1        {
  47   2        for(j=0;j<125;j++)
  48   2        {;}
  49   2        }
  50   1      }
  51           
  52          void Display()
  53          
  54          { 
  55   1      P1=dispbitcode[dispbuf[3]];
C51 COMPILER V8.05a   TEXT12                                                               12/31/2008 14:41:16 PAGE 2   

  56   1      
  57   1       D0=0;  
  58   1       D1=1;
  59   1       D2=1;
  60   1       D3=1;
  61   1       Delay(10);
  62   1       P1=0x00;
  63   1      
  64   1       P1=dispbitcode[dispbuf[2]];
  65   1       if(m==2)
  66   1       {
  67   2       P17=1;
  68   2       }
  69   1       D0=1;
  70   1       D1=0;
  71   1       D2=1;
  72   1       D3=1;
  73   1       Delay(10); 
  74   1       P1=0x00;
  75   1       P1=dispbitcode[dispbuf[1]];
  76   1        if(m==10)
  77   1       {
  78   2              P17=1;
  79   2        }
  80   1       D0=1;
  81   1       D1=1;
  82   1       D2=0;
  83   1       D3=1;
  84   1       Delay(10);
  85   1       P1=0x00;
  86   1       P1=dispbitcode[dispbuf[0]]; 
  87   1       D0=1;
  88   1       D1=1;
  89   1       D2=1;
  90   1       D3=0;
  91   1       Delay(10);
  92   1       P1=0x00;
  93   1      }
  94          void main()
  95          {
  96   1      TimeInitial();
  97   1      ADD_A=0;
  98   1      ADD_B=0;
  99   1      ADD_C=0;
 100   1      _v10;
 101   1      m=2;
 102   1      while(1)
 103   1      {                        
 104   2      
 105   2      
 106   2              ST=0;
 107   2              OE=0;
 108   2              ST=1;
 109   2              ST=0;
 110   2              while(EOC==0);
 111   2              OE=1;
 112   2              getdata=P0;
 113   2              OE=0;
 114   2                       if ((s1==0) && (s2==1) && (getdata<6))
 115   2              {       
 116   3                      ADD_A=1;
 117   3                      _v0_5;
C51 COMPILER V8.05a   TEXT12                                                               12/31/2008 14:41:16 PAGE 3   

 118   3      
 119   3                      m=10;   
 120   3              }
 121   2              else if ((s1==1)&&(s2==0) && (getdata>254))
 122   2              {
 123   3                      ADD_A=0;
 124   3                      _v10;
 125   3              
 126   3                      m=2;
 127   3              }
 128   2      
 129   2      
 130   2              temp=(getdata*1.0/255)*500*m;
 131   2              dispbuf[0]=temp%10;
 132   2              dispbuf[1]=temp/10%10;
 133   2              dispbuf[2]=temp/100%10;
 134   2              dispbuf[3]=temp/1000;
 135   2              Display();
 136   2      
 137   2      }
 138   1      }
 139          
 140          void t1(void) interrupt 3 using 0
 141           {
 142   1        TH1=(65536-200)/256;
 143   1        TL1=(65536-200)%256;
 144   1        CLK=~CLK;
 145   1        }


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