摘 要 目前大多數(shù)高職工科院校單片機(jī)實(shí)驗(yàn)均采用虛擬實(shí)驗(yàn)室來(lái)完成。許多院校采用Keil c和Proteus兩種軟件構(gòu)建仿真單片機(jī)虛擬實(shí)驗(yàn)室,采用這種方式構(gòu)建虛擬實(shí)驗(yàn)室既經(jīng)濟(jì)實(shí)惠,又在一定程度上緩解了實(shí)驗(yàn)操作過(guò)程難及設(shè)備維護(hù)困難和資金短缺問(wèn)題。
關(guān)鍵詞 單片機(jī) Proteus軟件 keil c
中圖分類號(hào):TP368.12 文獻(xiàn)標(biāo)識(shí)碼:A
MCU Virtual Lab Building Based on Proteus and Keil
QIAO Guorong
(Liaoning Vocational College of Light Industry, Dalian, Liaoning 116000)
Abstract Most vocational colleges of engineering microcontroller experiments were done using a virtual lab. Many colleges use Proteus and Keil c microcontroller simulation software to build virtual laboratory, using this approach to build a virtual laboratory that is affordable and in a certain extent, ease the difficult process of experimental operation and maintenance difficulties and shortage of funds.
Key words microcontroller; Proteus; software; keil c
1 傳統(tǒng)單片機(jī)教學(xué)中的弊端
目前很多高職院校均開設(shè)了單片機(jī)專業(yè)課程,但在單片機(jī)實(shí)際教學(xué)過(guò)程中尤其在實(shí)驗(yàn)教學(xué)環(huán)節(jié)存在很多問(wèn)題,主要表現(xiàn)在以下幾個(gè)方面:(1)傳統(tǒng)的單片機(jī)課堂教學(xué)大多數(shù)情況下以理論教學(xué)為主,理論教學(xué)進(jìn)行過(guò)程中會(huì)穿插幾次實(shí)驗(yàn),在實(shí)驗(yàn)過(guò)程中需要很多硬件設(shè)備,老師在理論教學(xué)中很難輔助硬件進(jìn)行教學(xué),即使有的老師能當(dāng)場(chǎng)硬件演示,但是效果也不是很好。(2)傳統(tǒng)的單片機(jī)基礎(chǔ)實(shí)驗(yàn)教學(xué)平臺(tái),由于價(jià)格昂貴,除了課程規(guī)定的實(shí)驗(yàn)教學(xué)時(shí)間,學(xué)生平時(shí)難得有機(jī)會(huì)再去實(shí)驗(yàn)室,并且傳統(tǒng)的單片機(jī)實(shí)驗(yàn)設(shè)備都是事先設(shè)計(jì)好的成品,學(xué)生只能做點(diǎn)連線實(shí)驗(yàn),對(duì)于基本細(xì)節(jié)設(shè)計(jì)學(xué)生很難參與其中,因此,即便有單片機(jī)實(shí)驗(yàn),學(xué)生的動(dòng)手能力也很難提高。(3)傳統(tǒng)實(shí)驗(yàn)配套的實(shí)驗(yàn)設(shè)備大多數(shù)采用實(shí)驗(yàn)箱,對(duì)于學(xué)生來(lái)說(shuō)能做的實(shí)驗(yàn)項(xiàng)目是有限的并且是固定的,學(xué)生沒(méi)有自由發(fā)揮的余地,并且設(shè)備出問(wèn)題很難維修。(4)傳統(tǒng)的單片機(jī)實(shí)驗(yàn)室建設(shè)成本高,隨著時(shí)間的推移,實(shí)驗(yàn)設(shè)備不斷老化,更換新的設(shè)備又得投入大量的資金。針對(duì)上述問(wèn)題綜合分析利用Proteus與Keil兩款軟件聯(lián)合構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室能很好地解決傳統(tǒng)單片機(jī)教學(xué)中的上述問(wèn)題,并且能使每個(gè)學(xué)生人人都可以擁有自己的“實(shí)驗(yàn)室”,實(shí)驗(yàn)內(nèi)容可以自由發(fā)揮。
2 構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室的方法
(1)Proteus和Keil C軟件簡(jiǎn)介。Proteus是英國(guó)Labcenter公司開發(fā)的實(shí)物仿真與電路分析軟件。它在Windows操作系統(tǒng)上運(yùn)行,該軟件不但能仿真單片機(jī)CPU的工作情況,而且能仿真單片機(jī)外圍電路或其它電路的工作情況,該軟件提供了30種元件庫(kù),數(shù)千種元件,元件有各種模擬器件和集成電路,該軟件還提供了大量的儀表資源以及豐富的測(cè)試信號(hào)用于電路測(cè)試。Keil C是德國(guó)Keil公司開發(fā)的單片機(jī)編譯器,該軟件是目前單片機(jī)開發(fā)的最好用的工具之一,它不僅可以用來(lái)編譯匯編源程序,而且還可以編譯C源代碼,用該軟件連接和重定位目標(biāo)文件和庫(kù)文件并且創(chuàng)建HEX文件、調(diào)試目標(biāo)程序,它是一款集成化的文件管理編譯環(huán)境。
(2)如何使用Proteus和Keil C兩款軟件建立虛擬實(shí)驗(yàn)室呢?方法如下:
首先安裝Proteus和Keil C兩款軟件,這兩種軟件都在各自的環(huán)境下都可以進(jìn)行一定程度的調(diào)試,但是Proteus軟件只能對(duì)硬件進(jìn)行調(diào)試,不能直觀地看到軟件運(yùn)行的過(guò)程,而Keil C也只能對(duì)程序進(jìn)行調(diào)試,不能看到硬件的運(yùn)行結(jié)果。如果把這兩種軟件聯(lián)合起來(lái),既能看到軟件運(yùn)行的結(jié)果,又能觀察到硬件運(yùn)行的情況,這樣學(xué)生學(xué)習(xí)起來(lái)非常直觀方便。設(shè)計(jì)結(jié)果一目了然。其次是實(shí)驗(yàn)教學(xué)設(shè)計(jì),單片機(jī)實(shí)驗(yàn)一般情況是老師下發(fā)的驗(yàn)證性的實(shí)驗(yàn)或是設(shè)計(jì)性實(shí)驗(yàn),如果是驗(yàn)證性實(shí)驗(yàn)學(xué)生按照老師設(shè)計(jì)好的電路從Proteus元件庫(kù)中找出相應(yīng)的元件完成電路設(shè)計(jì),并把教師下發(fā)的程序在Keil C中進(jìn)行編譯調(diào)試并把生成的HEX文件應(yīng)用于單片機(jī)CPU中進(jìn)行驗(yàn)證。而設(shè)計(jì)性實(shí)驗(yàn)要求學(xué)生自行設(shè)計(jì)電路,自行編寫程序來(lái)驗(yàn)證設(shè)計(jì)電路的合理性。
圖1
(3)教學(xué)設(shè)計(jì)實(shí)例。下面利用ATC89C51及LCD設(shè)計(jì)一電子秒表介紹利用Proteus與Keil C聯(lián)合仿真,首先在Proteus中設(shè)計(jì)如圖1所示電路。
然后在Keil C中編寫如下源程序部分內(nèi)容如下:
//**************數(shù)碼管顯示函數(shù)*******************
void display(uchar qian,uchar bai,uchar shi,uchar ge)
{
P1=0xfe;
P0=table[qian];
delay(2);
P1=0xff;
P1=0xfd;
P0=table[bai]|0x80;
delay(2);
P1=0xff;
P1=0xfb;
P0=table[shi];
delay(2);
P1=0xff;
P1=0xf7;
P0=table[ge];
delay(2);
P1=0xff;
}
//**************延時(shí)函數(shù)(ms)****************
void delay(uint t)
{
uint i;
while(t--)
for(i=90;i>0;i--);
}
然后在Keil C中編寫如下源程序部分內(nèi)容如下:
編譯生成HEX文件,并將該HEX文件載入單片機(jī)中,運(yùn)行電路后就可以看到一電子秒表了。
3 單片虛擬實(shí)驗(yàn)室總結(jié)
利用Proteus 仿真軟件和Keil聯(lián)合搭建單片機(jī)虛擬實(shí)驗(yàn)室,不但可以觀察和仿單片機(jī)內(nèi)部資源的變化,而且能夠在程序調(diào)試中觀察單片機(jī)外圍電路的變化情況,這樣使得硬件電路和軟件程序互動(dòng)起來(lái),真正實(shí)現(xiàn)了軟硬件協(xié)同工作共同仿真,設(shè)計(jì)效果明顯。