📄 main.c
字号:
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF,
};
uint8 const HZ016[]=
{
/*-- 文字: 9 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF,
};
uint8 const HZ017[]=
{
/*-- 文字: 0 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/
0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF,
};
/***************************************************************************************************
**函数名称:GUI_PutXQ
**
**函数功能:汉字输出星期
*****************************************************************************************************/
void GUI_PutXQ (uint32 h, uint32 j, uint32 k)
{
switch(k)
{
case 0 :GUI_PutHZ(h,j, (uint8 *)HZ5, 16, 16);break;
case 1 :GUI_PutHZ(h,j, (uint8 *)HZ8, 16, 16);break;
case 2 :GUI_PutHZ(h,j, (uint8 *)HZ9, 16, 16);break;
case 3 :GUI_PutHZ(h,j, (uint8 *)HZ10, 16, 16);break;
case 4 :GUI_PutHZ(h,j, (uint8 *)HZ11, 16, 16);break;
case 5 :GUI_PutHZ(h,j, (uint8 *)HZ12, 16, 16);break;
default :GUI_PutHZ(h,j, (uint8 *)HZ13, 16, 16);break;
}
}
/***************************************************************************************************
**函数名称:GUI_PutXQQF
**
**函数功能:汉字输出星期
*****************************************************************************************************/
void GUI_PutXQQF (uint32 h, uint32 j, uint32 k)
{
switch(k)
{
case 0 :GUI_PutHZ(h,j, (uint8 *)HZ07, 16, 16);break;
case 1 :GUI_PutHZ(h,j, (uint8 *)HZ01, 16, 16);break;
case 2 :GUI_PutHZ(h,j, (uint8 *)HZ02, 16, 16);break;
case 3 :GUI_PutHZ(h,j, (uint8 *)HZ03, 16, 16);break;
case 4 :GUI_PutHZ(h,j, (uint8 *)HZ04, 16, 16);break;
case 5 :GUI_PutHZ(h,j, (uint8 *)HZ05, 16, 16);break;
default :GUI_PutHZ(h,j, (uint8 *)HZ06, 16, 16);break;
}
}
/*
******************************************************************************************************
** 函数名称 :GUI_PutNumberQF
** 函数功能 :输出数字
** 入口参数 :
** 出口参数 :
*******************************************************************************************************
*/
void GUI_PutNumberQF (uint32 h,uint32 j,uint32 g)
{
switch(g)
{
case 0 :GUI_PutHZ(h,j, (uint8 *)HZ017, 8, 16);break;
case 1 :GUI_PutHZ(h,j, (uint8 *)HZ08, 8, 16);break;
case 2 :GUI_PutHZ(h,j, (uint8 *)HZ09, 8, 16);break;
case 3 :GUI_PutHZ(h,j, (uint8 *)HZ010, 8, 16);break;
case 4 :GUI_PutHZ(h,j, (uint8 *)HZ011, 8, 16);break;
case 5 :GUI_PutHZ(h,j, (uint8 *)HZ012, 8, 16);break;
case 6 :GUI_PutHZ(h,j, (uint8 *)HZ013, 8, 16);break;
case 7 :GUI_PutHZ(h,j, (uint8 *)HZ014, 8, 16);break;
case 8 :GUI_PutHZ(h,j, (uint8 *)HZ015, 8, 16);break;
default:GUI_PutHZ(h,j, (uint8 *)HZ016, 8, 16);break;
}
}
/*
******************************************************************************************************
** 函数名称 :GUI_PutNumber
** 函数功能 :输出数字
** 入口参数 :
** 出口参数 :
*******************************************************************************************************
*/
void GUI_PutNumber (uint32 h,uint32 j,uint32 g)
{
switch(g)
{
case 0 :GUI_PutHZ(h,j, (uint8 *)HZ24, 8, 16);break;
case 1 :GUI_PutHZ(h,j, (uint8 *)HZ15, 8, 16);break;
case 2 :GUI_PutHZ(h,j, (uint8 *)HZ16, 8, 16);break;
case 3 :GUI_PutHZ(h,j, (uint8 *)HZ17, 8, 16);break;
case 4 :GUI_PutHZ(h,j, (uint8 *)HZ18, 8, 16);break;
case 5 :GUI_PutHZ(h,j, (uint8 *)HZ19, 8, 16);break;
case 6 :GUI_PutHZ(h,j, (uint8 *)HZ20, 8, 16);break;
case 7 :GUI_PutHZ(h,j, (uint8 *)HZ21, 8, 16);break;
case 8 :GUI_PutHZ(h,j, (uint8 *)HZ22, 8, 16);break;
default:GUI_PutHZ(h,j, (uint8 *)HZ23, 8, 16);break;
}
}
/*
*********************************************************************************************************
**
**
**
*******************************************************************************************************
*/
void SendTimeRtc (void)
{
uint32 datas;
uint32 times;
uint32 bak;
// uint8 a;
// uint8 b;
// uint8 c;
// uint8 d;
times = CTIME0; // 读取完整的时钟寄存器
datas = CTIME1;
// a=40;
// b=0;
GUI_PutHZ(40, 0, (uint8 *)HZ1, 16, 16); //输出万
GUI_PutHZ(56, 0, (uint8 *)HZ2, 16, 16); //输出年
GUI_PutHZ(72, 0, (uint8 *)HZ3, 16, 16); //输出历
// c=0;
// d=16;
bak = (datas >> 16) & 0xfff; // 获取 年
GUI_PutNumber(8,16,bak/1000);
bak = bak % 1000;
GUI_PutNumber(16,16,bak/100);
bak = bak % 100;
GUI_PutNumber(24,16,bak/10);
GUI_PutNumber(32,16,bak%10);
// a=c;
// b=22;
GUI_PutHZ(40, 16, (uint8 *)HZ2, 16, 16); //输出年
// c=a+16;
bak = (datas >> 8) & 0x0f; // 获取 月
GUI_PutNumber(56,16,bak/10);
GUI_PutNumber(64,16,bak%10);
// a=c;
GUI_PutHZ(72, 16, (uint8 *)HZ4, 16, 16); //输出月
// c=a;
bak = datas & 0x1f; // 获取 日
GUI_PutNumber(88,16,bak/10);
GUI_PutNumber(96,16,bak%10);
// a=c;
GUI_PutHZ(104, 16, (uint8 *)HZ5, 16, 16); //输出日
// a=5;
// b=42;
GUI_PutHZ(40, 32, (uint8 *)HZ6, 16, 16); //输出星
GUI_PutHZ(56, 32, (uint8 *)HZ7, 16, 16); //输出期
// c=a;
// d=b;
bak = (times >> 24) & 0x07; // 获取 星期
GUI_PutXQ(72, 32, bak);
// c=51;
// d=b+5;
bak = (times >> 16) & 0x1f; // 获取 小时
GUI_PutNumber(32,48,bak/10);
GUI_PutNumber(40,48,bak%10);
// a=c+8;
GUI_PutHZ(48, 48, (uint8 *)HZ14, 8, 16); //输出:
// c=a;
bak = (times >> 8) & 0x3f; // 获取 分钟
GUI_PutNumber(56,48,bak/10);
GUI_PutNumber(64,48,bak%10);
// a=c+8;
GUI_PutHZ(72, 48, (uint8 *)HZ14, 8, 16); //输出:
// c=a;
bak = times & 0x3f; // 获取 秒钟
GUI_PutNumber(80,48,bak/10);
GUI_PutNumber(88,48,bak%10);
}
/*******************************************************************************************************
** 函数名称 :
** 函数功能 :
** 入口参数 :
** 出口参数 :
*******************************************************************************************************
*/
void protect(void)
{
if(i==15) i=0;
if(r[0]==5) r[0]=0;
if(r[1]==10) r[1]=0;
if(r[2]==10) r[2]=0;
if(r[3]==10) r[3]=0;
if(r[4]==2) r[4]=0;
if(r[5]==10) r[5]=0;
if(r[6]==4) r[6]=0;
if(r[7]==10) r[7]=0;
if(r[8]==7) r[8]=0;
if(r[9]==3) r[9]=0;
if(r[10]==10) r[10]=0;
if(r[11]==6) r[11]=0;
if(r[12]==10) r[12]=0;
if(r[13]==6) r[13]=0;
if(r[14]==10) r[14]=0;
}
/*******************************************************************************************************
**函数名称:
**函数功能:
**入口参数:
**出口参数:
********************************************************************************************************
*/
void display(int i)
{
switch(i)
{
case 0 :
{
GUI_PutNumberQF (8 ,16,(uint32)r[0]);
GUI_PutNumber (16,16,(uint32)r[1]);
GUI_PutNumber (24,16,(uint32)r[2]);
GUI_PutNumber (32,16,(uint32)r[3]);
GUI_PutNumber (56,16,(uint32)r[4]);
GUI_PutNumber (64,16,(uint32)r[5]);
GUI_PutNumber (88,16,(uint32)r[6]);
GUI_PutNumber (96,16,(uint32)r[7]);
GUI_PutXQ (72,32,(uint32)r[8]);
GUI_PutNumber (32,48,(uint32)r[9]);
GUI_PutNumber (40,48,(uint32)r[10]);
GUI_PutNumber (56,48,(uint32)r[11]);
GUI_PutNumber (64,48,(uint32)r[12]);
GUI_PutNumber (80,48,(uint32)r[13]);
GUI_PutNumber (88,48,(uint32)r[14]);
break;
}
case 1 :
{
GUI_PutNumberQF (16,16,(uint32)r[1]);
GUI_PutNumber (8 ,16,(uint32)r[0]);
GUI_PutNumber (24,16,(uint32)r[2]);
GUI_PutNumber (32,16,(uint32)r[3]);
GUI_PutNumber (56,16,(uint32)r[4]);
GUI_PutNumber (64,16,(uint32)r[5]);
GUI_PutNumber (88,16,(uint32)r[6]);
GUI_PutNumber (96,16,(uint32)r[7]);
GUI_PutXQ (72,32,(uint32)r[8]);
GUI_PutNumber (32,48,(uint32)r[9]);
GUI_PutNumber (40,48,(uint32)r[10]);
GUI_PutNumber (56,48,(uint32)r[11]);
GUI_PutNumber (64,48,(uint32)r[12]);
GUI_PutNumber (80,48,(uint32)r[13]);
GUI_PutNumber (88,48,(uint32)r[14]);
break;
}
case 2 :
{
GUI_PutNumberQF (24,16,(uint32)r[2]);
GUI_PutNumber (8 ,16,(uint32)r[0]);
GUI_PutNumber (16,16,(uint32)r[1]);
GUI_PutNumber (32,16,(uint32)r[3]);
GUI_PutNumber (56,16,(uint32)r[4]);
GUI_PutNumber (64,16,(uint32)r[5]);
GUI_PutNumber (88,16,(uint32)r[6]);
GUI_PutNumber (96,16,(uint32)r[7]);
GUI_PutXQ (72,32,(uint32)r[8]);
GUI_PutNumber (32,48,(uint32)r[9]);
GUI_PutNumber (40,48,(uint32)r[10]);
GUI_PutNumber (56,48,(uint32)r[11]);
GUI_PutNumber (64,48,(uint32)r[12]);
GUI_PutNumber (80,48,(uint32)r[13]);
GUI_PutNumber (88,48,(uint32)r[14]);
break;
}
case 3 :
{
GUI_PutNumberQF (32,16,(uint32)r[3]);
GUI_PutNumber (8 ,16,(uint32)r[0]);
GUI_PutNumber (16,16,(uint32)r[1]);
GUI_PutNumber (24,16,(uint32)r[2]);
GUI_PutNumber (56,16,(uint32)r[4]);
GUI_PutNumber (64,16,(uint32)r[5]);
GUI_PutNumber (88,16,(uint32)r[6]);
GUI_PutNumber (96,16,(uint32)r[7]);
GUI_PutXQ (72,32,(uint32)r[8]);
GUI_PutNumber (32,48,(uint32)r[9]);
GUI_PutNumber (40,48,(uint32)r[10]);
GUI_PutNumber (56,48,(uint32)r[11]);
GUI_PutNumber (64,48,(uint32)r[12]);
GUI_PutNumber (80,48,(uint32)r[13]);
GUI_PutNumber (88,48,(uint32)r[14]);
break;
}
case 4 :
{
GUI_PutNumberQF (56,16,(uint32)r[4]);
GUI_PutNumber (8 ,16,(uint32)r[0]);
GUI_PutNumber (16,16,(uint32)r[1]);
GUI_PutNumber (24,16,(uint32)r[2]);
GUI_PutNumber (32,16,(uint32)r[3]);
GUI_PutNumber (64,16,(uint32)r[5]);
GUI_PutNumber (88,16,(uint32)r[6]);
GUI_PutNumber (96,16,(uint32)r[7]);
GUI_PutXQ (72,32,(uint32)r[8]);
GUI_PutNumber (32,48,(uint32)r[9]);
GUI_PutNumber (40,48,(uint32)r[10]);
GUI_PutNumber (56,48,(uint32)r[11]);
GUI_PutNumber (64,48,(uint32)r[12]);
GUI_PutNumber (80,48,(uint32)r[13]);
GUI_PutNumber (88,48,(uint32)r[14]);
break;
}
case 5 :
{
GUI_PutNumberQF (64,16,(uint32)r[5]);
GUI_PutNumber (8 ,16,(uint32)r[0]);
GUI_PutNumber (16,16,(uint32)r[1]);
GUI_PutNumber (24,16,(uint32)r[2]);
GUI_PutNumber (32,16,(uint32)r[3]);
GUI_PutNumber (56,16,(uint32)r[4]);
GUI_PutNumber (88,16,(uint32)r[6]);
GUI_PutNumber (96,16,(uint32)r[7]);
GUI_PutXQ (72,32,(uint32)r[8]);
GUI_PutNumber (32,48,(uint32)r[9]);
GUI_PutNumber (40,48,(uint32)r[10]);
GUI_PutNumber (56,48,(uint32)r[11]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -