基于51單片機的計數(shù)器設計_第1頁
基于51單片機的計數(shù)器設計_第2頁
基于51單片機的計數(shù)器設計_第3頁
基于51單片機的計數(shù)器設計_第4頁
基于51單片機的計數(shù)器設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設計目 錄1 課程設計的目的.12 設計思路.13 設計過程.23.1 方案論證 .23.2 電路的設計 .54 應用程序.65 系統(tǒng)調試與焊接.85.1 電路的安裝與焊接.85.2 系統(tǒng)試調 .96 結論.107 心得體會.10參考文獻.13附錄 1:總體電路原理圖.14附錄 2:實物圖.15附錄 3:元器件清單.1611 課程設計的目的1利用單片機定時器/計數(shù)器中斷設計計數(shù)器,0 到 99 的累加。2綜合運用所學的單片機原理與應用理論知識,通過實踐加強對所學知識的理解,具備設計單片機應用系統(tǒng)的能力。 3通過本次課程設計加深對單片機掌握定時器、外部中斷的設置和編程原理的全面認識復習

2、和掌握,對單片機實際的應用作進一步的了解。4通過本次試驗,增強自己的動手能力。認識單片機在日常生活中的應用的廣泛性,實用性。 明確學習目的,端正學習態(tài)度,提高對課程設計重要性的認識,以積極認真的態(tài)度參加課程設計工作,按要求完成規(guī)定的設計任務。2 設計思路本實驗利用單片機的定時器/計數(shù)器定時和計數(shù)的原理,通過采用仿真軟件來模擬實現(xiàn)。模擬利用 AT89C2052 單片機、LED 數(shù)碼管以及各種控制器件來控制表的計數(shù)以及計數(shù)的開啟/計數(shù)與復位等。利用單片機 AT89S51 單片機來制作一個手動計數(shù)器,在 AT89S51 單片機的 P3.7管腳接一個輕觸開關,作為手動計數(shù)的按鈕,用單片機的 P2.0-

3、P2.7 接一個共陰數(shù)碼管,作為 00-99 計數(shù)的個位數(shù)顯示,用單片機的 P0.0-P0.7接一個共陰數(shù)碼管,作為 00-99 計數(shù)的十位數(shù)顯示,用單片機 P1.0-P1.6接一個并排的 7 個 LED 燈,作為 00-99 計數(shù)的二進制顯示。設計總圖如圖 2-1 所示2圖 2-1 設計總圖3 設計過程 3.1 方案論證AT89C51 是一種帶 4K 字節(jié) FLASH 存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃存可編程可擦

4、除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器制造技術制造,與工業(yè)標準的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高并且價廉的方案。數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數(shù)碼管的 8 個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極 COM 增加位選

5、通控制電路,位選通3由各自獨立的 I/O 線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個數(shù)碼管會顯示出字形,取決于單片機對位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的 COM 端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省

6、大量的 I/O 端口,而且功耗更低。用單片機技術來實現(xiàn)雙顯計數(shù)器的控制。多功能定時計數(shù)器控制系統(tǒng)的原理。它主要由單片機、發(fā)光二極管、晶振和雙位數(shù)碼管等部分組成。A單片機采用 STC89C51 型。B數(shù)據(jù)顯示電路:七段四位共陰極數(shù)碼管,P1 口接 7 個 LED 二極管,用二進制顯示數(shù)據(jù);P0 和 P2 口分別接兩個數(shù)碼管,用十進制顯示數(shù)據(jù)。C數(shù)據(jù)輸入電路:有觸發(fā)按鍵完成輸入,一次按鍵 LED 顯示和數(shù)碼管顯示分別加 1,LED 滿二進位,數(shù)碼顯示滿十進位。D電源指示電路:電路接通電源后電源指示燈亮起,表示電源接通。 設計總體框架圖如圖 3-1 所示4圖 3-1 總體框架圖最小控制系統(tǒng)的設計,S

7、TC89C51 單片機最小系統(tǒng)包括晶體振蕩電路、復位開關和電源部分。STC89C51 單片機的最小系統(tǒng)圖如圖 3-2 所示圖 3-2 單片機最小控制系統(tǒng)當 RST 引腳有一個高電平并維持兩個機器周期,則CPU 就可以響應并將系統(tǒng)復位。需要 100 歐,10k 電阻各一個,22pf 電容一個,按鍵一個。時鐘電路需要在 XTAL1,2,兩個端口跨接石英晶體及兩個電容, STC89C51 數(shù)碼管顯示LED顯示 觸發(fā)電路5電容一般取 10uF 左右。 3.2 電路的設計 1指示電路如圖 3-3 所示圖 3-3 指示電路2數(shù)碼管為共陰極,八段選端接 P1 口,四個位選端接 P3 口,如上圖所示。數(shù)碼管顯

8、示電路如圖 3-4 所示。6圖 3-4 數(shù)碼管電路3復位電路如圖 3-5 所示。圖 3-5 復位電路4 應用程序#include #include#includevoid delay5ms(void)unsigned char i,j;for(i=10;i0;i-)for(j=248;j0;j-);void delay2ms(void)unsigned char i,j,k;for(i=20;i0;i-)7for(j=20;j0;j-)for(k=248;k0;k-);unsigned char code LEDcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,

9、0 x7d,0 x07,0 x7f,0 x6f;unsigned char code LEDcoda=0 x00,0 x01,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08,0 x09,0 x0a,0 x0b,0 x0c,0 x0d,0 x0e,0 x0f,0 x10,0 x11,0 x12,0 x13,0 x14,0 x15,0 x16,0 x17,0 x18,0 x19,0 x1a,0 x1b,0 x1c,0 x1d,0 x1e,0 x1f,0 x20,0 x21,0 x22,0 x23,0 x24,0 x25,0 x26,0 x27,0 x28,0 x

10、29,0 x2a,0 x2b,0 x2c,0 x2d,0 x2e,0 x2f,0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39,0 x3a,0 x3b,0 x3c,0 x3d,0 x3e,0 x3f,0 x40,0 x41,0 x42,0 x43,0 x44,0 x45,0 x46,0 x47,0 x48,0 x49,0 x4a,0 x4b,0 x4c,0 x4d,0 x4e,0 x4f,0 x50,0 x51,0 x52,0 x53,0 x54,0 x55,0 x56,0 x57,0 x58,0 x59,0 x5a,0 x

11、5b,0 x5c,0 x5d,0 x5e,0 x5f,0 x60,0 x61,0 x62,0 x63;unsigned char count;sbit sp1=P37;void main(void)count=0;P0=LEDcodecount/10;P2=LEDcodecount%10;P1=LEDcodacount;while(1)if(sp1=0)delay5ms();if(sp1=0)8count+;if(count=100)count=0;P0=LEDcodecount/10;P2=LEDcodecount%10;P1=LEDcodacount;while(sp1=0);dodela

12、y5ms();while(sp1=0);dodelay5ms();while(sp1=0); 5 系統(tǒng)調試與焊接5.1 電路的安裝與焊接電路安裝要注意幾個原則: 1.先裝矮后裝高、先裝小后裝大、先裝耐焊等; 2.一定要注意排版,不能東倒西歪,方向應盡量一致; 3. 布線盡量使電源線和地線靠近實驗電路板的周邊,以起一定的屏蔽作用; 4. 最好分模塊安裝。此外焊接時不能出現(xiàn)虛焊、假焊、漏焊,更不能出現(xiàn)過焊, 因為有些器件,不能耐高溫,比如焊接三極管時,電烙鐵絕對不能停留太久;同時過 焊銅片將脫落,給焊接帶來不必要的麻煩、也9將影響板子的視覺效果。 5.在焊完之后,不要忙于去調試,而應該用萬用表來查

13、其電路是否接觸良好、是 否與電路圖的布置一致、是否有器件在焊接的過程中燒壞了等。5.2 系統(tǒng)試調系統(tǒng)通電后,進入計數(shù)設置功能,等待信號的數(shù)據(jù)輸入,當完成設置數(shù)值后,開始計數(shù),此時如果對所記錄的數(shù)據(jù)清零則返回到設置數(shù)值界面,可以重新設置數(shù)值。當所記錄的數(shù)值等于預設定的數(shù)時,蜂鳴器發(fā)聲報警。 在軟件編寫與調試時,我發(fā)現(xiàn)有很多我原來所沒有注意到的問題,硬件完成焊接后,先用萬用表簡單的進行是否短路檢測,沒有問題后進行通電測試,發(fā)現(xiàn)上電指示燈亮,然后程序到單片機內檢測是否能下載程序;剛開始的時候,我的不能下程序,我首先按照原理圖檢查了一遍最小系統(tǒng),發(fā)現(xiàn)復位電路存在問題,經修改后還是不能下程序,怎么試不行

14、,我又檢查了電路和最小系統(tǒng)發(fā)現(xiàn)都沒有問題,最后聽同學說可能是杜邦線的問題,經過檢查后發(fā)現(xiàn)我的四根杜邦線有兩根都是壞的。這是我所沒有想到的,換了好的后,就可以程序了。當編寫完程序進行調試時,又發(fā)現(xiàn)存在很多的問題,首先是數(shù)碼管的段碼的問題,這個需要自己根據(jù)自己的電路來計算而不是統(tǒng)一的一樣,這個問題直到我知道后才解決掉。然后是矩陣鍵盤掃描的程序的調試,這個也要自己根據(jù)自己的電路接口來計算所要輸送的十六進制數(shù)碼,而且還要通過軟件去抖動,還要判斷按鍵是否松開等問題,這個花費的時間較長些,最后通過把按鍵掃描和數(shù)碼管動態(tài)顯示組合到一起,發(fā)現(xiàn)還是有問題,這個當然是軟件上的問題。實現(xiàn)這個功能之后,我要實現(xiàn)自己的

15、計數(shù)功能和顯示功能,在這個過程中,設置的數(shù)的顯示和所要計的10數(shù)的顯示又存在問題,原因是他們會同時顯示,出現(xiàn)重疊亂碼現(xiàn)象,為此我請教了很多同學,最后,通過分別定義不同變量,用數(shù)組解決了這個問題。最后經過討論與研究終于找到了解決問題的辦法。我們花費很多時間,雖然出現(xiàn)了許多問題但在老師和同學的幫助下都慢慢克服。6 結論 調試方法:首先用軟件將 C 編譯成 HEX 文件,打開軟件,新建一個文文件,輸入 C 程序,保存成 C 格式文件,然后新建工程,連接單片機為 AT89C51,選擇 Options for target,選擇 OUTPUT 子菜單,在Create HEX 前打鉤,子菜單中,Setti

16、ngs 選擇 Proteus VSM Simulator,USE 前打鉤,再次運行文件,成功后在目錄下會生成 HEX文件,打開 Proteus 軟件,或直接點擊 DSN 檔,雙擊單片機模板,點擊文件夾式樣的圖標選擇對應的 HEX 驅動文件,然后點擊開始,進行調試經調試運行基本成功,不過也有小小的不足之處。經過查找錯誤,已經調試成功。完成以 STC89C52 為核心的計數(shù)器的設計和制作,并能實現(xiàn)計數(shù)顯示和設置功能。7 心得體會經過兩一的努力,我終于完成關于多功能定時計數(shù)器的控制的單片機課程設計,通過兩周不斷的查資料讓我積累了許多實際操作經驗,已初步掌握了單片機的應用技術,以及電路的知識和有關器件

17、的應用,我深刻體會到了單片機技術對當今現(xiàn)代社會的重要作用。 經過這次設計,我學會了許多東西,學會了嚴密的思考,構想及怎樣把計劃付諸于實際行動之中。同時與社會的不斷高速發(fā)展的步伐相比,我認識到自己所學的知識和技能還遠遠不足,有些實際性的問題還不能夠解決,缺少很多11有實際運用價值的知識儲備,缺乏應有的動手解決實際問題的能力,缺乏高效利用及篩選大量資料的能力,缺乏資源共享及應有的團隊合作精神,有待進一步提高,我應當學好自己的專業(yè)知識以適應不斷發(fā)展的社會。在這次課程設計中,我學會了如何有效的利用網絡資源及圖書館的藏書,找到了幾個很不錯的專業(yè)網站,通過這次課程設計,加強了我動手、思考和解決問題的能力.

18、但是控制器控制信號燈不好。雖然花了很多的時間,但學到了很多東西。做課程設計的時候,自己把整個書本都看了幾遍,增強了自己對知識的理解,很多以前不是很懂的問題現(xiàn)在都已經一一解決了。在課程設計的過程中,我想了很多種方案,對同一個問題都想了很多種不同的接法,運用不同的芯片進行了比較,最后還是采取了上面的方法進行連接。為以后的查閱專業(yè)方面的信息和相互之間的交流打下了堅實的基礎,學會了如何看電路圖,識別電路圖,提高了自己的專業(yè)技能,同時也培養(yǎng)了自己獨立解決實際問題的能力,也培養(yǎng)了自己認真和嚴謹?shù)目茖W態(tài)度,收到了很大的啟發(fā),為以后的工作積累了些寶貴的經驗。本課設過程中一開始就出現(xiàn)數(shù)碼管的焊接錯誤, 其實在焊

19、接前就問同學數(shù)碼管的管腳 是從哪開始數(shù)。但在線路的布置時,卻不知而然的順時針數(shù),后來發(fā)現(xiàn)要重新把數(shù)碼管的焊點吸出,重新焊接,所以覺得麻煩,而且浪費時間和影響美觀等,接著想到把數(shù)碼管引腳倒過來插。所以今后做如此的焊接實驗時必須更仔細點。在數(shù)碼管這一塊,以為直接 焊上去就可以達到燈亮和基數(shù)的效果,結果沒達到理想效果,通過網上查閱才明白怎么樣焊接。在最后過程中,老師提出應該用不同的數(shù)碼管,接不通的電路;同時老師在檢查時提到原理問題時,其實在做 12之前是看過、查閱過的,只不過因為當時頭腦一熱,只有幾個詞語,所以一言不語,當時也不明白數(shù)碼管的具體結構組成以及其目的等 (認為這是在實驗報告中要完成的任務) ,所以在今后還是要做好充分的準備工作,做到細心、謹慎、負責。通過實驗意識到要從現(xiàn)在開始養(yǎng)成那種細心的好習慣。還有由于知識的局限性,對一些深層次的問題還是有所欠缺。這對以后的課程設計、畢業(yè)設計甚至是今后工作 上都非常有幫助。再者通過這次實習鍛煉了自己的動手及查資料的能力,也體會到了 成功帶來了的喜悅和自己的不足之處,可以說是受益匪

溫馨提示

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

評論

0/150

提交評論