📄 main.c
字号:
//ShowBmp(pdc,Nju, 100, 190);
break;
case 2://纽约
ShowBmp(pdc,Newyork, 120, 120);
k=k-780;
if(k<0)
{k=k+1440;}
else if(k>=1440)
{k=k-1440;}
else
{;}
hour_1=(k/60)/10;
hour_2=(k/60)%10;
minute_1=(k%60)/10;
minute_2=(k%60)%10;
Int2Unicode(hour_1,Temp_hour_unicode1);
Int2Unicode(hour_2,Temp_hour_unicode2);
strtime[0]=Temp_hour_unicode1[0];
strtime[1]=Temp_hour_unicode2[0];
Int2Unicode(minute_1,Temp_minute_unicode1);
Int2Unicode(minute_2,Temp_minute_unicode2);
strtime[3]=Temp_minute_unicode1[0];
strtime[4]=Temp_minute_unicode2[0];
break;
case 3: //德黑兰
ShowBmp(pdc,Tehela, 120, 120);
k=k-270;
if(k<0)
{k=k+1440;}
else if(k>=1440)
{k=k-1440;}
else
{;}
hour_1=(k/60)/10;
hour_2=(k/60)%10;
minute_1=(k%60)/10;
minute_2=(k%60)%10;
Int2Unicode(hour_1,Temp_hour_unicode1);
Int2Unicode(hour_2,Temp_hour_unicode2);
strtime[0]=Temp_hour_unicode1[0];
strtime[1]=Temp_hour_unicode2[0];
Int2Unicode(minute_1,Temp_minute_unicode1);
Int2Unicode(minute_2,Temp_minute_unicode2);
strtime[3]=Temp_minute_unicode1[0];
strtime[4]=Temp_minute_unicode2[0];
break;
case 4: //巴黎
ShowBmp(pdc,Paris, 120, 120);
k=k-420;
if(k<0)
{k=k+1440;}
else if(k>=1440)
{k=k-1440;}
else
{;}
hour_1=(k/60)/10;
hour_2=(k/60)%10;
minute_1=(k%60)/10;
minute_2=(k%60)%10;
Int2Unicode(hour_1,Temp_hour_unicode1);
Int2Unicode(hour_2,Temp_hour_unicode2);
strtime[0]=Temp_hour_unicode1[0];
strtime[1]=Temp_hour_unicode2[0];
Int2Unicode(minute_1,Temp_minute_unicode1);
Int2Unicode(minute_2,Temp_minute_unicode2);
strtime[3]=Temp_minute_unicode1[0];
strtime[4]=Temp_minute_unicode2[0];
break;
case 5://东京
ShowBmp(pdc,Tokyo, 120, 120);
k=k+60;
if(k<0)
{k=k+1440;}
else if(k>=1440)
{k=k-1440;}
else
{;}
hour_1=(k/60)/10;
hour_2=(k/60)%10;
minute_1=(k%60)/10;
minute_2=(k%60)%10;
Int2Unicode(hour_1,Temp_hour_unicode1);
Int2Unicode(hour_2,Temp_hour_unicode2);
strtime[0]=Temp_hour_unicode1[0];
strtime[1]=Temp_hour_unicode2[0];
Int2Unicode(minute_1,Temp_minute_unicode1);
Int2Unicode(minute_2,Temp_minute_unicode2);
strtime[3]=Temp_minute_unicode1[0];
strtime[4]=Temp_minute_unicode2[0];
break;
}
ShowBmp(pdc,Nju, 122, 190);
SetTextCtrlText(pTextCtrl, strtime,TRUE);//设置文本框内容
OSSemPost(Rtc_Updata_Sem);//发送信号量
switch(j)
////
{ case 1: //北京
//显示秒针
//Get_Rtc(PstructTime);
//hour=PstructTime->hour;
//minute=PstructTime->minute;
//second=PstructTime->second;
Rtc_Format("%H%I%S",strtime);//格式化时间
clock=Unicode2Int(strtime);
hour=clock/10000;
minute=(clock%10000)/100;
second=(clock%10000)%100;
//Uart_Printf("hour=%d minute=%d second=%d\n",hour,minute,second);
//Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
// second_1=Unicode2Int(Temp_second_1);
// second_2=Unicode2Int(Temp_second_2);
//i=(double)(second_1*10+second_2+1)/60.0*2*pi;
i=(double)second/60.0*2*pi;
x1=(int)(200+50*sin(i));
y1=(int)(60-50*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,1);
LineTo(pdc,x1,y1);
//显示分针
// Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
// minute_1=Unicode2Int(Temp_minute_1);
//minute_2=Unicode2Int(Temp_minute_2);
//i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
i=(double)((second/60.0+minute)/60.0*2*pi);
x1=(int)(200+40*sin(i));
y1=(int)(60-40*cos(i));
//Uart_Printf("mini=%f minx=%d miny=%d\n",i,x1,y1);
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,2);
LineTo(pdc,x1,y1);
//显示时针
//Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
// hour_1=Unicode2Int(Temp_hour_1);
//hour_2=Unicode2Int(Temp_hour_2);
k=hour;
//k=hour_1*10+hour_2;
if(k>=12)
{k=k-12;
hour_1=k/10;
hour_2=k%10;}
i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
x1=(int)(200+30*sin(i));
y1=(int)(60-30*cos(i));
//Uart_Printf("houri=%f hourx=%d houry=%d\n",i,x1,y1);
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,3);
LineTo(pdc,x1,y1);
break;
case 2://纽约
//显示秒针
Rtc_Format("%H%I%S",strtime);//格式化时间
clock=Unicode2Int(strtime);
hour=clock/10000-13;
if(hour<0)
hour=hour+24;
minute=(clock%10000)/100;
second=(clock%10000)%100;
//Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
// second_1=Unicode2Int(Temp_second_1);
// second_2=Unicode2Int(Temp_second_2);
//i=(double)(second_1*10+second_2+1)/60.0*2*pi;
i=(double)second/60.0*2*pi;
x1=(int)(200+50*sin(i));
y1=(int)(60-50*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,1);
LineTo(pdc,x1,y1);
//显示分针
// Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
// minute_1=Unicode2Int(Temp_minute_1);
//minute_2=Unicode2Int(Temp_minute_2);
//i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
i=(double)((second/60.0+minute)/60.0*2*pi);
x1=(int)(200+40*sin(i));
y1=(int)(60-40*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,2);
LineTo(pdc,x1,y1);
//显示时针
//Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
// hour_1=Unicode2Int(Temp_hour_1);
//hour_2=Unicode2Int(Temp_hour_2);
k=hour;
//k=hour_1*10+hour_2;
if(k>=12)
{k=k-12;
hour_1=k/10;
hour_2=k%10;}
i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
x1=(int)(200+30*sin(i));
y1=(int)(60-30*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,3);
LineTo(pdc,x1,y1);
break;
case 3: //德黑兰
//显示秒针
Rtc_Format("%H%I%S",strtime);//格式化时间
clock=Unicode2Int(strtime);
//Uart_Printf("clock = %d\n",clock);
hour=clock/10000;
minute=(clock%10000)/100;
second=(clock%10000)%100;
//Uart_Printf("minutebefore = %d\n",minute);
clock=hour*60+minute;
clock=clock-270;
if(clock<0)
clock=clock+1440;
hour=clock/60;
minute=clock%60;
//Uart_Printf("Dhour=%d minute=%d second=%d\n",hour,minute,second);
//Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
// second_1=Unicode2Int(Temp_second_1);
// second_2=Unicode2Int(Temp_second_2);
//i=(double)(second_1*10+second_2+1)/60.0*2*pi;
i=(double)second/60.0*2*pi;
x1=(int)(200+50*sin(i));
y1=(int)(60-50*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,1);
LineTo(pdc,x1,y1);
//显示分针
// Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
// minute_1=Unicode2Int(Temp_minute_1);
//minute_2=Unicode2Int(Temp_minute_2);
//i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
i=(double)((second/60.0+minute)/60.0*2*pi);
x1=(int)(200+40*sin(i));
y1=(int)(60-40*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,2);
LineTo(pdc,x1,y1);
//显示时针
//Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
// hour_1=Unicode2Int(Temp_hour_1);
//hour_2=Unicode2Int(Temp_hour_2);
k=hour;
//k=hour_1*10+hour_2;
if(k>=12)
{k=k-12;
hour_1=k/10;
hour_2=k%10;}
i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
x1=(int)(200+30*sin(i));
y1=(int)(60-30*cos(i));
//Uart_Printf("Dhouri=%f hourx=%d houry=%d k=%d\n",i,x1,y1,k);
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,3);
LineTo(pdc,x1,y1);
break;
case 4: //巴黎
//显示秒针
Rtc_Format("%H%I%S",strtime);//格式化时间
clock=Unicode2Int(strtime);
hour=clock/10000-7;
if(hour<0)
hour=hour+24;
minute=(clock%10000)/100;
second=(clock%10000)%100;
//Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
// second_1=Unicode2Int(Temp_second_1);
// second_2=Unicode2Int(Temp_second_2);
//i=(double)(second_1*10+second_2+1)/60.0*2*pi;
i=(double)(second/60.0*2*pi);
x1=(int)(200+50*sin(i));
y1=(int)(60-50*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,1);
LineTo(pdc,x1,y1);
//显示分针
// Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
// minute_1=Unicode2Int(Temp_minute_1);
//minute_2=Unicode2Int(Temp_minute_2);
//i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
i=(double)((second/60.0+minute)/60.0*2*pi);
x1=(int)(200+40*sin(i));
y1=(int)(60-40*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,2);
LineTo(pdc,x1,y1);
//显示时针
//Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
// hour_1=Unicode2Int(Temp_hour_1);
//hour_2=Unicode2Int(Temp_hour_2);
k=hour;
//k=hour_1*10+hour_2;
if(k>=12)
{k=k-12;
hour_1=k/10;
hour_2=k%10;}
i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
x1=(int)(200+30*sin(i));
y1=(int)(60-30*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,3);
LineTo(pdc,x1,y1);
break;
case 5://东京
//显示秒针
Rtc_Format("%H%I%S",strtime);//格式化时间
clock=Unicode2Int(strtime);
hour=clock/10000+1;
if(hour>1440)
hour=hour-24;
minute=(clock%10000)/100;
second=(clock%10000)%100;
//Temp_second_1[0]=strtime[6];Temp_second_2[0]=strtime[7];
// second_1=Unicode2Int(Temp_second_1);
// second_2=Unicode2Int(Temp_second_2);
//i=(double)(second_1*10+second_2+1)/60.0*2*pi;
i=(double)second/60.0*2*pi;
x1=(int)(200+50*sin(i));
y1=(int)(60-50*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,1);
LineTo(pdc,x1,y1);
//显示分针
// Temp_minute_1[0]=strtime[3];Temp_minute_2[0]=strtime[4];
// minute_1=Unicode2Int(Temp_minute_1);
//minute_2=Unicode2Int(Temp_minute_2);
//i=(double)(((second_1*10+second_2)/60+1+(minute_1*10+minute_2))/60.0*2*pi);
i=(double)((second/60.0+minute)/60.0*2*pi);
x1=(int)(200+40*sin(i));
y1=(int)(60-40*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,2);
LineTo(pdc,x1,y1);
//显示时针
//Temp_hour_1[0]=strtime[0];Temp_hour_2[0]=strtime[1];
// hour_1=Unicode2Int(Temp_hour_1);
//hour_2=Unicode2Int(Temp_hour_2);
k=hour;
//k=hour_1*10+hour_2;
if(k>=12)
{k=k-12;
hour_1=k/10;
hour_2=k%10;}
i=(double)((second/3600.0+minute/60.0+k)/12.0*2*pi);
x1=(int)(200+30*sin(i));
y1=(int)(60-30*cos(i));
MoveTo(pdc,200,60);
SetPenColor(pdc,0);
SetPenWidth(pdc,3);
LineTo(pdc,x1,y1);
break;
}
//刷新
OSTimeDly(250);
MoveTo(pdc,0,0);
FillRect(pdc,140,5,250,110,GRAPH_MODE_NORMAL, RGB(255, 255, 255));
EXIO_8255A_PORTA=led[listnumber];
EXIO_8255A_PORTB=0x77;
} //endif
DestoryDC(pdc);}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -