8F2K16S2單片機 內(nèi)部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;
}
|