摘要:單片機課程設計為我們具體接觸和了解實際單片機電路的設計方法提供了一個綜合性工程訓練的機會,在內容上、方法上、手段上進行創造性的改革已取得初步成果,激發了我們的學習熱情、創作思路,讓我們開闊了眼界,初步掌握了單片機電路的設計方法,提高了單片機電路的設計和軟件的應用能力,為今后的畢業設計和從事單片機技術方面的開發工作打下了基礎。我們通過實踐教學環節的訓練與鍛煉,才能在實踐中不斷鞏固和加深理論知識,提高獨立工作能力和創新能力。
關鍵詞:單片機 計數器 I/O接口
1 概述
本次課程設計通過獨立完成單片機外部接線設計和編寫程序的任務,加深了自己對理論知識的理解,提高了動手能力,獨立分析問題、解決問題能力,協調能力和創造性思維能力。提高了單片機應用方面的實踐技能,樹立了嚴謹的科學作風。通過電路和程序的設計、安裝、調試、整理資料等環節,初步掌握工程設計方法和組織實踐的基本技能,逐步熟悉開展科學實踐的程序和方法。通過課程設計要實現以下兩個目標:第一,讓學生初步掌握單片機的試驗、設計方法。即學生根據設計要求和性能參數,查閱文獻資料,收集、分析類似電路的性能,并通過組裝調試等實踐活動,使電路達到性能指標;第二,課程設計為后續的畢業設計打好基礎。通過實驗訓練,掌握單片機應用的基本操作方法,為今后從事相關工作打下扎實的基礎,在此過程中培養從事設計工作的整體觀念。
2 單片機介紹
單片機是一種集成電路芯片。它采用超大規模技術將具有數據處理能力的微處理器(CPU)、存儲器(含程序存儲器ROM和數據存儲器RAM)、輸入、輸出接口電路(I/O接口)集成在同一塊芯片上,構成一個即小巧又很完善的計算機硬件系統,在單片機程序的控制下能準確、迅速、高效地完成程序設計者事先規定的任務。所以說,一片單片機芯片就具有了組成計算機的全部功能。
由此來看,單片機有著一般微處理器(CPU)芯片所不具備的功能,它可單獨地完成現代工業控制所要求的智能化控制功能,這是單片機最大的特征。
3 軟件介紹
3.1 Proteus軟件介紹 Proteus ISIS是英國Labcenter公司開發的電路分析與實物仿真軟件。它運行于Windows操作系統上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:①實現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統的仿真、RS232動態仿真、I2C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發生器等。②支持主流單片機系統的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調試功能。在硬件仿真系統中具有全速、單步、設置斷點等調試功能,同時可以觀察各個變量、寄存器等的當前狀態,因此在該軟件仿真系統中,也必須具有這些功能;同時支持第三方的軟件編譯和調試環境,如Keil C51 uVision2等軟件。④具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。本章介紹Proteus ISIS軟件的工作環境和一些基本操作。
3.2 KeilC軟件介紹 Keil C51 μVision2集成開發環境是Keil Software,Inc/Keil Elektronik GmbH開發的基于80C51內核的微處理器軟件開發平臺,內嵌多種符合當前工業標準的開發工具,可以完成從工程建立到管理、編譯、鏈接、目標代碼的生成、軟件仿真、硬件仿真等完整的開發流程尤其是C編譯工具在產生代碼的準確性和效率方面達到了較高的水平,而且可以附加靈活的控制選項,在開發大型項目時非常理想。
4 設計方案
4.1 設計目的 設計包括確定控制任務、系統總體方案設計、硬件系統設計、控制軟件的設計等,以便使學生掌握單片機系統設計的總體思路和方法。
4.2 設計內容 利用單片機制作一個手動計數器,在單片機的P3.7管腳接一個輕觸開關,作為手動計數的按鈕,用單片機的P2.0-P2.7接一個共陰數碼管,作為00-99計數的個位顯示,用單片機的P0.0-0.7接一個共陰數碼管,作為00-99計數的十位顯示。
4.3 設計工作任務及工作量的要求 ①根據題目要求的指標,通過查閱有關資料,確定系統設計方案,并設計其硬件電路圖。②畫出電路方框圖,敘述主要模塊的功能及他們之間的控制關系和數據傳輸。③用protel等軟件繪制電路原理圖。希望通過Proteus等仿真軟件仿真通過。④軟件設計包括流程圖、并用匯編語言對軟件進行編譯,并能通過調試。
4.4 系統板上硬件連線 ①把“單片機系統”區域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個a-h端口上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。②把“單片機系統”區域中的P2.0/A8-P2.7/A15端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個數碼管的a-h端口上;③把“單片機系統”區域中的P3.7/RD端口用導線連接到“獨立式鍵盤”區域中的SP1端口上。
4.5 程序設計內容 ①單片機對按鍵的識別過程處理;②單片機對正確識別的按鍵進行計數,計數滿時,又從零開始計數;③單片機對計的數值要進行數碼顯示,計得的數是十進數,含有十位和個位,我們要把十位和個位拆開分別送出這樣的十位和個位數值到對應的數碼管上顯示。如何拆開十位和個位我們可以把所計得的數值對10求余,即可得到個位數字,對10整除,即可得到十位數字了。④通過查表方式,分別顯示出個位和十位數字。⑤程序框圖。
4.6 電路圖
4.7 仿真結果
參考文獻:
[1]孫涵芳,MCS-51/96系列單片機原理及應用(修訂版)北京航空航天大學出版社,1994.