欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于ds1302的問題 [打印本頁]

作者: ccdd    時間: 2010-9-3 15:52
標題: 關于ds1302的問題
有個問題就是,ds1302的晶振有沒必要加6PF的電容呢?我發現在51hei-5開發板上用手放在晶振上,時間走的就明顯的快,不知道是怎么回事.
[此貼子已經被作者于2010-9-3 15:52:27編輯過]

作者: admin    時間: 2010-9-3 16:52
完全沒有必要加6PF的電容,因為ds1302芯片的內部已經集成了這個電容,用手摸那個很小的圓筒晶振會導致會導致各種不可預見的錯誤,因為你摸上去就是改變了他的分布電容,以及人體所帶的靜電還有肯能造成干擾。所以一定不要用手去摸小圓筒晶振
作者: yejiaixiyi    時間: 2010-9-4 16:15
我用ds1302做的電子鐘,老是會自己走快。。 半個月大概快了兩分鐘
作者: admin    時間: 2010-9-5 01:12

  你的15天快120秒,算一起來一天也有8秒的誤差,你這種情況在實際應用中是很常見的,解決方法:

 

   用DS1302制作電子時鐘,由于32678K的晶振誤差原因造成時鐘走時不準確,在國內能買到的晶振精度都不高,每天誤差都差6到10秒,如果購買國外的高精度的晶振價格又非常高,不如用單片機的計時器編程走時更準確,可以進行誤差調整,本人作了幾個用DS1302時鐘,由于32678K晶振的原因,每天都快6-9秒之間,原來用的方法是每天自動校一次,由于每天的誤差不是整數,比如每天快7.6秒,這樣每天就得自動校8秒,又造成每天慢0.4秒,每月誤差又是12秒,走時還是不準確,本人改成了每差1秒校正一次的方法,原理是:比如每天快7.6秒,24*60/7.6=189,也就是189分鐘快1秒,每189分鐘就自動校一次時鐘,這樣校時理論上每年的誤差最大不到6秒,本人的時鐘4個月誤差不到1秒,屬于相當準確嘍,現在提供給大家分享。

設計原理是:

由于程序的大小和原理不同,每分鐘讀取DS1302的次數也不同,這樣先設置二個變量,一個是分鐘比較變量,用于判斷分鐘不等相等時計數器變量加1,另一個是校時計數變量,用于校時時間計數,當計數器變量等于189時,DS1302自動修正一次,程序如下:
代碼:

變量設置
BJBL DATA 20H ;分鐘比較變量,用于判斷分鐘不等相等時計數器加1
JSBL DATA 21H ;校時計數變量,用于校時時間計數
MOV BJBL,#00H
MOV JSBL,#00H
自動校時子程序
AUTOXS:
MOV A,MIN
CJNE A,BJBL,AS1
JMP AS2
AS1: MOV BJBL,A
MOV A,JSBL
INC A
MOV JSBL,A
AS2: MOV A,JSBL
CJNE A,#0D3H,AS5
MOV A,SEC
CJNE A,#01H,AS5 ;秒等于1時校回到0秒

MOV R1,#8EH ;寫保護寄存器
MOV R0,#00H ;允許寫入
LCALL WRITE ;調用寫DS1302程序

MOV R1,#80H ;寫秒寄存器
MOV R0,#00H ;啟動振蕩器工作
LCALL WRITE ;調用寫DS1302程序

MOV R1,#8EH ;寫保護寄存器
MOV R0,#80H ;禁止寫入
LCALL WRITE ;調用寫DS1302程序

MOV JSBL,#00H
AS5: RET
將此子程序在每次讀取DS1302時調用

作者: huojyxt    時間: 2010-10-11 22:39
管理員很耐心哦,樓主也不說聲謝謝。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1