找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3451|回复: 2
打印 上一主题 下一主题
收起左侧

关于51单片机通过串口修改ds1302时间的问题

[复制链接]
跳转到指定楼层
楼主
ID:169455 发表于 2017-3-9 19:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
最近做一个基于51单片机 的DS1302时钟,要求通过串口可以完成对DS1302时间 的修改,现在出现如下问题:通过串口调试助手发送7个十六进制的时间数据给单片机然后写进1302,写完数据后开始读1302并通过1602液晶正常显示,但是现在当发送的数据如果大于10便会出错,例如当发送的年份数据为16进制数0x11,正常1602显示的年份应该为2017,但是现在显示的是2031.希望得到大家的指点,谢谢!

串口修改1302.zip

64.23 KB, 下载次数: 105

源码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

板凳
ID:169455 发表于 2017-3-10 17:50 | 只看该作者
baofu 发表于 2017-3-10 10:52
1302年份寄存器用的是BCD码,就是用4位二进制数来表示1位十进制数中的0~9这10个数码。或者说每1位十进制数 ...

原来如此,受教受教
回复

使用道具 举报

沙发
ID:113415 发表于 2017-3-10 10:52 | 只看该作者
本帖最后由 baofu 于 2017-3-10 14:39 编辑

1302年份寄存器用的是BCD码,就是用4位二进制数来表示1位十进制数中的0~9这10个数码。或者说每1位十进制数,都要用4位二进制数。或者说,对于17来说,应当发送0x17.相当于前四位二进制数是0001,后四位是0111.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表