1ms的定时中断,
/*****************************************************
*Author:kl.yao
*Mail :kl.yao@dsmgreenpower.com
*Info :Mcu run frequency(not crystal) 12000000 HZ
*Error :
1.定时器/计数器0设置定时时间1000us,并已使能,却没有被允许中断!
*****************************************************/
#include
#include
sbit PWM_Port = P1^0;
void main(void)
{
P0 = 0x00;
P1 = 0x00;
P2 = 0x00;
P3 = 0x00;
TH0 = 0xFC;
TL0 = 0x18;
TH1 = 0x00;
TL1 = 0x00;
T2CON = 0x00;
RCAP2H = 0x00;
RCAP2L = 0x00;
TMOD = 0x01;
TCON = 0x10;
IP = 0x00;
IE = 0x82;
PCON = 0x00;
SCON = 0x00;
while(1)
{
//添加你的代码
}
}
void Timer0_ISR(void) interrupt 1
{
//添加你的代码
TH0=0xFC;
TL0=0x18;
PWM_Port ^= 1;
}
你写一个main程序,在里面调用延时子程序,延时到后返回主程序把端口取反就成了。