STC8H PWM简单运用

    P_SW2 = 0x80;
    PWMA_CCER1 = 0x00;                          //写CCMRx前必须先清零CCERx关闭通道
    PWMA_CCMR2 = 0x68;                          //设置CC1为PWMA输出模式
    //切换引脚要改PWMA_CCER1
    PWMA_CCER1 = 0x10;                          //使能CC1通道
    PWMA_CCR2 = 500;                            //设置占空比时间
    PWMA_ARR = 500;                             //设置周期时间
    PWMA_ENO |= 0x04;                            //使能PWM1P端口输出
    PWMA_BKR = 0x80;                            //使能主输出
    PWMA_CR1 = 0x01;                            //开始计时
    PWMA_PS = 0x00;                             //高级 PWM 通道输出脚选择位
    
    P_SW2 = 0x80;
    PWMA_CCER2 = 0x00;                          //写CCMRx前必须先清零CCERx关闭通道
    PWMA_CCMR3 = 0x68;                          //设置CC1为PWMA输出模式
    //切换引脚要改PWMA_CCER1
    PWMA_CCER2 = 0x01;                          //使能CC1通道
    PWMA_CCR3 = 500;                            //设置占空比时间
    PWMA_ARR = 500;                             //设置周期时间
    PWMA_ENO |= 0x10;                            //使能PWM1P端口输出
    PWMA_BKR = 0x80;                            //使能主输出
    PWMA_CR1 = 0x01;                            //开始计时
    PWMA_PS = 0x00; 
   
    //切换引脚时 需要改变
//    1  PWMA_CCER?  看手册
//    2    PWMA_CCMR? 第几个PWM写几
//    3  PWMA_CCR?  第几个PWM写几
//    4   PWMA_ENO   看手册

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要排查STC8HPWM无输出问题,需要注意以下几个方面: 首先需要确认是否将PWM口正确的配置为PWM输出口,是否配置正确的周期和占空比。可以检查程序中的相关设置,或者直接查看寄存器(如PWM_CONTR寄存器)的值是否正确。 其次需要确认是否连接了合适的负载,比如LED灯或者电机等。如果负载过大或过小都有可能导致PWM输出不正常。 还需要检查是否将PWM的引脚连接到正确的端口。在连接过程中可能发生误接或者并未成功连接引脚,导致PWM无法送到正确的端口。 如果以上检查均正常,还需要注意是否存在其他异常因素,比如系统时钟异常或者程序中其他设置冲突等。可以使用调试工具或者在程序中加入调试代码,逐步排查问题。 综上所述,当STC8HPWM无输出时,需要从以上几个方面进行排查,以确定具体的问题所在,并进行相应的修复。 ### 回答2: 对于STC8H单片机PWM输出问题,一般有以下几种可能的原因: 1. 硬件连接问题: 首先需要检查PWM输出管脚与其他电路的连接是否正确,如是否与负载、电源等连接正常。 2. IO口设置问题: 需要检查相关IO口是否设置为PWM输出模式,以及是否设置正确,如重设是否正确。 3. 定时器设置问题:需要检查定时器的初始化是否正确,例如定时器模式、计数器初始值、时钟源和分频数等。 4. PWM频率和占空比问题: 需要检查PWM输出的频率范围和占空比值是否在要求范围内。如果PWM频率太高或太低、占空比值不正确,都可能导致PWM输出无效。 5. 软件实现问题: 如程序逻辑是否正确,是否存在编译错误等。 以上是可能导致STC8H单片机PWM输出无效的几种情况,需要根据实际情况逐一排查,找到具体原因并进行解决。 ### 回答3: 如果stc8h pwm没有输出,可能是以下几个原因: 1.电路问题:检查PWM输出是否连接正确,检查连接线是否有开路或者短路的情况,检查电源线和接地线是否连接良好。 2.程序问题:检查程序是否正确,是否有错误或者遗漏。检查pwm的GPIO配置是否正确,是否初始化了pwm的相关寄存器。 3.硬件问题:检查定时器的时钟分频是否正确,是否选择了正确的输出模式。检查定时器和pwm的硬件连接是否正确,是否有损坏的元件。 4.电源问题:检查电源供电是否稳定,电压是否满足要求。如果电源电压不足,会影响pwm的输出。 如果以上四个方面都排除了,可以考虑对stc8h的芯片进行检查,是否存在硬件故障。在检查过程中,需要注意安全防护,避免电路短路或者其他意外情况的发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值