您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 定时中断30秒倒计时程序 -
本文所属标签:
为本文创立个标签吧:

定时中断30秒倒计时程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
定时中断30秒倒计时程序#include char shuju[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0--9char a=3,b=0,i=0;/********* 延时子程序 *********/void delay(unsigned int x){while(x--

定时中断30秒倒计时程序

本文引用地址: http://www.21ic.com/app/mcu/201806/764834.htm

#include
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;
}




              查看评论 回复



 

"定时中断30秒倒计时程序 -"的相关文章

网站地图

围观()