摘? 要:文章根據(jù)高職院校單片機(jī)實(shí)驗(yàn)室的現(xiàn)狀和存在的問(wèn)題,結(jié)合多年單片機(jī)實(shí)驗(yàn)課程的教學(xué)經(jīng)驗(yàn),提出了利用仿真模擬技術(shù)來(lái)實(shí)現(xiàn)虛擬單片機(jī)實(shí)驗(yàn)的設(shè)計(jì),并在宿遷澤達(dá)職業(yè)技術(shù)學(xué)院18級(jí)機(jī)電班中開(kāi)展了實(shí)驗(yàn)性質(zhì)的實(shí)踐教學(xué)。在考慮到高職院校實(shí)際情況的基礎(chǔ)上對(duì)該虛擬單片機(jī)實(shí)驗(yàn)系統(tǒng)提出了現(xiàn)階段的要求:在花費(fèi)較小成本和較短時(shí)間內(nèi)滿足學(xué)生開(kāi)展單片機(jī)實(shí)驗(yàn)。
關(guān)鍵詞:?jiǎn)纹瑱C(jī)原理及應(yīng)用;實(shí)驗(yàn)教學(xué);虛擬仿真技術(shù);Proteus軟件
中圖分類號(hào):TP368.1? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)16-0031-04
Design and Implementation of Virtual MCU Experiments
WU Qiuli
(Suqian Zeda Vocational & Technical College,Suqian? 223800,China)
Abstract:According to the current situation and existing problems of MCU laboratory in higher vocational colleges,combined with the teaching experience of many years of MCU experiment course,this paper puts forward the design of virtual MCU experiment by using simulation technology,and carries out the experimental teaching in the mechanical and electrical class of grade 18 in Suqian Zeda Vocational & Technical College. On the basis of considering the actual situation of higher vocational colleges,this paper puts forward the requirements of the virtual single-chip microcomputer experimental system at the present stage:It can meet the needs of students to carry out single chip microcomputer experiment with less cost and shorter time.
Keywords:single chip microcomputer principle and application;experimental teaching;virtual simulation technology;Proteus software
0? 引? 言
“單片機(jī)原理及應(yīng)用”課程是高等院校測(cè)控、機(jī)電、儀表、計(jì)算機(jī)和通信電子等專業(yè)本科和專科階段學(xué)生的一門重要的核心專業(yè)課程,“單片機(jī)原理及應(yīng)用”實(shí)驗(yàn)教學(xué)是指導(dǎo)幫助學(xué)生更好的學(xué)習(xí)單片機(jī)應(yīng)用技術(shù)的重要途徑。因此本論文提出的基于Proteus軟件的虛擬單片機(jī)實(shí)驗(yàn)成為改善學(xué)生實(shí)驗(yàn)條件,提高學(xué)生學(xué)習(xí)質(zhì)量,進(jìn)行適合高校特別是高職院校實(shí)驗(yàn)教學(xué)改革的重要手段之一。
1? 虛擬單片機(jī)實(shí)驗(yàn)設(shè)計(jì)要求
單片機(jī)實(shí)驗(yàn)在“單片機(jī)原理及應(yīng)用”課程中有著重要的地位,通過(guò)實(shí)驗(yàn)教學(xué)能讓學(xué)生比較直觀的理解單片機(jī)的原理和工作方式。是對(duì)于課堂教學(xué)一個(gè)很好的補(bǔ)充。隨著課程的深入,通過(guò)一些跨課程的實(shí)驗(yàn)設(shè)計(jì)能開(kāi)拓學(xué)生的眼界,提高學(xué)習(xí)的興趣。但是隨著社會(huì)對(duì)單片機(jī)工程師的要求越來(lái)越高,學(xué)校陳舊的教學(xué)體系和落后的實(shí)驗(yàn)器材已經(jīng)無(wú)法滿足深層次高要求的學(xué)習(xí)任務(wù),因此利用Proteus軟件和Keil軟件建立的虛擬單片機(jī)實(shí)驗(yàn)室就成為了解決這一難題的好辦法。本文中選擇了單片機(jī)教學(xué)中的幾個(gè)重點(diǎn)難點(diǎn)章節(jié),以中斷、定時(shí)、存儲(chǔ)器及I/O端口控制外圍設(shè)備作為實(shí)例,設(shè)計(jì)了與理論課程配合的單片機(jī)實(shí)驗(yàn)實(shí)例來(lái)幫助學(xué)生學(xué)習(xí)這些重點(diǎn)章節(jié)。最后學(xué)生上交的實(shí)驗(yàn)報(bào)告可以是傳統(tǒng)的紙質(zhì)報(bào)告本,也可以采用電子實(shí)驗(yàn)報(bào)告的形式,更方便學(xué)生記錄得到的實(shí)驗(yàn)數(shù)據(jù)和實(shí)驗(yàn)圖表。
在單片機(jī)實(shí)驗(yàn)中,硬件電路在Proteus上完成,軟件程序在Keil上完成,最后通過(guò)聯(lián)合調(diào)試完成實(shí)驗(yàn)。實(shí)驗(yàn)種類則根據(jù)使用到的知識(shí)點(diǎn)和復(fù)雜程度分為基礎(chǔ)實(shí)驗(yàn)和綜合實(shí)驗(yàn)?;A(chǔ)實(shí)驗(yàn)強(qiáng)調(diào)的是與理論知識(shí)的結(jié)合,強(qiáng)調(diào)驗(yàn)證結(jié)果;綜合類驗(yàn)強(qiáng)調(diào)開(kāi)發(fā)性,鼓勵(lì)學(xué)生自由發(fā)揮,提高學(xué)生的自主開(kāi)發(fā)能力。
在虛擬實(shí)驗(yàn)室的課程設(shè)計(jì)上要根據(jù)“單片機(jī)原理及應(yīng)用”課程的不同章節(jié)內(nèi)容重新安排實(shí)驗(yàn)教學(xué)課時(shí)。在教學(xué)過(guò)程中,可以采用局域網(wǎng)多媒體教學(xué)的方式,通過(guò)在教師機(jī)上由教師先進(jìn)行實(shí)驗(yàn)原理的講解,并演示電路圖;學(xué)生通過(guò)元件庫(kù)找出實(shí)驗(yàn)所需的實(shí)驗(yàn)元件并完成接線。在通過(guò)電氣規(guī)則檢測(cè)后,統(tǒng)一進(jìn)行Keil軟件編程生成.HEX文件,隨后將實(shí)驗(yàn)數(shù)據(jù)仿真輸入到單片機(jī)芯片完成實(shí)驗(yàn),并完成實(shí)驗(yàn)報(bào)告;最后教師通過(guò)原理圖、.HEX文件以及最后實(shí)驗(yàn)效果進(jìn)行打分。由此可見(jiàn),虛擬實(shí)驗(yàn)室比較傳統(tǒng)的實(shí)驗(yàn)室具有更好的交互性,實(shí)驗(yàn)進(jìn)行效率也更高,而且免去了誤操作造成元件、儀器損壞的風(fēng)險(xiǎn)。同時(shí)教師在教師機(jī)上可以實(shí)時(shí)查看學(xué)生的實(shí)驗(yàn)進(jìn)度,更好的督促學(xué)生完成實(shí)驗(yàn)。因?yàn)閭鹘y(tǒng)的實(shí)驗(yàn)室里元器件有限,只能完成常規(guī)的實(shí)驗(yàn),而虛擬實(shí)驗(yàn)室里龐大的元器件庫(kù)可以讓學(xué)生在虛擬實(shí)驗(yàn)過(guò)程中自由的組合,創(chuàng)新性得到激發(fā),從而獲得更好的學(xué)習(xí)效果。這些都是虛擬單片機(jī)實(shí)驗(yàn)室的巨大優(yōu)勢(shì),是傳統(tǒng)實(shí)驗(yàn)室無(wú)法比擬的。
2? 虛擬單片機(jī)基礎(chǔ)實(shí)驗(yàn)
虛擬單片機(jī)基礎(chǔ)實(shí)驗(yàn)是單片機(jī)理論教學(xué)的重要部分,可以幫助學(xué)生更好的理解單片機(jī)的基本功能,并進(jìn)行相關(guān)實(shí)驗(yàn)的驗(yàn)證,為之后的綜合實(shí)驗(yàn)打下基礎(chǔ)。在基礎(chǔ)實(shí)驗(yàn)中更多考查的是學(xué)生對(duì)理解程序知識(shí)的要求,因此選擇的實(shí)驗(yàn)硬件電路比較簡(jiǎn)單,容易完成。在本論文中選擇了存儲(chǔ)器實(shí)驗(yàn)、中斷實(shí)驗(yàn)和定時(shí)器實(shí)驗(yàn)作為例子說(shuō)明虛擬單片機(jī)實(shí)驗(yàn)如何完成實(shí)驗(yàn)設(shè)計(jì)的。在實(shí)驗(yàn)過(guò)程中應(yīng)對(duì)不同組的學(xué)生布置不同參數(shù)的實(shí)驗(yàn)要求,一方面避免了抄襲現(xiàn)象,另一方面讓學(xué)生通過(guò)不同的實(shí)驗(yàn)結(jié)果真正掌握相應(yīng)知識(shí)的精髓。
3? 單片機(jī)存儲(chǔ)器實(shí)驗(yàn)實(shí)例
單片機(jī)存儲(chǔ)器實(shí)驗(yàn)是學(xué)生接觸到的比較早也是比較簡(jiǎn)單的一個(gè)實(shí)驗(yàn),但是在傳統(tǒng)實(shí)驗(yàn)課程中會(huì)存在不能直觀看到存儲(chǔ)器工作的過(guò)程,也不能理解存儲(chǔ)器結(jié)構(gòu)的內(nèi)容。通過(guò)虛擬軟件對(duì)單片機(jī)存儲(chǔ)器的仿真可以解決這些問(wèn)題。
實(shí)驗(yàn)要求:通過(guò)匯編語(yǔ)言的MOV指令來(lái)傳送不同數(shù)據(jù)到不同的寄存器中,通過(guò)仿真對(duì)存儲(chǔ)器的實(shí)時(shí)跟蹤掌握片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址分配以及掌握對(duì)片內(nèi)數(shù)據(jù)存儲(chǔ)器進(jìn)行數(shù)據(jù)讀寫的方法,使學(xué)生對(duì)存儲(chǔ)器的結(jié)構(gòu)和數(shù)據(jù)存儲(chǔ)的過(guò)程有直觀的理解。
該實(shí)驗(yàn)的電路也比較簡(jiǎn)單,只需要選取AT89C51單片機(jī)芯片,并與電源(POWER)相連電路的設(shè)計(jì)就完成了。完成硬件電路的設(shè)計(jì)后加載之前生成的源代碼文件運(yùn)行仿真。單擊源代碼調(diào)試窗口“單步執(zhí)行”按鈕一次,就可以執(zhí)行下一條指令。通過(guò)觀察調(diào)試窗口上每條指令執(zhí)行完畢,數(shù)據(jù)改變后的結(jié)果,可以幫助學(xué)生加深對(duì)硬件結(jié)構(gòu)和指令的理解。從存儲(chǔ)器圖表中可以清晰地看到數(shù)據(jù)在隨著程序的逐條進(jìn)行而發(fā)生著變化,在具體實(shí)驗(yàn)教學(xué)過(guò)程中可以要求學(xué)生通過(guò)輸入不同的程序數(shù)據(jù),通過(guò)數(shù)據(jù)的變化讓對(duì)比更加明顯。該虛擬單片機(jī)實(shí)驗(yàn)達(dá)到了預(yù)期的設(shè)計(jì)目的。
4? 虛擬單片機(jī)綜合實(shí)驗(yàn)
虛擬單片機(jī)綜合實(shí)驗(yàn)利用Proteus軟件強(qiáng)大的仿真模擬功能設(shè)計(jì)出來(lái)的跨學(xué)科的單片機(jī)實(shí)驗(yàn)。要求學(xué)生具有較高的理論水平和動(dòng)手能力,對(duì)51單片機(jī)有較深的理解并對(duì)不同學(xué)科的知識(shí)融會(huì)貫通。綜合性實(shí)驗(yàn)即對(duì)學(xué)生的程序編寫提出了更高的要求,又對(duì)實(shí)驗(yàn)硬件電路的選擇有所考查。在本文中設(shè)計(jì)了一個(gè)綜合實(shí)驗(yàn):汽車轉(zhuǎn)向燈實(shí)驗(yàn),使用了LED硬件模塊,主要強(qiáng)調(diào)了匯編指令通過(guò)I/O端口對(duì)硬件的控制。在具體使用中可以選擇總體硬件電路中的部分電路來(lái)實(shí)現(xiàn),也可以讓學(xué)生自由組合,增加了實(shí)驗(yàn)難度,更好地對(duì)學(xué)生綜合能力進(jìn)行考查。
5? 單片機(jī)汽車轉(zhuǎn)向燈實(shí)驗(yàn)實(shí)例
單片機(jī)控制的汽車轉(zhuǎn)向燈實(shí)驗(yàn)是在流水燈實(shí)驗(yàn)基礎(chǔ)上的延伸實(shí)驗(yàn),同樣是I/O端口控制外圍設(shè)備的實(shí)驗(yàn),但是使用了多重分支程序來(lái)實(shí)現(xiàn),程序結(jié)構(gòu)更加復(fù)雜,同時(shí)利用了P3口作為控制口來(lái)控制開(kāi)關(guān)。實(shí)現(xiàn)了P3口對(duì)P1口的控制。現(xiàn)在利用虛擬單片機(jī)實(shí)驗(yàn)室的軟件、硬件系統(tǒng)來(lái)實(shí)現(xiàn)單片機(jī)控制汽車轉(zhuǎn)向燈的實(shí)訓(xùn)。
實(shí)驗(yàn)要求:選擇某個(gè)串行口(如P1口)做輸出口控制汽車轉(zhuǎn)向時(shí)的信號(hào)燈,可以選擇使用某個(gè)串行口(如P3口)做輸入口來(lái)連接五個(gè)控制開(kāi)關(guān),來(lái)設(shè)計(jì)一個(gè)簡(jiǎn)易的汽車轉(zhuǎn)向信號(hào)燈控制系統(tǒng)。晶振頻率12 Mhz。具體要求為:
(1)當(dāng)車輛正常駕駛時(shí),按下代表左轉(zhuǎn)彎的開(kāi)關(guān),左側(cè)的轉(zhuǎn)彎燈、頭燈、尾燈同時(shí)閃爍;按下右轉(zhuǎn)彎開(kāi)關(guān)時(shí)右側(cè)對(duì)應(yīng)的燈亮起。設(shè)置閃爍頻率為1 Hz。
(2)當(dāng)車輛正常停止時(shí),按下??块_(kāi)關(guān),左側(cè)頭燈、右側(cè)頭燈、左側(cè)尾燈、右側(cè)尾燈同時(shí)閃爍,設(shè)置閃爍頻率相同。
(3)當(dāng)剎車時(shí),按下剎車開(kāi)關(guān),兩側(cè)尾燈同時(shí)亮。
(4)當(dāng)出現(xiàn)緊急情況時(shí),按下緊急開(kāi)關(guān),左側(cè)轉(zhuǎn)彎燈、右側(cè)轉(zhuǎn)彎燈、左側(cè)頭燈、右側(cè)頭燈、左側(cè)尾燈、右側(cè)尾燈同時(shí)閃爍,閃爍頻率為5 Hz。
首先假設(shè)P1口輸出低電平時(shí)燈被點(diǎn)亮,實(shí)驗(yàn)時(shí)可用發(fā)光二極管替代燈;假設(shè)控制開(kāi)關(guān)輸出低電平有效,控制開(kāi)關(guān)的信號(hào)通過(guò)P3口送入單片機(jī),控制開(kāi)關(guān)與P3口各管腳的對(duì)應(yīng)關(guān)系如表1所示。串行口控制狀態(tài)和P1口的控制內(nèi)容,如表2所示。
然后利用JNB指令來(lái)實(shí)現(xiàn)位的控制完成源程序,設(shè)計(jì)中有兩個(gè)延時(shí)子程序(DELYA1,DELAY2)來(lái)表示1 Hz和5 Hz的閃爍頻率。最后完成硬件電路圖,把紅黃綠三種顏色的LED共6個(gè)連接到P1口的的P1.2位至P1.7位,5個(gè)表示5種不同狀態(tài)的開(kāi)關(guān)(左轉(zhuǎn),右轉(zhuǎn),剎車,停靠,緊急狀態(tài))連接到P3口的P3.0至P3.4口,電路圖如圖1所示。
當(dāng)SW1開(kāi)關(guān)按下時(shí)左側(cè)D1、D3、D5亮起,表示汽車在進(jìn)行左轉(zhuǎn)彎;當(dāng)SW2按下時(shí)右側(cè)D2、D4、D6亮起,表示汽車在進(jìn)行右轉(zhuǎn)彎;當(dāng)SW3按下時(shí)D1、D2亮起,表示剎車;當(dāng)SW4按下時(shí)前后D1、D2、D5、D6亮起,表示汽車停靠時(shí)的雙跳燈;當(dāng)SW5按下時(shí)所有燈同時(shí)亮起,并以1秒5次的速度閃爍,表示緊急狀態(tài)。該虛擬單片機(jī)實(shí)驗(yàn)達(dá)到了預(yù)期的設(shè)計(jì)目的。
6? 虛擬單片機(jī)實(shí)驗(yàn)實(shí)例的教學(xué)測(cè)試分析
通過(guò)對(duì)宿遷澤達(dá)職業(yè)技術(shù)學(xué)院原有的傳統(tǒng)單片機(jī)實(shí)驗(yàn)室進(jìn)行升級(jí)改造,在使用較低成本和較短時(shí)間里基于Proteus軟件的虛擬單片機(jī)實(shí)驗(yàn)系統(tǒng)已經(jīng)初具規(guī)模。在計(jì)算機(jī)中心的電腦中安裝Proteus軟件后,選取幾個(gè)文中設(shè)計(jì)的單片機(jī)實(shí)驗(yàn)實(shí)例,請(qǐng)宿遷澤達(dá)職業(yè)技術(shù)學(xué)院18級(jí)機(jī)電一體化專業(yè)8名學(xué)生進(jìn)行了實(shí)驗(yàn)教學(xué)模擬測(cè)試:在指導(dǎo)教師進(jìn)行一個(gè)課時(shí)的理論知識(shí)和實(shí)驗(yàn)要求的講解后,讓學(xué)生在兩個(gè)課時(shí)內(nèi)完成實(shí)驗(yàn)實(shí)例。實(shí)驗(yàn)效果如表3所示。
通過(guò)表3可以發(fā)現(xiàn)對(duì)于單片機(jī)基礎(chǔ)性實(shí)驗(yàn)實(shí)例學(xué)生可以得到比較好的實(shí)驗(yàn)效果,并且在之后的實(shí)驗(yàn)實(shí)例測(cè)試中能夠做到舉一反三,使得實(shí)驗(yàn)完成速度與傳統(tǒng)實(shí)驗(yàn)方法相比越來(lái)越快;對(duì)于單片機(jī)綜合實(shí)驗(yàn)實(shí)例學(xué)生雖然在遇到較為復(fù)雜的實(shí)驗(yàn)電路和程序時(shí)表現(xiàn)一般,特別是步進(jìn)電機(jī)實(shí)驗(yàn),只有3個(gè)學(xué)生獨(dú)立完成了實(shí)驗(yàn),但是最后仍然能夠在教師的提示和指導(dǎo)下全部完成實(shí)驗(yàn)要求。因此可以說(shuō)虛擬單片機(jī)實(shí)驗(yàn)基本達(dá)到了本文設(shè)計(jì)的要求,取得了較好的實(shí)驗(yàn)教學(xué)效果,完成了對(duì)傳統(tǒng)單片機(jī)實(shí)驗(yàn)的替代。
7? 結(jié)? 論
本文以“單片機(jī)原理及應(yīng)用”課程實(shí)驗(yàn)對(duì)單片機(jī)實(shí)驗(yàn)教學(xué)的更高要求作為切入點(diǎn),研究了虛擬單片機(jī)實(shí)驗(yàn)系統(tǒng)的理論與實(shí)際操作問(wèn)題;并結(jié)合傳統(tǒng)單片機(jī)實(shí)驗(yàn)教學(xué)面臨的困難和挑戰(zhàn),選用了最具代表性的虛擬仿真軟件Proteus;詳細(xì)地介紹了仿真軟件的特點(diǎn)和組成,嘗試用單片機(jī)虛擬實(shí)驗(yàn)來(lái)取代傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)。本論文進(jìn)行的主要工作包括:
虛擬仿真技術(shù)的整合。將復(fù)雜的單片機(jī)實(shí)驗(yàn)教學(xué)明確分為硬件和軟件教學(xué)兩個(gè)部分:Proteus仿真模擬硬件電路;Keil編制程序模擬軟件部分,與傳統(tǒng)實(shí)驗(yàn)教學(xué)相比取得了相同甚至更佳的實(shí)驗(yàn)教學(xué)效果。
設(shè)計(jì)了一系列常用的單片機(jī)虛擬實(shí)驗(yàn)。所設(shè)計(jì)的實(shí)驗(yàn)直觀地展現(xiàn)了虛擬單片機(jī)實(shí)驗(yàn)室的強(qiáng)大仿真模擬能力,通過(guò)豐富的元器件庫(kù)使得更加復(fù)雜和貼近現(xiàn)實(shí)新技術(shù)的實(shí)驗(yàn)得以在較低成本的基礎(chǔ)上開(kāi)發(fā)出來(lái),同時(shí)也激發(fā)了學(xué)生的想象力和創(chuàng)新力。
虛擬實(shí)驗(yàn)系統(tǒng)平臺(tái)的延伸??鐚W(xué)科實(shí)驗(yàn)的選用使得學(xué)生能在單片機(jī)實(shí)驗(yàn)中把以前學(xué)過(guò)的課程知識(shí)運(yùn)用其中,可以更好地融會(huì)貫通并建立起完整的知識(shí)體系。同時(shí)虛擬單片機(jī)實(shí)驗(yàn)系統(tǒng)是一個(gè)集教學(xué)和研發(fā)的平臺(tái),為青年教師提高理論實(shí)踐能力和學(xué)習(xí)新技術(shù)提供了基礎(chǔ)。
虛擬實(shí)驗(yàn)系統(tǒng)的新方向。在替代傳統(tǒng)單片機(jī)實(shí)驗(yàn)室的基礎(chǔ)上,提出了網(wǎng)絡(luò)化和完全虛擬化的新一代虛擬實(shí)驗(yàn)室的構(gòu)思。在未來(lái)?xiàng)l件成熟后能夠更好地整合教學(xué)資源,讓單片機(jī)應(yīng)用技術(shù)和實(shí)驗(yàn)的覆蓋面更加廣泛,讓更多的學(xué)生通過(guò)虛擬實(shí)驗(yàn)系統(tǒng)進(jìn)行學(xué)習(xí)。
參考文獻(xiàn):
[1] 王悅凱.51單片機(jī)系統(tǒng)入門、擴(kuò)展、應(yīng)用開(kāi)發(fā)學(xué)習(xí)手冊(cè) [M].北京:中國(guó)鐵道出版社,2013.
[2] 楊欣,張延強(qiáng),張鎧麟.實(shí)例解讀51單片機(jī)完全學(xué)習(xí)與應(yīng)用 [M].北京:電子工業(yè)出版社,2011.
[3] 徐瑋.51單片機(jī)綜合學(xué)習(xí)系統(tǒng)-步進(jìn)電機(jī)控制篇 [J].電子制作,2008(4):32-33.
[4] KAMAT A S,THANGO N S,HUSEIN B M. Proteus mirabilis abscess involving the entire neural axis [J].Journal of Clinical Neuroscience,2016,30:127-129.
作者簡(jiǎn)介:吳秋立(1984.09—),男,滿族,浙江杭州人,助
教,本科,碩士,主要研究方向:機(jī)電信息專業(yè)在職業(yè)教育的發(fā)展。