关于ds1302和lcd1602问题,请大神指教,好人好报,急。单片机控制 5
这次想做个ds1302的时钟用lcd1602来显示,可是在写完程序之后发现模拟的电路运行不正常,我觉得电路应该没问题,1302已经给他置了初值进去便能计时,现在lcd16...
这次想做个ds1302的时钟用lcd1602来显示,可是在写完程序之后发现模拟的电路运行不正常,我觉得电路应该没问题,1302已经给他置了初值进去便能计时,现在lcd1602不能显示出正确的时间,我估计是读取1302哪里的问题,要么就是转换为bcd码 再转换为十进制错了 这里的转换我一直不理解 我用的是模块化编程 贴上一部分代码 我是小白 望大神指教。谢谢了。
由于代码贴不完 所以这里给一个论坛求助帖链接http://www.amobbs.com/thread-5533333-1-1.html 麻烦看看 谢谢了 展开
由于代码贴不完 所以这里给一个论坛求助帖链接http://www.amobbs.com/thread-5533333-1-1.html 麻烦看看 谢谢了 展开
1个回答
展开全部
这个仿真 与 你的相仿,供参考
更多追问追答
追问
把程序的源代码发过来看看 ,我不知道我的程序那里错了
void disp_month()
{
uchar i ,j; //十位 个位
i=time_data[2]/16; //十位
j=time_data[2]%16; //个位
write_command(0x80+8);
write_data(digital[i]);
write_command(0x80+9);
write_data(digital[j]);
delay_50us(200); //延时1ms
} 你是这样转换bcd码 然后显示的吗??
把程序的源代码发过来看看 ,我不知道我的程序那里错了
void disp_month()
{
uchar i ,j; //十位 个位
i=time_data[2]/16; //十位
j=time_data[2]%16; //个位
write_command(0x80+8);
write_data(digital[i]);
write_command(0x80+9);
write_data(digital[j]);
delay_50us(200); //延时1ms
} 你是这样转换bcd码 然后显示的吗??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询