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

📄 frequencymeter.lst

📁 等精度频率测量 采用五次10分频的方法实现了测量高频信号自动量程切换
💻 LST
字号:
C51 COMPILER V7.20   FREQUENCYMETER                                                        02/10/2009 18:41:23 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE FREQUENCYMETER
OBJECT MODULE PLACED IN frequencymeter.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE frequencymeter.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*************************************************************************************************
   2          * FUNCTION NAME:等精度频率计                                                                                     *
   3          *`CREATE DATE  :2007.7.02                                                                        *
   4          * CREATED BY   :wu zhi zhong ,ChongQing Institute of Technology                                  *
   5          * MODEIFY DATE :2007.7.05                                                                        *
   6          * INPUT        :frequency                                                                        *
   7          * OUTPUT       :frequency                                                                        *
   8                                                                                                                                           *
   9          /*************************************************************************************************/
  10          #include<reg51.h>
  11          #include<stdio.h>
  12          #include<lcd.c>
  13          #include<math.h>
  14          sbit p32=P3^2;
  15          main()
  16          { 
  17   1       unsigned long int period,k,i=0;
  18   1       float f,m;
  19   1       char buff[30];
  20   1       init_LCD();
  21   1       P2=0x00;
  22   1       while(1)
  23   1       {
  24   2        TMOD=0X09;
  25   2        TH0=0;
  26   2        TL0=0;
  27   2        while(p32==1);
  28   2        TR0=1;
  29   2        while(p32==0);
  30   2        while(p32==1);
  31   2        TR0=0;
  32   2        period=TH0*256+TL0;
  33   2        while(period<=500)       /*判断是否分频及计算分频次数*/
  34   2        { P2++;
  35   3          i++;
  36   3              period=period*10;
  37   3          if(i==6)
  38   3          {P2=0x00;
  39   4              break;
  40   4              }
  41   3        }
  42   2        k=pow(10,i);             /* 10的i次方*/
  43   2        f=(1000000.0/(2*period))*k;
  44   2        if(f<1000)
  45   2        sprintf(buff,"f=%8.4fHZ",f);
  46   2        else
  47   2        {m=f/1000.0;
  48   3        sprintf(buff,"f=%8.4fKHZ",m);
  49   3        }
  50   2        lcdprintf(0,0,buff);
  51   2       }
  52   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V7.20   FREQUENCYMETER                                                        02/10/2009 18:41:23 PAGE 2   

   CODE SIZE        =    545    ----
   CONSTANT SIZE    =     45    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      46
   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 + -