基于12864液晶、矩阵键盘、12cr887时钟芯片、电子罗盘、温湿度传感器、at89s52主控的多功能万年历已经基本成功了,不过总是死机

嵌入式小侠 2012-11-20 08:21:20
基于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;
clean_screen();
}

compass(buf,comii);
// flagcom=1;
}
/**************************(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);

}

}
...全文
190 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
嵌入式小侠 2012-12-21
  • 打赏
  • 举报
回复
去掉一个_nop_(); 一切解决
Binzo 2012-11-23
  • 打赏
  • 举报
回复
异常,跑飞了。是不是犯数组越界等错误了。 建议先换片89s52试试,预测结果还是一样。 估计还是程序什么地方有个小问题。
net_friends 2012-11-22
  • 打赏
  • 举报
回复
先排除硬件问题 再看死在哪里
wudianjun2001 2012-11-21
  • 打赏
  • 举报
回复
先确定是软件问题还是硬件问题,再具体处理

6,120

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