STC12C5A60S2单片机,单片机用的是10M晶振,5V电压,现要求用PWM的P1.4引脚来输出3.3V的电压,请问怎么弄

首先想知道占空比怎么设置,是70%吗?那PCA的时钟周期怎么选择?怎么确定要用几位的PWM?八位够吗?

第1个回答  2013-03-25
占空比理论上是3.3/5=66%,考虑到余量可以用70%。时钟周期不用管,用一位PWM输出就可以了追问

PWM不是有8位或者是16位等模式吗?您说的一位是一路吧??不用管时钟?那我怎么知道PCA计数到多少然后输出3.3V的电压?

追答

如你题中要求,你只要用P1.4输出一个脉冲序列就可以了,该序列包含7个高电平和3个低电平,示例如下:
PWM:SETB P1.4
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLS P1.4
NOP
NOP
NOP
LJMP PWM
END

输出电压会自动在该引脚上取等效值的

追问

这样的,不是需要设置一些相应的寄存器的吗?PCA/PWM中给的一个关于软件PWM的例子中就设置了寄存器,看了不知道根据这个怎么选择寄存器的值。

追答

应该是这样子的

第2个回答  2013-03-25
这个方法不好,第一不稳定,第二3.3V波形质量不高,要附加的滤波电路,为什么不用1117之类的呢

pwm频率越高滤波越容易,但是控制精度会降低了.本回答被网友采纳