時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì)_第1頁
時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì)_第2頁
時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì)_第3頁
時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì)_第4頁
時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、時(shí)、分、秒計(jì)時(shí)器設(shè)計(jì)班級(jí)電子0934姓名(學(xué)號(hào))高文德(27)吳景森(32)彭亮(31)三人共同完成項(xiàng)目分工方案總體設(shè)計(jì)、程序集成、報(bào)告撰寫延時(shí)、顯示模塊函數(shù)設(shè)計(jì)中斷、主函數(shù)模塊函數(shù)設(shè)計(jì)仿真電路設(shè)計(jì)及調(diào)試一、任務(wù)及要求用51單片機(jī)設(shè)計(jì)時(shí)、分、秒計(jì)時(shí)器,具體要求如下。1、 具有時(shí)、分、秒計(jì)時(shí)功能和8位數(shù)碼管顯示功能,顯示格式為:“時(shí)分秒”;2、 用proteus設(shè)計(jì)仿真電路進(jìn)行結(jié)果仿真;3、 4人組成設(shè)計(jì)小組完成,小組成員有明確分工,1人負(fù)責(zé)總體方案設(shè)計(jì)及報(bào)告撰寫,2人負(fù)責(zé)功能模塊函數(shù)設(shè)計(jì),1人負(fù)責(zé)仿真電路設(shè)計(jì)及調(diào)試。4、 完成程序設(shè)計(jì)、仿真電路設(shè)計(jì)、結(jié)果仿真,完成報(bào)告并上傳空間課程欄目中的課程

2、設(shè)計(jì)報(bào)告子欄目中。二、設(shè)計(jì)方案(高文德負(fù)責(zé)完成) 課程設(shè)計(jì)目的1綜合利用所學(xué)單片機(jī)知識(shí)完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),從而加深對(duì)單片機(jī)軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn)。2學(xué)習(xí)at89c51定時(shí)/計(jì)數(shù)器的原理及基本應(yīng)用。3掌握多位數(shù)碼管動(dòng)態(tài)顯示及keil uvision2 ide的使用方法。 課程設(shè)計(jì)原理單片機(jī)控制的數(shù)字鐘的硬件結(jié)構(gòu)與軟件設(shè)計(jì),給出了匯編語言源程序。此數(shù)字鐘是一個(gè)將“時(shí)”、“分”、“秒”顯示于人的視覺器官的計(jì)時(shí)裝置。顯示器件選用led七段數(shù)碼管。在譯碼顯示電路輸出的驅(qū)動(dòng)下,顯示出清晰、直觀的數(shù)字符號(hào)。定時(shí)器/計(jì)數(shù)器t0用于時(shí)間計(jì)時(shí)。選擇方式1,重復(fù)定時(shí),定時(shí)時(shí)間設(shè)為50ms,定時(shí)時(shí)

3、間到則中斷,在中斷服務(wù)程序中用一個(gè)計(jì)數(shù)器對(duì)50ms計(jì)數(shù),計(jì)20次則對(duì)秒單元加1,秒單元加到60則對(duì)分單元加1,同時(shí)秒單元清0;分單元加到60則對(duì)時(shí)單元加1,同時(shí)分單元清0;時(shí)單元加到24則對(duì)時(shí)單元清0,標(biāo)志一天時(shí)間計(jì)滿。在對(duì)各單元計(jì)數(shù)的同時(shí),把它們的值放到存儲(chǔ)單元的指定位置。 設(shè)計(jì)制作流程1,在proteus中設(shè)計(jì)硬件2,在keil51中編寫程序,編譯、連接形成hex文件。3,在proteus中把hex文件加載到單片機(jī)芯片上。4,運(yùn)行仿真看結(jié)果。 程序模塊構(gòu)成程序模塊主要由以下幾大模塊組成:1 定時(shí)計(jì)數(shù)器t0及其中斷初始化函數(shù)模塊2 定時(shí)計(jì)數(shù)器中斷程序模塊3 顯示函數(shù)模塊 仿真電路構(gòu)成仿真電路

4、主要由以下元器件構(gòu)成:單片機(jī):80c51電阻:resled數(shù)碼管:7seg-mpx8-ca-blue電源:power非門:not2、中斷模塊程序流程圖(吳景森負(fù)責(zé)完成) 重裝初值 判斷temp是否為20 temp加“1” 否 temp恢復(fù)為0 判斷秒是否為59秒加“1” 否秒恢復(fù)為0 判斷分是否為59 分加“1” 否分恢復(fù)為0 判斷時(shí)是否為23時(shí)加“1” 否 時(shí)恢復(fù)為03、 顯示模塊程序流程圖(彭亮負(fù)責(zé)完成) 第一位顯示個(gè)位 第二位顯示十位 第三位顯示橫杠第四位顯示分的個(gè)位第五位顯示分的十位第六位顯示橫杠第七位顯示時(shí)的個(gè)位第八位顯示時(shí)的十位四,仿真電路設(shè)計(jì)(三人共同完成) 調(diào)試結(jié)果下圖是通過用

5、proteus設(shè)計(jì)仿真后得到的結(jié)果:以下是進(jìn)行上述仿真的程序代碼: /*倒計(jì)時(shí)及顯示程序*/#include#define uchar unsigned char#define uint unsigned intuchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/共陽七段編碼uchar temp=0;/定義定時(shí)器溢出計(jì)數(shù)變量,每隔50ms產(chǎn)生1次溢出,temp加1uchar h=0,m=0,miao=0;/定義倒計(jì)時(shí)變量,當(dāng)temp計(jì)數(shù)加20(20x5

6、0ms=1s)時(shí),miao減1,當(dāng)秒減到0時(shí),分減1,當(dāng)分減到0時(shí),時(shí)減一/*-定時(shí)計(jì)數(shù)器t0及其中斷初始化函數(shù)-*/void timer0init(void) tmod=0x01;/設(shè)置定時(shí)器0為工作方式1 th0=(65536-50000)/256;/16位計(jì)數(shù)初值除以256得到高8位初值 tl0=(65536-50000)%256;/16位計(jì)數(shù)初值除以256的余數(shù)得到低8位初值 ea=1;/開總中斷 et0=1;/開定時(shí)器0中斷tr0=1;/啟動(dòng)定時(shí)器0/*-延時(shí)函數(shù)-*/void delay(uint n) uint i,j; for(i=n;i0;i-) for(j=124;j0;j

7、-);/*定時(shí)計(jì)數(shù)器中斷程序,每當(dāng)定時(shí)計(jì)數(shù)器溢出時(shí)觸發(fā)中斷,執(zhí)行該程序*/void time0() interrupt 1 th0=(65536-50000)/256;/重裝初值tl0=(65536-50000)%256; if(temp=20) temp=0; if(miao=59) miao=0;if(m=59)m=0;if(h=23)h=0;else h+;else m+; else miao+; else temp+;/*-顯示函數(shù)-*/void display(void) p1=0xfe;/輸出秒個(gè)位的位碼 p0=tablemiao%10; /輸出秒個(gè)位的段碼 delay(1); /

8、亮1ms p1=0xfd;/輸出秒十位的位碼 p0=tablemiao/10; /輸出秒十位的段碼 delay(1); /亮1msp1=0xfb;/輸出-的位碼 p0=0xbf; /輸出-的段碼 delay(1); /亮1msp1=0xf7;/輸出分個(gè)位的位碼 p0=tablem%10; /輸出分個(gè)位的段碼 delay(1); /亮1msp1=0xef;/輸出分十位的位碼 p0=tablem%10; /輸出分十位的段碼 delay(1); /亮1msp1=0xdf;/輸出-的位碼 p0=0xbf; /輸出-的段碼 delay(1); /亮1msp1=0xbf;/輸出時(shí)個(gè)位的位碼 p0=tabl

9、eh%10; /輸出時(shí)個(gè)位的段碼 delay(1); /亮1msp1=0x7f;/輸出時(shí)十位的位碼 p0=tableh%10; /輸出時(shí)十位的段碼 delay(1); /亮1ms/*-主函數(shù)-*/void main(void) timer0init();/調(diào)用初始化函數(shù)對(duì)定時(shí)計(jì)數(shù)器進(jìn)行初始化 while(1) display();/調(diào)用顯示函數(shù)顯示時(shí)間 五、設(shè)計(jì)總結(jié)此次的單片機(jī)時(shí)鐘計(jì)時(shí)設(shè)計(jì)我感覺是很成功的,雖然在設(shè)計(jì)的過程中遇到了很多困難,但經(jīng)過我們團(tuán)隊(duì)的合作,最終還是克服了困難,完成了這次設(shè)計(jì)任務(wù)。從中我們也學(xué)到了很多東西,并且進(jìn)一步對(duì)單片機(jī)程序設(shè)計(jì)的總體規(guī)劃有了更加深入的了解。下面我就來和大家分享一下這次設(shè)計(jì)中所遇到的困難和獲得的收獲吧:剛開始我們團(tuán)隊(duì)沒有明確的分工,我們本來想三個(gè)人先各搞各的,然后把三個(gè)人做的拿到一起比對(duì),把三個(gè)人寫的好的部分綜合到一起,整理成一篇設(shè)計(jì)稿,結(jié)果大家忙了很久沒有一個(gè)人寫出了一篇完整的設(shè)計(jì)稿。后來我們還是決定分工合作,因?yàn)楦呶牡碌某绦驅(qū)W得好,所以他設(shè)計(jì)程序,而吳景森的邏輯思維比較強(qiáng),所以他就設(shè)計(jì)程序模塊流程圖,而我(彭亮)的文筆不錯(cuò),我就負(fù)責(zé)文字描述和總結(jié)。把任務(wù)分下來后我們各司其職,最終完成了這個(gè)艱巨的設(shè)計(jì)任務(wù)。雖然這次設(shè)計(jì)任務(wù)困難重重,但在完成之后我們發(fā)現(xiàn)我們的

溫馨提示

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