新手时钟程序求助

2019-03-24 18:48发布

为啥在lcd1602中,读回来的数不是按递加显示呢? 时钟芯片ds12c8887,使用的是51单片机!请诸位相助解答。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
迈步xxzj
1楼-- · 2019-03-25 02:54
 精彩回答 2  元偷偷看……
jishuaihu
2楼-- · 2019-03-25 06:34
不明白你什么意思
迈步xxzj
3楼-- · 2019-03-25 09:33
为啥在lcd1602上显示的秒数不按正常走呢? 从0显示到9后直接跳到16,增加25后直接逃到32,增加到57后又直接跳到64,增加到73后直接跳到80,累加到89后才循环!
xinjitmzy
4楼-- · 2019-03-25 11:48
看了下你的程序
估计是这两个函数有点小问题
uchar read_ds(uchar add)

void write_sfm(uchar add,uchar date)
{
        uchar shi,ge;
        shi=date/10;
        ge=date%10;
        write_com(0x80+0x40+add);
        write_date(0x30+shi);
        write_date(0x30+ge);
}
从9直接跳到16  说明write_sfm(10,miao);中的 miao 从9变成了10(注:是0x09变成0x10)
可以试着把miao的类型改为int  或者再看看miao=read_ds(0);这个函数  肯定是当miao为0x0a时  你用了0x10
只有这个原因了
迈步xxzj
5楼-- · 2019-03-25 12:00
又折腾了个把小时,还是解决不了!
ddlxiaoxu
6楼-- · 2019-03-25 17:31
是不是因为 ds12c8887 输出的是BCD码 的需要转换一下 才能行。

一周热门 更多>