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

📄 plvji.lst

📁 基于AT89C2051的频率计
💻 LST
字号:
C51 COMPILER V8.02   PLVJI                                                                 11/04/2007 20:58:39 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE PLVJI
OBJECT MODULE PLACED IN plvji.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE plvji.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1           #include <reg51.H>
   2          unsigned char code dispcode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//字码段0~9 程序存储空
             -间
   3          unsigned char a=0,b=0,c=0,d=0,e=0,f=0,g=0;
   4          unsigned long int pinlv=0,pin=0;
   5          unsigned long int count=0;
   6          void delay()   //延时子程序
   7          {       
   8   1              int j;
   9   1              for(j=0;j<944;j++);
  10   1      }
  11          
  12          void display()
  13          {       f=pinlv/100000;   //十万位
  14   1          e=pinlv/10000%10;     //万位                
  15   1              a=pinlv/1000%10;          //千位
  16   1              b=pinlv/100%10;   //百位
  17   1              c=pinlv%100/10; //十位  
  18   1              d=pinlv%10;  //个位  
  19   1      if(pinlv<1000)
  20   1          { pin=pinlv*10;
  21   2              a=pin/1000%10;    //千位
  22   2              b=pin/100%10;     //百位
  23   2              c=pin%100/10; //十位    
  24   2              d=pin%10;  //个位
  25   2              SCON=0;//串口控制器
  26   2              P1=0xfe&0x1f; //*后面是定义显示单位的
  27   2              SBUF=dispcode[a];
  28   2              while(TI==0);
  29   2              TI=0;   
  30   2              delay();
  31   2              P1=0xfd&0x1f;
  32   2              SBUF=dispcode[b];
  33   2              while(TI==0);
  34   2              TI=0;           
  35   2              delay();        
  36   2              P1=0xfb&0x1f;
  37   2              SBUF=dispcode[c]&0x7f;//十位有点,精确到0.1
  38   2              while(TI==0);
  39   2              TI=0;                   
  40   2              delay();
  41   2              P1=0xf7&0x1f;
  42   2              SBUF=dispcode[d];
  43   2              while(TI==0);
  44   2              TI=0;           
  45   2              delay();
  46   2              }
  47   1      else
  48   1              {  SCON=0;
  49   2              P1=0xfe&0x2f;   //*后面的是定义单位的显示
  50   2              SBUF=dispcode[f];
  51   2              while(TI==0);
  52   2              TI=0;   
  53   2              delay();
  54   2              P1=0xfd&0x2f;
C51 COMPILER V8.02   PLVJI                                                                 11/04/2007 20:58:39 PAGE 2   

  55   2              SBUF=dispcode[e];
  56   2              while(TI==0);
  57   2              TI=0;           
  58   2              delay();        
  59   2              P1=0xfb&0x2f;
  60   2              SBUF=dispcode[a]+0x7f;
  61   2              while(TI==0);
  62   2              TI=0;                   
  63   2              delay();
  64   2              P1=0xf7&0x2f;
  65   2              SBUF=dispcode[b];
  66   2              while(TI==0);
  67   2              TI=0;           
  68   2              delay();
  69   2              }
  70   1      } 
  71          
  72          void main(void)
  73          {   EA=0;//关主中断
  74   1              TMOD=0x51;//方式寄存器,TO定时,T1计数功能
  75   1              TH0=0x3c;                               //0x3c 定时50ms
  76   1              TL0=0xb0;                               //0xb0
  77   1              TH1=0;
  78   1              TL1=0;
  79   1              ET0=ET1=1;//T0允许中断  
  80   1              EA=1;//开主中断
  81   1              TR1=1;//T1计数
  82   1              TR0=1;//T0定时   
  83   1              while(1) 
  84   1              {               
  85   2              display();
  86   2              }               
  87   1              
  88   1      }
  89          void time0(void) interrupt 1 using 1   //定时器0溢出中断模式2可重装载
  90          {
  91   1              TR0=0;
  92   1              count++;
  93   1              TH0=0x3c;
  94   1              TL0=0xb0;
  95   1              if(count==20)
  96   1              {       count=0;
  97   2                      TR1=0;
  98   2                      pinlv=TH1*256+TL1;
  99   2                      //pinlv=pinlv*8;
 100   2                      TH1=0;
 101   2                      TL1=0;
 102   2                      TR1=0;
 103   2              
 104   2               } 
 105   1               TR0=1;
 106   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    643    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     19    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V8.02   PLVJI                                                                 11/04/2007 20:58:39 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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