您当前的位置:五五电子网电子知识单片机-工控设备源码-程序基于AT89C51单片机的频率计的C源程序及频率计实现的主要功能 正文
基于AT89C51单片机的频率计的C源程序及频率计实现的主要功能

基于AT89C51单片机的频率计的C源程序及频率计实现的主要功能

点击数:7911 次   录入时间:03-04 12:03:00   整理:http://www.55dianzi.com   源码-程序
               write_dat(' ');
              }
       else if(fre>=1000)
              {
               write_com(0x80+4);
               for(i=0;i<8;i++)
               {
               write_dat(0x30+temp[i]);      //保存要显示的数到显示缓冲区
               if(i==4)
                    {
                     write_dat('.');
                     }
               }
               write_dat('K');         
               write_dat('H');
               write_dat('z');
              }
       T1count=0;
       timecount=0;        
       TH1=0;
       TL1=0;           
       TH0=0;
    TL0=0; //定时器0重新装值,保证精确(不加的话只是最多差0.001s,0.1%)
}
 
void display1()
{    
    uchar j;
       float zhou;
       zhou=((T1count1*65536+TH0*256+TL0)*1.0549);
       frx=(long)((zhou)*256);
       temp1[0]=frx/10000000;
       temp1[1]=frx%10000000/1000000;
       temp1[2]=frx%10000000%1000000%1000000/100000;
       temp1[3]=frx%10000000%1000000%1000000%100000/10000;
       temp1[4]=frx%10000000%1000000%1000000%100000%10000/1000;
       temp1[5]=frx%10000000%1000000%1000000%100000%10000%1000/100;
       temp1[6]=frx%10000000%1000000%1000000%100000%10000%1000%100/10;
       temp1[7]=frx%10000000%1000000%1000000%100000%10000%1000%100%10;
       if(frx<=999)
             {
               write_com(0x80+0x40+4);
               for(j=0;j<8;j++)
               {
               write_dat(0x30+temp1[j]);    //保存要显示的数到显示缓冲区
               }  
               write_dat('H');
              write_dat('z');
               write_dat(' ');
               write_dat(' ');
              }
       else if(frx>=1000)
              {     // frx=frx/1000;
               write_com(0x80+0x40+4);
               for(j=0;j<8;j++)
               {
               write_dat(0x30+temp1[j]);    //保存要显示的数到显示缓冲区
               if(j==4)
                    {
                     write_dat('.');
                     }
               }
               write_dat('K');         
               write_dat('H');
               write_dat('z');
              }
}
 
 
void main(void)
 {
 init();
 init1();
 while(1)
  {
      rd=0;
      ird=1;
   if(flag==1)    //标志位为1,表示进行完了一次1S记数
              {
              flag=0;
              kb=0;
              kx=1;           
              clr=0;
              ird=0;
              id=0;
              display1();
              display();
              }
              else
              {
              kb=1;
              kx=0;

上一页  [1] [2] [3]  下一页


本文关键字:单片机  源程序  源码-程序单片机-工控设备 - 源码-程序