![]() |
發(fā)布時間: 2013-10-11 01:18
正文摘要:本教材現(xiàn)以連載的方式由網(wǎng)絡(luò)發(fā)布,并將于2014年由清華大學(xué)出版社出版最終完整版,版權(quán)歸作者和清華大學(xué)出版社所有。本著開源、分享的理念,本教材可以自由傳播及學(xué)習(xí)使用,但是務(wù)必請注明出處來自金沙灘 ... |
謝謝分享 |
感謝! |
是學(xué)習(xí)的好貼,真是太棒了! |
學(xué)習(xí)學(xué)習(xí) |
剛好在學(xué)單片機(jī),正為這個1302時鐘頭疼呢,這篇文章講的好詳細(xì) |
教程確實(shí)不錯,欲罷不能了,有時間就來 |
不錯。。。! |
到處都是C的教程,看來匯編已經(jīng)過時啦,該學(xué)C啦 |
Mark學(xué)習(xí) |
好好學(xué)習(xí)下。。。。![]() ![]() ![]() |
一定要用32.768K的晶振嗎,用12MHZ的會差很多嗎 |
shuiqinghan2012 發(fā)表于 2016-10-5 11:02 void main() { unsigned char ClkHlf; ClkHlf=Ds1302Read(0x81); if(ClkHlf & 0x80 !=0) { Ds1302Init(); } 以上是main一開始根據(jù)你的代碼修改,以下是初始化函數(shù) void Ds1302Init() { uchar n; Ds1302Write(0x8E,0X00); //½ûÖ1D′±£»¤£¬¾íêÇ1رÕD′±£»¤1|Äü for (n=0; n<7; n++)//D′èë7¸ö×Ö½úμÄê±ÖóDÅoÅ£o·ÖÃëê±èÕÔÂÖüÄê { Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]); } Ds1302Write(0x8E,0x80); //′ò¿aD′±£»¤1|Äü } |
i= DS1302SingleRead(0); //讀取秒寄存器 if ((i & 0x80) != 0) //由秒寄存器最高位CH的值判斷DS1302是否已停止 寫的真心詳細(xì),受教了, 1.不過我用你這個方式試著改寫我的程序,發(fā)現(xiàn)讀了CH位,每次還是會初始化,我重新讀了手冊,發(fā)現(xiàn)它說要寫入0, 手冊內(nèi)容如下:When this bit is written to logic 0, the clock will start. The initial power-on state is not defined. 是不是每次初始化之后要不CH位寫成0,以后判斷才能用這種方式 2.另外我試了先初始化,然后再注釋掉初始化函數(shù),重新下載到前面下過初始化程序的單片機(jī)中,之后每次掉電時間就不會重現(xiàn)開始了 能否幫忙解答一下…… |
太給力了,正需要這資料 |
你好,使用結(jié)構(gòu)體,可以用按鍵調(diào)整時間的最后的這種方法,可以提供一下源碼嗎,謝謝啊。 |
好詳細(xì)呀 |
Powered by 單片機(jī)教程網(wǎng)