• 大小: 20KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: 数字时钟  单片机  

资源简介

基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)。基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)。基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)。

资源截图

代码片段和文件信息

#include

char code led_mod[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
int secondminhour;       
int setmin=0sethour=0;       
int currentmincurrenthour;   
bit flag=0;                   
bit timeflag=1;   
bit time24to12=1;             
bit amorpm=0;                 
sbit P16=P1^6;
unsigned char status;

void delay(int time)
{
int i;
for(;time>0;time--)
for(i=0;i<250;i++);
}

int0_key() interrupt 0{   
flag=1;
status=P0;
}

void sound(int n)
{
int i=0;
P16=1;
while(i {
P16=!P16;
i++;
}
}
void main()    
{
int time;

IP=0x01;

IT0=1; 
EX0=1;
EA=1; 

second=50;
currentmin=58;
min=currentmin;
currenthour=20;
hour=currenthour;

while(1)
{  
time=0;
if(second>59)
{
second=0;
currentmin++;
min++;
}
if(min>59)
{
min=0;
hour++;
}
if(hour>23)
{
hour=0;
}
if(currentmin>59)
{
currentmin=0;
sound(10);
currenthour++;
}
if(currenthour>23)
{
currenthour=0;
}
while(time<50)
{
  P1=0x01;
P2=~led_mod[second/10];
delay(1);
P1=0x02;
P2=~led_mod[second%10];
delay(1);
P1=0x04;
P2=~led_mod[min/10];
delay(1);    
P1=0x08;
P2=~led_mod[min%10];
delay(1);
P1=0x10;
P2=~led_mod[hour/10];
delay(1);
P1=0x20;
P2=~led_mod[hour%10];
delay(1);
time++;
}
P1=0x00;
P2=0x00;
if(!timeflag)
delay(100);
second++;
if(currentmin==setmin&¤thour==sethour)
{
sound(10);
}
if(flag)
{
switch(status){
case 0:min++;   
   status=0x06;
   break;
case 1:hour++;      
   status=0x06;
   break;
case 2:if(timeflag)     
   {
    currentmin=min;
min=setmin;
currenthour=hour;
hour=sethour;
   }
   else
   {
    setmin=min;
min=currentmin;
sethour=hour;
hour=currenthour;
   }
   timeflag=!timeflag;
       status=0x06;
   break;
case 3:if(time24to12)   
       {
        if(currenthour>12)
amorpm=0;
else
amorpm=1;
    currenthour=currenthour%12;
hour=currenthour;
   }
   else
   {
    if(amorpm)
currenthour=currenthour+12;
hour=currenthour;
   }
   time24to12=!time24to12;
   flag=0;
   break;
default:break;
}
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-29 13:03  基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)\
     文件      102486  2013-12-19 14:31  基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)\ClockShare.DSN
     文件        2482  2013-12-19 14:16  基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)\update7seg.c

评论

共有 条评论