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频率越高滤波越容易,但是控制精度会降低了.本回答被网友采纳

STC12C5A60S2的特点
STC12C5A60S2\/AD\/PWM系列单片机是宏晶科技生产的单时钟\/机器周期(1T)的单片机,是高速\/低功耗\/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A\/D转换(250K\/S),针对电机控制,强干扰场合。1.增强型8051 CPU,1T,单时钟...

BOOST升压电路采用STC12C5A60S2驱动mos,如何确定电路里电感和电容的值...
你对BOOST电路的理解不太正确。占空比虽然动态调节,但是开关频率是固定的。实际上决定电感电容参数选取的,主要是你的振荡频率、最大负载(电流)、输出电压等级以及输出纹波要求。第一个参数是你的程序决定的,后面的参数是你的设计要求决定的。一般来说,电感的工作电流应不小于最大负载电流×安全系数(...

C语言编写STC12C5A60S2芯片用4个按键控制四个灯的亮灭
include“reg52.h”#include“delay.h”\/\/ 定义按键 KEY_0~KEY_6 对应P1^0~P1^6sbit KEY_0 = P1^0;sbit KEY_1 = P1^1;sbit KEY_4 = P1^4;sbit KEY_5 = P1^5;sbit KEY_6 = P1^6;\/\/ 定义LED _7~LED_3 对应P2^7~P2^3sbit LED_7 = P2^7;sbit LED_ 6= P2^6;sbit...

用51单片机产生占空比可调的pwm,且可以定时持续输出一定占空比的...
\/\/sfr CCAPM0 = 0xDA; \/\/PCA模块0模式寄存器 \/\/模块0对应P1.3\/CEX0\/PCA0\/PWM0(STC12C5A60S2系列)\/\/sfr CCAPM1 = 0xDB; \/\/PCA模块1模式寄存器 \/\/模块1对应P1.4\/CEX1\/PCA1\/PWM1(STC12C5A60S2系列)\/\/sfr CL = 0xE9; \/\/PCA 定时寄存器 低位 \/\/sfr CH = 0...

单片机的最小系统晶振电路的两个电阻作用,为什么
1.无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来 无源晶振需要用DSP片内的振荡器,在datasheet上有建议的连接方法。无源晶振没有电压的问题,信号电平是可变的,也就是说是根据起振电路来决定的,同样的晶振可以适用于多种电压,可用于多种不同时钟信号电压要求的DSP,而且价格...

用单片机对步进电机进行控制
1 单片机控制电机 如图3说明:这个部分为单片机控制步进电机部分,80s52单片机通过达林顿驱动器ULN2803来驱动步进电机,80s52的P1.0-P1.4发送控制信号给驱动器,然后驱动器的四根线把信号传递给电机,使电机实现正反转等。电机部分接12V直流电源。3.2 键盘如图4说明: 本系统中采用了四个按键,分别与80s52的四个引脚相连,...

电压值0-5V,输出是八位二进制,也可以显示成0-255了。问题如下。_百度知 ...
电压值0-5V,输出是八位二进制,也可以显示成0-255了。问题如下。没有定时器的不过有数字钟的你可以参考下 其中可有有用的摘要本题给出基于单片机的数字中的设计,设计由单片机作为核心控制器,通过频率计数实现计时

急求单片机流水灯程序及详解
SETB P1.1 ;P1.1输出高电平,使LED2熄灭 CLR P1.2 ;P1.2输出低电平,使LED3点亮 ACALL DELAY ;调用延时子程序 SETB P1.2 ;P1.2输出高电平,使LED3熄灭 CLR P1.3 ;P1.3输出低电平,使LED4点亮 ACALL DELAY ;调用延时子程序 SETB P1.3 ;P1.3输出高电平,使LED4熄灭 CLR P1.4 ;P1.4输出低电平,使LED5点...

基于单片机的温度数据采集系统设计
1.单片机及电源管理模块设计。 单片机可选用AT89S51及其兼容系列,电源管理模块要实现高精密稳压输出,为单片机及A\/D转换器供电。2.传感器及放大器设计。 传感器可以选用镍铬—镍硅热电偶(分度号K),放大器要实现热电偶输出的mV级信号到A\/D输入V级信号放大。3.多路转换开关及A\/D转换器设计。 多路开关可以选用CD4052...

用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设...
其实不用定时中断也能实现功能:include<reg51.h> 主函数 unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定义0-9数组 unsigned int tmp;定义变量 void delay(unsigned int xms)定义延时函数 {unsigned int j,i;for(i=0;i<xms;i++)for(j=0;j<100...

相似回答