×
嵌入式 > 嵌入式开发 > 详情

C51单片机运用定时器T0中断实现电子时钟

发布时间:2020-08-25 发布时间:
|


上面是电路原理图

 

下面是程序源代码:
/*****************************************************************************
功能描述:运用定时器T0实现电子时钟
**************************************************************************/
#include"reg52.h"
#include"intrins.h"
#define uint unsigned int
#define uchar unsigned char

sbit p32=P3^2;
sbit p33=P3^3;

uchar num;
uint number,number0,number1;

uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};

void tiaoz();
void delay()
{
uint b;
for(b=300;b>0;b--);
}

void time() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
//tiaoz();
}

//以下屏蔽内容为 利用两个外部中断来调整“时,分”
/*void tiaof() interrupt 0 //分针调整
{
if(p32==0)
{
delay();
if(p32==0)
{
number=0;
number0++;
while(!p32);
if(number0>=60)
number0=0;
}
}
}

void tiaos() interrupt 2 //时针调整
{
if(p33==0)
{
delay();
if(p33==0)
{
number=0;
number1++;
while(!p33);
if(number1>=24)
number1=0;

}
}
}
*/

//运用独立按键来调整“时,分”
void tiaoz0()
{
if(p32==0)
{
delay();
if(p32==0)
{
number=0;
number0++;
while(!p32);
if(number0>=60)
number0=0;
}
}
if(p33==0)
{
delay();
if(p33==0)
{
number=0;
number1++;
while(!p33);
if(number1>=24)
number1=0;

}
}
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Recogni:将高端AI芯片推向自动驾驶边缘