急求基于8051单片机的多功能数字钟的程序

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:06:16
临近期末了 马上要交一个数字钟的程序 请大虾们帮帮忙吧。 要求就是用单片机编程:能计时 和报时就行了 急急急啊!!!!!
谢谢你们的帮忙 可是你们给的程序都只有显示时间 没有定点或多点报时功能啊

#include <AT89X51.H>
unsigned char second=0,minute=0,hour=0,max=23; //second秒,minute分,hour时,max时制

//主函
main()
{
unsigned char code table[]={0xdd,0x84,0xe9,0xec,0xb4,0x7c,0x7d,0xc4,0xfd,0xfc};
unsigned int i;
void good();
TMOD=0X11; //T0工作于定时模式1用于计时,T1工作于定时模式1用于扫描按键
IE=0X8a; //开放T0、T1中断
IP=0X80; //T1优先级高于T0,有按键停止计时
TH0=0X3c; //设置T0初值,定时5MS
TL0=0Xb0;
TH1=0x3c; //定时250ms扫描按键;
TL1=0xb0;
TR1=1; //启动
good();
while(1) //扫描轮流显示
{
i=minute/10; //显示分十位
P0_5=0;
P0_4=1;
P0_6=1;
P0_7=1;
P2=table[i];
for(i=0;i<500;i++);
i=minute%10; //显示分个位
P0_5=1;
P0_4=0;
P0_6=1;
P0_7=1;
P2=table[i];
for(i=0;i<500;i++);
i=hour%10; //显示时个位
P0_5=1;
P0_4=1;
P0_6=0;
P0_7=1;
P2=table[i];<