• 大小: 44KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签: 频率计  

资源简介

改程序完美的实现了四段数码管显示测量信号的频率大小单位,可测量1hz-10MHZ的方波,正弦波,锯齿波,三角波,精度达到0.01

资源截图

代码片段和文件信息

 						   #include  
#define Segment P0
#define sl P2 
sbit clear=P1^3;
sbit fp2=P1^2;    //定义数据端口地址,0时分频处理,1时不分频
unsigned char count;      //定时 1s 计数 
unsigned char d[4];       //对应数码管的各位 
unsigned char dangwei;    //档位 
unsigned int timeN;       //不同档位计时值 
unsigned int fCount;      //脉冲下降沿次数 
unsigned int regCount;    //脉冲次数暂存 
unsigned int pCount;      //频率显示 
unsigned char Num[10]={0xC00xF90xA40xB00x990x920x820xF80x800x90}; 
//七段数码管代码共阳极
void Delay(unsigned int DelayTime) 
  {
   while(DelayTime--);
  }
void dispbuf() 

 { 
  if(dangwei==0)     //档位
    { 
     d[3]=0;
     d[2]=(pCount/100)%10; 
     d[1]=(pCount/10)%10; 
     d[0]=pCount%10; 
     
     sl=0x01;Delay(1);Segment=Num[d[3]];Delay(200);   
     sl=0x02;Delay(1);Segment=Num[d[2]];Delay(200);
     sl=0x04;Delay(1);Segment=Num[d[1]];Delay(200);
     sl=0x08;Delay(1);Segment=Num[d[0]];Delay(200); 
    }
   else if(dangwei==1) 
    { 
       d[3]=pCount/1000;
       d[2]=(pCount/100)%10; 
       d[1]=(pCount/10)%10; 
       d[0]=pCount%1; 
       sl=0x01;Delay(1);Segment=Num[d[3]];Delay(200);       
       sl=0x02;Delay(1);Segment=Num[d[2]];Delay(200);  
       sl=0x04;Delay(1);Segment=Num[d[1]]&0x7f;Delay(200); //带小数点 
       sl=0x08;Delay(1);Segment=Num[d[0]];Delay(200); 
    }  
else 
  { 
    d[3]=0;
    d[2]=0; 
    d[1]=0; 
    d[0]=0; 
  }
 } 
}
void intial()
  {
   clear=1;           //分频器初始化
   fp2=1;
   timeN=20;          //档位初始化为 Hz 档
   dangwei=0; 
   TMOD=0x61;       //定时器0,工作方式1,计数器1,工作方式1
   TH0= (65536-50000)/256; 
   TL0= (65536-50000)%256; 
    //计数器1计数初值
   TH1=0xff;         // 256-1;       
   TL1=0xff;         // 256-1;
   TR0=1;           //开定时器0中断 
   ET0=1;           //定时器0允许 
   TR1=1;           //开计数器1中断 
   ET1=1;           //允许计数器1中断
   EA=1;            //总中断允许
  } 
void main() 
  { 
intial(); 
    while(1) 
       { 
  dispbuf();
       } 
  }
 void timer0() interrupt 1
  {
   count++;
   if(count==timeN) 
    {
     ET1=0;      //计时1s,暂停外部计数1
     TR1=0;
     count=0;
    regCount=fCount;        //更新显示
     fCount=0;               //频率计数清零
     clear=0;                //硬件分频器清零
     clear=1; 
    }  
  if(dangwei==0)          //档位切换
  { 
    pCount=regCount;
   if(regCount>999) 
    {
      pCount=0;              //显示清零
      dangwei=1;
      timeN=1;               //定时 50ms
      fp2=0;                 //硬件分频处理
      TH1=0xfb;              //50分频 256-5 
      TL1=0xfb;              //256-5
      pCount=regCount*10;    //换算成相应的显示:f=regCount*100
    }
  }
  else if(dangwei==1) 
   {
    if(regCount<1) 
     { 
      dangwei=0; 
      timeN=20;             //定时 1s 
      fp2=1;                //不分频 
      TH1=0xff;             //256-1 
      TL1=0xff;             //256-1
     } 
    else if(regCount<1000)       //KHz 档 
     {
      dangwei=1;
      timeN=1;               //定时 50ms
      fp2=0;                

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7555  2015-01-16 11:16  仿真真程序\0115

     文件       3636  2015-01-16 11:16  仿真真程序\0115.c

     文件       2271  2015-01-16 11:16  仿真真程序\0115.hex

     文件         56  2015-01-16 11:16  仿真真程序\0115.lnp

     文件       6657  2015-01-16 11:16  仿真真程序\0115.LST

     文件      11397  2015-01-16 11:16  仿真真程序\0115.M51

     文件       8073  2015-01-16 11:16  仿真真程序\0115.OBJ

     文件        898  2015-08-13 14:07  仿真真程序\0115.Opt

     文件       2156  2015-01-15 11:32  仿真真程序\0115.Uv2

    .......      1026  2015-01-16 11:16  仿真真程序\0115_Opt.Bak

     文件          0  2015-01-15 10:22  仿真真程序\0115_Uv2.Bak

     文件       6376  2015-01-16 11:16  仿真真程序\STARTUP.A51

     文件      10753  2015-01-16 11:16  仿真真程序\STARTUP.LST

     文件        759  2015-01-16 11:16  仿真真程序\STARTUP.OBJ

     文件     156541  2015-01-16 11:16  简频计.DSN

     目录          0  2015-08-13 14:07  仿真真程序

     文件        167  2015-08-13 13:39  仿真真程序\0115.plg

----------- ---------  ---------- -----  ----

               218321                    17


评论

共有 条评论