|
舵机没反应
使用定时器0
晶振是22.1184mhz
程序为:
#include "stc32g.h"
#include "intrins.h"
#define duoji P21
typedef unsigned int u16;
typedef unsigned char u8;
u8 count=0;
u8 PWM_count=0;
void Delay1000ms() //@22.1184MHz
{
unsigned long i;
_nop_();
_nop_();
i = 5529598UL;
while (i) i--;
}
void time0_Init (void)
{
AUXR |= 0x80;
TMOD &=0xF0;
TL0 = 0xCD;
TH0 = 0xD4;
TF0=0;
ET0=1;
EA=1;
TR0=1;
}
void main()
{
EAXFR=1;
CKCON=0x00;
WTST=0x00;
time0_Init ();
while(1)
{
PWM_count=5;
Delay1000ms();
}
}
void TM0_Rountime(void) interrupt 1
{
TL0=0xCD;
TH0=0xD4;
count++;
count%=40;
if(count<PWM_count)
duoji=1;
else
duoji=0;
} |
|