基于STC8单片机的频率计

本文介绍了如何利用STC8单片机的定时器功能,通过计数法来设计频率计。具体实现中,定时器0作为外部脉冲的下降沿触发计数器,而定时器3则用于产生1秒定时,从而计算出脉冲频率。测试结果显示了频率计的准确性和实用性。
摘要由CSDN通过智能技术生成

基于STC8的频率计

测频原理:计数法测频率。
实现方法:利用51单片机定时器可作为外部脉冲计数器的特点,可实现频率计数。具体使用两个定时器,本例中,使用定时器0作为外部脉冲计数器,用于对外部脉进行捕获(下降沿触发),定时器3产生1s定时,用于提取计数频率。
代码如下

//系统时钟频率 24MHz
#include "STC8.H"

bit send_flag = 0;
unsigned int freq = 0;     //频率计数
unsigned long cont_freq = 0;   //频率计数溢出
unsigned char res[6];   //频率转换结果

void TM0_Init();
void TM3_Init();
void UartSend(unsigned char dat);
void UartInit(void);
void UartSendStr(unsigned char *p);
void Num_Cut(unsigned long num);
void Uart_Send_Str(unsigned char str[],unsigned char len,bit mode);

void main ()
{
   
	TM0_Init();    
	TM3_Init();    
	UartInit();    
	while(1)
	{
    
    if(send_flag)
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值