📄 sz.c
字号:
//------------------以下是 月
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
mid[4]++;
if((mid[4]&0x0f)>9){mid[4]=mid[4]+6;}
if(mid[4]>=0x13){mid[4]=1;}
v_Set1302(mid); xianshi();
}
if(down==0)
{while(!down); delayMs (40);
mid[4]--;
if((mid[4]&0x0f)==0x0f){mid[4]=mid[4]-6;}
if((mid[4]==0))
{
mid[4]=0x12;
}
v_Set1302(mid); xianshi();}
}
while(!sure);
delayMs (80);
//------------------以下是日
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
mid[3]++;
if((mid[3]&0x0f)>9){mid[3]=mid[3]+6;}
if(mid[3]>=0x32){mid[3]=1;}
v_Set1302(mid); xianshi();
}
if(down==0)
{while(!down); delayMs (40);
mid[3]--;
if((mid[3]&0x0f)==0x0f){mid[3]=mid[3]-6;}
//if((mid[3]==0x0f)){mid[3]=9;}
if((mid[3]==0)){mid[3]=0x31;}
v_Set1302(mid); xianshi();}
}
while(!sure);
delayMs (80);
//------------------以下是星期
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
mid[5]++;if((mid[5]&0x0f)>=8){mid[5]=1;}
v_Set1302(mid); xianshi();
}
if(down==0)
{while(!down); delayMs (40);
mid[5]--;if((mid[5]&0x0f)==0){mid[5]=7;}
v_Set1302(mid); xianshi();}
}
while(!sure); delayMs (80);
//-----------------以下是小时
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
mid[2]++;
if((mid[2]&0x0f)>9){mid[2]=mid[2]+6;}
if(mid[2]>=0x24){mid[2]=0;}
v_Set1302(mid); xianshi();
}
if(down==0)
{while(!down); delayMs (40);
if((mid[2]==0x00)){mid[2]=0x23;}
else {mid[2]--; }
if((mid[2]&0x0f)==0x0f){mid[2]=mid[2]-6;}
v_Set1302(mid); xianshi();}
}
while(!sure);
delayMs (80);
//-----------------以下是分钟
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
mid[1]++;
if((mid[1]&0x0f)>9){mid[1]=mid[1]+6;}
if(mid[1]>=0x60){mid[1]=0;}
v_Set1302(mid); xianshi();
}
if(down==0)
{while(!down); delayMs (40);
if((mid[1]==0x00)){mid[1]=0x59;}
else { mid[1]--; }
if((mid[1]&0x0f)==0x0f){mid[1]=mid[1]-6;}
v_Set1302(mid); xianshi();}
}
while(!sure);
delayMs (80);
//-----------------以下是秒
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
mid[0]++;
if((mid[0]&0x0f)>9){mid[0]=mid[0]+6;}
if(mid[0]>=0x60){mid[0]=0;}
v_Set1302(mid); xianshi();
}
if(down==0)
{while(!down); delayMs (40);
if((mid[0]==0)){mid[0]=0x59;}
else {mid[0]--; }
if((mid[0]&0x0f)==0x0f){mid[0]=mid[1]-6;}
v_Set1302(mid); xianshi();}
}
while(!sure); delayMs (80);
//-----------------以下是闹钟
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
nshi++; /// 时 十位
if(nshi>=24){nshi=0;}
nshishi_1=nshi/10;
nshige_1=nshi%10;
xianshi();
}
if(down==0)
{while(!down); delayMs (40);
if(nshi==0) {nshi=23;}
else {nshi--;}
nshishi_1=nshi/10;
nshige_1=nshi%10;
xianshi();}
}
while(!sure); delayMs (80);
//-----------------以下是闹钟分钟
while(sure) //直到 确认 键再次被按下时 才退出
{
if(up==0)
{
while(!up); delayMs (40);
nfen++;
if(nfenshi>=60){nfenshi=0;}
nfenshi_1=nfen/10;
nfenge_1=nfen%10;
// v_Set1302(mid);
xianshi();
}
if(down==0)
{
while(!down); delayMs (40);
if(nfen==0){ nfen=59;}
else {nfen--;}
nfenshi_1=nfen/10;
nfenge_1=nfen%10;
// v_Set1302(mid);
xianshi();}
}
while(!sure); delayMs (80);
}
}
void xianshi()
{
uchar m ;//定义变量
P0=0xFF ; //置P0口
P2=0xFF ; //置P2口
v_Get1302(mid);
week= mid[5]+0x30;
miaoge=(mid[0]&0x0f)+0x30; //--------------------------秒
miaoshi=(mid[0]>>4)+0x30; //------------------------------
fenge=(mid[1]&0x0f)+0x30;//----------------------------分
fenshi=(mid[1]>>4)+0x30;//-----------------------------
shige=(mid[2]&0x0f)+0x30;//----------------------------时
shishi=(mid[2]>>4)+0x30;//-----------------------------
rige=(mid[3]&0x0f)+0x30;//-----------------------------日
rishi=(mid[3]>>4)+0x30;//-----------------------------
yuege=(mid[4]&0x0f)+0x30;//----------------------------月
yueshi=(mid[4]>>4)+0x30;//-----------------------------
niange=(mid[6]&0x0f)+0x30;//---------------------------年
nianshi=(mid[6]>>4)+0x30;//-----------------------------
nshishi=nshishi_1+0x30;
nshige=nshige_1+0x30;
nfenshi=nfenshi_1+0x30;
nfenge=nfenge_1+0x30;
lcd_init() ; //初始化LCD
lcd_pos(0) ; //设置显示位置为第一行的第1个字符
m = 0 ;
for(m;m<16;m++) //遇到字符'\0'结束循环,即字符串读取完毕
{ //显示字符
lcd_wdat(xian0[m]) ;
}
lcd_pos(0x40) ; //设置显示位置为第二行第1个字符
m = 0 ;
for(m;m<16;m++) //遇到字符'\0'结束循环,即字符串读取完毕
{ //显示字符
lcd_wdat(xian2[m]) ;
}
}
void main()
{
int i;
v_Set1302(mid);
while(1)
{
for(i=100;i>0;i--) {scan();}
if( xian2[0]==xian2[11]&&xian2[1]==xian2[12]&&xian2[3]==xian2[14]&& xian2[4]==xian2[15]){DQ=0;}
else DQ=1;
xianshi();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -