当前位置: 代码迷 >> 单片机 >> 基于12864液晶、12cr887钟表芯片、电子罗盘、温湿度传感器、at89s52主控的多功能万年历总是死机
  详细解决方案

基于12864液晶、12cr887钟表芯片、电子罗盘、温湿度传感器、at89s52主控的多功能万年历总是死机

热度:71   发布时间:2016-04-28 15:42:56.0
基于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);
   }
}

------最佳解决方案--------------------
本帖最后由 lbing7 于 2012-11-23 09:17:32 编辑 接触不良



------其他解决方案--------------------
LZ先得确定是软件还是硬件问题。。。


------其他解决方案--------------------
你得先确定是不是硬件问题
比如复位 电源等等
排除硬件问题 再定位软件问题
------其他解决方案--------------------
和电源无关 程序只加一个死循环 看看会不会死机 
感觉还是流程有问题 越界?
------其他解决方案--------------------
和电源无关 程序只加一个死循环 看看会不会死机 
感觉还是流程有问题 越界?