基于51系列单片机的c程序
H1=1; //段锁存
LATCH1=0;
i++;
if(i==Num)
i=0;
}
/*------------------------------------------------
定时器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
//TH0=0x00; //给定初值
//TL0=0x00;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
/*------------------------------------------------
定时器中断子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1
{
static unsigned int num,i;
TH0=(65536-1000)/256;//重新赋值 1ms
TL0=(65536-1000)%256;
if(BeepFlag) //启动喇叭标志
{
if(num<300 || (num>500&&num<800) )
BEEP=!BEEP; //闪响
else
BEEP=0; //停止发声
}
Display(0,8); // 调用数码管扫描
i++;
if(i==20) //20ms更新一次
{
i=0;
UpdateTimeFlag=1; //更新时间志位置1
}
num++;
if(num==1000) //大致1s
{
num=0;
if((minute!=0)||second)//如果分钟和秒都为0,不进行计时
second--;//秒减1
if(second==0xff)//如果=0后再减1则赋值59,即00过后显示59
{
second=59;
if(minute>0)//倒计时条件
{
minute--;
}
}
}
}
/*------------------------------------------------
喇叭警报声音开
------------------------------------------------*/
void Beep_ON(void)
{
BeepFlag=1;
}
/*-----------------
-------------------------------
喇叭警报声音关
------------------------------------------------*/
void Beep_OFF(void)
{
BeepFlag=0;
BEEP=0;
}
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育使用99分钟倒计时器.c(3)全文阅读和word下载服务。
相关推荐: