PWM波发生器

本文介绍了使用51单片机制作PWM波发生器的实验,配合Proteus仿真进行设计。实验要求在P1.7口输出PWM波,周期100ms,初始占空比50%,通过按键KEY1和KEY2调节占空比。设计思路包括PWM产生方法和按键处理,并提供了仿真电路和源代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PWM波发生器

赶着做了一波本人单片机课程的实验考试题目,配合proteus仿真。因为仿真用了许多芯片,还挺有意思的,所以分享一下。

PWM波发生器

一、  任务

在硬件电路PWM.DSN中实现P1.7输出PWM波。周期T=100ms,初始占空比(T1/T)为50%,按键KEY1每次增加占空比10%(直到90%),KEY2每次减小占空比10%(直到10%)。

二、  设计参考:

① PWM产生方法:

思路:

在一个载波周期内,时间小于T1时P1.7输出为1,其余P1.7均为0。因此,通过比较当前时间值与设定值的位置关系来决定P1.7置0或置1,即可生成PWM波形。

算法:

定义变量

1、 占空比设定值(记为Duty,数值为1~9,时间单位为定时时间常数)。

2、 当前时间值(记为设置Counts,数值为0~10,时间单位为定时时间常数)

设置定时时间为固定常数(10ms),在定时中断服务时做以下处理:

1、 重置定时器;

2、 Counts ++;

3、 Counts %= C;(C为固定载波周期,数值为10,时间单位为定时时间常数)

4、 IF Counts < Duty

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值