http://www.zg4o1577.cn/ziliao/51hei-5/DS1302時鐘_c.rar
顯示效果:
1,數碼管上顯示:時,分
2,數碼管分位的小數點閃爍表示秒
3,時間初始值10.59.50秒
但是,如果不初始化,開始就顯示不正常了。
倒數第2行,干掉他就行了,不過干掉之前別忘記了裝上電池初始化ds1302的時間,而且電池從此時開始就不能拔掉了,不然會就導致顯示不正常.
v_Set1302(); //時間初值 就是這一句
過程是:先裝上電池->燒錄我提供的沒有修改過的hex文件-> 然后刪掉v_Set1302(); //時間初值 這一句 -> 然后重新生成hex文件-> 燒錄新的hex文件
這樣就行了,本人已經過試驗驗證ok
好奇怪,我的先裝一次原來的hex就顯示正常,再把v_set1302()刪掉,重新生成后,燒入。。。可是每次都顯示00 00 80
顯示00 00 80 表示沒有起振,可能你的電池已經電量不夠,或者接觸不良了,
你加入下面這一句即可起振,就是把秒寄存器的CH位置0.
v_W1302(0X80,0X00);//寫秒起振
但是你的原始時間值還是沒有被保留.
你可先看看ds1302的基礎知識 http://apps.hi.baidu.com/share/detail/15013403
問題是你先裝了電池,燒錄我提供的原始hex的時候,CH位已經被我的程序置0,而你現在讀出來的秒是80,就表示CH位已經被復位為1了,而你電池是裝上的,ds1302一直有持續的供電,不應該發生這種情況,所以我分析是電池沒電了,或者接觸不良你用萬用表測一下
哈,謝謝,可以用了,果然是電池沒電了。
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |