关于PWM输出极性和输出控制的疑问
已经用PWM8呈现出想要的简单结果,但是回过头来看,有些疑问。
实验环境
MCU:8051U
PWM输出通道:PWM8(B组,位于P0.7针脚)
实验目的
想用PWM8的输出控制led,呈现出渐明渐暗的效果,以指示mcu没有死机
遇到的问题
- URSB和UDISB的关系不清楚:
把UDISB置零的情况下,URSB可以是任意值(0或1),也可以不写关于PWMB的中断函数,对实验现象没影响。但是,如果把UDISB置位,将没有调制效果,不知道为什么。
针对这种情况,不处理PWMB的中断,有什么问题吗?想知道,想要获得PWM8的PWM输出,如何正确配置UDISB和URSB这2个bit位。
-
关于PWMB_IOAUX寄存器,手册中说当AUX8P置零时,PWM8 的输出只受ENO8P的控制。当我真把ENO8P bit位置零,而不去操作寄存器PWMB_BKR的MOEB bit位时,将P0.7(PWM8的输出端口)将得不到输出。实际情况是,不论AUX8P什么状态,都对PWM8的PWM输出没有控制,感觉哪里有冲突。是不是,PWM通道作为PWM输出目的时,不需要PWMn_IOAUX寄存器?
-
第28.7.7小节说,计数器开始之前,必须通过寄存器PWMB_EGR的UGB bit位初始化所有的寄存器,可实际中并没有操作它,仍然可以得到PWM8的PWM输出,难道是我理解出错了吗?
-
OC8REF的输出电平和PWM8的PWM输出端口P0.7有什么关系?
-
最后一个问题,选择PWM8的PWM输出模式2,这种情况,当计数器的值小于PWMB_CCR8,OC8REF输出低(我理解的是P0.7也输出低)。但是,如果置位CC8P,将会得到相反的结果,那这不冲突了吗?