PIC10F220输出PWM波占空比问题请教
时间:10-02
整理:3721RD
点击:
想用PIC10f220单片机输出一周期10ms的pwm信号驱动电机,但是调试过程中发现占空比在3%——97%区间是正常的,但是占空比到了3%后就无法再降低了,除非直接变为0;通用占空比到97%后也无法再提升了,除非直接变为100%,无法达到98%、99%的效果;不知问题在哪里?谁了解的给个建议,谢谢。PWM波是通过定时器的方式控制普通IO口实现的!
附上代码:
void main(void)
{
int AD_data = 0;
TRIS = 0X01; //设置所有IO口为输出
FOSC4 = 0;
OPTION = 0X06;
while(1)
{
ADCON0 = 0x43;
AD_data = ADRES & 0xFF;
if(AD_data >1)
{
if( TMR0 <= AD_data) )
GP2 = 1;
else if( TMR0 < 255 )
GP2 = 0;
else
{TMR0=0; GP2 =1;}
}
else
GP2 = 0;
}
}
附上代码:
void main(void)
{
int AD_data = 0;
TRIS = 0X01; //设置所有IO口为输出
FOSC4 = 0;
OPTION = 0X06;
while(1)
{
ADCON0 = 0x43;
AD_data = ADRES & 0xFF;
if(AD_data >1)
{
if( TMR0 <= AD_data) )
GP2 = 1;
else if( TMR0 < 255 )
GP2 = 0;
else
{TMR0=0; GP2 =1;}
}
else
GP2 = 0;
}
}
好
好? 啥?
要那么精确的占空比么?
也不是,只是纳闷为啥出现这情况
电压死区的缘故吧
回复一个,还是回复一个,还是不错的不错的
回复一个,还是不回复一个,还是不错的错的
回复一个,还是不错的回复一个,还是不错的
电压死区的缘故吧
你好 请问你是用什么编译器编写的 因为我用mplab ide编发现io口的方向寄存器TRIS报错