您当前的位置:五五电子网电子知识单片机-工控设备51单片机定时中断30秒倒计时程序 正文
定时中断30秒倒计时程序

定时中断30秒倒计时程序

点击数:7507 次   录入时间:03-04 11:43:36   整理:http://www.55dianzi.com   51单片机

定时中断30秒倒计时程序

#include <reg52.h>
char shuju[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0--9
char a=3,b=0,i=0;


/********* 延时子程序 *********/
void delay(unsigned int x)
{
while(x--);
}
/*********  初始化程序 *********/
void init()
{
P0=0;
TMOD=0x01; //定时器T0工作方式1
TH0=0x3c;
TL0=0xb0;  //装入初值50ms
ET0=1;     //允许定时器T0中断
EA=1;      //开总中断
TR0=1;     //启动定时器
}

/********* 显示子程序 *********/
void Display()
{
P2=0x00|0x80;   //位选十位CS_Y0
P0=shuju[a];    //扫描
delay(1000);
P2=0x01|0x80;   //位选个位CS_Y1
P0=shuju[b];
delay(1000);
}


/*********  主程序 *********/
void main()
{
  init();
  while(1)      //wait interrupt
 {

  Display();

 }

}
 
/********* 中断子程序 *********/
void sinterrupt(void) interrupt 1 //定时器T0中断
{

if(++i==20)                       //1 menitus come
{i=0;

if(a==0&&b==0){a=3,b=0;}
  else if(b==0){a--;b=9;}         //这个句子放上面显示30--1,放在下面显示29--0
     else b--;

}
TH0=0x3c;
TL0=0xb0;
}




本文关键字:程序  51单片机单片机-工控设备 - 51单片机