畢業(yè)設(shè)計論文--proteus在單片機教學(xué)中的應(yīng)用_第1頁
已閱讀1頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p> 題目:單片機仿真實驗開發(fā)</p><p> 專題:Proteus在單片機教學(xué)中的應(yīng)用 </p><p><b>  單片機仿真實驗開發(fā)</b></p><p><b>  摘要</b></p>

2、<p>  《單片機原理與應(yīng)用》課程對許多專業(yè)來說是一門重要的專業(yè)課。目前,國內(nèi)各高校以MCS-51 單片機(簡稱51 系列)為主要內(nèi)容進行教學(xué)。近年來,隨著計算機技術(shù)的飛速發(fā)展,大量高性能、采用新技術(shù)的嵌入式系統(tǒng)CPU 的面世,給傳統(tǒng)的單片機教學(xué)帶來沖擊,對微機教學(xué)方法的改進提出了新的課題。本文通過對單片機教學(xué)改革的思考,分析單片機實驗教學(xué)中存在的弊端,提出了一種新的實驗教學(xué)方法,在實踐環(huán)節(jié)中引入EDA 技術(shù),以新款的EDA

3、 軟件Proteus 為平臺,設(shè)計一套符合時代需要的實驗系統(tǒng)。</p><p>  全文針對整個實驗系統(tǒng),首先介紹了作為實驗系統(tǒng)軟件平臺的 Proteus,敘述其功能,分析選擇其作為軟件平臺的可行性和優(yōu)越性。</p><p>  接著,詳細地介紹實驗各個系統(tǒng)模塊的實驗,并將其分解為一個個獨立的實驗展現(xiàn)出來,實驗難度有淺入深,有常規(guī)經(jīng)典的實驗項目,也有新的、貼近實際應(yīng)用的實驗項目;實驗過程清

4、晰,Proteus 對單片機及單片機外圍電路進行仿真,程序的變化在仿真元件的性質(zhì)變化上得到體現(xiàn);實驗原理得到詮釋,原理圖設(shè)計公開化,實驗原理容易理解,Proteus 與Keil 的聯(lián)調(diào)將硬件仿真的過程完美展現(xiàn)。該部分一方面是對單片機教學(xué)實驗系統(tǒng)的設(shè)計,另一方面是通過各種實驗來驗證新型EDA 軟件Proteus 的設(shè)計和仿真性能。</p><p>  本設(shè)計利用Proteus軟件仿真,解決傳統(tǒng)實驗教學(xué)模式的缺陷。本

5、系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比較高等,具有一定的實用和參考價值。</p><p>  關(guān)鍵詞:Proteus,單片機,仿真</p><p>  Single-chip microcomputer simulation experiment development </p><p>  Abstract </p>

6、<p>  Microcomputer’s Principal and Application is an important course for many majors.Now, many colleges in our country adopt MCS-51 series MCU as the teaching content.However, with the development of computer tec

7、hnology, many high capability and OSembedded CPUs have appeared which brings an impact and a challenge for the teachingcourse of Microcomputer’s Principal and Application. This thesis finished the designing ofan experime

8、ntal system for the course of micro control unit which is multifunctiona</p><p>  In this paper, the current teaching of the defects were analyzed, a new experimentalteaching methods are introduced, which is

9、, application of EDA technologies in experiment.EDA software Proteus precisely meets various requirements for teaching.This paper describes the advantages of this method, and I design a set of Single-chip</p><

10、p>  Software Proteus as a platform is introduced, including the superiority of it,</p><p>  and feasibility of its role as a teaching platform</p><p>  Simulation system, which replaced the t

11、raditional SCM experimental function.This design using the Proteus software simulation, solve the defects of traditional experimental teaching mode. This system stable operation, its advantage is hardware circuit is simp

12、le, software function consummation, the control system is reliable, cost-effective higher, has certain practical and reference value. </p><p>  Key words: Proteus, SCM, simulat 目錄</p><p><b&g

13、t;  1緒 論3</b></p><p>  1.1 單片機背景及教學(xué)意義3</p><p>  1.2 PROTEUS 在單片機教學(xué)中的應(yīng)用4</p><p>  1.3 用Proteus在單片機課程設(shè)計中的應(yīng)用4</p><p>  2Proteus的簡介4</p><p>  2.1

14、 Proteus ISIS簡介4</p><p>  2.1.1.實現(xiàn)了單片機仿真和SPICE電路仿真結(jié)合5</p><p>  2.1.2.支持主流單片機系統(tǒng)的仿真5</p><p>  2.1.3.提供軟件調(diào)試功能5</p><p>  2.1.4.具有強大的原理圖繪制功能5</p><p>  2.2

15、工具欄介紹7</p><p>  2.2.1proteus ISIS 菜單欄7</p><p>  2.2.2 US ISIS 主工具欄7</p><p>  2.2.3原理圖編輯窗口7</p><p>  2.2.4 預(yù)覽窗口8</p><p>  2.2.5模型選擇工具欄8</p><

16、;p>  2.2.6 方向工具欄9</p><p>  2.2.7 仿真工具欄9</p><p>  3. Proteus與KeilC的聯(lián)合仿真10</p><p>  4 基本實驗項目的開發(fā)11</p><p>  4.1開關(guān)的實訓(xùn)演練11</p><p>  4.1.1指撥開關(guān)11</p&g

17、t;<p>  4.1.2按鈕開關(guān)13</p><p>  4.2計數(shù)器的實訓(xùn)演練15</p><p>  4.3 中斷的實訓(xùn)演練18</p><p>  4.3.1 單片機外中斷實驗的設(shè)計與仿真18</p><p>  4.3.2 單片機中斷優(yōu)先級實驗的設(shè)計與仿真21</p><p>  4.

18、4 D/A、A/D轉(zhuǎn)換的應(yīng)用25</p><p>  4.4.1 單片機與DAC0832接口的設(shè)計與仿真25</p><p>  圖4-11 DAC0832接口電路26</p><p>  4.4.2單片機與ADC0808接口的設(shè)計與仿真28</p><p>  4.5定時器的設(shè)計與仿真32</p><p>

19、  4.6串行口實驗和仿真37</p><p>  4.7行列式鍵盤的設(shè)計與仿真39</p><p>  5 綜合試驗項目的開發(fā)42</p><p>  5.1 基于AT89C51的的60秒倒計時裝置的設(shè)計與仿真42</p><p>  5.2基于單片機密碼鎖的設(shè)計和仿真45</p><p>  5.3交通燈

20、的設(shè)計與仿真57</p><p><b>  結(jié) 論66</b></p><p><b>  致 謝67</b></p><p><b>  參考文獻68</b></p><p><b>  附錄A69</b></p>

21、<p><b>  附錄B73</b></p><p><b>  附錄C77</b></p><p><b>  1緒 論</b></p><p>  1.1 單片機背景及教學(xué)意義</p><p>  1970 年微處理器研制成功之后,隨著就出現(xiàn)了單片機(即單

22、片的微型計算機)。1971 年美國的INTEL 公司生產(chǎn)的4 位單片機4004 和1972 年生產(chǎn)的雛形8 位單片機8008,特別是1976 年9 月INTEL 公司的MCS-48 單片機問世以來,在短短的十幾年間,經(jīng)歷了多次更新?lián)Q代,其發(fā)展速度大約每兩、三年要更新一代,集成度增加一倍,功能翻一番。單片機發(fā)展速度之快、應(yīng)用范圍之廣已達到了驚人的地步,它已滲透到生產(chǎn)和生活的各個領(lǐng)域,應(yīng)用非常廣泛。盡管目前單片機的品種很多,但其中最具典型性

23、的當屬INTEL公司的MCS-51系列單片機系列。MCS-51是在MCS-48的基礎(chǔ)上于80年代初發(fā)展起來的,雖然它仍然是8位單片機,但其功能有很大的增強。此外它還具有品種全、兼容性強、軟硬件資料豐富等特點。因此51系列單片機應(yīng)用非常廣泛,成為繼MCS-48之后最重要的單片機品種。直到現(xiàn)在,MCS-51仍不失為單片機中的主流機型,MCS-51系列單片機主要包括8031、8051和8751等產(chǎn)品,具有結(jié)構(gòu)緊湊、邏輯位操作功能豐富和直接面向

24、控制的指令系統(tǒng)等優(yōu)勢,堪稱一代“名機”。隨著半導(dǎo)體技術(shù)的發(fā)展,</p><p>  目前單片機技術(shù)在各個領(lǐng)域正得到越來越廣泛的應(yīng)用,大多數(shù)院校都有單片機實驗室,單片機種類繁多,用單片機開發(fā)的產(chǎn)品差異很大技術(shù)發(fā)展快,用單片機實驗箱進行教學(xué)硬件電路上受到很大程度上的限制。Proteus的出現(xiàn)恰好解決了這個矛盾,可以將它與Keil C51結(jié)合隨時搭建一個單片機應(yīng)用系統(tǒng),并實現(xiàn)仿真,不僅能為學(xué)生提供豐富的實驗內(nèi)容,而且能

25、充分利用學(xué)校機房現(xiàn)有的計算機設(shè)備,減少硬件設(shè)備維護的工作量。通過單片機技術(shù)、課堂實驗箱實驗、Proteus仿真實驗這三方面共同作用可以幫助學(xué)生更好的理解單片機技術(shù)的知識點,提高單片機產(chǎn)品的開發(fā)能力扎扎實實學(xué)好單片機技術(shù)這門課程。</p><p>  1.2 PROTEUS 在單片機教學(xué)中的應(yīng)用</p><p>  單片機課程的實踐性很強,實驗環(huán)節(jié)的教學(xué)應(yīng)引起高度重視。而單片機課程的課內(nèi)實驗

26、學(xué)時有限,使用實驗箱僅停留在演示性及驗證性實驗的層次。為了解決這個問題,可以應(yīng)用Proteus所提供的元器件模型和外設(shè)模型按照實驗內(nèi)容來設(shè)計原理圖,再利用儀器儀表的輸入輸出效果對實驗結(jié)果進行檢測。這樣,學(xué)生一方面了解了單片機應(yīng)用系統(tǒng)硬件電路結(jié)構(gòu),鍛煉了編程技術(shù),也學(xué)習(xí)了儀器儀表的使用,提高了設(shè)計水平。</p><p>  1.3 用Proteus在單片機課程設(shè)計中的應(yīng)用</p><p>

27、  在課程設(shè)計中,要求學(xué)生先應(yīng)用Proteus設(shè)計仿真,在設(shè)計硬件電路時最好能考慮實驗箱的資源狀況,以使仿真的結(jié)果可在實驗箱上實現(xiàn)。等編程調(diào)試通過后可以移植到實驗箱上實現(xiàn),驗證實物效果。在進行畢業(yè)設(shè)計時,也可以讓學(xué)生根據(jù)愛好和掌握知識的程度自由選擇設(shè)計題目,培養(yǎng)學(xué)生的自主創(chuàng)新意識。教師與學(xué)生共同探討方案的可行性之后,由學(xué)生在Proteus中設(shè)計硬件電路,編制程序并調(diào)試。等仿真成功之后,再購買元器件進行電路焊接、系統(tǒng)調(diào)試和程序固化,最終每

28、組獨立完成一件作品。這種方法可以節(jié)省因方案不正確所造成硬件投入的浪費,并且在實驗過程中不會出現(xiàn)元器件的損耗問題。而使學(xué)生實驗?zāi)芰烷_發(fā)能力都得到較大提高。</p><p>  Proteus的簡介</p><p>  2.1 Proteus ISIS簡介</p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件,可以仿真

29、、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:</p><p>  2.1.1.實現(xiàn)了單片機仿真和SPICE電路仿真結(jié)合</p><p>  具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS-232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p><p&g

30、t;  2.1.2.支持主流單片機系統(tǒng)的仿真</p><p>  目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。</p><p>  2.1.3.提供軟件調(diào)試功能</p><p>  在硬件仿真系統(tǒng)中也具有全速、單步、設(shè)置斷點等調(diào)試功能。同是,還可以觀察各個

31、變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中也具有這些功能。同時,還支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51μvision2等軟件。</p><p>  2.1.4.具有強大的原理圖繪制功能</p><p>  用Proteus軟件虛擬單片機實驗的優(yōu)點</p><p><b>  (1) 內(nèi)容全面</b></p>&

32、lt;p>  實驗的內(nèi)容包括軟件部分的匯編、C51等語言的調(diào)試過程,也包括硬件接口電路的大部分類型。對同一類功能的接口電路,可以采用不同的硬件來搭建完成,可以擴展學(xué)生的思路和提高學(xué)生的學(xué)習(xí)興趣。</p><p>  (2) 硬件投入少,經(jīng)濟優(yōu)勢明顯</p><p>  Proteus所提供的軟件庫中,大部分可以直接用于接口電路的搭建,同時該軟件所提供的儀表,不管在數(shù)量還是在質(zhì)量上都是

33、可靠和經(jīng)濟的。如果在實驗教學(xué)中投入這樣的真實儀器儀表,僅儀表的維護來講,其工作量也是比較大的。因此采用軟件的方式進行教學(xué),其經(jīng)濟優(yōu)勢是比較明顯的。</p><p>  (3) 學(xué)生可自行實驗,鍛煉解決實際工程問題的能力</p><p>  采用仿真軟件后,對于實際工程問題的研究,可以先在軟件環(huán)境中模擬通過,在進行硬件投入。這樣處理,不僅省時省力,還可以節(jié)省因方案不正確所造成的硬件投入的浪費

34、。</p><p>  (4) 實驗過程中損耗小,基本沒有元器件的損耗問題</p><p>  在傳統(tǒng)的實驗教學(xué)過程中,都涉及到因操作不當而造成的元器件和儀器儀表的損毀,也涉及到儀器儀表等工作時所造成的能源消耗。采用Proteus仿真軟件,則不存在上述的問題</p><p>  (5) 與工程實踐最為接近,可以了解實際問題的解決過程</p><p

35、>  在Proteus中做一個工程項目,并將其最后移植到一個具體的硬件電路中,讓學(xué)生了解將仿真軟件和具體的工程實踐如何結(jié)合起來,利于學(xué)生對工程實踐過程的了解和學(xué)習(xí)。</p><p>  (6) 大量的范例,可供學(xué)生參考處理</p><p>  在系統(tǒng)設(shè)計時,存在對以有資源的借鑒和引用處理,而該仿真系統(tǒng)所提供的比較完善的系統(tǒng)設(shè)計方法和設(shè)計范例,可供學(xué)生參考和借鑒。</p>

36、<p>  安裝完P(guān)ROTEUS后,運行ISIS Profeeional,會出現(xiàn)如圖2-1所示。下面分別對窗口內(nèi)個部分進行簡單介紹。</p><p>  圖 2-1Proteus操作窗口</p><p><b>  2.2工具欄介紹</b></p><p>  2.2.1proteus ISIS 菜單欄</p><

37、;p>  菜單欄包括文件(F)、查看(V)、編輯(E)、工具(T)、設(shè)計(D)、繪圖(G)、源代碼(S)、調(diào)試(B)、庫 (L)、模板(M)、系統(tǒng)(Y)、 幫助(H),如圖2.2所示。</p><p><b>  圖-2 菜單欄</b></p><p>  2.2.2 US ISIS 主工具欄 </p><p>  主工具欄包括File欄

38、、View工具欄、Edit 工具欄和Design工具欄等。</p><p>  每個工具欄的打開與關(guān)閉,以通過View(查看)|工具…命令進行設(shè)置。</p><p>  2.2.3原理圖編輯窗口</p><p>  原理圖編輯窗口用于顯示當前編輯的原理圖的一部分。通過使用查看重畫命令可以使原理圖編輯窗口的內(nèi)容重繪,這也會重繪預(yù)覽窗口。在任何其他的命令使得顯示有些凌亂

39、的時候也可使用這個功能。藍色方框內(nèi)為可編輯區(qū),元件放置在編輯窗口里面。ISIS中坐標系統(tǒng)的基本單位是10nm ,主要是為了和ARES 保持一致,但坐標系統(tǒng)的識別單位被限制在1th 。坐標原點默認在圖形編輯區(qū)的中間,圖形的坐標值顯示在屏幕右下角的狀態(tài)欄中,如 </p><p>  2.2.4 預(yù)覽窗口</p><p>  預(yù)覽窗口課對選中的對象進行預(yù)覽,包括對元件列表中選中元件的預(yù)覽和

40、對原理圖編輯窗口內(nèi)的對象進行預(yù)覽。通過單擊鼠標可以改變綠色方框的位置,從而改變原理圖的可視范圍。</p><p>  2.2.5模型選擇工具欄</p><p> ?。?)主要模板 : </p><p><b>  ①用于選中元器件。</b></p><p><b> ?、谶x擇元器件。</b><

41、/p><p><b>  ③放置連接點。</b></p><p><b> ?、芊胖脴撕?。</b></p><p><b> ?、莘胖媚_本。</b></p><p><b> ?、抻糜诶L制總線。</b></p><p><b>

42、; ?、呃L制子電路塊。</b></p><p><b> ?。?)配件 : </b></p><p> ?、俳K端,對象選擇列出各種終端。</p><p> ?、谄骷_,對象選擇列出各種引腳。</p><p> ?、蹐D表,對象選擇列出各種仿真分析所需的圖表。</p><p> ?、茕?/p>

43、音機,對設(shè)計電路分割仿真時采用此模式。</p><p> ?、菪盘柊l(fā)生器,對象選擇列出各種激勵源。</p><p>  ⑥電壓探針,可顯示個探針處得電壓值。</p><p> ?、唠娏魈结?,可顯示個探針處得電流值。</p><p> ?、嗵摂M儀表,對象選擇列出各種虛擬儀器。</p><p><b>  (3)

44、2D 圖形:</b></p><p><b>  ①畫各種直線。</b></p><p><b> ?、诋嫺鞣N方框。</b></p><p><b> ?、郛嫺鞣N圓。</b></p><p><b>  ④畫各種圓弧。</b></p>

45、;<p><b> ?、莓嫺鞣N多邊形。</b></p><p><b> ?、蕻嫺鞣N文本。</b></p><p><b> ?、弋嫹?。</b></p><p><b>  ⑧畫原點。</b></p><p>  2.2.6 方向工具欄&l

46、t;/p><p>  順時針/逆時針旋轉(zhuǎn):旋轉(zhuǎn)角度只能是90的整數(shù)倍??梢杂脭?shù)字鍵盤的“+”或“—”鍵完成元器件的順時針或逆時針90。</p><p>  鏡像:完成水平鏡像和垂直鏡像。先右鍵單擊元件選中元器件,在左鍵單擊相應(yīng)的旋轉(zhuǎn)按鈕。可以用快捷鍵Ctrl +M 完成元器件的水平鏡像。</p><p>  2.2.7 仿真工具欄</p><p>

47、;<b>  仿真控制按鈕</b></p><p><b>  運行</b></p><p><b>  單步運行</b></p><p><b>  暫停</b></p><p><b>  停止</b></p>&l

48、t;p>  對著寫工具熟練的掌握可以讓仿真進行的如魚得水。</p><p>  3. Proteus與KeilC的聯(lián)合仿真</p><p>  Keil是美國KeilSoftware公司開發(fā)的,是目前世界上最好的51單片機的匯編和C語言的開發(fā)工具。它支持匯編、C語言以及混合編程,同時具備功能強大的軟件仿真,在軟件模擬仿真方式下不需要任何單片機硬件即可完成用戶程序仿真調(diào)試;雖然Keil

49、也提供了硬件仿真功能,但我們在利用它的硬件仿真功能時,會受到一定的限制。如果我們將Proteus與Keil聯(lián)合起來使用,充分利用各自的仿真功能,單片機軟硬件調(diào)試將變得十分有效。3.1Proteus與KeilC的接口</p><p>  實現(xiàn)Proteus與KeilC的接口步驟如下:</p><p>  (1)把安裝目錄Proteus\MODELS下的VDM51.dll文件復(fù)制到Keil安裝

50、目錄的\C51\BIN目錄中。(2)修改Keil安裝目錄下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL(“Proteus VSM Monitor -51 Driver”)并保存。注意:不一定要用TDRV5,根據(jù)原來字段選用一個不重復(fù)的數(shù)值就可以了。引號內(nèi)的名字隨意。(3)打開Proteus,畫出相應(yīng)電路,在Proteus的“Debug”菜單中選中“Use Remote Debug MONITOR”。

51、(4)進入Keil的Project菜單Option for Target‘工程名’。在彈出界面選擇Debug選項卡,在Use的下拉列表框中選擇Proteus VSM Monitor -51 Driver,并且選中Use單選框,即在Use前面的小圓圈內(nèi)出現(xiàn)小黑點。再單擊Settings按鈕,在Host文本框輸入127.0.0.1,端口號為8000。(5)在Keil中進行debug,同時在Proteus中查看直觀的結(jié)果。這樣就可以像使用

52、仿真器一樣調(diào)試程序了。</p><p>  可以看出,Proteus可以很方便地與Keil C51集成開發(fā)環(huán)境連接,程序編譯好之后,立即可以進行軟、硬件結(jié)合的系統(tǒng)仿真。</p><p>  4 基本實驗項目的開發(fā)</p><p>  4.1開關(guān)的實訓(xùn)演練</p><p>  按鈕是人們?nèi)粘I罱?jīng)常接觸的電子器件,它給我們的生活帶來了很大方便,

53、它廣泛應(yīng)用在工業(yè)和生活中。有按鈕開關(guān)、指撥開關(guān)、BCD指撥開關(guān)等。應(yīng)用單片機的輸入口。</p><p><b>  試驗?zāi)康模?lt;/b></p><p> ?。?)掌握單片機I/O口得輸入及輸出電路得設(shè)計。</p><p> ?。?)掌握讀入按鍵狀態(tài),并輸出到LED發(fā)光管顯示得程序設(shè)計方法。</p><p><b&g

54、t;  4.1.1指撥開關(guān)</b></p><p><b>  實驗功能:</b></p><p>  如下圖4-1-1所示,指撥開關(guān)的狀態(tài)由P2輸入,而其狀態(tài)將反映到P1所連接的LED上。</p><p>  若P2.0所連接的開關(guān)on,則P1.0所連接的LED會亮、若P2.0所連接的開關(guān)off,則p1.0所連接的LED將不亮……

55、.以此類推。</p><p><b>  (1) 電路設(shè)計</b></p><p>  元件清單: 80C51、DIPSW_8、LED –RED 、(220歐姆)。</p><p><b>  原理圖:</b></p><p><b>  4-1指撥開關(guān)電路</b></p

56、><p><b>  參考程序</b></p><p>  根據(jù)功能需求與電路結(jié)構(gòu)可知,當指撥開關(guān)on時,要由其連接的輸入口讀取到低電平(即0);而若要連接在P1的LED亮,則由P0輸出低電平即可。因此,在程序里,只要將P2讀取到的指撥開關(guān)直接輸出到P即可。當然,可不要忘了,事先將P2設(shè)計成輸入功能。</p><p><b> ?。?)程

57、序設(shè)計:</b></p><p>  ORG 0 </p><p>  START: MOV P2,#0FFH ;設(shè)P2為輸入功能</p><p>  LOOP: MOV A,P2 ;讀入指撥狀態(tài)開關(guān)</p><p>  MOV P1

58、,A ;將開關(guān)狀態(tài)反應(yīng)到P0</p><p>  LJMP LOOP</p><p><b>  END</b></p><p>  程序調(diào)好后生成4.1.HEX文件,并加載該文件,運行Proteus ISIS。運行撥動指撥開關(guān)可以看到可以看到如圖:</p><p><b> ?。?)仿真&

59、lt;/b></p><p>  仿真圖標,啟動仿真。</p><p>  圖4-2指撥開關(guān)仿真</p><p>  撥動指撥開關(guān)K3、K6,P1口上的燈D3、D6點亮。</p><p><b>  4.1.2按鈕開關(guān)</b></p><p><b>  功能說明</b>

60、;</p><p>  如圖4-1-3所示,若按一下PB1,則P0.0所連接的LED亮;若按一下PB2,則關(guān)閉P0.0所連接的LED(不亮)。</p><p><b> ?。?)電路設(shè)計</b></p><p>  原件清單:80C51、BUTTON、LED-BIRG、RES(220歐姆)。</p><p><b&

61、gt;  圖4-3按鈕開關(guān)</b></p><p><b>  參考程序</b></p><p>  根據(jù)功能需求與電路結(jié)構(gòu)可知,當按下按鈕開關(guān)時,能從其連接的輸入口讀取到低電平(即0);而若要連接在P0.0的LED亮,則由P0.0輸出低電平即可。因此,在程序里,若P2.0讀取到0,則將P0.0設(shè)為0;若P2.1讀取到0,則將P0.0設(shè)為1。同樣地,課不要

62、忘了,事先將P2設(shè)計成輸入功能。</p><p><b>  (2)程序設(shè)計</b></p><p><b>  ORG 0</b></p><p>  START: MOV P2,#0FFH ;將P2設(shè)計為輸入功能</p><p>  LOOP: JNB P2.0

63、,ON </p><p>  JNB P2.1, OFF</p><p>  JMP LOOP</p><p>  ON: CLR P0.0 ;P0.0=0</p><p>  ON_1: JB P2.0,LOOP ;去抖動</p>&

64、lt;p>  JMP ON_1</p><p>  OFF: SETB P0.0</p><p>  OFF_1: JB P2.1,LOOP</p><p>  lJMP OFF_1</p><p><b>  END</b></p><p>  程序調(diào)好后生成4

65、.2.HEX文件,并加載該文件,運行Proteus ISIS。運行后按按鈕開關(guān)可K2以看到可以看到如圖:</p><p><b> ?。?)仿真</b></p><p>  單機圖標,啟動仿真。</p><p>  圖4-4按鈕開關(guān)仿真</p><p>  單擊K2,燈D1點亮,再單擊K1燈熄滅。</p>

66、<p>  4.2計數(shù)器的實訓(xùn)演練</p><p>  在數(shù)字電子技術(shù)中應(yīng)用的最多的時序邏輯電路。計數(shù)器不僅能用于對時鐘脈沖計數(shù),還可以用于分頻、定時、產(chǎn)生節(jié)拍脈沖和脈沖序列以及進行數(shù)字運算等。但是并無法顯示計算結(jié)果,一般都是要通過外接LCD或LED屏才能顯示。</p><p><b>  實驗?zāi)康模?lt;/b></p><p>  掌握

67、二、十進制譯碼器和顯示電路同時計數(shù)配套使用的方法</p><p><b>  掌握加減計數(shù) </b></p><p><b>  功能說明</b></p><p>  如圖4-5所示,P0的低4位連接到7447(BCD碼對7段LED數(shù)碼管的譯碼與驅(qū)動器)。PB1具有增數(shù)的功能、PB2具有減數(shù)的功能,若程序剛開始時,7段L

68、ED數(shù)碼管顯示0,按一下PB1,則7段LED數(shù)碼管顯示1、再按一下PB1,則7段LED數(shù)碼管顯示2…..;若7段LED數(shù)碼管顯示9,按一下PB1,則7段LED數(shù)碼管顯示0.同樣地,若7段LED數(shù)碼管顯示0,按一下PB2,則7段LED數(shù)碼管顯示9、再按一下PB2,則7段LED數(shù)碼管顯示8……依次類推。</p><p><b>  (1)電路設(shè)計</b></p><p>

69、  原件清單:7SEG-COM-AN-GRN、80C51、7447、BUTTON、RES(220歐姆)。</p><p><b>  圖4-5計數(shù)器</b></p><p><b>  參考程序</b></p><p>  根據(jù)功能需求與電路結(jié)構(gòu)可知,只要P0.0到P0.3輸出BCD碼,7段LED數(shù)碼管即可正確地顯示0~9

70、的數(shù)字。在程序的開始,先將7段LED數(shù)碼管設(shè)為0,若讀取到P2.0為0,若讀取到P2.0為0,則進行加數(shù)的操作;若讀取到P2.1為0,則進行減數(shù)的操作。</p><p><b>  (2)程序設(shè)計</b></p><p><b>  ORG 0</b></p><p>  START: MOV A,#0

71、 ;設(shè)定顯示器的初始值</p><p>  SETB P2.0 ;設(shè)定P2.0為輸入口</p><p>  SETB P2.1 ;設(shè)定P2.1為輸入口</p><p>  LOOP: MOV P0,A ;顯示A的內(nèi)容</p><p>  JNB P2.0,INCR

72、 </p><p>  JNB P2.1,DECR</p><p>  LJMP LOOP</p><p>  INCR: JNB P2.0,INCR ;放開按鍵</p><p>  INC A </p><p>  ADD A,#

73、0</p><p>  DA A ;將A的內(nèi)容進行BCD調(diào)整</p><p>  LJMP LOOP</p><p>  DECR: JNB P2.1,DECR ;放開按鍵</p><p>  JZ ZERO ;判斷A的內(nèi)容

74、是否為0</p><p><b>  DEC A</b></p><p><b>  ADD A,#0</b></p><p><b>  DA A</b></p><p>  LJMP LOOP</p><p>  ZERO: MOV

75、 A,#9</p><p>  LJMP LOOP</p><p><b>  END</b></p><p>  程序調(diào)好后生成4.2.HEX文件,并加載該文件,運行Proteus ISIS。運行按動按鈕PB1,PB2開關(guān)可以看到可以看到如圖4-2-2:</p><p><b> ?。?)仿真<

76、;/b></p><p>  單機圖標,啟動仿真。</p><p><b>  圖4-6計數(shù)器仿真</b></p><p>  按PB1實現(xiàn)加計數(shù),按PB2實現(xiàn)減計數(shù)。</p><p>  4.3 中斷的實訓(xùn)演練</p><p>  中斷是指計算機在執(zhí)行程序的過程中,當出現(xiàn)異常情況或特殊請求

77、時,計算機停止現(xiàn)行程序的運行,轉(zhuǎn)向?qū)@些異常情況或特殊請求的處理,處理結(jié)束后再返回現(xiàn)行程序的間斷處,繼續(xù)執(zhí)行原程序。 中斷是單片機實時地處理內(nèi)部或外部事件的一種內(nèi)部機制。當某種內(nèi)部或外部事件發(fā)生時,單片機的中斷系統(tǒng)將迫使CPU暫停正在執(zhí)行的程序,轉(zhuǎn)而去進行中斷事件的處理,中斷處理完畢后,又返回被中斷的程序處,繼續(xù)執(zhí)行下去。</p><p>  4.3.1 單片機外中斷實驗的設(shè)計與仿真</p><

78、;p><b>  設(shè)計與仿真目的</b></p><p>  理解中斷過程及作用,掌握單片機外中斷的電路設(shè)計。</p><p>  學(xué)習(xí)中斷應(yīng)用及中斷服務(wù)程序的設(shè)計方法。</p><p>  PROTEUS 設(shè)計與仿真</p><p><b>  電路設(shè)計</b></p><

79、;p>  在PROTEUS ISIS 中設(shè)計如圖4-3-1 所示的外中斷電路</p><p>  元件清單:3WATT470R , 7SEG-COM-AN-GRN、AT89C51、BUTTON 、RESPACK-8。</p><p><b>  原理圖:</b></p><p><b>  圖4-7中斷電路圖</b>

80、</p><p><b>  參考程序:</b></p><p>  根據(jù)功能需求與電路結(jié)構(gòu)可知,上點運行,觀察到P0口上的數(shù)碼管中各段按a ~g的順序點亮,每一時刻只有一段亮,循環(huán)進行。當單擊S0時,發(fā)生外中斷0,與P2口相接數(shù)碼管中的各段全部點亮半秒,再暗半秒,如此循環(huán)8次后,返回主程序繼續(xù)中斷前的工作。</p><p><b>

81、  (2)程序設(shè)計</b></p><p>  ORG 00H</p><p>  SJMP STAR</p><p>  ORG 03H ;將INT0中斷入口地址 ̄</p><p>  SJMP INT0S ;轉(zhuǎn)中斷服務(wù)</p><p>&

82、lt;b>  ORG 30</b></p><p>  STAR: MOV IE,#10000001B ;開中斷</p><p>  MOV TCON,#1H ;采用邊沿觸發(fā)</p><p>  MOV A,#0FEH ;P0口輸出初值</p><p>

83、  ST1: MOV P0,A</p><p>  ACALL DELAY ;延時</p><p>  RL A ;改變輸出數(shù)據(jù)</p><p>  SJMP ST1 ;主循環(huán)</p><p>  INT0S: PUSH

84、 ACC ; 保護現(xiàn)場</p><p>  MOV R2,#8 ;R2計算器賦初值</p><p>  LOOP: CLR A</p><p>  MOV P2,A ;數(shù)碼管亮</p><p>  ACALL DELAY

85、 ;延時</p><p>  MOV A,#0FFH</p><p>  MOV P2,A ;數(shù)碼管全暗</p><p>  ACALL DELAY ;延時</p><p>  DJNZ R2,LOOP ;循環(huán)8次&l

86、t;/p><p>  POP ACC ;恢復(fù)現(xiàn)場,A</p><p><b>  RETI</b></p><p>  DELAY: MOV R7,#250 ;延時子程序,500ms</p><p>  D1: MOV R6,#250&

87、lt;/p><p>  D2: NOP</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p&

88、gt;<p><b>  NOP</b></p><p>  DJNZ R6,D2</p><p>  DJNZ R7,D1</p><p><b>  RET</b></p><p><b>  END</b></p><p>  程

89、序調(diào)好后生成4.3.1.HEX文件,并加載該文件到圖4-3-1中單片機的“Program File”屬性欄中并設(shè)置時鐘頻率為12MHZ。</p><p><b>  仿真</b></p><p>  單機圖標,啟動仿真。</p><p><b>  圖4-8中斷仿真圖</b></p><p>  未

90、單擊外中斷0按鍵時,P0口接的數(shù)碼管上點亮以a~g的順序循環(huán)流動;當單機按鍵時,觸發(fā)外中斷0,主程序暫停,亮點暫停流動,外中斷服務(wù)程序控制P2口數(shù)碼管閃爍8次“8”后熄滅,中斷返回,主程序使亮點接著流動。如圖4-3-2所示,主程序暫停在亮點“d”,中斷服務(wù)程序正顯示“8”。</p><p>  4.3.2 單片機中斷優(yōu)先級實驗的設(shè)計與仿真</p><p><b>  設(shè)計與仿真的

91、目的</b></p><p>  理解中斷優(yōu)先級,中斷嵌套:</p><p>  理解中斷過程及中斷優(yōu)先級的設(shè)置、中斷服務(wù)程序的處理方法。</p><p><b>  功能說明:</b></p><p>  設(shè)置INT1為高優(yōu)先級、INT0為低優(yōu)先級。高優(yōu)先級可中斷低優(yōu)先級,但低優(yōu)先級的中斷請求不能中斷高優(yōu)先

92、級;同一優(yōu)先級不能相互中斷。</p><p><b>  電路設(shè)計</b></p><p>  在PROTEUS ISIS 中設(shè)計如圖4-2-3所示中斷優(yōu)先級演示實驗電路。</p><p>  元件清單:3WATT470R、7SEG-COM-AN-GRN、AT89C51、BUTTON、RESPACK-8。</p><p>

93、;<b>  原理圖:</b></p><p>  圖4-9優(yōu)先級中斷電路</p><p>  如圖4-9所示,上電運行,觀察到單片機主程序控制P0口數(shù)碼管循環(huán)顯示0~8.按下兩種操作方式做中斷優(yōu)先級實驗:①先單擊S1,發(fā)生INT1中斷,在INT1響應(yīng)中斷未返回時單擊S0,觀察現(xiàn)象,并作出合理解釋。②先單擊S0,發(fā)生INT0中斷,在INT0中斷,在INT0響應(yīng)中斷未返

94、回時單擊S1,觀察現(xiàn)象,并作出合理解釋。</p><p><b>  程序設(shè)計</b></p><p>  ORG 00H</p><p>  SJMP STAR</p><p>  ORG 03H ;INT0中斷入口地址</p><p>  SJMP

95、 INT0S ;轉(zhuǎn)INT0中斷服務(wù)程序</p><p>  ORG 13H ;INT1入口地址</p><p>  SJMP INT1S</p><p>  ORG 30H</p><p>  STAR: MOV IE,#85H ;INT0開中

96、斷</p><p>  MOV TCON,#5 ;邊沿出發(fā)方式</p><p>  MOV A,#0FEH ;P2口輸出初值</p><p>  MOV P3,#0FFH </p><p>  SETB PX1 </p&g

97、t;<p>  ST0: MOV A,#1</p><p>  ST1: PUSH ACC</p><p>  ACALL SEG7</p><p>  MOV P0,A</p><p>  ACALL DELAY</p><p>  POP ACC</p>

98、;<p><b>  INC A</b></p><p>  CJNE A,#9,ST1</p><p>  SJMP ST0</p><p>  INT0S: PUSH ACC</p><p>  MOV A,#0</p><p>  LOOP: IN

99、C A</p><p>  PUSH ACC</p><p>  ACALL SEG7</p><p>  MOV P2,A</p><p>  POP ACC</p><p>  ACALL DELAY</p><p>  CJNE A,#8,LOOP</p&

100、gt;<p>  POP ACC</p><p>  MOV P2,#0FFH</p><p><b>  RETI</b></p><p>  INT1S: PUSH ACC</p><p>  MOV A,#0</p><p>  LOOP1: INC

101、 A</p><p>  PUSH ACC</p><p>  ACALL SEG7</p><p>  MOV P1,A</p><p>  ACALL DELAY</p><p>  POP ACC</p><p>  CJNE A,#8,LOOP1

102、 </p><p>  MOV P1,#0FFH</p><p>  POP ACC</p><p><b>  RETI</b></p><p>  DELAY: MOV R7,#250</p><p>  D1: MOV R6,#250</p&g

103、t;<p>  D2: NOP</p><p>  NOP </p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><

104、b>  NOP</b></p><p>  DJNZ R6,D2</p><p>  DJNZ R7,D1</p><p><b>  RET </b></p><p>  SEG7: INC A</p><p>  MOVC A,@A+

105、PC</p><p><b>  RET</b></p><p>  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H</p><p>  END </p><p>  程序調(diào)好后生成4.3.2.HEX文件,并加載該文件到圖4-3-2中單

106、片機的“Program File”屬性欄中并設(shè)置時鐘頻率為12MHZ。</p><p><b>  仿真</b></p><p>  單機圖標,啟動仿真。</p><p>  圖4-10優(yōu)先級中斷仿真</p><p>  低優(yōu)先級INT0中斷主程序。</p><p>  當主程序運行時,控制與P0

107、口相接的數(shù)碼管循環(huán)顯示1~8;而P1、P2口的數(shù)碼管不顯示。當前主程序控制P0口顯示“2”時,單擊“低優(yōu)先級”按鈕,觸發(fā)INT0,INT0服務(wù)程序控制P2口依次顯示1~8,當前顯示“2”。</p><p>  高優(yōu)先級INT1中斷低優(yōu)先級INT0.</p><p>  在上一步的基礎(chǔ)上,即主程序INT0中斷在P0口輸出“2”,在INT0服務(wù)程序在P2口也輸出“2”的時刻,單擊“高優(yōu)先級”按

108、鈕,觸發(fā)高優(yōu)先級INT1,所在INT0服務(wù)程序在P2口輸出“2”,接下來INT1控制P1口輸出3~8,關(guān)閉顯示,中斷返回至INT0顯示“5”的斷電,接著P2口輸出“6”、“7”顯示“8”,中斷返回至主程序斷點顯示“6”。接著主程序控制P0口輸出循環(huán)顯示“7”、“8”。用PROTEUS圖形化的仿真演示功能,很好的演示了中斷優(yōu)先級的原理。</p><p>  4.4 D/A、A/D轉(zhuǎn)換的應(yīng)用</p>&

109、lt;p>  4.4.1 單片機與DAC0832接口的設(shè)計與仿真</p><p>  單片機處理的數(shù)字量。實際應(yīng)用中,常常需要將數(shù)字量轉(zhuǎn)換成模擬量來推動或控制外設(shè)。D/A轉(zhuǎn)換器就是一種將數(shù)字量轉(zhuǎn)換成模擬量(電流、電壓等)的電子器件,是應(yīng)用廣泛的接口IC。由D/A轉(zhuǎn)換器組成的電路加上相應(yīng)的軟件,便可解決單片機和受控外設(shè)之間的連接問題。</p><p><b>  設(shè)計與仿真目

110、的</b></p><p>  理解單片機與DAC832典型的單緩沖方式接口電路;</p><p>  理解如何構(gòu)建D/A轉(zhuǎn)換的數(shù)字量;</p><p>  理解單片機把DAC當作一個外RAM地址來訪問。</p><p>  PROTEUS 設(shè)計與仿真</p><p><b>  電路設(shè)計<

111、/b></p><p>  在PROTEUS ISIS 中設(shè)計如圖4-11所示的單片機與DAC0832接口電路。</p><p>  原件清單:AT89C51、BUTTON、DAC0832、POT-LIN 、PULLUP、UA741。</p><p><b>  原理圖:</b></p><p>  圖4-11 D

112、AC0832接口電路</p><p><b>  程序設(shè)計</b></p><p><b>  鋸齒波</b></p><p>  ORG 00H </p><p>  JUCHI: MOV A,#00 ;第一個數(shù)據(jù)</p><p>  MO

113、V DPTR,#7FFFH ;片外RAM單元</p><p>  JUCHI1: MOVX @DPTR,A ;輸出數(shù)據(jù)到DA</p><p>  INCA       ??;數(shù)據(jù)更新,+1</p><p>  SJMP JUCHI1</p><p><b>  END</b></p>

114、;<p><b>  半圓波</b></p><p>  ORG 00H</p><p>  BANYUAN: MOV R2,#00     ?。黄鹗贾禐?</p><p>  MOV R1,#40      ??;數(shù)據(jù)長度為40</p><p>  BANY1: MOV DP

115、TR,#TAB2   ??;首地址給DPTR</p><p>  MOV A,R2 </p><p>  MOVC A,@A+DPTR ;查表取數(shù)</p><p>  MOV DPTR,#7FFFH </p><p>  MOVX @DPTR,A

116、;輸出數(shù)據(jù)到DA</p><p>  INC R2 ;數(shù)據(jù)序號更新DA,+1</p><p>  DJNZ R1,BANY1 ;循環(huán)取數(shù)</p><p>  SJMP BANYUAN ;復(fù)位</p><p>  TAB2: DB 0,40,56,67

117、,77,85,91,102,107,111 ;送到DA的數(shù)據(jù)表</p><p>  DB 114,117,120,122,124,125,127,127,128</p><p>  DB 128,127,127,125,124,122,120,117,114</p><p>  DB 111,107,102,97,91,85,77,67,56,40,0<

118、/p><p><b>  END</b></p><p>  程序調(diào)好后分別生成DAC1.HEX、DAC2.HEX加載到單片機中。</p><p><b>  仿真</b></p><p>  單機圖標,啟動仿真。在DAC1.HEX、DAC2.HEX的控制下,可在模擬示波器上看到鋸齒波和半圓波如圖4-1

119、2所示。</p><p>  圖4-12 DAC0832仿真 </p><p>  4.4.2單片機與ADC0808接口的設(shè)計與仿真</p><p>  A/D轉(zhuǎn)換器是一種能把輸入模擬電壓或電流信息變成與其正比的數(shù)字量信息的電路芯片。A/D轉(zhuǎn)換器用于實現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換。</p><p>  ADC0808是典型的8

120、通道模擬輸入8位并行數(shù)字輸出的逐次逼近式A/D轉(zhuǎn)換器。該轉(zhuǎn)換器采用CMOS工藝,可實現(xiàn)8路模擬信號的分時采集。片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路。</p><p><b>  設(shè)計與仿真目的</b></p><p>  理解典型的單片機與ADC0808的接口電路;</p><p>  理解用延時方式編寫ADC0808轉(zhuǎn)換程

121、序的方法;</p><p>  理解單片機把ADC0808當作一個片外RAM地址來訪問。</p><p>  PRPTEUS設(shè)計與仿真</p><p><b>  電路設(shè)計</b></p><p>  在PROTEUS ISIS 中設(shè)計如圖4-13所示的單片機與ADC0808的接口電路。</p><p

122、>  原件清單: 7SEG-MPX4-CA、7447、ADC0808、BUTTON、POT、RES。</p><p>  圖4-13ADC0808接口電路</p><p><b>  程序設(shè)計</b></p><p>  ETDATA EQU30H;ADC0808數(shù)據(jù)輸出值</p><p>  STBIT

123、P3.0</p><p>  OEBITP3.1</p><p>  EOCBITP3.2</p><p>  CLKBITP3.7</p><p>  ORG 0000H</p><p><b>  LJMPMAIN</b></p><p><b&g

溫馨提示

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

評論

0/150

提交評論