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

📄 frc.c

📁 用单片机与CPLD做的等精度频率计
💻 C
字号:
#include <reg51.h>
#include <1602lcd.h>
#include <intrins.h>

#define uchar unsigned char
#define ulong unsigned long
#define uint unsigned int

sbit Door=P1^7;
sbit RST=P1^5;
sbit EN=P1^4;
sbit Ad0=P2^0;
sbit Ad1=P2^1;


uchar code InitDisp[17]={"Frequency Value:?"};
uchar code Number[10]={"0123456789"};
uchar data Fr[9];
//uchar data i=0;

void delay1s(void)

{
         unsigned char h,i,j,k;
          for(h=5;h>0;h--)
          for(i=4;i>0;i--)
          for(j=116;j>0;j--)
          for(k=214;k>0;k--);
}

void mdelay(unsigned int t)
{
uint i;
	while(t--)
	{
	  for (i=0;i<82;i++)	   /* 对于12M时钟,约延时1ms */
		{}
	}
}

void DataProcess()
{
  ulong t,Fdata=0;
  EN=1;EN=0;
  t=P0; 
  
  Fdata=t;
  Fr[0]=Fdata/100000000;
  Fdata=Fdata%100000000;
  Fr[1]=Fdata/10000000;
  Fdata=Fdata%10000000;
  Fr[2]=Fdata/1000000;
  Fdata=Fdata%1000000;
  Fr[3]=Fdata/100000;
  Fdata=Fdata%100000;
  Fr[4]=Fdata/10000;
  Fdata=Fdata%10000;
  Fr[5]=Fdata/1000;
  Fdata=Fdata%1000;
  Fr[6]=Fdata/100;
  Fdata=Fdata%100;
  Fr[7]=Fdata/10;
  Fdata=Fdata%10;
  Fr[8]=Fdata;
  /*
  Fr[i]=t/100;
  t=t%100;
  i++;
  Fr[i]=t/10;
  i++;
  Fr[i]=t%10;
  i++;
  i=i%12;
  */
}

void FrDisp()
{uchar i;
 for(i=0;i<9;i++)
  {
   DisplayOneChar(i,1,Number[Fr[i]]);
   }
 DisplayOneChar(9,1,'H'); 
 DisplayOneChar(10,1,'Z');
}

main()
{  Delay400Ms();
   EN=0; 
   LCMInit(); 
   Delay5Ms(); 
   DisplayListChar(0,0,InitDisp);
   EN=1;   

   Door=0;
   TMOD=0x05;

   while(1)
   { 
   RST=0;
   TH0=0x00;
   TL0=0x00;
   mdelay(10);
   RST=1;
   
   TR0=1;
   Door=1;
   delay1s();
   Door=0;
   TR0=0;
   

   DataProcess();
  /* DataProcess(TL0);
   DataProcess(P2);
   DataProcess(P0);*/
   EN=0;
   FrDisp();
   EN=1;
   }

}

⌨️ 快捷键说明

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