想写个单片机采集方波,并在数码管显示频率的程序

2020-03-08 19:25发布

想写个单片机采集方波,并在数码管显示频率的程序,方波由信号发生器产生的,高手提供下思路,或有参考程序提供下,谢谢了!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
joyme
1楼-- · 2020-03-09 00:00
首先看检测的波形频率多高,单片机是否能处理。
方法,将信号接到外部中断管脚,在外部中断里开定时器计数,计算脉宽后转化为频率显示
空蝉001
2楼-- · 2020-03-09 00:36
2# joyme

假设在单片机处理的范围内,那脉宽怎么算?
joyme
3楼-- · 2020-03-09 03:53
开定时器计数呀,你可以设置一个50us的定时器(1us指令周期的情况),太高了可能单片机就会显得负荷太重,来第一个外部中断开启定时器,第二个中断时读计数并开启下一次计数,比如是20,那么脉宽就是20*50us=1ms,频率就是1K,同样如果计数是10那么频率就是2K,这些处理显示等工作不要在中断里做,在主函数循环里做,依此类推。
angelsa0106
4楼-- · 2020-03-09 06:01
 精彩回答 2  元偷偷看……
coody
5楼-- · 2020-03-09 07:29
就是简单的频率计,好多MCU都可以做到。
我做有一个很小的,用的STC12C5204做的,Timer0、Timer1做对外计数,1T模式,PCA做1秒定时,跑有源32.768MHZ,50ppm的,同时测两路频率,MCU本身可以测15MHZ,加个前置分频,可以到G级。
kedaxuezi
6楼-- · 2020-03-09 09:31
coody 发表于 2011-8-16 11:59
就是简单的频率计,好多MCU都可以做到。
我做有一个很小的,用的STC12C5204做的,Timer0、Timer1做对外计数 ...

您好,如果测2MHZ的频率,STC12系列,12M晶振,理论上采集上限是500KHZ,实际中需要几分频?用什么分频电路?谢谢

一周热门 更多>