void main()
{
P_SW2 |= 0x80; //扩展寄存器XFR访问使能
init_IO();
init_Uart1();
init_Uart2();
EA=1;
printf("STC8H UnixTime Test!\n");
init_timer0();
init_IIC();//初始化硬IIC
OLED_Init();//初始化OLED
// sprintf((char *)oledBuf ,"Length:mm");//格式化输出
OLED_ShowString(0,0," MG LeiYang!");
// OLED_ShowString(0,4,oledBuf);
OLED_ShowString(0,2,"Get Ntp Time!");
//OLED_ShowString(0,6," 2023/08/09");
// U32sub(a,b,c);
//c[0]=0x64;c[1]=0xe7;c[2]=0x91;c[3]=0xde;
// UnixToBeiJinTime(c,d);
// DispTime(d);
ET0=0;
GetWifiNtp();
ET0=1;
while(1)
{
if(count>=40000)
{
count=0;
ET0=0;
GetDate();
ET0=1;
}
}
}
void DispTime(unsigned int d[])
{
printf(“%02d-”,d[0]);
printf(“%02d-”,d[1]);
printf(“%02d “,d[2]);
printf(”%02d:”,d[3]);
printf(“%02d:”,d[4]);
printf(“%02d”,d[5]);
printf(“\n”);
}
void init_IO()
{
RSTCFG=0x50; //开启RST键进入ISP模式
P0M1 = 0x00; P0M0 = 0x00; //设置P0口为准双向口
P1M1 = 0x00; P1M0 = 0x00; //设置P0口为准双向口
P2M1 = 0x00; P2M0 = 0x00; //设置P1口为准双向口
P3M1 = 0x00; P3M0 = 0x00; //设置P3口为准双向口
P4M1 = 0x00; P4M0 = 0x00; //设置P4口为准双向口
P5M1 = 0x00; P5M0 = 0x00; //设置P5口为准双向口
}
void init_timer0()//定时器0的初始化10ms
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x33; //设置定时初始值
TH0 = 0xE3; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0=1;//Timer0 开中断
}
void GetWifiNtp() //wifi连接上线
{
unsigned char i;
RX1_Buffer[RX1_Cnt]=‘\0’;
while(Findkey(k7,10)==0);
SendToEspStr(s3);
Delay1ms(200);Delay1ms(200);Delay1ms(200);Delay1ms(200);
RX1_Buffer[RX1_Cnt]=‘\0’;
while(Findkey(k1,6))
{
SendToEspStr(s3);
Delay1ms(200);Delay1ms(200);Delay1ms(200);Delay1ms(200);
RX1_Buffer[RX1_Cnt]=‘\0’;
}
SendToEspStr(s4);
Delay1ms(200);Delay1ms(200);Delay1ms(200);Delay1m