天天看點

51單片機實驗10:定時器中斷

目的:通過定時器中斷控制延時,使第一盞led的狀态反轉

開發闆muc與led子產品電路圖如下:

51單片機實驗10:定時器中斷
#include<reg52.h>
#define uc unsigned char
sbit led=P2^0;
void timeint0()
{
  TMOD=0X01;//工作方式
  TH0=0XFC;//定時1ms
  TL0=0X18;//定時1ms
  TR0=1;//控制
  ET0=1;//定時器0中斷請求
  EA=1;//總中斷
}
void time0int () interrupt 1//注意中斷号
{
  static int i=0;//注意靜态變量的使用!
  TH0=0XFC;//定時器複位
  TL0=0X18;//定時器複位
  i++;
  if(i==1000)//1000個1ms,構成1s
  {
    i=0;
    led=~led;//led狀态反轉
  }
}
void main()
{
  timeint0();
  while(1);
}      

繼續閱讀