單片機(jī)虛擬實(shí)驗(yàn)室的建立
摘要:單片機(jī)應(yīng)用技術(shù)所涉及到的實(shí)驗(yàn)實(shí)踐環(huán)節(jié)比較多,而且硬件投入比較大。在具體的工程實(shí)踐中,如果因?yàn)榉桨赣姓`而進(jìn)行相應(yīng)的開(kāi)發(fā)設(shè)計(jì),會(huì)浪費(fèi)較多的時(shí)間和經(jīng)費(fèi)。本文以學(xué)校單片機(jī)課程的實(shí)驗(yàn)教學(xué)為背景,較為全面地闡述采用仿真實(shí)驗(yàn)的方法。
關(guān)鍵詞:proteus軟件 單片機(jī) 仿真 虛擬實(shí)驗(yàn)室
引 言
單片機(jī)課程是機(jī)電、自動(dòng)化等專業(yè)的一門重要課程,可以充分體現(xiàn)學(xué)生利用已學(xué)知識(shí)解決實(shí)際工程問(wèn)題的能力。由于該學(xué)科是多基礎(chǔ)、多理論的實(shí)踐性學(xué)科,在教學(xué)過(guò)程中必須軟件硬件結(jié)合,因此有學(xué)生感到難學(xué),教師感到難教這樣的尷尬。
現(xiàn)代科技的發(fā)展,促進(jìn)了計(jì)算機(jī)技術(shù)在軟件和硬件上的飛速發(fā)展,利用計(jì)算機(jī)軟件的仿真技術(shù),可以充分地仿真諸如電路的工作等實(shí)際的工程問(wèn)題。作者無(wú)意中找到一款軟件Proteus,解決了許多的問(wèn)題,而單片機(jī)虛擬實(shí)驗(yàn)室也是以該軟件為核心建立起來(lái)的。
1 Proteus介紹
Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。
(1)proteus的工作過(guò)程
運(yùn)行proteus的ISIS程序后,進(jìn)入該仿真軟件的主界面。在工作前,要設(shè)置view菜單下的捕捉對(duì)齊和system下的顏色、圖形界面大小等項(xiàng)目。通過(guò)工具欄中的p(從庫(kù)中選擇元件命令)命令,在pick devices窗口中選擇電路所需的元件,放置元件并調(diào)整其相對(duì)位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source菜單的Define code generation tools菜單命令下,選擇程序編譯的工具、路徑、擴(kuò)展名等項(xiàng)目;在source菜單的Add/remove source files命令下,加入單片機(jī)硬件電路的對(duì)應(yīng)程序;通過(guò)debug菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。
(2)Proteus軟件所提供的元件資源
Proteus 軟件所提供了30多個(gè)元件庫(kù),數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等,具體情況如表1所列。
(3)Proteus軟件所提供的儀表資源
對(duì)于一個(gè)仿真軟件或?qū)嶒?yàn)室,測(cè)試的儀器儀表的數(shù)量、類型和質(zhì)量,是衡量實(shí)驗(yàn)室是否合格的一個(gè)關(guān)鍵因素。在Proteus軟件包中,不存在同類儀表使用數(shù)量的問(wèn)題,其提供的儀表如表2所列。
除了表2所列的測(cè)試儀表外,Proteus還提供了一個(gè)圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來(lái),其作用與示波器相似但功能更多。圖形顯示功能如表3所列。
(4)Proteus軟件所提供的調(diào)試手段
Proteus提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào),如表4所列。
對(duì)于單片機(jī)硬件電路和軟件的調(diào)試,Proteus 提供了兩種方法:一種是系統(tǒng)總體執(zhí)行效果,一種是對(duì)軟件的分步調(diào)試以看具體的執(zhí)行情況。
對(duì)于總體執(zhí)行效果的調(diào)試方法,只需要執(zhí)行debug菜單下的execute菜單項(xiàng)或F12快捷鍵啟動(dòng)執(zhí)行,用debug菜單下的pause animation菜單項(xiàng)或pause鍵暫停系統(tǒng)的運(yùn)行;或用debug菜單下的stop animation 菜單項(xiàng)或shift-break組合鍵停止系統(tǒng)的運(yùn)行。其運(yùn)行方式也可以選擇工具欄中的相應(yīng)工具進(jìn)行。
對(duì)于軟件的分步調(diào)試,應(yīng)先執(zhí)行debug菜單下的start/restart debugging 菜單項(xiàng)命令,此時(shí)可以選擇step over 、step into 和 step out命令執(zhí)行程序(可以用快捷鍵F10、F11和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進(jìn)入子程序執(zhí)行和跳出子程序執(zhí)行。在執(zhí)行了start / restart debuging命令后,在debug菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機(jī)的系統(tǒng)資源等,可供調(diào)試時(shí)分析和查看。
2 實(shí)驗(yàn)的組織
在單片機(jī)的理論教學(xué)和實(shí)驗(yàn)中,所涉及到的內(nèi)容包括了四方面,即單片機(jī)系統(tǒng)資源、軟件技術(shù)、硬件接口電路、軟件和硬件結(jié)合的應(yīng)用系統(tǒng)。因此教師在進(jìn)行教學(xué)時(shí),應(yīng)該充分考慮課程的特點(diǎn)并作合理的模塊劃分,在每次實(shí)驗(yàn)課程前作適當(dāng)?shù)臏?zhǔn)備工作,以使教學(xué)任務(wù)能集中和突出。以下例子中所涉及到的單片機(jī)均為51系列。
(1)系統(tǒng)資源的實(shí)驗(yàn)教學(xué)
任何一種單片機(jī)均提供了一定的系統(tǒng)資源。對(duì)于51系列單片機(jī)來(lái)講,其所提供的資源是以寄存器和存儲(chǔ)器的方式體現(xiàn)出來(lái)的。對(duì)于寄存器內(nèi)容的查看,可以采用多種可以模擬仿真51單片機(jī)的軟件來(lái)實(shí)現(xiàn)。對(duì)于Proteus 軟件來(lái)講,可以執(zhí)行在debug菜單下registers菜單項(xiàng)命令打開(kāi)相應(yīng)的窗口。對(duì)于系統(tǒng)內(nèi)部存儲(chǔ)器的查看,同樣是執(zhí)行debug 菜單下的 internal memory 菜單項(xiàng)命令打開(kāi)相應(yīng)的窗口。
(2)軟件技術(shù)
在軟件技術(shù)的實(shí)驗(yàn)中所涉及到的內(nèi)容主要包括對(duì)語(yǔ)言中具體語(yǔ)句的執(zhí)行效果驗(yàn)證、算法的具體實(shí)現(xiàn)、程序中語(yǔ)法錯(cuò)誤的檢查和邏輯錯(cuò)誤的驗(yàn)證等內(nèi)容。對(duì)于純軟件的實(shí)驗(yàn)教學(xué)內(nèi)容,教師在實(shí)驗(yàn)設(shè)置時(shí)應(yīng)充分考慮到學(xué)生的能力并作好具體的準(zhǔn)備工作,以達(dá)到預(yù)期的教學(xué)目的。
例如,對(duì)于兩個(gè)16位二進(jìn)制數(shù)的乘法運(yùn)算R4R5
評(píng)論