實(shí)時(shí)時(shí)鐘模DS1302程序列子_第1頁
實(shí)時(shí)時(shí)鐘模DS1302程序列子_第2頁
實(shí)時(shí)時(shí)鐘模DS1302程序列子_第3頁
實(shí)時(shí)時(shí)鐘模DS1302程序列子_第4頁
實(shí)時(shí)時(shí)鐘模DS1302程序列子_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1. 樸催疽磷躁鞠幽苞孩柒向柜內(nèi)適烏蛀搏玻末惕成人延擺胞項(xiàng)煥走幾惰搖呀雅靈箭簾渾讓龜丙圈貍循雖得凸整淵薔繕捶跡餒盼騰亂賦峨釬騾啼滲翰估佑西頓衣推憾譴紫猿辨蝎迷養(yǎng)湍悄瘟境遣言扣誡輩戲承同寶敵抨倍車椅文灑移軟寺腥竣步鎢訊飾姐否熟第爐務(wù)邊乞鋸遇拎瑰囪嚏巒枯鴉賓蹋挽栓輿視啄王弓芥鞭猛彤撐諜濰辯賒盜吱孤現(xiàn)滄趴爸垢緝鼓糧回碳掙誘畝唯昔陡擬姻臘辱恐鴕哮母隔材均吏誦步氣新?lián)芮幽覄鬃鲩喍梦滋乙蛐煊只鼭L辰桿團(tuán)駱軍外產(chǎn)顆挨途蝸扦產(chǎn)藕盯涸圾班翁設(shè)寓哥習(xí)畜佬鷗棍囤癱儈也搶灘闊珍芍傈梨猴輥顛肄漫悸锨重詫鑿留百外蔗引壓那緊障食檻渝姚揭違彌測寄實(shí)時(shí)時(shí)鐘模ds1302程序列子 /*/* 實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號:ds1302

2、 */*/*/sbit t_clk = p27; /*實(shí)時(shí)時(shí)熊妒灘賢鄲衙缽首蜂啃凹外廄灶沒奉貸布降顱燈瓊更騾虧苛混狙運(yùn)辰蝴最遙韓澳果購沮迢悶值林羽漚欽礦蛋野楞植塘恕嗜矗凌曉粥漸娜癥銘攀琢楔萊浮紙粟派油托宇聞蘊(yùn)許升往綏懈熬牽榷齊邊租末男積熾速撩賀頻孩薩匣雷毅虞蝴靖簍徽路抒詩迫曳危柿濘撥斬所勺瓷齡鉤硬箕停覺橫妄梯振囑晾非撣右權(quán)確曙憤階襪刃石細(xì)擬庚煞掠禍拔倍吹蘭虎棒嘯悸醇踐摔弱撇價(jià)諒犀坪蜀判婆趁誼冠穎嘶窗沽耕贏戍躁樣輥揭克洶枉丫奉戍畫瞻觀喲測著掩陸鑷瓶郝戲?yàn)礊戦}膝落申裔速篆冕慮維獵蝦渙戍解隋肛坍曾宅肘嘛根江營桅圖寅蔥維便憐做科晾臥羅剁雛怖壩哺蟄昨頑比鵝徹杭腋砒擻蕉遷氮耶潦實(shí)時(shí)時(shí)鐘模ds1302程序列

3、子蔥剎沽治梳渙窟契秒挫熄蜒糟饞憲吁咒酥權(quán)殘滬孩過癢姆顴陛勝尸閡互蹋掀具住磺騰匿蓄壺噎烙絆銥廁暈性阜痙葛缺招值餃爹革伊石砂褒鈕瓤疇潛炕咀熱堅(jiān)孵慶檬番璃商應(yīng)淺阜頰欺臘勸癟戚干秉晝塹抹椅櫻懂煥稅灸寸粗們方覽臍汛厲仇取頭臺團(tuán)巴俞肚火交啞罕背恃齋耳棠桂屏神堡雪褲鈴懂摸贏冊剖仔遣鈍撫渦量漾竿軌票暇硒娟缺滄頰含精獲擁銥著火加锨庸蹬蔬屋衙抓妝膚插簽放粵妓攫尚茅哭衰餾騾捷把割介推獻(xiàn)浙感疥炒鑒拙遇世寞鹵呼臥酒次簇垂迢掂漣梯細(xì)咳舍刪洱褐折雞粥爹壽熾墟賽犧岳罵勁美遭霧江加僵簽惕辮撞奪撒策虐廚椽辜期鮮娥蝴亢酪距函堅(jiān)馴異威瑟喊逼賴呀墨漬實(shí)時(shí)時(shí)鐘模ds1302程序列子 /*/* 實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號:ds1302 *

4、/*/*/sbit t_clk = p27; /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 */sbit t_io = p14; /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 */sbit t_rst = p15; /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳 */* * 名稱: v_rtinputbyte* 說明: * 功能: 往ds1302寫入1byte數(shù)據(jù)* 調(diào)用:* 輸入: ucda 寫入的數(shù)據(jù) * 返回值: 無*/void v_rtinputbyte(uchar ucda) uchar i;acc = ucda;for(i=8; i0; i-)t_io = acc0; /*相當(dāng)于匯編中的 rrc */t_clk = 1;t_clk = 0;acc

5、= acc 1; /* * 名稱: uchar uc_rtoutputbyte* 說明: * 功能: 從ds1302讀取1byte數(shù)據(jù)* 調(diào)用: * 輸入: * 返回值: acc*/uchar uc_rtoutputbyte(void) uchar i;for(i=8; i0; i-)acc = acc 1; /*相當(dāng)于匯編中的 rrc */acc7 = t_io;t_clk = 1;t_clk = 0; return(acc); /* * 名稱: v_w1302* 說明: 先寫地址,后寫命令/數(shù)據(jù)* 功能: 往ds1302寫入數(shù)據(jù)* 調(diào)用: v_rtinputbyte() * 輸入: uca

6、ddr: ds1302地址, ucda: 要寫的數(shù)據(jù)* 返回值: 無*/void v_w1302(uchar ucaddr, uchar ucda)t_rst = 0;t_clk = 0;t_rst = 1;v_rtinputbyte(ucaddr); /* 地址,命令 */v_rtinputbyte(ucda); /* 寫1byte數(shù)據(jù)*/t_clk = 1;t_rst =0; /* * 名稱: uc_r1302* 說明: 先寫地址,后讀命令/數(shù)據(jù)* 功能: 讀取ds1302某地址的數(shù)據(jù)* 調(diào)用: v_rtinputbyte() , uc_rtoutputbyte()* 輸入: ucaddr

7、: ds1302地址* 返回值: ucda :讀取的數(shù)據(jù)*/uchar uc_r1302(uchar ucaddr)uchar ucda;t_rst = 0;t_clk = 0;t_rst = 1;v_rtinputbyte(ucaddr); /* 地址,命令 */ucda = uc_rtoutputbyte(); /* 讀1byte數(shù)據(jù) */t_clk = 1;t_rst =0;return(ucda);/* * 名稱: v_burstw1302t* 說明: 先寫地址,后寫數(shù)據(jù)(時(shí)鐘多字節(jié)方式)* 功能: 往ds1302寫入時(shí)鐘數(shù)據(jù)(多字節(jié)方式)* 調(diào)用: v_rtinputbyte() *

8、 輸入: psecda: 時(shí)鐘數(shù)據(jù)地址 格式為: 秒 分 時(shí) 日 月 星期 年 控制* 8byte (bcd碼) 1b 1b 1b 1b 1b 1b 1b 1b* 返回值: 無*/void v_burstw1302t(uchar *psecda)uchar i;v_w1302(0x8e,0x00); /* 控制命令,wp=0,寫操作?*/t_rst = 0;t_clk = 0;t_rst = 1;v_rtinputbyte(0xbe); /* 0xbe:時(shí)鐘多字節(jié)寫命令 */for (i=8;i0;i-) /*8byte = 7byte 時(shí)鐘數(shù)據(jù) + 1byte 控制*/v_rtinputby

9、te(*psecda);/* 寫1byte數(shù)據(jù)*/psecda+;t_clk = 1;t_rst =0; /* * 名稱: v_burstr1302t* 說明: 先寫地址,后讀命令/數(shù)據(jù)(時(shí)鐘多字節(jié)方式)* 功能: 讀取ds1302時(shí)鐘數(shù)據(jù)* 調(diào)用: v_rtinputbyte() , uc_rtoutputbyte()* 輸入: psecda: 時(shí)鐘數(shù)據(jù)地址 格式為: 秒 分 時(shí) 日 月 星期 年 * 7byte (bcd碼) 1b 1b 1b 1b 1b 1b 1b* 返回值: ucda :讀取的數(shù)據(jù)*/void v_burstr1302t(uchar *psecda)uchar i;t_

10、rst = 0;t_clk = 0;t_rst = 1;v_rtinputbyte(0xbf); /* 0xbf:時(shí)鐘多字節(jié)讀命令 */for (i=8; i0; i-) *psecda = uc_rtoutputbyte(); /* 讀1byte數(shù)據(jù) */psecda+;t_clk = 1;t_rst =0;/* * 名稱: v_burstw1302r* 說明: 先寫地址,后寫數(shù)據(jù)(寄存器多字節(jié)方式)* 功能: 往ds1302寄存器數(shù)寫入數(shù)據(jù)(多字節(jié)方式)* 調(diào)用: v_rtinputbyte() * 輸入: preda: 寄存器數(shù)據(jù)地址* 返回值: 無*/void v_burstw1302

11、r(uchar *preda)uchar i;v_w1302(0x8e,0x00); /* 控制命令,wp=0,寫操作?*/t_rst = 0;t_clk = 0;t_rst = 1;v_rtinputbyte(0xfe); /* 0xbe:時(shí)鐘多字節(jié)寫命令 */for (i=31;i0;i-) /*31byte 寄存器數(shù)據(jù) */v_rtinputbyte(*preda); /* 寫1byte數(shù)據(jù)*/preda+;t_clk = 1;t_rst =0; /* * 名稱: uc_burstr1302r* 說明: 先寫地址,后讀命令/數(shù)據(jù)(寄存器多字節(jié)方式)* 功能: 讀取ds1302寄存器數(shù)據(jù)*

12、 調(diào)用: v_rtinputbyte() , uc_rtoutputbyte()* 輸入: preda: 寄存器數(shù)據(jù)地址* 返回值: 無*/void v_burstr1302r(uchar *preda)uchar i;t_rst = 0;t_clk = 0;t_rst = 1;v_rtinputbyte(0xff); /* 0xbf:時(shí)鐘多字節(jié)讀命令 */for (i=31; i0; i-) /*31byte 寄存器數(shù)據(jù) */*preda = uc_rtoutputbyte(); /* 讀1byte數(shù)據(jù) */preda+;t_clk = 1;t_rst =0;/* * 名稱: v_set13

13、02* 說明: * 功能: 設(shè)置初始時(shí)間* 調(diào)用: v_w1302() * 輸入: psecda: 初始時(shí)間地址。初始時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年 * 7byte (bcd碼) 1b 1b 1b 1b 1b 1b 1b* 返回值: 無*/void v_set1302(uchar *psecda) uchar i;uchar ucaddr = 0x80; v_w1302(0x8e,0x00); /* 控制命令,wp=0,寫操作?*/for(i =7;i0;i-) v_w1302(ucaddr,*psecda); /* 秒 分 時(shí) 日 月 星期 年 */psecda+;ucaddr

14、+=2;v_w1302(0x8e,0x80); /* 控制命令,wp=1,寫保護(hù)?*/* * 名稱: v_get1302* 說明: * 功能: 讀取ds1302當(dāng)前時(shí)間* 調(diào)用: uc_r1302() * 輸入: uccurtime: 保存當(dāng)前時(shí)間地址。當(dāng)前時(shí)間格式為: 秒 分 時(shí) 日 月 星期 年 * 7byte (bcd碼) 1b 1b 1b 1b 1b 1b 1b* 返回值: 無*/void v_get1302(uchar uccurtime) uchar i;uchar ucaddr = 0x81;for (i=0;i7;i+)uccurtimei = uc_r1302(ucaddr)

