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

📄 plj.lst

📁 keil和Proteus设计的C51频率计代码
💻 LST
字号:
C51 COMPILER V8.02   PLJ                                                                   01/20/2007 18:34:24 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE PLJ
OBJECT MODULE PLACED IN plj.OBJ
COMPILER INVOKED BY: D:\程序开发软件\Keil\C51\BIN\C51.EXE plj.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h> 
   2          /*#include<absacc.h>*/
   3          #define uchar unsigned char
   4          #define uint unsigned int
   5          
   6          code seven_seg[10] = {0xC0,0xF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
   7          code scan[4]={0X10,0X20,0X40,0X80};
   8          uint  seven_digital[4]={0xc0,0xc0,0xc0,0xc0};
   9          uint counter[4];/*={0,0,0,0};*/
  10          uint msn=5;
  11          uint i,j,count;
  12          uint tf=0;
  13          
  14          void timer0(void) interrupt 1 using 1   /*定时器定100ms*/
  15          {       
  16   1              TH0=0x3c; TL0=0xb0;     /* 0x3cb0十进制15536,即初值为50000*/
  17   1              msn--;
  18   1              if(msn==0)
  19   1              { 
  20   2                  tf=1;
  21   2                  EA=0;
  22   2                  msn=5;      /*500ms定时到,设标志位*/
  23   2              }
  24   1              for(i=0;i<4;i++)
  25   1              {       
  26   2                  seven_digital[i]=seven_seg[counter[i]];
  27   2              }                                                
  28   1      }
  29          
  30          void timer1(void) interrupt 3   /*计数器*/
  31          {
  32   1      
  33   1      }
  34          
  35          void contral(void)
  36          {       int f;
  37   1              TMOD=0x51;
  38   1              TH0=0x3c;       TL0=0xb0;          /*定时器初值*/
  39   1              TH1=0x00;       TL1=0x00;          /*计数器初值*/
  40   1              TR0=1;TR1=1;PT0=1;ET0=1;ET1=1;EA=1;
  41   1      
  42   1              while(tf!=1);      /*等待500ms定时到*/
  43   1              TR0=0;TR1=0;       /*停止计数*/
  44   1              count=TH1*256+TL1;
  45   1              f= 2 * count;      /*1m周期多少次,即频率*/
  46   1              i=0;
  47   1              for(i=0;i<=3;i++) 
  48   1              {
  49   2                 counter[i]=f%10;
  50   2                 seven_digital[i]=seven_seg[counter[i]];      
  51   2                 f/=10;
  52   2              }
  53   1      } 
  54          
  55          void main()
C51 COMPILER V8.02   PLJ                                                                   01/20/2007 18:34:24 PAGE 2   

  56          {
  57   1       contral();
  58   1       i=0;
  59   1       while(1)       /*显示*/
  60   1       {
  61   2        P0=seven_digital[i];
  62   2        P1=scan[i];
  63   2        j=5000;
  64   2        while(j)
  65   2        {
  66   3          j--;
  67   3        }
  68   2        i++;
  69   2        if(i>3) i=0;
  70   2       }
  71   1      }
  72          
  73          
  74          
  75          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    379    ----
   CONSTANT SIZE    =     28    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     26    ----
   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 + -