找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2237|回复: 6
打印 上一主题 下一主题
收起左侧

STC15系列单片机CCP为6位PWM输出,正弦波计算占空比

[复制链接]
跳转到指定楼层
楼主
ID:883031 发表于 2022-12-17 18:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下边是STC15系列CCP为6位PWM输出,正弦波计算占空比的函数

//CCP为6位PWM输出
BYTE xdata Sin_Num[256] = {0};
#define STEP ((2.0 * PI) / 64.0)//正弦波采样步长
#define PWM_DUTY_MIN 0X01
#define PWM_DUTY_MAX 0X3E

void GetReloadNum()
{
        int i;
        float Value = 0.0,aa = 0.0;
        
        for(i = 0;i < 64;i++)
        {
                Value = 32.0 * (1 - sin(aa));
                Sin_Num[i ] = (unsigned int)Value;
                if(Sin_Num[ i] < PWM_DUTY_MIN) Sin_Num[ i] = PWM_DUTY_MIN;
                else if(Sin_Num[ i] > PWM_DUTY_MAX) Sin_Num[ i] = PWM_DUTY_MAX;
                aa += STEP;
        }
}

这是输出的波形,不够漂亮。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1034262 发表于 2022-12-19 15:02 | 只看该作者
你要适当的滤波,才有漂亮的波形出来。
回复

使用道具 举报

板凳
ID:961114 发表于 2022-12-19 17:31 | 只看该作者
STC核心板有示波器模块   波形很漂亮 可以去申请 免油费
回复

使用道具 举报

地板
ID:883031 发表于 2022-12-22 08:36 | 只看该作者
STC庄伟 发表于 2022-12-19 17:31
STC核心板有示波器模块   波形很漂亮 可以去申请 免油费

怎么申请?
回复

使用道具 举报

5#
ID:879348 发表于 2022-12-22 08:48 | 只看该作者
为什么用6位呢,6位才64个点,颗粒度肯定大
回复

使用道具 举报

6#
ID:883031 发表于 2022-12-22 14:18 | 只看该作者
wufa1986 发表于 2022-12-22 08:48
为什么用6位呢,6位才64个点,颗粒度肯定大

六位的频率高些。
回复

使用道具 举报

7#
ID:1042619 发表于 2022-12-22 16:04 | 只看该作者
楼主可以试试我们STC-ISP 6.91C及以上版本一体化软件里面参考STC15系列实验箱范例程序




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表