單片機多功能秒表課程設計報告_第1頁
單片機多功能秒表課程設計報告_第2頁
單片機多功能秒表課程設計報告_第3頁
單片機多功能秒表課程設計報告_第4頁
單片機多功能秒表課程設計報告_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 單片機課程設計課課程程設設計計任任務務書書2020 1717 2020 1818 學年學年 第第 一一 學期學期第第 1717 周周 1818 周周 注:1、此表一組一表二份,課程設計小組組長一份;任課教師授課時自帶一份備查。2、課程設計結束后與“課程設計小結” 、 “學生成績單”一并交院教務存檔。題目題目基于 51 單片機控制的多功能秒表系統內容及要求內容及要求1.設計制作一個秒表系統,可用多位數碼管顯示時間。2.可用開關控制并用多位數碼管顯示當前時間。3.可以進行計時并能清零重新計時。進度安排進度安排 1.布置任務、方案論證 1 天 2.硬件制作、程序編寫、仿真調試 3 天 3.檢查、整

2、理、寫設計報告、小結 2 天 4.答辯 1 天 學生姓名: 許樂 郭利鉑指導時間: 12 月 23 日 12 月 29 日指導地點: F 樓 403 室任務下達2017 年 12 月 23 日任務完成2017 年 12 月 29 日考核方式1.評閱 2.答辯 3.實際操作 4.其它指導教師蔣沅系(部)主任王長坤精選文檔2摘摘要要本設計是設計一個單片機控制的多功能秒表系統。近年來隨著科技的飛速發展,單片機的應用正在不斷地走向深入,同時帶動著傳統控制檢測日新月異的更新。在實時檢測和自動控制的單片機應用系統中,單片機往往是作為一個核心部件來使用,僅單片機方面的知識是不夠的,還要根據具體的硬件結構,以

3、及針對具體的應用對象的軟件結合,加以完善。秒表的出現,解決了傳統的由于人為因素造成的誤差和不公平性。本設計的多功能秒表系統采用AT89C51 單片機為中心器件,利用其定時器 /計數器定時和記數的原理,結合顯示電路、電源電路、 LED 數碼管以及按鍵電路來設計計時器。將軟、硬件有機地結合起來,使得系統能夠正確地進行計數,并且結合相應的顯示驅動程序,使數碼管能夠正確地顯示時間,暫停和中斷。我們設計的秒表可以同時記錄八個相對獨立的時間,通過上翻下翻來查看這八個不同的計時值,可謂功能強大。其中軟件系統采用匯編語言編寫程序,包括顯示程序,計數程序,中斷,延時程序,按鍵消抖程序等,硬件系統利用 PROTE

4、US 強大的功能來實現,簡單且易于觀察,在仿真中就可以觀察到實際的工作狀態。 關鍵字:單片機,多功能秒表小組成員:許樂,郭利鉑小組分工: 小組成員:討論并確定秒表要實現哪些功能 許樂:硬件電路的設計仿真,查閱資料 郭利鉑:編寫程序,撰寫實驗報告 精選文檔3目錄 1.概述.41.1 設計目的.41.2 設計要求.41.3 設計意義.42系統總體方案及硬件設計.42.1 系統總體方案.42.2 硬件設計.52.2.189C51 單片機.52.2.2 晶體振蕩電路.62.2.3 復位電路.72.2.5 顯示電路.82.2.6 系統電路圖.93.軟件設計.93.1 設計特點.93.2 設計思路.103

5、.2.1 程序流程圖.103.2.2 程序.104.PROTEUS 軟件仿真.134.1 仿真.134.2 仿真結果描述.144.3 結論及進一步設想.155.元器件清單 166.課程設計體會.167.參考文獻 .18 1.概概述述 1.1設設計計目目的的 設計一個單片機控制的秒表系統。利用單片機的定時器 /計數器定時和記數的原理,結合顯示電路、 LED 數碼管以及按鍵來設計秒表。將軟、硬件有機地結合起來,精選文檔4使得系統能夠正確地進行計時,同時具有開始 /暫停,記錄,上翻下翻,清零等功能。1.2設設計計要要求求(1)共四位LED 顯示,顯示時間為00:0059.99(2)共五個按鍵,分別是

