基于12864液晶、12cr887时钟芯片、电子罗盘、温湿度传感器、at89s52主控的多功能万年历总是死机
基于12864液晶、矩阵键盘、12cr887时钟芯片、电子罗盘、温湿度传感器、at89s52主控的多功能万年历已经基本成功了,不过总是死机
比如秒钟走着走着就不走了,其他按键都没反应了,我用很大的开关电源供电就好一点点,用充电器的小电源或电脑供电就很快死机。
主函数如下:
初始化略。
while(1)
{
/**************(1)菜单***************/
if(0==menukey) //如果菜单按键按下
{
flagmenu=1;
if((flagcom==1)||(flagshi==1))
{
flagcom=0;
flagshi=0;
clean_screen();
}
DisplayString(0x80,"菜单未开发");
}
/**************(2)指南针***************/
else if(0==comp)//指南针 //如果指南针按键按下
{
flagcom=1;
if((flagshi==1)||(flagmenu==1))
{
flagshi=0;
flagmenu=0;
}
compass(buf,comii);
}
/**************************(3)主界面*********************************/
else //主界面
{
flagshi=1;
if((flagcom==1)||(flagmenu==1))
{
flagcom=0;
flagmenu=0;
clean_screen();
}
/*****************时间**********************/
Read_Time(pt);
Display_Time(pt);
/****************温湿度********************/
recieve_DHT(&humidity,&temperature);
display_DHT(humidity,temperature);
/*****************农历*********************/
Conversion(0,pt->year,pt->month,pt->day,pn);
Display_nongli(pn->nmonth,pn->nday);
}
}