數字鐘課程設計武漢理工基礎強化樣本_第1頁
數字鐘課程設計武漢理工基礎強化樣本_第2頁
數字鐘課程設計武漢理工基礎強化樣本_第3頁
數字鐘課程設計武漢理工基礎強化樣本_第4頁
數字鐘課程設計武漢理工基礎強化樣本_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要基于89C51單片機設計數字鐘,它是一種應用數字電路方式實現時、分、秒計時裝置。以89C51單片機作為核心控制器,通過硬件連接完畢一種數字鐘系統,再依照系統編制相應軟件讓整個系統工作。本系記錄算某些所有在單片機里通過程序來完畢。顯示某些通過數碼管采用動態方式把計算出時、分、秒顯示出來。控制信號讀入采用查詢方式,由于程序編寫比較容易。控制信號輸入和成果顯示以及核心運算某些構成了整個系統,最后在PROTUES里畫圖并且仿真。核心詞:單片機,數字鐘,PROTUES,數碼管AbstractBasing89C51microcontrollerdesigndigitalclock,itisatimingdevicetoachievetheapplicationofdigitalcircuits,theminuteandsecond.The89C51microcontrollerasthecorecontroller,thehardwareconnectioncompleteadigitalclocksystem,accordingtothepreparationofthecorrespondingsoftwaresystemforthewholesystemwork.Allpartsofthissystemarecalculatedbythemicrocontrollerintheprocesstocomplete.Thedigitaldisplaydisplayedthecalculatedthehours,minutes,secondsinadynamicway.Controlsignalreadusingthequery,becausethewritingprocesseasier.Controlsignalinputandresultsofoperationsandthecorepartsofthewholesystem,wherethefinaldrawingandsimulationinPROTUES.Keywords:Microcontroller,digitalclock,PROTUES,digital目錄1設計任務及分析 11.1設計規定 11.2設計分析 12方案比較及選取 22.1LED顯示方案選取 22.2按鍵狀態讀取方案選取 23系統實現原理 34系統硬件設計 44.1總體電路設計 44.2模塊電路設計 54.2.1時間校正某些電路設計 54.2.2顯示模塊電路設計 65系統軟件設計 75.1系統總體流程圖 75.2系統顯示模塊程序設計 85.3鍵盤掃描模塊程序設計 96系統仿真成果 106.1系統仿真成果截圖 106.2系統仿真成果分析 11心得體會 12參照文獻: 13附錄本設計所用C程序清單 14數字鐘設計1設計任務及分析1.1設計規定設計七段碼顯示方式數字鐘。該鐘具備時、分、秒顯示,時鐘有十二進制與二十四進制兩種選取。設計有時、分、秒校正功能。1.2設計分析依照規定設計數字鐘,具備時、分、秒顯示和調節功能。主控制器采用89C51單片機,基于單片機硬件電路連接比較容易,并且編程比較以便和簡樸。對于整個系統實現比較容易。對于時、分、秒調節由外電路來控制,通過對控制信號查詢讀取送入單片機,在單片機內計算后通過數碼管顯示。對于時間解決是:秒變化是通過內部中斷方式,給單片機內部定期器設立1秒計時時間,每當發生溢出中斷就響應給秒數組值加1并顯示;當秒值到達60時就把分數組值加1,同步讓秒數組清零;時操作依此類推。2方案比較及選取2.1LED顯示方案選取方案1:把所要顯示數據通過專用七段顯示芯片轉換輸出給LED顯示屏。其長處是輸出簡樸,可以簡化程序,但增長了芯片費用。方案2:通過軟件把所要數據轉化為七段顯示數據,直接通過單片機接口來顯示,其長處是簡化了電路,但增長了軟件編寫承擔。通過對方案比較,選取通過軟件編寫來輸出顯示信號,比較簡樸經濟。2.2按鍵狀態讀取方案選取方案1:把按鍵接到單片機中斷口,若有按鍵按下,單片機接受到中斷信號,再通過軟件編寫中斷服務程序來執行中斷,長處是接線簡樸,簡化了電路,但軟件編寫較為復雜,不易掌握。方案2:不使用中斷,直接把開關分別接在單片機接口上,通過查詢端口信號來動作。其長處是程序得到簡化,可讀性加強。通過對方案比較,選取方案2通過查詢方式來讀取端口信號,相對來說編程和硬件電路都比較簡樸。3.系統實現原理設計方案總體構造圖如圖3-1所示:數碼管顯示時間開關控制單元模塊89c51單片機整體控制數碼管顯示時間開關控制單元模塊89c51單片機整體控制圖3-1設計方案構造圖原理闡述:由圖3-1所示,通過開關控制單元輸入設定期間,在單片機內解決后通過數碼管顯示,開關控制單元重要有時、分、秒時間設立選取檔,分別接P1.0和P1.1口。尚有一種時鐘十二制和二十四制選取檔,接P1.2口。P1.3口作為時間加減設立。數碼管顯示碼輸入接P0口,位選接P2口。秒值每通過一秒鐘自加1,時間間隔由內部時間計時器發生溢出中斷調用中斷服務子程序完畢。4.系統硬件設計4.1總體電路設計依照系統規定,設計出數字鐘應當有控制端和顯示端,這兩某些連接是通過89C51單片機來完畢,控制端重要由四個按鍵構成,它們都接單片機P1口,數碼管采用6位7段數碼管,它位選端是通過P2口控制,顯示碼是由P0口輸入。依照設計規定用PROTEUS畫出硬件連線圖如下圖4-1所示:圖4-1系統總體硬件電路圖4.2模塊電路設計4.2.1時間校正某些電路設計時間設立某些電路圖如下圖4-2所示圖4-2時間校正某些電路圖如圖4-2所示,P1.0口接時調節選通開關,P1.1口接分調節選通開關,P1.2口接十二進制和二十四進制選取開關,兼有秒調節選通功能,當P1.2口輸入低電平時為十二進制方式,P1.3口為時間加減控制輸入口,每按下一次可對時分秒分別進行加減操作。詳細實現由內部程序計算完畢。4.2.2顯示模塊電路設計系統顯示某些電路接線圖如圖4-3所示:圖4-3系統顯示某些電路圖如圖4-3所示,顯示屏采用是6位7段數碼管,數碼管顯示碼輸入端經上拉電阻接P0口,位選端是經收發器74LS245接到P2口。數碼管顯示編碼已經編好放在計算機內存中,時間顯示通過軟件計算把顯示碼調出顯示。5.系統軟件設計5.1系統總體流程圖軟件設計思想:內部設定期器,當達到1秒時發生中斷給秒計數加1,當達到60時給秒計數清零并給分計數加1。當分計數達到60時清零并給時計數加1,時計數分為十二進制和二十四進制,當在相應進制下達到相應終值時清零。系統總體流程圖如圖5-1所示:開始開始給單片機復位給單片機復位開定期中斷開定期中斷秒計時并顯示秒計時并顯示控制信號?YNN控制信號?YNNNNNN秒調節?分調節?時調節?秒調節?分調節?時調節?YYYYN加減信號?N加減信號?YY時時或分或秒加減1數碼管顯示數碼管顯示圖5-1系統軟件總體流程圖5.2系統顯示模塊程序設計設計闡明:顯示模塊是用6位7段數碼管來顯示時間。先將顯示碼存入數組中,指向最左邊一位,然后取出要顯示數據,指向換碼表首地址,取出顯示碼,從P0口輸出顯示碼,P2口輸入位選碼,顯示時、分、秒,最后修改數組地址,求下一位位選碼繼續顯示。顯示程序流程圖如圖5-2所示:顯示數據顯示碼求下一位選碼送位段碼到P0口輸出顯示數據顯示碼顯示數據顯示碼求下一位選碼送位段碼到P0口輸出顯示數據顯示碼動態顯示子程序動態顯示子程序取出要顯示取出要顯示時間據送位顯碼到P送位顯碼到P2輸出延時延時圖5-2顯示模塊程序流程圖5.3鍵盤掃描模塊程序設計設計闡明:控制信號由查詢方式掃描鍵盤得到。即P1.0置低時進入時調節模式,此時在按下第四個鍵即P1.3由高變低時,時就自加1;分校正類似,由P1.1來控制選取模式。時鐘十二進制和二十四進制由P1.2控制,低電平為十二進制高電平為二十四進制。鍵盤掃描模塊程序流程圖如圖5-3所示:開始開始秒鍵按下?秒鍵按下?YY秒加1NNN秒加1NNN分鍵按下?分鍵按下?YYYY分加1分加1時鍵按下?時鍵按下?時加1時加1顯示時間顯示時間結束結束圖5-3鍵盤掃描模塊流程圖6系統仿真成果6.1系統仿真成果截圖開關按鈕打到十二進制選取狀態即P1.2置低電平。此時時間是09:00:39仿真截圖如圖6-1所示:圖6-1十二進制仿真成果截圖開關按鈕打到二十四進制選取狀態即P1.2置高電平。此時時間是21:00:39仿真截圖如圖6-2所示:圖6-2二十四進制仿真成果截圖6.2系統仿真成果分析數字鐘系統上電復位后,初始值設定為12:00:00,對當前時間進行校準,當在二十四進制下進行校準后,得到當前時間為21:00:39如圖6-2所示時,立即將其轉換為十二進制模式下,即給P1.2口置低電平,此時就會顯示09:00:39如圖6-1所示。可見在保證時間對的狀況下,可以將二十四進制時間直接轉換到十二進制下,這里重要是通過軟件來完畢,當系統檢測到進制轉換信號后,就會把二十四進制時間通過把時當前值減去12得到。對于0點轉換是通過賦值方式直接變為十二進制下12點。當需要把十二進制轉換為二十四進制時,也可以通過軟件方式直接轉換不變化時間對的性且需要對時間進行重新校準。其轉換原理相似。心得體會真很辛苦,但是終于我設計完畢了。這一刻不但是高興,更多是激動。此刻我也真正學到了諸多東西。已經不懂得去過圖書館多少次查閱資料,一次一次仿真實驗,一次一次方案設計,一次一次編制程序。在經歷過無多次失敗,我終于成功了。得到了抱負仿真成果。看著自己課程設計,真無比高興,心中布滿成就感。通過本次課程設計,我得到了以往不曾有過體會與經驗。將自己學到理論知識通過本次課程設計應用到了實際應用當中,提高了自己各方面能力。同步也加深了自己對于有關課程基本理論知識理解和掌握,學會了綜合運用所學知識。學會了應用所學知識在實際硬件電路上編程完畢所需功能。對單片機應用有了進一步掌握。懂得了如何去發現問題,思考問題,解決問題。通過這次基本強化課程設計,我學會了靈活運用單片機,更學會了如何靈活使用單片機中斷功能,使對于計時應用更為精準。最后,我最大收獲就是:失敗是成功之母,只要努力就會有收獲。參照文獻:[1]張義和、王敏男等編著.《例說51單片機》.北京:人民郵電出版社.[2]陳濤編著.《單片機應用及C51程序設計》.北京:機械工業出版社,[3]齊向東、劉立群編著.《單片機控制技術實踐》.北京:中華人民共和國電力出版社,[4]孫曉明.EDA實驗指引書.武漢:武漢理工大學教材中心,.[5]張靖武,周靈彬編著.《單片機系統PROTEUS設計與仿真》.北京:電子工業出版社,.附錄本設計所用C程序清單#include<stdio.h>#include<reg51.h>#include<intrins.h>#defineuncharunsignedcharsbitKH=P1^0;sbitKM=P1^1;sbitKT=P1^2;sbitKB=P1^3;uncharhour,minite,second,second20;unchardisplay_buff[6];unchardisplay_code[10]={0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//數碼管顯示碼voiddelay(unchart)//延時子程序{unchari,j;for(i=0;i<=t;i++)for(j=0;j<=140;j++)_nop_();}voiddisplay(void) //顯示子程序{unchari;P2=0xfe;P0=0;for(i=0;i<6;i++){P0=display_buff[i];delay(2);P0=0;P2=_crol_(P2,1);}}voidtimer3_ISR(void)interrupt3using0{TH1=0X3C;TL1=0X0B0; //秒計時second20++;if(second20==16){second20=0;second++;if(second==60){second=0;minite++; //分鐘解決if(minite==60){minite=0; hour++; if(hour==24&&KT==1) { hour=0; } if(hour==12&&KT==0) //小時解決 { hour=1; }}}}}voidtimer0_ISR(void)interrupt1using0{TH0=0x03c;TL0=0x0b;if(KT==0&&hour>12)hour=hour-12;if(KT==0&&(hour==24||hour==0)) //十二進制和二十四進制轉換hour=12;if(KH==0){if(KB==0){while(KB==0);hour++; if(KT==1&&hour==24) //十二進制和二十四進制轉換 { hour=0; KB=1; } if(KT==0&&hour>12) //十二進制和二十四進制轉換 { hour=hour-12; KB=1; }}}if(KM==0) //鍵盤控制信號解決{if(KB==0){wh

溫馨提示

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

評論

0/150

提交評論