51單片機(jī)程序——定時(shí)器控制LED閃爍
#define uint unsigned int
uint i=0;
void delay(uint z) //延遲函數(shù)
{
uint x,y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}
void main (void)
{
TMOD=0x10; //TMOD賦值,以確定T0和T1的工作方式
TH1=(65536-50000)/256; //計(jì)算初值,并將其寫(xiě)入TH0、TL0或TH1、TL1
TL1=(65536-50000)%6;
EA=1; //打開(kāi)總中斷
ET1=1; //打開(kāi)定時(shí)器1中斷
TR1=1; //啟動(dòng)定時(shí)器1
while(1)
{
if(i==20) //定時(shí)器計(jì)數(shù)時(shí)間20*50MS=1S
{
i=0; //清除標(biāo)志位
P0=0xaa;
delay(500);
P0=0xff;
delay(500);
}
}
}
void exter1() interrupt 3 //定時(shí)器1中斷函數(shù)
{
TH1=(65536-50000)/256; //中斷函數(shù)中也需要賦定時(shí)器初值
TL1=(65536-50000)%6;
i++; //定時(shí)器每50MS就使i加一
}
評(píng)論