1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
c51控制sg90舵機
[打印本頁]
作者:
sky日耀
時間:
2018-1-9 22:32
標題:
c51控制sg90舵機
為什么我寫的單片機控制舵機轉動固定角度;求大佬指點下,謝謝。
#include<reg52.h>
sbit SEV_PWM = P0^0;
void ConfigUART(unsigned int baud);
void initTimer0();
unsigned char count = 0;
unsigned char SEV_count = 15;
unsigned char command;
void main()
{
EA=1;
initTimer0();
ConfigUART(9600);
while(1)
{
switch(command)
{
case 'f':
{
SEV_count++;
if(SEV_count >= 25)
{
SEV_count = 25;
}
count=0;
break;
}
case 'g':
{
SEV_count--;
if(SEV_count <=5)
{
SEV_count = 5;
}
count=0;
break;
}
case 'k':
{
SEV_count = 15;
count=0;
break;
}
default:
{
break;
}
}
}
}
void initTimer0()
{
TMOD=0X01;
TH0 = 0xff;
TL0 = 0xa3;
ET0 = 1;
TR0 = 1;
}
void ConfigUART(unsigned int baud)
{
SCON = 0x50;
TMOD &= 0x0F;
TMOD |= 0x20;
TH1 = 256 - (11059200/12/32)/baud;
TL1 = TH1;
ET1 = 0;
ES = 1;
TR1 = 1;
}
void Time0_Int() interrupt 1
{
TH0 = 0xff; //????0.1ms
TL0 = 0xa3;
if(count >= SEV_count) //???????
{
SEV_PWM = 1;
}
else
{
SEV_PWM = 0;
}
count++;
if (count >= 200)
{
count = 0;
}
}
void uart_ser() interrupt 4
{
if (RI)
{
RI = 0;
command= SBUF;
}
if(TI)
{
TI=0;
}
}
作者:
HC6800-ES-V2.0
時間:
2018-1-10 08:37
第一:你的舵機接在P0口,有上拉電阻沒?
第二:好像控制舵機的占空比不對啊,“占”太多了。
例如:轉動45度時,高電平20,則低電平要380(相同比例,周期20ms,占的時間0~2.5ms)。
轉動90度時,高電平30,則低電平要370
作者:
sky日耀
時間:
2018-1-10 10:29
HC6800-ES-V2.0 發表于 2018-1-10 08:37
第一:你的舵機接在P0口,有上拉電阻沒?
第二:好像控制舵機的占空比不對啊,“占”太多了。
例如:轉動 ...
周期20ms,占的時間0~2.5ms,定時器0.1ms,轉動90度應該不是高電平15嗎?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1