定时器0中断

中断在单片机中有着至关重要的地址。

#include<reg52.h>

 
 

unsigned int num;

sbit led1=P1^0;

 
 

void main()

{

    TMOD=0x01; //设置定时器0的工作方式为1

    TH0=(65536-45872)/256;    //定时器装初始值11.0592M晶振定时50ms的计数为45872

    TL0=(65536-45872)%256;

    EA=1; //总中断开

    ET0=1; //定时器0中断开

    TR0=1; //启动定时器

    while(1)

    {

        if(num==20)

        {

            num=0;

            led1=~led1;

        }

    }

}

 
 

void T0_timer() interrupt 1

{

    TH0=(65536-45872)/256;

    TL0=(65536-45872)%256;

 
 

    num++;

}

  

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注