c51单片机和芯片ds1302相连 为什么51无法读取时钟ds1302 数据
ds1302的晶振一个脚2.5v一个脚0v应该是起振了ds1302io口边上都接了上拉电阻5k的。。。但是就是读不到ds1302的数据。。通过数码管显示的数都是7H。。。...
ds1302 的晶振一个脚2.5v 一个脚0v 应该是起振了 ds1302 io口边上都接了上拉电阻 5k 的。。。但是就是读不到ds1302 的数据。。通过数码管显示的数都是 7H。。。程序都是在其他的上面运行正常的
展开
2个回答
展开全部
你先试一下直接数码管的显示程序是否正常,就是往数码管直接赋值测试一下。
然后你用测试好的数码管看一下读出来的数据是什么,DS1302直接读出来的数据是这样子的。比如读出来的是22,那么应该是16秒。
为什么是这样子的呢?十进制的22换算成十六进制是0x16,DS1302就是这么表示的。
例如:0x59 就是59 所以你读出数据以后,要把十六进制的0x59换算成十进制的59,才能正确显示。至于怎么换算,自己思考一下吧。
然后你用测试好的数码管看一下读出来的数据是什么,DS1302直接读出来的数据是这样子的。比如读出来的是22,那么应该是16秒。
为什么是这样子的呢?十进制的22换算成十六进制是0x16,DS1302就是这么表示的。
例如:0x59 就是59 所以你读出数据以后,要把十六进制的0x59换算成十进制的59,才能正确显示。至于怎么换算,自己思考一下吧。
更多追问追答
追问
数码管是显示正常的 这个之前做过测试。。就是读1302时没有反应,,虽然1302上都有电压,,但是数码管的显示和不接1302 的显示是一样的
追答
把你的程序和原理图贴上来看看,你自己也检查一下是不是DS1302插反了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询