8F2K16S2单片机 内部24M 别人的硬件,自己写的程序,输出P1.0 推挽,他原来那个频率,占空比和我这个一样,但是没有移动
unsigned char PWMCounterSATAT[50]={0,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,0};
unsigned char PWMCounter=0;
uchar ul=0;
void Timer0() /
{
AUXR &= 0x0f; //1T
AUXR |= 0xc0;
TMOD &= 0xF0; //16位自动
TL0 = 0xA0; //400US
TH0 = 0xF6;
ET0 = 1;
TR0 = 1;
}
void InterruptTimer0() interrupt 1
{ /*
if(facecare)
{
TimeCounter++;
if(TimeCounter==5000&&bubble_satar)
bubble_satar_lock=1;
if(TimeCounter>=10000)
{
if (bubble_satar)
{
bubble_satar_lock=1;
}
TimeCounter=0;
Time_start=1;
}
*/
if(ul_satar)
{
PWMCounter++;
if(PWMCounter<=PWMCounterSATAT[ul])
PWM=1;
else PWM=0;
if(PWMCounter>=200)
PWMCounter=0;
}
|