⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 多功能电子数字钟的设计 带语音报时功能 比赛做的
💻 C
字号:
#include"includes.h"
unsigned char ucCurtime[7];
unsigned char date[21];
unsigned char time[14];
void temp_view(unsigned char *ddate);
void dealdata(void)
{ 
  unsigned char y1,y2,w2,m1,m2,d1,d2,h1,h2,min1,min2,s1,s2;
  
  y1=ucCurtime[6]&0xf0;
  y1=y1>>4;
  y2=ucCurtime[6]&0x0f;
  w2=ucCurtime[5]&0x0f;
  m1=ucCurtime[4]&0xf0;
  m1=m1>>4;
  m2=ucCurtime[4]&0x0f;
  d1=ucCurtime[3]&0xf0;
  d1=d1>>4;
  d2=ucCurtime[3]&0x0f;
  h1=ucCurtime[2]&0xf0;
  h1=h1>>4;
  h2=ucCurtime[2]&0x0f;
  min1=ucCurtime[1]&0xf0;
  min1=min1>>4;
  min2=ucCurtime[1]&0x0f;
  s1=ucCurtime[0]&0xf0;
  s1=s1>>4;
  s2=ucCurtime[0]&0x0f;

  date[0]='2';
  date[1]='0';
  date[2]=y1+'0';
  date[3]=y2+'0';
  date[4]='-';
  date[5]=m1+'0';
  date[6]=m2+'0';
  date[7]='-';
  date[8]=d1+'0';
  date[9]=d2+'0';
  date[10]=' ';
  switch(w2)
  {
  case 1 :{date[11]='M';date[12]='O';date[13]='N';}break;
  case 2 :{date[11]='T';date[12]='U';date[13]='S';}break;
  case 3 :{date[11]='W';date[12]='E';date[13]='N';}break;
  case 4 :{date[11]='T';date[12]='U';date[13]='S';}break;
  case 5 :{date[11]='F';date[12]='R';date[13]='I';}break;
  case 6 :{date[11]='S';date[12]='A';date[13]='T';}break;
  case 7 :{date[11]='S';date[12]='U';date[13]='N';}break;
  default :  {} break;
  }
  date[14]='\0';

  time[0]='T';
  time[1]='I';
  time[2]='M';
  time[3]='E';
  time[4]=' ';
  time[5]=h1+'0';
  time[6]=h2+'0';
  time[7]=':';
  time[8]=min1+'0';
  time[9]=min2+'0';
  time[10]=':';
  time[11]=s1+'0';
  time[12]=s2+'0';
  time[13]=' ';
  time[14]='\0';
}


void main()
{
unsigned char pClock[]={0,0,0,0,0,0,0};
unsigned char flag1,flag2;
unsigned char datTm[2];

LCMInit();
ds1302_init();
DS18B20_Init();

while(1)
{
bit mode;
Read_onetemp(datTm);
temp_view(datTm);
display_lcm(0xa0,0x84);
display_lcm(0x43,0x85);
if(mode)
{diaplay_string(0xc0,date);
flag1++;
if(flag1==10)
{mode=0;
flag1=0;}
}
else
{diaplay_string(0xc0,time);
flag2++;
if(flag2==10)
{flag2=0;
mode=1;}}
Get1302(ucCurtime);
dealdata();
Delay_Xms(105);
keyscan();
}
}
/***************显示温度************/
void temp_view(unsigned char *ddate)  
 {
   unsigned int  temp1=0,temp0=0,a,b,c;
   if(ddate[0]==0xFF&&ddate[1]==0xFF){ ddate[0]=0;ddate[1]=0;}
						                //正温度处理
   temp1= ((ddate[1]&0x0F)<<4)+((ddate[0]&0xF0)>>4);
   temp0=(ddate[0]&0x0F)*625;
      		  
    
    a=(temp1%1000)/100;
      display_lcm(a+'0',0x81);
    b=(temp1%100)/10;
      display_lcm(b+'0',0x82);
    c=(temp1%10)/1;
      display_lcm(c+'0',0x83); 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -