|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-8-29 15:02 编辑
) Y$ z$ W; o6 l/ V! e+ ?+ L: M2 t+ v% { K- J6 S2 A; p
高级16位PWM, 输入捕获测量低频率信号, 可低至0.014Hz,8H/STC32G/AI8051U 通用9 d' L) g5 g. a' f) Y
使用高级16位PWM的输入捕获功能,大家可能会发现,高频率的捕获没有问题,但如果捕获的信号频率较低,两次捕获之间超过了内部计数器的长度,此时的捕获就会失败。
5 z0 r, A% N3 S所以,这里给出一个使用Ai8051U实验箱V1.2测试通过的软件版本,经过实际测试,可以正常捕获1Hz~50Khz之间的信号(再低的没有测,并非不支持,理论上可以捕获低至0.014Hz的信号,仅受限于重复计数变量的大小)
w1 g9 o4 d7 d) F' _# [, ]' o# u+ V' M0 Y1 K# d2 [3 U% w3 t% e
程序使用40Mhz主频,通过PLL倍频到120Mhz,其他如AI8和AI32单片机,拥有同样的高级PWM部分可以一样移植参考,程序是通用的& Q* _& q' k! o2 b+ O; D
; P3 w3 h# O( {& ]' a3 E
本程序主要使用了PWM的更新中断(计数器设置为向上计数,上溢时触发更新中断)4 L4 a9 O6 ]5 Y' h2 U, D8 L" L( D
2 d+ b6 n6 S+ [: X% c7 z |
|