新闻中心

EEPW首页>嵌入式系统>设计应用> C51单片机运用定时器T0中断实现电子时钟

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

作者: 时间:2016-12-02 来源:网络 收藏


上面是电路原理图

本文引用地址://m.amcfsurvey.com/article/201612/324655.htm

下面是程序源代码:
/*****************************************************************************
功能描述:运用定时器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;

}
}
}


上一页 1 2 下一页

评论


技术专区

关闭