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

📄 freqlow.c

📁 单片机用TDS-ICE仿真器的试验程序。
💻 C
字号:
#include "reg52.h"
#include "Zlg7290.h"				//Zlg7290库
#include "viic_c51.h"				//iic库

unsigned char scount;

void timer0_int() interrupt 1
{
	TR0=0;							//关闭定时器
	TH0=0x4C;						//重装定时器
	TL0=0x19;
	TF0=0;							//清除溢出标志
	scount--;
	if(scount>0)					//到1s了吗?
		TR0=1;						//没到,开定时器
	else
		TR1=0;						//到了,停止T1的计数
}

main()
{
	unsigned char a[5];
	unsigned char i,resh,resl;
	unsigned long int freq;
	TMOD=0xD1;						//定时器0工作在定时方式1,定时器1工作在计数方式1
	TH0=0x4C;						//定时50ms
	TL0=0x19;
	TH1=0;							//计数值清0
	TL1=0;
	scount=20;						//定时1s
	ET0=1;							//开定时器0中断
	EA=1;							//开总中断
	TR0=1;							//启动定时器和计数器
	TR1=1;
	
	for (i=0;i<5;++i)
		a[i]=0;
	ZLG7290_SendBuf(a,5);			//在LED上显示5位0。
	while(1)
	{
		if(!scount)					//1s时间到
		{
			resh=TH1;				//取出计数值
			resl=TL1;
			TH1=0;					//计数值清零
			TL1=0;
			TH0=0x4C;				//重装定时器0
			TL0=0x19;
			scount=20;				//定时1S
			TR0=1;					//启动定时器和计数器
			TR1=1;
			freq=resh*256+resl;		//计算频率值
			a[0]=freq%10;			//将各位分离显示
			a[1]=(freq/10)%10;
			a[2]=(freq/100)%10;
			a[3]=(freq/1000)%10;
			a[4]=freq/10000;
			ZLG7290_SendBuf(a,5);	//送ZLG7290显示
		}
	}
}

⌨️ 快捷键说明

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