51單片機(jī)-DS1302時(shí)鐘芯片-共陰數(shù)碼管-時(shí)鐘實(shí)例中為電子科技工作室_第1頁(yè)
51單片機(jī)-DS1302時(shí)鐘芯片-共陰數(shù)碼管-時(shí)鐘實(shí)例中為電子科技工作室_第2頁(yè)
51單片機(jī)-DS1302時(shí)鐘芯片-共陰數(shù)碼管-時(shí)鐘實(shí)例中為電子科技工作室_第3頁(yè)
51單片機(jī)-DS1302時(shí)鐘芯片-共陰數(shù)碼管-時(shí)鐘實(shí)例中為電子科技工作室_第4頁(yè)
51單片機(jī)-DS1302時(shí)鐘芯片-共陰數(shù)碼管-時(shí)鐘實(shí)例中為電子科技工作室_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、moin()中為電子科技工作室51單片機(jī)/DS1302時(shí)鐘芯片/共陰數(shù)碼管時(shí)鐘實(shí)例Date:2014-10-19Revision:1.0Author:ecoE-mai: HYPERLINK mailto:QQ:2970904654vccsvo68卜叫卜U4_原理圖(oread畫(huà)的)f/?卜吟實(shí)物圖(晚上拍的,不清楚)聲明:由于個(gè)人水平有限,下述代碼僅供參考,但是個(gè)人己經(jīng)驗(yàn)證,在IS_EB51M_V100DEMO板上是完全可以運(yùn)行的(上圖所示)。本文檔出自【中為電子科技工作室】?jī)H用于技術(shù)交流Page: E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.cPage:

2、#Page: #FileName:Function:Revision:Author:Data:Other:DS13O2Clock1.0.0isMainstudio2014DS13O2時(shí)鐘芯片,STC89C52RC微控制器,74HC595驅(qū)動(dòng),4位共陰時(shí)鐘數(shù)碼管,12MHz晶振:Page: #Page: #這是一個(gè)時(shí)鐘,支持調(diào)時(shí)功能。首次饒寫(xiě)需初始化,之后注釋掉即可。Page: #Page: includeSincludedefineucharunsignedchardefineuintunsignedintsbitrtcCE=POP;sbitrtcIO二P0l;sbitrtcCK=P02;/D

3、S1302定義sbitconfirmKey=P03;sbitsetKey=P04;sbitdownKey=PO5;/按鍵定義sbitupKey=PO6;E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.csbitntDS=P3*3sbitntOE=P35sbitntST=P36/74HC595功能引腳怎義sbitntSH=P37ucharcodeckntSegDot=Oxbf,0 x86,Oxdb,Oxcf,0 xe6,Oxed,Oxfd,0 x87,Oxff,Oxef);/段碼,共陰,帶DPucharcodeckntSegE=0 x3f,0 x06,0 x5b,

4、0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/段碼,共陰,1、9ucharcodeckntDigE=0 xf7,Oxfb,Oxfd,Oxfe,Oxff;/位碼,共陰ucharsecond,minute,hour,week,day,month,year;charsecondL,secondH,minuteL,minuteH,hourL,hourH;uintblinkMin,blinkHour;bitisSet,isSetMin,isSetHour;/=二延時(shí)函數(shù)=/voidDelay(uintent)while(ent);/=二DS1302寫(xiě)字節(jié)函數(shù)=/v

5、oidDsl302WriteByte(ucharabc)uchari;rtcCE=1;rtcCK二0;_nop_();for(i=0;i8;i+)Page: E:DemoKeil3IS.EB51M.V100_DEM012時(shí)鐘dsl302.crtcIO=abc&0 x01;/按位與,取最低位_nop_();rtcCK=1;_nop_();rtcCK=0;abc=1;/準(zhǔn)備傳輸次高位/=DS1302讀字節(jié)函數(shù)=/ucharDsl302ReadByte0uchari,read_dat;rtcCE=1;for(i=0;i8;i+)read_dat=1;if(rtcIO=1)read_dat|=0 x8

6、0;rtcCK=1;_nop_();rtcCK=0;_nop_();returnread_dat;Page: E:DemoKeil3IS.EB51M_V100_DEM012時(shí)鐘dsl302.c/=h=h=DS1302讀數(shù)據(jù)函數(shù)=二二二=二二二=二二=ucharDsl302Read(ucharread_addr)ucharread_dat;rtcCE=0;rtcCK二0;Dsl302WriteByte(read_addr);read.dat=Dsl302ReadByte0;rtcCK二1;rtcCE=0;returnread_dat:/=DS13O2=/voidDsl302Write(uchar

7、write_addr,ucharwrite_dat)rtcCE=0;rtcCK二0;Dsl302WriteByte(write_addr);/先寫(xiě)地址Dsl302WriteByte(write_dat);再寫(xiě)數(shù)據(jù)rtcCK二0;rtcCE=0;/=數(shù)據(jù)轉(zhuǎn)化函數(shù)=:=/voidDataTrans0/數(shù)據(jù)轉(zhuǎn)化,提取BCD碼E:DemoKeil3IS.EB51M_V100_DEM012時(shí)鐘dsl302.c/便于在數(shù)碼管顯示secondL=second&OxOf;second=4;secondH=second&OxOf;minuteL=minute&OxOf;minute=4;minuteH=minu