6、開始 /暫停,記錄,上翻,下翻,清零鍵 ;(3)能同時記錄多個相對獨立的時間并分別顯示 ;(4)翻頁按鈕查看多個不同的計時值 ;1.3設設計計意意義義(1)通過本次課程設計可以使我們進一步熟悉和掌握單片機內部結構和工作原理,了解單片機應用系統設計的基本步驟和方法。(2)通過利用AT89C51 單片機,理解單片機在自動化儀表中的作用以及掌握單片機的編程方法。(3)通過設計一個簡單的實際應用輸入及顯示模擬系統,掌握單片機仿真軟件PROTEUS 的使用方法。 (4)該實驗通過單片機的定時器 /計數器定時和計數原理 ,設計簡單的計時器系統 ,擁有正確的計時、暫停、清零、功能 ,并能同時記錄多個相對獨立

7、的時間利用翻頁按鈕查看多個不同的計時值 ,該種秒表在現實生活中應用廣泛 ,具有現實意義。 2系系統統總總體體方方案案及及硬硬件件設設計計2.1系系統統總總體體方方案案本系統采用AT89C51 單片機為中心器件,利用其定時器 /計數器定時和記數的原理,結合硬件電路如電源電路,晶振電路,復位電路,顯示電路,以及一些按鍵電路等來設計計時器,將軟、硬件有機地結合起來。其中軟件系統采用匯編語言編寫程序,包括顯示,計數,中斷,延時,按鍵消抖程序等,并在編程軟件中調試運行,硬件系統利用PROTEUS 強大的功能來實現,簡單且易于觀察,在仿真中就可以觀察到實際的工作狀態。 精選文檔5 單單 片片 機機 外外圍

8、圍 電電路路 電電路路 電電源源 電電路路 電電路路 顯顯示示電電路路 鍵鍵盤盤電電路路 圖1 系統電路原理2.2硬硬件件設設計計2.2.189C51 單單片片機機MCS-51 系列單片機是8 位單片機產品,89C51 是其中的典型代表,基本模塊包括以下幾個部分:(1)CPU:89C51 的CPU 是8 位的,另外89C51 內部有1 個位處理器(2)R0M:4KB 的片內程序存儲器,存放開發調試完成的應用程序(3)RAM:256B 的片內數據存儲器,容量小,但作用大(4)I/O 口:P0-P3,共4 個口32 條雙向且可位尋址的I/O 口線(5)中斷系統:共5 個中斷源,3 個內部中斷,2

9、個外部中斷(6)定時器/計數器:2 個16 位的可編程定時器/計數器(7)通用串行口:全雙工通用異步接收器 /發送器(8)振蕩器:89C51 的外接晶振與內部時鐘振蕩器為CPU 提供時鐘信號(9)總線控制:89C51 對外提供若干控制總線,便于系統擴展 89C51 的引腳圖如下:精選文檔689C51 單片機引腳圖2.2.2 晶晶體體振振蕩蕩電電路路 89C51 芯片內部有一個高增益反相放大器,用于構成振蕩器。引線 XTAL1 和XTAL2 分別為反向放大器的輸入和輸出, 兩端跨接石英晶體及兩個電容就可構成穩定的自激振蕩器。這里,我們選用51 單片機12MHZ 的內部振蕩方式,電容器C1,C2

10、起穩定振蕩頻率,并對振蕩頻率有微調作用, C1 和C2 可在20-100PF 之間取值,這里取33PF。精選文檔72.2.3 復復位位電電路路采用上電加按鍵復位電路,上電后,由于電容充電,使 RST 持續一段高電平時間。當單片機已在運行之中時,按下復位鍵也能使 RST 持續一段時間的高電平,從而實現上電加按鍵復位的操作。 2.2.4 按鍵電路在按鍵電路中,我們可以在 I/O 口上直接接按鍵,或者通過 I/O 口設計一個鍵盤,然后通過鍵盤掃描程序判斷是否有鍵按下等。鍵盤掃描電路節省 I/O 口,但編程有些復雜,在這里,由于我們所用的按鍵較少,且系統是一個小系統,有足夠的 I/O 口可以使用,為了

11、使程序簡化,我們采用按鍵電路,用部分 P1 口做開關,P1.0 開始/暫停,P1.1 記錄,P1.2 上翻,P1.3 下翻,P1.4 清零。對于按鍵的設計,采用了防抖動的程序設計,使系統的性能得到進一步的提升。當按鍵精選文檔8被按下時,相應的引腳被拉低,經掃描后,獲得鍵值,并執行鍵功能程序,因此按下不同的按鍵,將執行不同的功能程序。2.2.5 顯顯示示電電路路顯示電路既可以選用液晶顯示器,也可以選用數碼管顯示。我們采用的是數碼管顯示電路。用四個共陰極 LED 顯示,LED 是七段式顯示器,內部有 7 個條形發光二極管和 1 個小圓點發光二極管組成,根據各管的亮暗組合成字符。在用數碼管顯示時,我

12、們有靜態和動態兩種選擇,靜態顯示程序簡單,顯示穩定,但是占用端口比較多;動態顯示所使用的端口比較少,可以節省單片機的I/O 口。在設計中,我們采用 LED 動態顯示,用 P0 口驅動顯示。由于 P0 口的輸出級是開漏電路,用它驅動時需要外接上拉電阻才能輸出高電平。精選文檔92.2.6 系系統統電電路路圖圖3.軟軟件件設設計計3.1設設計計特特點點在軟件設計中,一般采用模塊化的程序設計方法,它具有明顯的優點。把一個多功能的復雜的程序劃分為若干個簡單的、功能單一的程序模塊,有利于程序的設計和調試,優化和分工,提高了程序的閱讀性和可靠性,使程序的結構層次一目了然。應用系統的程序由包含多個模塊的主程序

13、和各種子程序組成。各程序模塊都要完成一個明確的任務,實現某個具體的功能,如:計數、延時、和顯示等,在具體需要時調用相應的模塊即可。精選文檔10開始 初始化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?停止下翻上翻夠8個?暫停記錄清零開始 初始化化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?停止下翻上翻夠8 個個?N 記錄NNNNNY 清零功能描述:用四位 LED 數碼管顯示時間。一個開始/暫停鍵,一個復位鍵,一個“記錄”鍵,可同時記錄八個相對獨立的時間;一個“上翻”鍵,一個“下翻”鍵,查看八個不同的計時值。五個按鍵分別通過五個端口控制秒表的五個

14、功能。3.2設設計計思思路路3.2.1 程程序序流流程程圖圖 精選文檔113.2.2 程程序序程序如下:程序如下:/ /* *1 1、程程序序目目的的:使使用用定定時時器器學學習習秒秒表表計計時時,記記錄錄8 8 組組數數據據,通通過過上上翻翻、下下翻翻鍵鍵查查看看記記錄錄的的數數據據2 2、硬硬件件要要求求:數數碼碼管管、晶晶振振1 12 2M M* */ /#include code unsigned char tab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /共陰數碼管 0-9 code unsigned

15、char tab1=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef ;/共陰數碼管0-9 帶小數點sbit key1 = P10; /開始、暫停sbit key2 = P11; /記數sbit key3 = P12; /上翻sbit key4 = P13; /下翻sbit key5 = P14; /清零static unsigned char ms,sec;static unsigned char Sec8,Ms8;static int i ,j;void delay(unsigned int cnt) /延時程序 whi

16、le(-cnt);void main()unsigned char key3_flag=0,key4_flag=0; TMOD |=0 x01;/定時器0 10ms in 12M crystal 用于計時TH0=0 xd8;TL0=0 xf0;ET0=1;TR0=1; TMOD |=0 x10; /定時器1 用于動態掃描TH1=0 xF8;TL1=0 xf0;ET1=1;TR1=1; EA =1;sec=0; /初始化ms=0; P1=0 xff;i=0;精選文檔12j=0; while(1) if(i=8) i=0; start: /開始、暫停 if(!key1) /判斷是否按下 delay

17、(50); /去抖 if(!key1) while(!key1) /等待按鍵釋放 ; TR0=!TR0; /記錄 if(!key2) /判斷是否按下 delay(50); /去抖 if(!key2) while(!key2) /等待按鍵釋放 ;if(i=8) /8 組數據記錄完畢 TR0=0; goto start; Seci= sec; /將數據存入數組Msi= ms;i+; /上翻 if(!key3) delay(50); if(!key3) while(!key3) ;TR0=0;key3_flag=1;/按鍵3 標志if(j=i) goto start;elseif(key4_flag

18、) j+=2;key4_flag=0;精選文檔13sec=Secj;ms=Msj;j+; /下翻 if(!key4) delay(50);if(!key4)while(!key4);TR0=0;key4_flag=1; /按鍵4 標志if(j0) goto start;else if(key3_flag) j-=2;key3_flag=0;sec=Secj;ms=Msj; /顯示數組里的內容j-; /清零 if(!key5) delay(50);if(!key5)while(!key5);TR0=0;ms=0;sec=0;for(i=0;i=100) ms=0;/等于100 時歸零 sec+;

19、/秒加1 if(sec=60) sec=0;/秒等于60 時歸零 4.PROTEUS 軟軟件件仿仿真真4.1仿仿真真將以上程序清單導入先前做好的 Proteus 仿真電路,匯編之后,開始進行仿精選文檔15真。仿真結果如下:顯示清零功能:按下開始鍵后顯示按下清零鍵后顯示4.2仿仿真真結結果果描描述述:按“開始”鍵,秒表開始計時;按“暫停”鍵,秒表暫停計時;按記錄鍵,精選文檔16秒表記錄時間,共可記錄八個數值;按上翻下翻鍵,可查看這八個不同的計時值。4.3結結論論及及進進一一步步設設想想 :根據實驗要求,本次課設基本完成了設計要求,由于秒表系統并不一定僅僅局限于計時,定時等功能,還可以進行多項的擴

20、展,可以利用 AT89C51 強大的擴展功能,進一步豐富秒表的功能,例如可設定計時時間,倒計時等等眾多功能。單片機以其強大的功能和良好的兼容性可以更好地為我們服務,通過查閱各種資料,多了解一些單片機有關知識,可以為以后的工作和學習生活創造更多的便利條件。5.5.元器件清單元器件清單元件名稱型號數量/個單片機AT89C521晶振12MHZ1電容22pF2電解電容10uF1電源5V1數碼管HS-3461AS1電阻1K/10K5/8按鍵開關66.課課程程設設計計體體會會通過本次課程設計,我們深刻地認識到自己有很多不足之處,比如在自主學習能力方面的不足,實際動手操作能力的不足等。 這次的單片機課程設計

21、是理精選文檔17論與實踐相結合的范例。該設計從頭到尾都要自己參與進來,熟悉了整個設計流程才能更快地設計出方案并完成設計。本次課程設計我主要負責硬件電路的焊接,寫程序和查閱相關資料。單片機課程早已結束,相關的知識已經很模糊,導致我們在設計硬件電路中遇到了不少麻煩。首先是不知從何入手。雖然小組討論后確定了秒表要實現的功能,可是沒有相關理論知識的熟知和實踐操作。查閱了與 89C51 單片機相關的資料也閱讀了其他人單片機數字秒表的設計,慢慢地我們開始了解其中原理,一步步設計出了硬件電路的各個部分,如晶體振蕩電路,復位電路,按鍵電路,顯示電路。完成設計后需要運用 PROTEUS 軟件進行設計仿真。這次的課程設計同學進行了交流和討論,我們分工進行設計,從搜索資料到硬件、軟件的調試,每一步、每一個細節都經過我們自己的思考,我們共同

溫馨提示

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

評論

0/150

提交評論