#基于51单片机的时钟设计
此文章为某年某月某次单片机作业,一点拙见
首先:再keil上写下代码,用protues调试(不懂得百度搜索“keil与protues联机调试”)
使用的芯片和器件图中自己找
这次没有使用38译码器,直接将数码管引脚全部放在单片机上
不多说,上部分代码和图:
全部代码在另一个博文,关注后在本人主页可查看哦!!!
全部代码在另一个博文,关注后在本人主页可查看哦!!!
全部代码在另一个博文,关注后在本人主页可查看哦!!!
/***************主函数***************/
void main()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256; /*10ms*/
EA=1;
ET0=1;
TR0=1;
while(1)
{
static uChar h=0;
if(Key4==0) //K4功能:12小时/24小时/日期切换
{
Delay(10);
if(Key4==0)
{
while(!Key4);
h++;
}
}
if(h%3==0)
{
Dispaly1(second,minute,hour); //显示24小时制
Keyscan1();
}
if(h%3==1)
{
Dispaly1(second,minute,hour-12); //显示12小时制
Keyscan1();
}
if(h%3==2)
{
Dispaly2(year,month,day); //显示日期
Keyscan2();
}
if(Key3==0)
{
Delay(d);
if(Key3==0)
while(!Key3);
flag++;
}
if(flag%2==0) //记录K3按下后flag加一
{
flag1=0;
}
if(flag%2==1)
{
flag1=1;
}
/***********闹钟设定时间21:31开始响,无人应答30s后关闭*/
if(minute==31&&(second>0&&second<30)&&hour==21&&flag1==0)
Buzzer=0;//蜂鸣器响
else
Buzzer=1;//蜂鸣器关
}
}
————————————————
版权声明:本文为CSDN博主「傅里叶也头大」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43625266/article/details/104999242