怎么用51单片机控制输出稳定连续的0~5V的电压?

我想通过控制单片机的I/O(独立按键)口来控制电压在0~5V稳定的变化!

51单片机IO口输出高电平时,接近VCC,可以按VCC来计算。

你使用5V供电,IO输出高电压平应该按5V计算。

LED限流电阻= ( 5V - led工作时端电压 ) / led工作电流

LED电压一般 2到3V,按平均2.5V,工作电流按10ma

限流电阻= (5-2.5)V/10ma = 0.25k = 250欧,一般选200-1000欧都可以
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-18
直接给你个我写的pwm函数 在形参里填数即可控制pwm占空比 后面加个10k电阻和104的电容滤波 就可以实现0-5v输出了
void PWM(unsigned int DUTY) //9bit (范围max 0x1ff min 0x000)
{
CMOD=0x02; //0000 010 使用TO溢出计数 0 禁止PCA中断
CCON=0x40; //01 000 000 启动PCA模块
CCAPM1=0x42; //0100 0010 脉宽调节方式 8位PWM 无中断
PCA_PWM1=(DUTY>>7); //pwm0 高1位
CCAP1H=(DUTY&0XFF); //pwm0 低8位

}
第2个回答  2015-10-06
直接给你个我写的pwm函数 在形参里填数即可控制pwm占空比 后面加个10k电阻和104的电容滤波 就可以实现0-5v输出了
void PWM(unsigned int DUTY) //9bit (范围max 0x1ff min 0x000)
{
CMOD=0x02; //0000 010 使用TO溢出计数 0 禁止PCA中断
CCON=0x40; //01 000 000 启动PCA模块
CCAPM1=0x42; //0100 0010 脉宽调节方式 8位PWM 无中断
PCA_PWM1=(DUTY>>7); //pwm0 高1位
CCAP1H=(DUTY&0XFF); //pwm0 低8位

}
第3个回答  2012-01-18
PWM只适合具有惯性环节的模拟控制,不是标准的模拟量,最好用DA芯片来实现,可以选串行接口的DA追问

单片机 串口DA 后面加个运放么?

追答

不同的芯片不一样,如果是ADC0832(电流输出型)需要加一个运放,如果是MAX187(电压输出型)则不用。

本回答被提问者和网友采纳
第4个回答  2012-01-18
单片机输出数据 经过DA转换再放到到5V(MAX)
相似回答