https://static.assets-stash.eet-china.com/album/old-resources/2009/5/14/7bd8bbfd-1c06-4f42-8b0e-c4d3704a030e.rar
#include <reg51.h>
#include "LCD1602.h"
#include "stdio.h"
float fre;
unsigned int cnt,t1count;
sbit s0=P3^0;
sbit s1=P3^1;
sbit s2=P3^2;
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
void delay (int m)
{
unsigned char i,j;
for (i=0;i<m;i++)
for (j=0;j<253;j++);
}
void T1_ISP(void) interrupt 3
{
t1count ++;
TL1=0;
TH1=0;
}
void Timer_Init (void)
{
TMOD=0x52;
TH0=0x06;
TL0=0x06;
EA="1";
ET0=1;
ET1=1;
}
void T0_ISP(void) interrupt 1
{
cnt++;
if (cnt==4000)
{
cnt=0;
EA="0";
fre="65536"*t1count+256*TH1+TL1;
}
}
main()
{
unsigned int value = 0;
unsigned char buffer[40];
Timer_Init();
while (1)
{
if (s0==0)
{
delay (2);
if (s0==0)
TR0=1;
TR1=1;
LCD_Initial();
GotoXY(0,0);
Print(" Frequency");
while(1)
{
GotoXY(0,1);
sprintf(buffer,"%f",fre);
Print(buffer);
Delay1ms(200);
}
}
if (s1==0)
{
delay (2);
if (s1==0)
TR0=1;
TR1=1;
LCD_Initial();
GotoXY(0,0);
Print(" period(s)");
while(1)
{
GotoXY(0,1);
sprintf(buffer,"%f",1/fre);
Print(buffer);
Delay1ms(200);
}
}
if (s2==0)
{
delay (2);
if (s2==0)
TR0=1;
TR1=1;
LCD_Initial();
GotoXY(0,0);
Print(" venation");
while(1)
{
GotoXY(0,1);
sprintf(buffer,"%f",2/fre);
Print(buffer);
Delay1ms(200);
}
}
}
}
文章评论(0条评论)
登录后参与讨论