8、te&OxOf;hourL=hour&OxOf;hour=4;hourH=hour&OxOf;Page: #Page: #/二二二二二=二二二二二=二二二共陰數(shù)碼管顯示函數(shù)二=二=二二voidCkntDisplav(ucharsegTmp,uchardigTmp)uchari,tmp=0 x80;for(i=0;i8;i+)ntSH=0;ntDS=(digTmp&tmp)?1:0;ntSH=1;digTmp=1;for(i=0;i8;i+)=/位碼,實(shí)際用了4位/提取高位數(shù)據(jù)/上升沿有效/位碼數(shù)據(jù)右移1位,將次高位變?yōu)樽罡呶欢未a,高位在前Page: #Page: E:DemoKeil3ISJB

9、51M_V100_DEM012時(shí)鐘tSH=0;ntDS=(segTmp&tmp)?1:0;ntSH=1;segTmp=1;ntST二0;_nop_0;ntST=1;_nop_0;ntSH二0;ntST二0;ntOE=0;/=二顯示方式函數(shù)=/voidDisplay0if(isSet=1)if(isSetMin=1)blinkMin+;if(blinkMin=250)&(blinkMin500)CkntDisplay(ckntSegEminuteL,ckntDig4);CkntDisplay(ckntSegEminuteH,ckntDig4);elseblinkMin=0;CkntDisplay

10、(ckntSeg.hourL,ckntDigE2);CkntDisplay(ckntSeg.hourH,ckntDig3);if(isSetHour=1)blinkHour卄;if(blinkHour=250)&(blinkHourHnoH)JI片+qjnoq(I二二JnoH1Ssx)jTsp:0二anufui:0二qsinuTmg二二H池nu)洲(01二二inuxui)jT:卄Ha)nu!(n:0二qsinuTm(01=inuiui)jT+qinuiui(I二二uxss!”!(0=AQ)jdn)jT甘/-(003)Pa(d=2SS!)溯(0二二eydn)”!WW-/,50TspIH3ioKa

11、aooiAKi9g3siUa:n/(0HH盤(pán)nupu)曳(THH喘pnu-r-1曰)興亠-1HgnuIUI6HEnuIUI)(0H盤(pán)nupu)曳(Tnn喘pnu-r-1曰)比-1Qpn.s曰)(IHUUUSSD*:(uH%s:)滋(0nHaqxumop)*:HIo去d;a)(AQXdnim唱oHHxn。工oH吩nor0&02spIH.KI0wgal00IAIsgqwlSIeoUQN。日占uE:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.cPage: minuteL=9;minuteH=5;elseif(isSetHour=1)hourL;if(hourH0)&(

12、hourL=-1)hourL=9;hourH;if(hourH=0)&(hourL=-1)hourL=4;hourH=2;while(JdownKey)Display0;if(setKey=0)/是否設(shè)定時(shí)間Delay(200);if(setKey=0)whiledsetKey)Display0;/設(shè)泄時(shí)間標(biāo)志位設(shè)曬分鐘標(biāo)志位設(shè)置小時(shí)標(biāo)志位isSet=1;isSetMin=isSetMin;isSetHour=isSetMin;E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.cPage: #E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl

13、302.cPage: #/設(shè)置時(shí)間確認(rèn)鍵、/E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.cPage: /確認(rèn)所設(shè)宜時(shí)間if(confirmKey=0)&(isSet二二1)Delay(200);if(confirmKey=0)while(!confirmKey)Display0;isSetMin=0;isSetHour=0;blinkMin二0;blinkHour=0;/歸0,設(shè)置分鐘或小時(shí)的標(biāo)志位/歸0,調(diào)整時(shí)間的閃爍頻率,以便下次使用minuteH=4;minute=(minuteL&OxOf)(minuteH&OxfO);hourH=4;hour=(h

14、ourL&OxOf),(hourH&OxfO);/將I位和個(gè)位組成完整的時(shí)間發(fā)給DS1302Dsl302Write(0 x8e,0 x00);Dsl302Write(0 x80,0 x00);Dsl302Write(0 x82,minute);Dsl302Write(0 x84,hour);Dsl302Write(0 x8e,0 x03);isSet=0;/禁止寫(xiě)保護(hù)設(shè)宜秒值設(shè)宜分值設(shè)琶時(shí)值開(kāi)啟寫(xiě)保護(hù)設(shè)宜時(shí)間結(jié)朿E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.cPage: #E:DemoKeil3IS_EB51M_V100_DEM012時(shí)鐘dsl302.cPag

15、e: /=二二初始化1302函數(shù)二=、voidInitDsl3020Dsl302Write(0 x8ef0 x00);Dsl302Write(0 x80f0 x00);Dsl302Write(0 x82f0 x00);Dsl302Write(0 x84f0 x12);/Dsl302Write(0 x86f0 x15);/Dsl302Write(0 x88,0 x06);/Dsl302Write(0 x0a.0 x03);/Dsl302Write(0 x0c,0 x14);Dsl302Write(0 x90,0 xa6);Dsl302Write(0 x8ef0 x03);/禁止寫(xiě)保護(hù)/初始秒值,/初始分值,/24小時(shí)制,初始日值,/初始月值,/初始星期,/初始年值,初始值為0初始值為0初始值為12初始值為15初始值為6初始值為3初始值為14涓流充電,1個(gè)二極管,4K電阻開(kāi)啟寫(xiě)保護(hù)E:DemoKeil3IS_EB51M_V

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論