理论教育 零点起步:脉宽调制方波发生器设计实例

零点起步:脉宽调制方波发生器设计实例

时间:2023-10-19 理论教育 版权反馈
【摘要】:PWM模式下RC2应为输出方式,用于输出可调制的方波。用一个产生指定周期和高电平宽度的方波例子来说明CCP1模块的PWM模式的编程方法。采用CCP1模块的PWM模式实现通过RC2输出频率为50kHz,占空比为30%的方波,并用示波器测量其占空比是否准确,用频率计测量频率是否正确。图12-10 基于CCP1模块PWM模式的方波发生器电路图题意分析●RC2用做输出方波,所以应该把RC2置为输出方式。启动VSM后运行程序。

零点起步:脉宽调制方波发生器设计实例

PWM模式下RC2应为输出方式,用于输出可调制的方波。用一个产生指定周期和高电平宽度的方波例子来说明CCP1模块的PWM模式的编程方法。

【例12-4】电路如图12-10所示。单片机主频为4MHz。采用CCP1模块的PWM模式实现通过RC2输出频率为50kHz,占空比为30%的方波,并用示波器测量其占空比是否准确,用频率计测量频率是否正确。

电路图在光盘位置:“\Example\Chapter12\S123\CCP1_PWM.DSN”。

978-7-111-33274-9-Chapter12-34.jpg

图12-10 基于CCP1模块PWM模式的方波发生器电路图

题意分析

●RC2用做输出方波,所以应该把RC2置为输出方式。

●题意要求采用CCP1模块的PWM模式,所以要确定PWM模式的周期预设值PR2和高电平宽度CCPR1L。已知主频为4MHz,则TOSC=0.25µs。输出方波频率是50kHz,则

PWM模式周期为20µs。为了提高精度,设TMR2预分频值为1∶1。可得PR2设定值=(PWM模式周期/(4×TOSC×TMR2预分频值))-1=(20µs/(4×0.25µs×1))-1=19

●题意要求占空比是30%,已知PWM模式周期,则可计算PWM模式高电平宽度为PWM模式高电平宽度=PWM模式周期×30%=6µs

●计算可知,DCR=6µs/(0.25×1)=24。程序中需要把DCR值分别写入CCPR1L和CCP1X、CCP1Y。(www.daowen.com)

设计过程

1)用MPLAB新建项目S123,语言工具选择为“HI-TECH Universal Toolsuite”,保存在“C:\S123”文件夹下。

2)新建main.c文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter12-35.jpg

3)程序录入完毕后,保存并编译成功。然后用调试工具Proteus VSM加载CCP1_PWM.DSN。启动VSM后运行程序。程序运行效果是示波器O1的A通道上会显示方波波形,如图12-11所示。当VSM运行时间超过1s后(VSM运行时间与真实时间不同步)会在频率计F1上显示所测得的频率,如图12-12所示。

978-7-111-33274-9-Chapter12-36.jpg

图12-11 用示波器测量PWM模式输出方波的周期和占空比的截图

978-7-111-33274-9-Chapter12-37.jpg

图12-12 用频率计测量PWM模式输出频率的截图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