找回密码
 立即注册
查看: 1929|回复: 17

PWM改变输出引脚

[复制链接]

该用户从未签到

2

主题

10

回帖

54

积分

注册会员

积分
54
发表于 2023-4-4 08:57:40 | 显示全部楼层 |阅读模式
老师好,请教下STC8G1K08做PWM时引脚可以更改I定义到P1.3上吗?我是看到有个案例用这个芯片的P1.3输出固定频率,可调占空比的PWM来调整电压输出,一直没搞懂。请老师指点。
回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:00
  • 签到天数: 144 天

    [LV.7]常住居民III

    27

    主题

    1356

    回帖

    4217

    积分

    论坛元老

    积分
    4217
    发表于 2023-4-4 09:12:04 | 显示全部楼层
    本帖最后由 乘风飞扬 于 2023-4-4 10:19 编辑

    STC8G1K08芯片的P1.3口没有PWM功能,T2CLKO可以输出定时器2的分频时钟,但是不能调占空比

    1.png

    如果必须使用这个脚输出PWM的话,可以考虑一下STC8H1K08:
    2.png

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 07:59
  • 签到天数: 153 天

    [LV.7]常住居民III

    18

    主题

    534

    回帖

    1306

    积分

    金牌会员

    积分
    1306
    发表于 2023-4-4 09:32:22 | 显示全部楼层
    你也可以映射到别的引脚输出的,无非就是寄存器设置问题,STC官方有不少示例程序可供参考!
    不停地学习
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    10

    回帖

    54

    积分

    注册会员

    积分
    54
     楼主| 发表于 2023-4-4 09:47:42 | 显示全部楼层
    wenhuixuan 发表于 2023-4-4 09:32
    你也可以映射到别的引脚输出的,无非就是寄存器设置问题,STC官方有不少示例程序可供参考! ...

    您是说,STC8G1K08的PWM输出正常是CCP0(P1.1),我可以把这个角映射到P1.3吗?
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    10

    回帖

    54

    积分

    注册会员

    积分
    54
     楼主| 发表于 2023-4-4 09:52:11 | 显示全部楼层
    乘风飞扬 发表于 2023-4-4 09:12
    STC8G1K08芯片的P1.3口没有PWM功能,T2CLKO可以输出定时器2分频时钟,但是不能调占空比

    就是没想明白,案例是怎么实现的,想弄明白。我在示波器上看到案例确实是固定频率,占空比变化。用STC8G1K08的P1.3脚实现的。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:00
  • 签到天数: 144 天

    [LV.7]常住居民III

    27

    主题

    1356

    回帖

    4217

    积分

    论坛元老

    积分
    4217
    发表于 2023-4-4 10:21:17 | 显示全部楼层
    本帖最后由 乘风飞扬 于 2023-4-4 10:22 编辑
    水星自动化 发表于 2023-4-4 09:52
    就是没想明白,案例是怎么实现的,想弄明白。我在示波器上看到案例确实是固定频率,占空比变化。用STC8G1 ...

    如果输出频率不高的话通过定时器也能够实现,不过这么做比较占用CPU资源,建议更换芯片或者脚位使用硬件PWM模块来实现。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    10

    回帖

    54

    积分

    注册会员

    积分
    54
     楼主| 发表于 2023-4-4 10:35:21 | 显示全部楼层
    乘风飞扬 发表于 2023-4-4 10:21
    如果输出频率不高的话通过定时器也能够实现,不过这么做比较占用CPU资源,建议更换芯片或者脚位使用硬件PW ...

    频率700Hz,您是说通过一个T2能实现频率不变,占空比变化的PWM吗?通过P1.3脚。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9550

    回帖

    1万

    积分

    管理员

    积分
    14011
    发表于 2023-4-4 10:48:37 | 显示全部楼层
    可以的
    1.png

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    10

    回帖

    54

    积分

    注册会员

    积分
    54
     楼主| 发表于 2023-4-4 11:21:07 | 显示全部楼层

    您好,我看到的案例用的是STC8G1K08 TSSOP20。用P1.3实现的频率不变,占空比变化的PWM输出。没想明白怎样实现的,请多指教。

    点评

    STC8G1K08有硬件PWM的啊,直接使用不就可以了。 实在要用Timer2做PWM,则每个PWM周期要中断两次,允许Timer2高速输出,允许中断,在中断中不断重装高低电平的时间。注意,由于中断处理要点时间,所以最小占空比和最  详情 回复 发表于 2023-4-4 11:49
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3053

    回帖

    6883

    积分

    超级版主

    积分
    6883
    发表于 2023-4-4 11:49:37 | 显示全部楼层
    水星自动化 发表于 2023-4-4 11:21
    您好,我看到的案例用的是STC8G1K08 TSSOP20。用P1.3实现的频率不变,占空比变化的PWM输出。没想明白怎样 ...

    STC8G1K08有硬件PWM的啊,直接使用不就可以了。
    实在要用Timer2做PWM,则每个PWM周期要中断两次,允许Timer2高速输出,允许中断,在中断中不断重装高低电平的时间。注意,由于中断处理要点时间,所以最小占空比和最大占空比受限制,一般要留至少60个主频周期的时间(就是中断处理时间),对于24MHz,至少预留2.5us,对于700Hz,最小占空比0.175%,最大占空比99.825%。由于Timer2中断不能设置优先级,所以不要开启别的中断。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-21 01:44 , Processed in 0.068928 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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