ds1302時(shí)鐘,已經(jīng)打包成函數(shù),1.寫程序時(shí)先寫寫入數(shù)據(jù),寫入數(shù)據(jù)先寫即將寫入的地址(準(zhǔn)備寫的位置,如秒分時(shí)),然后寫入數(shù)據(jù),數(shù)據(jù)以及地址是從低位一位一位的寫進(jìn)去的,一個(gè)字節(jié)需要寫八位。 2.在寫讀取數(shù)據(jù),讀取數(shù)據(jù)先寫即將讀取的地址(準(zhǔn)備讀的位置,如秒分時(shí)),然后讀取數(shù)據(jù),數(shù)據(jù)以及地址是從低位一位一位的讀出來的,一個(gè)字節(jié)需要讀八位。 將高位放在前面的方法:temp=(temp >>= 1)|(temp1 <<= 7); 3. 還要寫初始化,初始化先寫入數(shù)據(jù)關(guān)閉寫保護(hù),然后在循環(huán)寫入7個(gè)數(shù)據(jù)(時(shí)間設(shè)定),寫完后記得打開寫保護(hù),防止后來的數(shù)據(jù)對其干擾 4. 讀取時(shí)間:先寫讀取地址,在讀取對應(yīng)的時(shí)間,循環(huán)讀取7次,讀出全部數(shù)據(jù)。 5. 主函數(shù)里面先寫初始化,然后一直循環(huán)數(shù)據(jù)處理,數(shù)據(jù)顯示。 讀數(shù)據(jù)結(jié)束后一定要寫復(fù)位的穩(wěn)定時(shí)間,不然時(shí)間顯示有問題 _nop_(); //以下為DS1302復(fù)位的穩(wěn)定時(shí)間,必須要,不然亂碼。 SCLK = 1; _nop_(); IO = 0; _nop_(); IO = 1; _nop_(); 堅(jiān)持,加油
|