找回密码
 立即注册
查看: 2207|回复: 8

使用STC8G1K08A输出50% 占空比的pwm波形

[复制链接]

该用户从未签到

1

主题

2

回帖

11

积分

新手上路

积分
11
发表于 2022-12-9 13:19:40 来自手机 | 显示全部楼层 |阅读模式
STC8G1K08A是一种微控制器(MCU)。它有一个内置的PWM(脉宽调制)模块,可用于产生PWM波形。

要产生PWM波形,首先需要在软件中配置PWM模块。在STC8G1K08A中,可以通过两个寄存器来配置PWM模块:PWM_CLOCK和PWM_CTL。

PWM_CLOCK寄存器用于配置PWM时钟,它可以设置PWM的频率。PWM_CTL寄存器用于配置PWM的控制,它可以设置PWM的占空比。

具体的配置方式可以参考STC8G1K08A的用户手册。通常情况下,需要先设置PWM时钟,然后设置PWM的占空比。

例如,如果要将PWM的频率设置为1kHz,并将占空比设置为50%,可以使用以下代码进行配置:

PWM_CLOCK = 0x00; // 设置PWM时钟为1kHz
PWM_CTL = 0x80; // 设置PWM占空比为50%

在这个例子中,PWM_CLOCK寄存器的值为0x00,表示将PWM时钟设置为1kHz。PWM_CTL寄存器的值为0x80,表示将PWM的占空比设置为50%。

当PWM模块配置完成后,就可以使用它来产生PWM波形了。

下面是一个使用C语言编写的通过STC8G1K08A输出50%占空比的PWM波形的函数示例:

void outputPWM()
{
// 配置PWM时钟为1kHz
PWM_CLOCK = 0x00;
// 配置PWM占空比为50%
PWM_CTL = 0x80;
// 输出PWM波形
PWM_OUT = 0x80;
}

在这个函数中,首先使用PWM_CLOCK寄存器将PWM时钟设置为1kHz,然后使用PWM_CTL寄存器将PWM占空比设置为50%,最后使用PWM_OUT寄存器输出PWM波形。

注意,上面的代码仅作为示例,实际应用中可能需要根据实际情况进行调整。例如,可以将PWM时钟和PWM占空比作为函数参数传入,以便更好地满足不同的需求。
回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 163 天

    [LV.7]常住居民III

    27

    主题

    1439

    回帖

    4482

    积分

    论坛元老

    积分
    4482
    发表于 2022-12-9 18:37:48 | 显示全部楼层
    我原以为自己对STC的芯片已经挺熟悉的了,可是看了楼主的帖子后,我发现自己突然变得不会了,因为楼主提到的那些寄存器,我居然一个都不认识。:L

    该用户从未签到

    565

    主题

    9911

    回帖

    1万

    积分

    管理员

    积分
    14417
    发表于 2022-12-9 20:06:04 | 显示全部楼层
    出50% 占空比的pwm波形===那就是输出时钟吗,用MCLKO, T0CLKO, T1CLKO 的时钟分频输出
    1.png

    2.png
  • TA的每日心情
    开心
    昨天 09:59
  • 签到天数: 113 天

    [LV.6]常住居民II

    43

    主题

    1039

    回帖

    7153

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    7153
    QQ
    发表于 2022-12-10 17:51:26 | 显示全部楼层
    乘风飞扬 发表于 2022-12-9 18:37
    我原以为自己对STC的芯片已经挺熟悉的了,可是看了楼主的帖子后,我发现自己突然变得不会了,因为楼主提到 ...

    :lol:lol:lol被你这一说,我也才发现这些寄存器我好像也没见过!

    该用户从未签到

    5

    主题

    19

    回帖

    121

    积分

    注册会员

    积分
    121
    发表于 昨天 19:07 | 显示全部楼层
    STC8H呢

    点评

    你想问什么问题吗?  详情 回复 发表于 昨天 22:09
    回复 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3172

    回帖

    7167

    积分

    超级版主

    积分
    7167
    发表于 昨天 22:09 | 显示全部楼层

    你想问什么问题吗?
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    5

    主题

    19

    回帖

    121

    积分

    注册会员

    积分
    121
    发表于 6 小时前 | 显示全部楼层
    梁工 发表于 2024-6-12 22:09
    你想问什么问题吗?

    现在STC单片机系列非常多 功能也增加了不少 是名副其实的增强型单片机 不知道哪些寄存器通用 哪些不通用

    点评

    相同外设的寄存都是通用的,要看你具体使用的MCU。  详情 回复 发表于 5 小时前
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3172

    回帖

    7167

    积分

    超级版主

    积分
    7167
    发表于 5 小时前 | 显示全部楼层
    天宁宁 发表于 2024-6-13 09:50
    现在STC单片机系列非常多 功能也增加了不少 是名副其实的增强型单片机 不知道哪些寄存器通用 哪些不通用  ...

    相同外设的寄存都是通用的,要看你具体使用的MCU。
    回复 支持 0 反对 1 送花

    使用道具 举报

    该用户从未签到

    5

    主题

    19

    回帖

    121

    积分

    注册会员

    积分
    121
    发表于 5 小时前 | 显示全部楼层
    梁工 发表于 2024-6-13 10:31
    相同外设的寄存都是通用的,要看你具体使用的MCU。

    谢谢梁工
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-13 16:21 , Processed in 0.070253 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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