20微秒启动一次定时中断,50%就是定时中断计数值到50闭合,到100的时候放开,55%就是计数值到55的时候操作。
#include <reg51.h>
void InitTimer0(void)
{
TMOD = 0x02;
TH0 = 0x00;
TL0 = 0x0EC;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
InitTimer0();
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x00;
TL0 = 0x0EC;
//add your code here!
}
然后120MS就是120000微秒,然后计数值到6000的时候操作一下。
大致就这样。
Good Luck~