|
為什么我寫的單片機(jī)控制舵機(jī)轉(zhuǎn)動(dòng)固定角度;求大佬指點(diǎn)下,謝謝。
#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;
}
}
|
|