找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1156|回復(fù): 7
收起左側(cè)

校準(zhǔn)DS1302不準(zhǔn)的問(wèn)題解決了

  [復(fù)制鏈接]
ID:72088 發(fā)表于 2025-2-17 10:57 | 顯示全部樓層 |閱讀模式
DS1302時(shí)鐘走時(shí)不準(zhǔn)的原因:1,電容原因,晶振和電容不匹配,有6P和12P電容,此項(xiàng)比較簡(jiǎn)單,用幾天發(fā)現(xiàn)快慢,更換合適的電容即可
2,輕微的不準(zhǔn),更換電容就難以掌握了,這里我用一個(gè)方法,每天DS1302固定時(shí)間點(diǎn)校準(zhǔn)秒。
我是這樣做到的,每天01:01:30為時(shí)間點(diǎn),到點(diǎn)進(jìn)行加秒或者減秒,然后自動(dòng)存入DS1302中,設(shè)立校準(zhǔn)標(biāo)志位,02分鐘后允許校準(zhǔn)標(biāo),在01分鐘時(shí)只能校準(zhǔn)一次,防止30秒附近反復(fù)校準(zhǔn)。
這是以前的1302版本,現(xiàn)在時(shí)鐘芯片我用DS3231和RX8025T,主要是用RX8025T,畢竟便宜嘛!,RX8025A沒(méi)使用過(guò),資料上說(shuō)有晶振微調(diào)寄存器,估計(jì)更準(zhǔn)吧。
DS3231和RX8025T也需要校準(zhǔn),只是校準(zhǔn)間隔更長(zhǎng),一個(gè)月啟動(dòng)校準(zhǔn)。這樣年誤差更低了

;============時(shí)間校準(zhǔn)===每天01:01:30才啟動(dòng)校準(zhǔn)程序=====================
;1FH校準(zhǔn)標(biāo)志,01:01標(biāo)志位置0(允許校準(zhǔn)),校準(zhǔn)后標(biāo)志位置1(禁止)
;==========================================================
JZ_TIME:
        MOV  A,#01H
        CJNE A,HOUR,TIME_EN         ;是否01小時(shí),不是退出
        CJNE A,MINUTE,JZ_TIME_AA         ;是否01分鐘,不是退出

        MOV A,1FH          ;調(diào)用校準(zhǔn)標(biāo)志,標(biāo)志為0允許校準(zhǔn)
        CJNE A,#00,JZ_TIME_AA

        MOV A,#30H
        CJNE A,SECOND,TIME_EN        ;秒=30開(kāi)始校準(zhǔn)
        MOV 1FH,#1   ;防止反復(fù)校準(zhǔn)
        MOV A,JIAOZHENG   ;校正寄存器
        JZ TIME_EN           ;校準(zhǔn)=0,退出校準(zhǔn)程序
        ANL A,#11000000B
        JZ JZ_TIME01;為0, 轉(zhuǎn)到+(不為0取反然后-)
        MOV A,JIAOZHENG;不為0取反然
        CPL A
        INC A        ;取反加1
        MOV R4,A
        JMP JZ_TIME11;-校正時(shí)間

JZ_TIME_AA:       
        MOV A,MINUTE
        CJNE A,#02,JZ_TIME00       ;分鐘為02清
        MOV 1FH,#0            ;清零校準(zhǔn)標(biāo)志
JZ_TIME00:
        JMP TIME_EN

JZ_TIME01:       ;+校正時(shí)間
        MOV R4,JIAOZHENG
JZ_TIME02:
        MOV A,SECOND
        ADD A,#01H
        DA A
        MOV SECOND,A
        DJNZ R4,JZ_TIME02
        JMP JZ_TIME_15 ;寫(xiě)入1302時(shí)間

JZ_TIME11:       ;-校正時(shí)間
        MOV A,SECOND
        CJNE A,#0,JZ_TIME_12        ;不等轉(zhuǎn)移
        MOV SECOND,#59H        ;分鐘賦值(是0,直接賦值59,不用減一語(yǔ)句)
        LJMP JZ_TIME_14
JZ_TIME_12:
        MOV A,SECOND
        ANL A,#0FH        ;低位為零轉(zhuǎn)移
        JZ JZ_TIME_13
        DEC SECOND
        LJMP JZ_TIME_14
JZ_TIME_13:
        MOV A,SECOND
        SUBB A,#07H       
        MOV SECOND,A
        LJMP JZ_TIME_14
JZ_TIME_14:
        DJNZ R4,JZ_TIME11
JZ_TIME_15:
        ACALL SETDS1302                ;調(diào)用寫(xiě)入1302時(shí)間程序
        MOV 1FH,#1        ;校準(zhǔn)標(biāo)志置位
TIME_EN:
        RET

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:446156 發(fā)表于 2025-2-18 07:55 | 顯示全部樓層
時(shí)鐘芯片還得買(mǎi)內(nèi)置晶振的
回復(fù)

使用道具 舉報(bào)

ID:16255 發(fā)表于 2025-2-18 09:55 | 顯示全部樓層
我用的是DS3231,基本上是裝上去不用怎么校準(zhǔn)直接使用。至今也運(yùn)行一段時(shí)間了,沒(méi)有發(fā)現(xiàn)太明顯的誤差。
回復(fù)

使用道具 舉報(bào)

ID:97181 發(fā)表于 2025-2-19 18:31 | 顯示全部樓層
我用DS1302,但是校準(zhǔn)用的網(wǎng)絡(luò)時(shí)間,每天一次,一般也不用調(diào)整時(shí)間
回復(fù)

使用道具 舉報(bào)

ID:72088 發(fā)表于 2025-2-19 20:12 | 顯示全部樓層
qinlu123 發(fā)表于 2025-2-18 07:55
時(shí)鐘芯片還得買(mǎi)內(nèi)置晶振的

我用的TX8025T有一個(gè)芯片,一天快1秒,一月就是快30秒,看來(lái)校準(zhǔn)程序是有必要的,可以修改程序一月校準(zhǔn)一次,
回復(fù)

使用道具 舉報(bào)

ID:72088 發(fā)表于 2025-2-19 20:13 | 顯示全部樓層
mengsiu 發(fā)表于 2025-2-18 09:55
我用的是DS3231,基本上是裝上去不用怎么校準(zhǔn)直接使用。至今也運(yùn)行一段時(shí)間了,沒(méi)有發(fā)現(xiàn)太明顯的誤差。

別用8腳的3231,大封裝的芯片還是很準(zhǔn)的,8腳DS32331我用的也不準(zhǔn).
回復(fù)

使用道具 舉報(bào)

ID:1144680 發(fā)表于 2025-4-28 11:36 | 顯示全部樓層
zheng_wei339 發(fā)表于 2025-2-19 18:31
我用DS1302,但是校準(zhǔn)用的網(wǎng)絡(luò)時(shí)間,每天一次,一般也不用調(diào)整時(shí)間

WIFI嗎?能不能分享一下?
回復(fù)

使用道具 舉報(bào)

ID:383215 發(fā)表于 2025-4-30 16:18 | 顯示全部樓層
用GPS模塊校準(zhǔn),GPS模塊在室內(nèi)即使不能定位也可以收到時(shí)間信息,靠近窗子效果更好,甚至可以定位,低功耗校準(zhǔn)可以每天打開(kāi)GPS模塊幾分鐘,校準(zhǔn)之后關(guān)閉GPS模塊。GPS模塊收到的時(shí)間精度極高,就算和北京時(shí)間有差異也是固定值,軟件上不難解決。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表