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

下載本文檔

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

文檔簡(jiǎn)介

基于c8051f020單片機(jī)最小系統(tǒng)的實(shí)時(shí)時(shí)鐘顯示程序2009-08-2508:35//關(guān)鍵字:c8051f020FYD12864-0402BLCD顯示按鍵電子時(shí)鐘//#include<c8051f020.h>#include〈lcd.h〉#include〈intrins.h〉#defineucharunsignedcharvoidlcd_ini();voidDISPInitial();voidascii_change(void);voiddelay();voidwri_add(ucharcom);voidwri_dat(ucharcoml);voidshan(void);voiddisp();voidtkey(void);voidP0RT_Init(void);sbitcs=P「7;sbitsid=P1"6;sbitsclk二P「5;bitflag=1;uchardat,count,f=1;//f測(cè)試哪個(gè)單元為當(dāng)前閃爍狀態(tài)uchardataclock[3]={24,00,00};ucharcodeclockname[10]={"北京時(shí)間:"};uchardatanum[6];voidmain(){lcd_ini();count=10;//機(jī)器周期為1us,每次定時(shí)50ms,此變量用來控制循環(huán)次數(shù),在下面賦值為20,共定時(shí)1秒TM0D=0x01;TL0=0XB0;TH0=0X3C;EA=1;ET0=1;IT0=1;EX0=1;TR0=1;while(1){back:ascii_change();disp();delay();if(flag==l)gotoback;tkey();shan();delay();}}/****lcd初始化*******//*voidlcd_ini(){wri_add(0x30);delay();wri_add(0x0c);delay();wri_add(0x01);delay();wri_add(0x06);delay();P2MD0UT=0xfe;

//P3MDOUT=P2MD0UT=0xfe;

//P3MDOUT=OxFF;P74OUT=OxOO;式不能正常顯示voidPORT_Init(void){XBR0=0x00;//不讓他連上IO口XBR1=0x14;//允許外部中斷連在端口上XBR2=0x40;//Enablecrossbarandweakpull-upsP0MDOUT|=0x00;//enableTX0asapush-pulloutput//P1MDOUT|=0x07;//enableP1.6(LED)aspush-pulloutput//為了驅(qū)動(dòng)步進(jìn)電機(jī)的控制線//配置成漏極方式可以讓LCD顯示成功,我試了配置成推挽方voidtimerl()interrupt1using2{TL0=0XB0;TH0=0X3C;count—;if(count==0){count=10;clock[2]++;//秒//}elsegotoout;if(clock[2]==60){clock[2]=0;clock[1]++;//分//}if(clock[1]==60){clock[1]=0;clock[0]++;}if(clock[0]==24)//時(shí)//clock[0]=0;out:_nop_();}/*******十位個(gè)位轉(zhuǎn)換成ASCII碼************/voidascii_change(void){num[5]=clock[2]-(clock[2]/10)*10+0x30;num[4]=clock[2]/10+0x30;num[3]=clock[1]-(clock[1]/10)*10+0x30;num[2]=clock[1]/10+0x30;num[1]=clock[0]-(clock[0]/10)*10+0x30;num[0]=clock[0]/10+0x30;voiddelay(){uchari,j;for(i=250;i〉0;i—)for(j=250;j〉0;j—);}/*****Writeaddress*********/voidwri_add(ucharcom){uchari,j,k;cs=0;cs=l;dat二0xf8;for(i=l;i〈=8;i++){sid=(bit)(dat&0x80);sclk=0;sclk=1;sclk=0;dat二dat〈〈l;}dat二com;dat二dat&0xf0;for(j=l;j〈=8;j++){sid=(bit)(dat&0x80);sclk=0;sclk=1;sclk=0;dat二dat〈〈l;}dat二com;dat=_cror_(dat,4);//此為高低四位交換dat二dat&0xf0;for(k=l;k〈=8;k++){sid=(bit)(dat&0x80);sclk=0;sclk=1;sclk=O;dat二dat〈〈l;}}/*********Writedata*************/voidwri_dat(ucharcoml){uchari,j,k;cs=0;cs=1;dat二Oxfa;for(i=1;i〈=8;i++){sid=(bit)(dat&0x80);sclk=0;sclk=1;sclk=0;dat二dat〈〈1;}dat二coml;dat二dat&0xf0;for(j=1;j〈=8;j++){sid=(bit)(dat&0x80);sclk=0;sclk=1;sclk=0;dat二dat〈〈1;}dat二coml;dat=_cror_(dat,4);//此為高低四位交換dat二dat&0xf0;for(k=1;k〈=8;k++){sid=(bit)(dat&0x80);sclk=0;sclk=1;sclk=0;dat二dat〈〈1;}/******displayprogram***********/ //顯示時(shí)間voiddisp(){uchari,k=0;wri_add(0x80);for(i=l;i〈=9;i++)wri_dat(clockname[i-l]);wri_add(0x90);for(i=l;i〈=6;i++){k++;if(k==3||k==5)wri_dat(clockname[8]);//時(shí)間之間的冒號(hào)。wri_dat(num[iT]);}}voidshan(void){uchari,k=0;wri_add(0x90);辻(f==l){num[0]='';num[1]='';}elsegotonext;for(i=l;i〈=6;i++){k++;if(k==3||k==5)wri_dat(clockname[8]);//時(shí)間之間的冒號(hào)。wri_dat(num[iT]);}gotoreturnl;next:if(f==2){num[2]='';num[3]='';}elsegotonextl;for(i=1;i〈=6;i++){k++;if(k==3||k==5)wri_dat(clockname[8]);//時(shí)間之間的冒號(hào)。wri_dat(num[iT]);}gotoreturn1;next1:if(f==3){num[4]='';num[5]='';}elsegotoreturn1;for(i=1;i<=6;i++){k++;if(k==3||k==5)wri_dat(clockname[8]);//時(shí)間之間的冒號(hào)。wri_dat(num[iT]);}return1:_nop_();}voidintrO()interrupt0using2{flag=~flag;//判斷是否閃爍位//TR0=~TR0;//閃關(guān)定時(shí)否則開定時(shí)f=1;}voidtkey(void){ucharjudcekey;judcekey二Pl&OxOf;if(judcekey==OxOf)gotoreturn2;/*******移位鍵*********/if(judcekey==0x0e)f++;辻(f==4)f=1;/**********力口一鍵*********/if(judcekey==OxOd){clock[f—1]++;}辻(f==1){if(clock[f—1]==24){clock

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論