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

下載本文檔

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

文檔簡介

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

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

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

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

5、proteus設(shè)計仿真后得到的結(jié)果:以下是進行上述仿真的程序代碼: /*倒計時及顯示程序*/#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ù)變量,每隔50ms產(chǎn)生1次溢出,temp加1uchar h=0,m=0,miao=0;/定義倒計時變量,當temp計數(shù)加20(20x5

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

7、-);/*定時計數(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;/輸出秒個位的位碼 p0=tablemiao%10; /輸出秒個位的段碼 delay(1); /

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

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

溫馨提示

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

評論

0/150

提交評論