欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機舵機控制程序求助
[打印本頁]
作者:
lenvu
時間:
2020-3-15 15:19
標題:
單片機舵機控制程序求助
51下載的程序,想做成按鍵按下旋轉90度,按鍵松開舵機歸零,如此反復。 修改了但是控制會有問題,大神求解
單片機源程序如下:
#include<reg52.h>
sbit SG_PWM=P3^2;
sbit Key_1=P1^1;
unsigned char count=0;
unsigned char PWM_count=1; //1--0度,2--45度,3--90度,4--135度,5--180度
void delay(unsigned char i) //延時
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void Timer_Init()
{
TMOD=0X01; //T0定時方式1
TH0=0Xfe;
TL0=0X33; //計數初值設置為0.5ms 每0.5ms進入一次中斷,晶振頻率:11.0592MHZ
ET0=1; //打開定時器0的中斷
TR0=1; //打開定時器0
EA=1; //開總中斷
}
void Timer() interrupt 1 //特別注意此處,0--外部中斷0,1--定時器中斷0,2--外部中斷1,3--定時器中斷1,4--串行口中斷1
{
TR0=0;
TH0=0Xfe;
TL0=0X33; //重新賦計數初值為0.5ms
if(count<=PWM_count)
{
SG_PWM=1;
}
else
{
SG_PWM=0;
}
count++;
if(count>=40)
{
count=0;
}
TR0=1;
}
void main()
{
Timer_Init();
while(1)
{
if(Key_1==0)
{
delay(10);
EA=0;
if(Key_1==0)
{
PWM_count=3;
count=0;
EA=1;
}
while(!Key_1);
PWM_count=1;
}
}
}
作者:
人中狼
時間:
2020-3-15 19:47
while(!Key_1);
PWM_count=1;
while后面少了大括號吧
作者:
weiweimao1
時間:
2020-3-15 20:34
程序沒問題啊,我用你的程序拷入板子,能正常控制舵機。我用的SG90舵機。
作者:
weiweimao1
時間:
2020-3-15 20:41
你的計數初值有點大,改成0.1試試,我試了一下效果不錯。
作者:
weiweimao1
時間:
2020-3-15 20:55
主程序中把EA=0和EA=1注釋掉就好了。
void main()
{
Timer_Init();
while(1)
{
if(Key_1==0)
{
delay(1);
// EA=0;
if(Key_1==0)
{
PWM_count=15;
count=0;
// EA=1;
}
}
while(!Key_1);
PWM_count=1;
}
}
作者:
lenvu
時間:
2020-3-15 21:48
weiweimao1 發表于 2020-3-15 20:55
主程序中把EA=0和EA=1注釋掉就好了。
void main()
{
謝謝 我試試
作者:
lenvu
時間:
2020-3-16 10:44
weiweimao1 發表于 2020-3-15 20:55
主程序中把EA=0和EA=1注釋掉就好了。
void main()
{
用的是12m晶振嗎
作者:
weiweimao1
時間:
2020-3-21 13:49
嗯 普中的板子 89C51
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1