使用F2812調(diào)試DS1302實(shí)時(shí)時(shí)鐘芯片經(jīng)驗(yàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
最近在調(diào)試DS1302忙一天終于搞定,特此寫點(diǎn)心得共享下希望各位少走彎路,最重要的是要保住芯片手冊(cè),基本上軟件上需要注意的問題芯片手冊(cè)都能發(fā)現(xiàn)。
1. 在上電時(shí),RST 必須為邏輯0 直至Vcc>2.0V。同時(shí)SCLK 在RST 驅(qū)動(dòng)至邏輯1 狀態(tài)時(shí)必須為邏輯0。
2. 數(shù)據(jù)輸入是在SCLK的上升沿,數(shù)據(jù)輸出是在SCLK的下降沿。
3. 傳輸方式:低位先傳輸。
4. 時(shí)鐘運(yùn)行:秒寄存器的最高位(BIT7)是作為時(shí)鐘控制位,當(dāng)為邏輯1時(shí),時(shí)鐘停止,為0時(shí)鐘運(yùn)行。所以如果要時(shí)鐘運(yùn)行的話就必須將秒寄存器的最高位清0
5. 12/24小時(shí)模式:小時(shí)寄存器的第7位(最高位)是選擇12小時(shí)制還是24小時(shí)制。當(dāng)為邏輯1時(shí)選擇12小時(shí),邏輯0選擇24小時(shí)。當(dāng)為12小時(shí)制時(shí),小時(shí)寄存器的第5位用來表示上午AM和下午PM,邏輯1的時(shí)候表示PM,邏輯0的時(shí)候表示AM。
6. 在企圖對(duì)DS1302操作之前,必須將WP位清零。
7. 讀寫模式:有兩種模式,可以單字節(jié)讀寫,以及連續(xù)多字節(jié)讀寫(burst mode)。在連續(xù)多字節(jié)讀寫時(shí),即burst mode,地址是必須從地址0的0位開始的。如果對(duì)時(shí)鐘操作,即CLOCK操作,則必須連續(xù)寫滿8個(gè)字節(jié)。若是對(duì)RAM操作,則可以不必須寫滿31個(gè)字節(jié)。
8. DS1302包含了實(shí)時(shí)時(shí)鐘日歷和31個(gè)字節(jié)的RAM,這里需要注意的是實(shí)時(shí)時(shí)鐘日歷的8個(gè)寄存器和31個(gè)字節(jié)的RAM是獨(dú)立的,沒有任何關(guān)系,不要混淆。31個(gè)RAM字節(jié)可以做其他用途,如鬧鐘等。因?yàn)镈S1302有電池供電,所以RAM的內(nèi)容不會(huì)丟失,相當(dāng)于EEPROM了。用戶可以用來實(shí)現(xiàn)特別的要求。
9. 時(shí)序必須嚴(yán)格按照其數(shù)據(jù)手冊(cè)上來.