時(shí)、分、秒計(jì)時(shí)器實(shí)驗(yàn)報(bào)告_第1頁(yè)
時(shí)、分、秒計(jì)時(shí)器實(shí)驗(yàn)報(bào)告_第2頁(yè)
時(shí)、分、秒計(jì)時(shí)器實(shí)驗(yàn)報(bào)告_第3頁(yè)
時(shí)、分、秒計(jì)時(shí)器實(shí)驗(yàn)報(bào)告_第4頁(yè)
時(shí)、分、秒計(jì)時(shí)器實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

PAGEPAGE1實(shí)驗(yàn)六時(shí)、分、秒計(jì)時(shí)器的設(shè)計(jì)班級(jí)物聯(lián)0901姓名李王張學(xué)號(hào)200908888888指導(dǎo)老師袁文澹一、實(shí)驗(yàn)?zāi)康恼莆諗?shù)碼管動(dòng)態(tài)顯示的基本方法;掌握鍵盤(pán)按鍵控制的實(shí)現(xiàn)方法; 根據(jù)已知電路和設(shè)計(jì)要求在實(shí)驗(yàn)板上實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)器。二、實(shí)驗(yàn)內(nèi)容 1、在STC89C52實(shí)驗(yàn)平臺(tái)上實(shí)現(xiàn)時(shí)、分、秒時(shí)鐘,4位數(shù)碼管上顯示分、秒或者時(shí)、分。 2、應(yīng)用鍵盤(pán)控制時(shí)間的顯示。鍵盤(pán)按鍵控制“切換時(shí)分、分秒顯示”、“啟動(dòng)停止”、“加秒顯示內(nèi)容”、“加分顯示內(nèi)容”、“加時(shí)顯示內(nèi)容”。3、根據(jù)已知電路和設(shè)計(jì)要求在PROTEUS平臺(tái)仿真實(shí)現(xiàn)時(shí)鐘系統(tǒng)。三、實(shí)驗(yàn)原理三、程序代碼匯集:/*時(shí)鐘及顯示程序,適用于尋跡小車(chē)實(shí)驗(yàn)板*/#include<reg51.h>//頭文件#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共陽(yáng)七段編碼uchartemp=0;//定義定時(shí)器溢出計(jì)數(shù)變量,每隔50ms產(chǎn)生1次溢出,temp加1ucharmiao=00;//定義時(shí)鐘變量,當(dāng)temp計(jì)數(shù)加20(20x50ms=1s)時(shí),miao加1 ucharfen=00;//定義時(shí)鐘變量,當(dāng)miao計(jì)數(shù)加60(60x20x50ms=60s)時(shí),fen加1 ucharshi=00;//定義時(shí)鐘變量,當(dāng)fen計(jì)數(shù)加60時(shí),shi加1 sbitP0_6=P0^6 ;//定義P0端口/*--定時(shí)計(jì)數(shù)器T0及其中斷初始化函數(shù)--*/ voidtimer0init(void) {TMOD=0x01;//設(shè)置定時(shí)器0為工作方式1TH0=(65536-50000)/256;//16位計(jì)數(shù)初值除以256得到高8位初值TL0=(65536-50000)%256;//16位計(jì)數(shù)初值除以256的余數(shù)得到低8位初值EA=1;//開(kāi)總中斷ET0=1;//開(kāi)定時(shí)器0中斷TR0=1;//啟動(dòng)定時(shí)器0}/*延時(shí)函數(shù)*/voiddelay(uintn){uinti,j;for(i=n;i>0;i--)for(j=124;j>0;j--);}/*定時(shí)計(jì)數(shù)器中斷程序,每當(dāng)定時(shí)計(jì)數(shù)器溢出時(shí)觸發(fā)中斷,執(zhí)行該程序*/voidtime0()interrupt1{ TH0=(65536-50000)/256;//重裝初值 TL0=(65536-50000)%256;if(temp==20){temp=0;if(miao==59) {miao=0; if(fen==59) {fen=0; if(shi==23)shi=0; elseshi++;} elsefen++; }elsemiao++;}elsetemp++;}/*顯示函數(shù)*/voiddisplay(void){/*P1=0xfe;*/P1=0x7f;//輸出秒的個(gè)位的位碼P0=table[miao%10];//輸出秒的個(gè)位的段碼delay(5);//亮5ms/*P1=0xfd;*/P1=0xbf;//輸出秒的十位的位碼P0=table[miao/10];//輸出秒的十位的段碼delay(5);//亮5ms /*P1=0xfb;*/P1=0xdf; P0=0xbf; delay(5); /*P1=0xf7;*/P1=0xef;//輸出分的個(gè)位的位碼 P0=table[fen%10];//輸出分的個(gè)位的段碼 delay(5); /*P1=0xef;*/P1=0xf7;//輸出分的十位的位碼 P0=table[fen/10];//輸出分的十位的段碼 delay(5); /*P1=0xdf;*/P1=0xfb; P0=0xbf; delay(5); /*P1=0xbf;*/P1=0xfd;//輸出時(shí)的個(gè)位的位碼 P0=table[shi%10];//輸出時(shí)的個(gè)位的段碼 delay(5); /*P1=0x7f;*/P1=0xfe;//輸出時(shí)的十位的位碼 P0=table[shi/10];//輸出時(shí)的十位的段碼 delay(5);}/*主函數(shù)*/voidmain(void){timer0init();//調(diào)用初始化函數(shù)對(duì)定時(shí)計(jì)數(shù)器進(jìn)行初始化while(1){display();//調(diào)用顯示函數(shù)顯示時(shí)間}四、仿真調(diào)試:在完成程序仿真調(diào)試過(guò)程中,出現(xiàn)了很多小問(wèn)題,這些問(wèn)題雖然簡(jiǎn)單,但真正解決起來(lái)還是比較棘手的。例如,數(shù)碼管顯示時(shí)、分、秒的位置錯(cuò)亂,或者是某一位數(shù)碼管不亮,這樣的問(wèn)題對(duì)于高手來(lái)說(shuō)就是小菜一碟,一看就知道是哪出了問(wèn)題,可我卻找了半天才查到,原來(lái)是顯示函數(shù)模塊中送入位碼時(shí)位碼的編碼出錯(cuò),為了解決這個(gè)下問(wèn)題,我將每一個(gè)數(shù)碼管的位碼都重新編寫(xiě)一次。這個(gè)問(wèn)題解決后,再次仿真時(shí)鐘并沒(méi)有按要求顯示出來(lái),而是出現(xiàn)下圖一樣的錯(cuò)誤顯示,通過(guò)仔細(xì)觀察發(fā)現(xiàn),只是小時(shí)與分、分與秒之間的那兩位數(shù)碼管顯示錯(cuò)誤,于是直接檢查那兩個(gè)標(biāo)志位數(shù)碼管的段碼,發(fā)現(xiàn)原來(lái)是輸送段碼時(shí)只是將g段送了個(gè)0,以致顯示時(shí)標(biāo)志位總是跟隨前一位數(shù)碼管顯示。五、總結(jié):我們從不懂到懂的慢慢轉(zhuǎn)變的一個(gè)過(guò)程,記得在剛開(kāi)始做這個(gè)實(shí)驗(yàn)報(bào)告的時(shí)候,我們遇到了很多的問(wèn)題,首先的時(shí)候我們感覺(jué)連程序都讀不懂,更不用去說(shuō)寫(xiě)這些程序并分析它的邏輯了。但是困難總是伴隨著我們的努力慢慢的解決。我們開(kāi)始學(xué)會(huì)參照老師的原始的99秒計(jì)數(shù)的程序,根據(jù)其逆向的思維進(jìn)行我們分秒時(shí)的程序編寫(xiě)。當(dāng)我們慢慢的了解每個(gè)語(yǔ)句的意思所在時(shí),我們?cè)俑鶕?jù)其邏輯思想,慢慢的我們了解到了這個(gè)程序我們應(yīng)該怎么去寫(xiě)!怎么去分析它了。通過(guò)這次也讓我對(duì)數(shù)字鐘的設(shè)計(jì)與制作,了解了設(shè)計(jì)電路的程序,也讓我了解了關(guān)于數(shù)字鐘的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個(gè)電路總要先用仿真仿真成功之后才實(shí)際

溫馨提示

  • 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)論