【摘要】本文主要分析了單片機(jī)在傳統(tǒng)教育中的不足,總結(jié)Proteus在實(shí)踐教學(xué)中的優(yōu)點(diǎn),利用以一個(gè)模擬交通燈案例來(lái)分析了Protues在理實(shí)一體化教學(xué)中的應(yīng)用的,實(shí)踐證明,不僅能夠提高學(xué)生的興趣,而且提高了學(xué)生的動(dòng)手能力和獨(dú)立思考問(wèn)題的能力。
【關(guān)鍵詞】Protues仿真軟件;理實(shí)一體化;單片機(jī)
一、傳統(tǒng)單片機(jī)教學(xué)存在的問(wèn)題
單片機(jī)作為一個(gè)計(jì)算機(jī)的分支,從20世紀(jì)70年代誕生以來(lái),廣泛的應(yīng)用于工業(yè)控制、智能儀表、家用電器等各個(gè)領(lǐng)域。目前單片機(jī)基礎(chǔ)這門(mén)課程在各個(gè)高職院校的信息、自動(dòng)化、機(jī)電等開(kāi)設(shè),由于單片機(jī)是具有很強(qiáng)的理論性和實(shí)踐性,需要有高質(zhì)量的實(shí)踐環(huán)節(jié)來(lái)配合教學(xué),然而傳統(tǒng)的單片機(jī)教學(xué)普遍存在以下的問(wèn)題,制約了單片機(jī)教學(xué)的發(fā)展。
1.硬件條件跟不上。通常學(xué)校需要投入一定錢(qián)來(lái)購(gòu)買(mǎi)單片機(jī)試驗(yàn)箱,但是在使用的過(guò)程中,經(jīng)常出現(xiàn)元器件的損壞,損壞后沒(méi)有得到及時(shí)的維修,影響后續(xù)學(xué)生的使用。
2.注重理論教學(xué),實(shí)踐跟不上。在筆者讀書(shū)時(shí),一般單片機(jī)教學(xué)都是從指令教學(xué)開(kāi)始,需要很多計(jì)算機(jī)方面的知識(shí),學(xué)生在學(xué)習(xí)過(guò)程中不僅覺(jué)得這門(mén)課程難學(xué),而且失去了興趣,進(jìn)而對(duì)單片機(jī)產(chǎn)生了畏懼。
3.有很多學(xué)校購(gòu)買(mǎi)了試驗(yàn)箱,試驗(yàn)箱主要是演示性和驗(yàn)證性,學(xué)生在學(xué)習(xí)過(guò)程中缺乏動(dòng)手能力,這樣就不能培養(yǎng)學(xué)生獨(dú)立思考問(wèn)題能力和解決問(wèn)題能力。
基于這些問(wèn)題的存在,我們將Proteus軟件引入到單片機(jī)教學(xué)中,用以改善上述的問(wèn)題。
二、Proteus軟件簡(jiǎn)介
隨著計(jì)算機(jī)技術(shù)的發(fā)展,虛擬現(xiàn)實(shí)技術(shù)已經(jīng)成為我們工作設(shè)計(jì)的一個(gè)重要輔助工具,市場(chǎng)上也出現(xiàn)了多種單片機(jī)仿真軟件,其中最著名的是Proteus仿真軟件。Proteus軟件是英國(guó)Labcenter公司1989年開(kāi)發(fā)的電路分析和仿真軟件。它集原理圖設(shè)計(jì)、電路分析、仿真和PCB設(shè)計(jì)一體,配有各種信號(hào)源和電路分析所需要的虛擬儀表;具有模擬電路、數(shù)字電路、單片機(jī)應(yīng)用系統(tǒng)、嵌入式系統(tǒng)設(shè)計(jì)與仿真功能。基于Proteus的電子電路設(shè)計(jì)從根本上克服了傳統(tǒng)電子產(chǎn)品沒(méi)有物理原型就無(wú)法對(duì)系統(tǒng)進(jìn)行測(cè)試,沒(méi)有系統(tǒng)硬件就很難對(duì)軟件進(jìn)行調(diào)試的缺點(diǎn)。
三、Proteus在理實(shí)一體化教學(xué)中的應(yīng)用
現(xiàn)我院每年的第一學(xué)年開(kāi)設(shè)單片機(jī)課程,并且設(shè)為必修課程,足可以見(jiàn)我院對(duì)單片機(jī)教學(xué)的重視,學(xué)院每一屆都將近一千人,受教學(xué)條件的影響,實(shí)驗(yàn)設(shè)備,實(shí)驗(yàn)場(chǎng)地很難滿足這么大規(guī)模的教學(xué),而且實(shí)踐證明,光學(xué)習(xí)理論,面對(duì)一些指令、單片機(jī)結(jié)構(gòu),而沒(méi)有實(shí)踐, 不僅學(xué)生學(xué)習(xí)沒(méi)有興趣,老師教學(xué)也缺乏熱情,嚴(yán)重影響了單片機(jī)教學(xué)。目前采用Proteus軟件結(jié)合理論教學(xué),是實(shí)現(xiàn)單片機(jī)理實(shí)一體化教學(xué)比較理想的模式。
為了激發(fā)學(xué)生興趣,培養(yǎng)學(xué)生動(dòng)手能力和獨(dú)立思考問(wèn)題的能力,采用任務(wù)驅(qū)動(dòng)教學(xué),從最簡(jiǎn)單的點(diǎn)亮流水燈任務(wù)開(kāi)始,一步步的將學(xué)生帶入單片機(jī)的世界。從而避開(kāi)一上來(lái)就講單片機(jī)的硬件結(jié)構(gòu)原理,一上來(lái)就講指令系統(tǒng)匯編程序,令人枯燥的教學(xué)模式下面以其中一項(xiàng)驅(qū)動(dòng)任務(wù)為例。
1.任務(wù)要求
要求利用單片機(jī)作為核心控制器件,設(shè)計(jì)交通燈模擬任務(wù),要求能夠顯示紅綠黃三種燈的顏色,當(dāng)綠燈亮27秒后,黃燈亮,綠燈滅,黃燈亮3秒后紅燈亮,紅燈亮7秒后熄滅黃燈繼續(xù)亮3秒,接著黃燈熄滅繼續(xù)綠燈亮,以此循環(huán)來(lái)模擬交通燈,數(shù)碼管要求顯示倒計(jì)時(shí)的數(shù)碼。本實(shí)驗(yàn)運(yùn)用了單片機(jī)內(nèi)部的IO口,定時(shí)器中斷,數(shù)碼管動(dòng)態(tài)掃描等接口知識(shí),是一個(gè)綜合性實(shí)驗(yàn)。
2.仿真電路的設(shè)計(jì)
打開(kāi)Proteus軟件,在原理圖編輯窗口中繪制圖1所示。
原理圖主要電子元器件包括AT89C52,74HC138譯碼器,兩個(gè)共陰極數(shù)碼管,三個(gè)LED發(fā)光二極管。數(shù)碼管以動(dòng)態(tài)掃描的方式來(lái)驅(qū)動(dòng),位選信號(hào)通過(guò)譯碼管來(lái)選擇,單片機(jī)的P1口接數(shù)碼管的管腳,P2.0,P2.1接譯碼器的低兩位,用來(lái)做數(shù)碼管的位選信號(hào),LED發(fā)光二級(jí)管經(jīng)過(guò)限流電阻接到P2.2,P2.3,P2.4口,用來(lái)模擬紅綠黃三種顏色的交通燈。
3.軟件設(shè)計(jì)
本實(shí)驗(yàn)程序主要兩大模塊程序組成。由主程序模塊,定時(shí)器T0的中斷服務(wù)程序模塊。
(1)主程序模塊,主要完成系統(tǒng)任務(wù)的初始化,比如定時(shí)器中斷的初始化任務(wù),紅黃綠交通燈的初始化,數(shù)碼管顯示的初始化。部分主程序如下:
void main()
{
init()//初始化定時(shí)器中斷
GREENLED=0;//點(diǎn)亮綠燈
while(1){
display(num);//數(shù)碼管顯示
}
}
(2)定時(shí)器T0中斷服務(wù)模塊。本程序利用定時(shí)器T0產(chǎn)生一個(gè)50ms的中斷,在中斷服務(wù)程序中累計(jì)中斷的次數(shù),若超過(guò)20次計(jì)數(shù)一次。這樣就相當(dāng)于1秒鐘就計(jì)數(shù)。中斷程序要處理的是判斷是否倒計(jì)時(shí)到3秒和0秒,在最后3秒點(diǎn)亮黃燈,在最后1秒還要判斷接下來(lái)是點(diǎn)亮紅燈還是綠燈。中斷服務(wù)程序如下:
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;//重新裝載計(jì)數(shù)
Count++;
if(Count==20){//20次中斷,即1秒
num++;
if(num==3){//判斷是否還剩3秒
YELLOWLED=0;//黃燈亮;
if(tagGR==1){//標(biāo)志位用來(lái)判斷接下來(lái)點(diǎn)亮的是紅燈還是黃燈
tagGR=0;
}else{
tagGR=1;
}
}
if(num==0){//倒計(jì)時(shí)最后
num=29;//讓計(jì)時(shí)器重新開(kāi)始計(jì)時(shí)
if(tagGR==1){
REDLED=0;//點(diǎn)亮紅燈
}else{
GREENLED=0;//點(diǎn)亮綠燈
}
}
}
}
4.軟硬件結(jié)合仿真聯(lián)調(diào)
本實(shí)驗(yàn)編程主要用C語(yǔ)言編寫(xiě),C語(yǔ)言的集成開(kāi)發(fā)環(huán)境主要采用的是keil編譯軟件,利用keil生成的hex文件,然后將hex文件裝載到Proteus當(dāng)中即可。
1)keil軟件中的設(shè)置。打開(kāi)菜單欄里的“Project”,選擇“Option for Target Target1”,在對(duì)話框里選擇“output”這一欄,然后在將“Create Hex Fi”選擇上。如圖2所示。
2)Proteus軟件的設(shè)置。雙擊仿真圖上的單片機(jī),在彈出的對(duì)話框里選擇需要加載的hex文件,即你的程序生成的文件(如圖3所示)。
圖4
3)運(yùn)行軟件。點(diǎn)擊Proteus左下角的運(yùn)行軟件(如圖4所示)。
四、結(jié)束語(yǔ)
將仿真軟件Proteus用于課堂教學(xué)中,可有效的克服傳統(tǒng)教學(xué)的一些不足,提高單片機(jī)教學(xué)的質(zhì)量,而且有利于理實(shí)一體化的教學(xué)的設(shè)計(jì)。如果要學(xué)生真正掌握單片機(jī),除了仿真軟件的使用,更多的是要學(xué)生能夠?qū)纹瑱C(jī)技術(shù)與實(shí)際結(jié)合起來(lái),運(yùn)用到實(shí)際中去才會(huì)有價(jià)值。
參考文獻(xiàn)
[1]江世民,黃同成.單片機(jī)原理及應(yīng)用[M].北京:中國(guó)鐵道出版社,2010.
[2]朱玉紅,林小軍.單片機(jī)原理與接口技術(shù)[M].北京:機(jī)械工業(yè)出版社,2014.
[3]柯艷明.Proteus仿真軟件在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)室科學(xué),2014,17(3):75-78.
[4]石英.仿真技術(shù)在單片機(jī)教學(xué)中的應(yīng)用[J].黃山學(xué)院報(bào),2012,14(3):128-130.
[5]陳炳杰,余里超.基于Proteus與Keil的虛擬實(shí)驗(yàn)室構(gòu)建[J].茂名學(xué)院學(xué)報(bào),2009,19(03):65-68.
[6]王詠梅,王印松.單片機(jī)實(shí)驗(yàn)教學(xué)改革的探索與實(shí)踐[J].實(shí)驗(yàn)室科學(xué),2012,15(4):25-26.
作者簡(jiǎn)介:何旭東(1983—),湖南邵陽(yáng)人,畢業(yè)天津職業(yè)技術(shù)師范大學(xué),現(xiàn)任教于貴陽(yáng)職業(yè)技術(shù)學(xué)院軌道交通分院。