📄 text2.c
字号:
#include<reg51.h>
#include<stdio.h>
#include<lcd.c>
char count=0;
unsigned int period;
sbit p32=P3^2;
char buff[30];
void Int0() interrupt 0
{
TR0=0; //停止计数
period=TH0*255+TL0;//读结果
TH0=0;
TL0=0;//清定时器0
TR0=1;//重新开始计数
}
main()
{
unsigned long freq;
init_LCD();
P1=0X00;
TMOD=0X01;
IT0=1;//边沿方式
EX0=1;
ET0=1;
EA=1;
P2=0X00;
freq=0;
while(1)
{
switch(P1)
{
case 0:
{
if(freq>1000.0)
P1=0X01;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz",974800.0/period);
freq=1000000.0/period;}
} break;
case 1:{if(freq>10000)
P1=0X02;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz",9938000.0/period);
freq=10000000.0/period;}
} break;
case 2:{if(freq>100000)
P1=0X03;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz", 90000000.0/period);
freq=100000000.0/period;}
} break;
case 3:{if(freq>1000000)
P1=0X04;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz", 993800000.0/period);
freq=1000000000.0/period;}
} break;
case 4:{
if(freq>10000000)
P1=0X05;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz", 10000000000.0/period);
freq=10000000000.0/period;}
} break;
case 5:{if(freq>100000000)
P1=0X06;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz", 100000000000.0/period);
freq=100000000000.0/period;}
} break;
case 6:{
if(freq>1000000000)
P1=0X07;
else{ lcdprintf(0,0,buff);
sprintf(buff,"freq=%5.2fhz", 1000000000000.0/period);
freq=1000000000000.0/period;}
} break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -