📄 frequency.c
字号:
#include <AT89X52.H>
#include <LCD1602.h>
unsigned char T0count;
unsigned char timecount;
bit flag;
unsigned long x;
//unsigned char code menu[2][16]={"Frequency is:MHz","Frequency is: Hz"};
/*************************************************************************************************************
主函数
*************************************************************************************************************/
void main(void)
{
// unsigned char i,j,k,l;
P1=0;
TMOD=0x15;
TH0=0;
TL0=0;
TH1=(65536-49989)/256;
TL1=(65536-49989)%256;
TR1=1;
ET0=1;
ET1=1;
EA=1;
TR0=1;
p=LCD_PutStr("Frequency is: Hz\n",-1); //显示一段文字
while(1)
{
if(flag==1)
{
flag=0;
x=(T0count*65536+TH0*256+TL0)*16384+P0; //计算频率
P1_0=1;
P1_0=0;
timecount=0;
T0count=0;
TH0=0;
TL0=0;
TR0=1;
//LCD_init( );
p=LCD_PutStr("\n",16);
p=LCD_PutNum(x,0,p); //显示数
}
}
}
/*************************************************************************************************************
定时器、计数器设置
*************************************************************************************************************/
void t0(void) interrupt 1 using 0 //计数满后T0count加1
{
T0count++;
}
void t1(void) interrupt 3 using 0 //定时1S钟
{
TH1=(65536-50045)/256;
TL1=(65536-50045)%256;
timecount++;
if(timecount==20)
{
TR0=0; //关闭记数器
timecount=0;
flag=1; //1S定时到标志
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -