- 打卡等级:偶尔看看III
- 打卡总天数:51
- 最近打卡:2025-05-02 10:07:51
超级版主
- 积分
- 12079
|
发表于 2024-11-21 23:27:22
|
显示全部楼层
先别修改程序, 直接下载"Obj"里的"pwm.hex"测试,
下载时选择(或输入)主频24MHz.
Ai8051U, 使用 HS-PWMA@144MHz, DMA方式输出一个正弦波(SPWM),
DMA启动后自动装载64点正弦波的占空比,
装载完成后进入DMA中断重启DMA即可连续输出正弦波。
DMA中断取反P3.4来指示DMA中断频率=P3.4频率*2.
本例主频FOSC=24MHz, PLL为144MHz给HSPWM做时钟,
PWM周期=2250, 则PWM频率=144000/2250=64KHz,
64点正弦波,输出正弦波频率为1000Hz, P3.4输出方波频率为500Hz.
P1.0或P1.1接滤波电路用示波器即可观察到1000Hz正弦波,
P1.0和P1.1输出的正弦波相位差180度,
推荐滤波: 5.1K+10nF 串联 51K+1nF.
本例子PWM输出IO:
PWM1N PWM1P
P1.1 P1.0
如有需要, 用户自行切换到别的IO输出.
10B-HSPWMA-DMA输出SPWM-P1.0.rar
(63.27 KB, 下载次数: 45)
|
|