单片机测量信号频率

这篇博客介绍如何利用单片机进行信号频率测量,通过MCU与LCD1602显示模块配合,实现启动及清零信号控制。文中包含仿真原理图,并提供了C语言代码实现。
摘要由CSDN通过智能技术生成

仿真原理图如下:
MCU和LCD1602显示模块:
在这里插入图片描述
启动及清零信号控制模块:
在这里插入图片描述

C语言代码如下:

/*----------------------------------------
FileName: main.c
Function:测量0 ~ 9999Hz之间的数字信号的频率
Author: Zhang Kaizhou
Date: 2019-6-5 22:39:16
---------------------------------------*/
#include "FrequencyMeasure.h"

bit flag = 0;
uint freq = 0, count = 0, time = 10; // 定时器Timer0溢出次数

void main()
{
	LCDInit();
	displayInit();
	freqMeasure();
	display(freq);
	while(1);
}

void freqMeasure()
{
	Dclr = 0; // 产生D触发器的清零正脉冲
	delay(5);
	Dclr = 1;
	
	TMOD = 0x59; // Timer1 非门控 方式一 计数器;Timer0 门控 方式一定时器
	TH0 = (65536 - 50000) / 256; // Timer0 定时50ms 赋初值
	TL0 = (65536 - 50000) % 256;
  • 9
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值