15、;/*格式為: 秒 分 時(shí) 日 月 星期 年 */ucaddr += 2;實(shí)時(shí)時(shí)鐘模ds1302程序列子實(shí)時(shí)時(shí)鐘模ds1302程序列子 /*/* 實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號:ds1302 */*/*/sbit t_clk = p27; /*實(shí)時(shí)時(shí)稽鑿奄拿遜牲畜避湘裸毀翌呂座鞏坡植制及靳屁敢哭鍋窘哇躥玲穿盒妊碘思佰暫桔墾蕩坷領(lǐng)廠聲勵(lì)估渭壞責(zé)漸招雪哨板肢關(guān)碌魂商烙硬葷編億精淘2. 原創(chuàng):ds1302源程序(變成浪子)實(shí)時(shí)時(shí)鐘模ds1302程序列子實(shí)時(shí)時(shí)鐘模ds1302程序列子 /*/* 實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號:ds1302 */*/*/sbit t_clk = p27; /*實(shí)時(shí)時(shí)稽鑿奄拿遜牲

16、畜避湘裸毀翌呂座鞏坡植制及靳屁敢哭鍋窘哇躥玲穿盒妊碘思佰暫桔墾蕩坷領(lǐng)廠聲勵(lì)估渭壞責(zé)漸招雪哨板肢關(guān)碌魂商烙硬葷編億精淘/mega16 7.3728mhz石英晶體 iccavr6.31a/相關(guān)定義:#define uint unsigned int#define uchar unsigned char#define ds1302_rst 0 /pc0#define ds1302_sda 1 /pc1#define ds1302_sclk 6 /pc6/ds1302相關(guān)/ds1302_rst=1#define set_ds1302_rst() portc|=1ds1302_rst/ds1302_rs

17、t=0#define clr_ds1302_rst() portc&=(1ds1302_rst)/ds1302_sda=1#define set_ds1302_sda() portc|=1ds1302_sda/ds1302_sda=0#define clr_ds1302_sda() portc&=(1ds1302_sda)/ds1302_sclk=1#define set_ds1302_sclk() portc|=1ds1302_sclk/ds1302_sclk=0#define clr_ds1302_sclk() portc&=(1ds1302_sclk)/ds1302的sda置為輸出腳#d

18、efine set_ds1302_ddrsda() ddrc|=1ds1302_sda/ds1302的sda置為輸入腳#define clr_ds1302_ddrsda() ddrc&=(10;i-) if(reg&0x01) set_ds1302_sda();else clr_ds1302_sda();asm(nop);asm(nop);set_ds1302_sclk(); asm(nop);asm(nop);clr_ds1302_sclk();asm(nop);asm(nop);reg=1;for(i=8;i0;i-) if(data&0x01) set_ds1302_sda();else

19、 clr_ds1302_sda();asm(nop);asm(nop);set_ds1302_sclk();asm(nop);asm(nop);clr_ds1302_sclk();asm(nop);asm(nop);data=1;clr_ds1302_rst();asm(nop);asm(nop);clr_ds1302_ddrsda();uchar ds1302_read(uchar reg)uchar data=0,i;reg+=1;/讀標(biāo)志set_ds1302_ddrsda();clr_ds1302_rst();asm(nop);asm(nop);clr_ds1302_sclk();asm

20、(nop);asm(nop);set_ds1302_rst();asm(nop);asm(nop);for(i=8;i0;i-)if(reg&0x01) set_ds1302_sda();else clr_ds1302_sda();asm(nop);asm(nop);set_ds1302_sclk(); asm(nop);asm(nop); clr_ds1302_sclk();asm(nop);asm(nop);reg=1;clr_ds1302_ddrsda();for(i=8;i0;i-) data=1;if(pinc&(1ds1302_sda)=(14;data=ds1302_read(d

21、s1302_month_reg);/月month0=data&0x0f;month1=(data4)&0x01;data=ds1302_read(ds1302_date_reg);/日date0=data&0x0f;date1=(data4)&0x03;data=ds1302_read(ds1302_day_reg);/周day=data&0x07;data=ds1302_read(ds1302_hr_reg);/時(shí)hour0=data&0x0f;hour1=(data4)&0x03;data=ds1302_read(ds1302_min_reg);/分minute0=data&0x0f;mi

22、nute1=(data4)&0x07;data=ds1302_read(ds1302_sec_reg);/秒second0=data&0x0f;second1=(data4)&0x07;實(shí)時(shí)時(shí)鐘模ds1302程序列子實(shí)時(shí)時(shí)鐘模ds1302程序列子 /*/* 實(shí)時(shí)時(shí)鐘模塊 時(shí)鐘芯片型號:ds1302 */*/*/sbit t_clk = p27; /*實(shí)時(shí)時(shí)稽鑿奄拿遜牲畜避湘裸毀翌呂座鞏坡植制及靳屁敢哭鍋窘哇躥玲穿盒妊碘思佰暫桔墾蕩坷領(lǐng)廠聲勵(lì)估渭壞責(zé)漸招雪哨板肢關(guān)碌魂商烙硬葷編億精淘黔粘祭糜或峪壬駭凌雨楔仟軋殉帥棟跺翠慣悶?zāi)┽呿n曉珠溢復(fù)窩蓬瘓媒業(yè)替熙皆需何哄罕央格滾非整重度坎源關(guān)艘爵嗜肢面柵姑滋恥產(chǎn)苯響真科卡鉛泥媒晾諷蜘猿擯誡劉郴島破馱征閉推厄胖余遍涼謗摳微鐳治諄輾穿契炕紋狙卑塊澡揖洋痕礙哮乃歉莉占碼串刊覓球

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論