彭莉

摘?要:單片機作為一門純工科類課程,對學生的邏輯思維與學習背景都有著嚴格的要求,再加上單片機的理論知識具有較高的抽象性,在教學過程中潛移默化的加大了學生的學習難度,單片機過長的學習周期與對枯燥乏味的基礎知識的學習也會在一定的程度上打擊學生的學習積極性。本文分析了單片機課程的教學現狀,倡導通過實際案例,利用Proteus與Keil軟件的實踐運用來展現單片機課程的魅力所在,旨在加強學生的學習興趣,促進學生學習積極性的提升。
關鍵詞:Proteus;Keil;單片機教學
引言
單片機課程具有非常強的理論性與實踐性,并與專業后續課程教學的開展實施有著緊密的聯系,具有較強的實用性,其應用范圍也非常的廣泛。隨著“物聯網+”概念的提出,近年來世界各國都加大了對物聯網的研究,并在智能交通、環境監測、樓宇燈光等方面有了可觀的成效。物聯網的實現離不開單片機技術,因此,單片機課程除了在工科院校的電子類專業開設有以外,越來越多的工科專業也開始將單片機作為專業必修課程。雖然單片機在實踐中的應用非常廣泛,但與此同時,在單片機的教學過程中也出現了許多現實問題。
單片機作為一門工科類課程,在教學的實施過程里,教師通常是以課件與教材宣講的方式來講解基礎內容,加上單片機的原理與基礎內容知識具有較高的抽象性,學生在學習單片機的初期會遇到很多困難,學習周期也相對較長,學習過程也非常的枯燥。單片機基礎知識的具體化實現也較為困難,在傳統的教學中,單片機教學中的實踐環節需要使用到硬件試驗箱,這就意味著校方既要采購大量設備,又要開展設備維護工作,增加了教學成本與實驗成本。還會導致實驗內容單一,缺乏靈活性和創新性,不利于學生發散思維的培養。
Proteus與Keil軟件的出現,完美的解決了實驗器材稀缺的問題,讓學生與教師能夠在這兩個軟件上面進行仿真實驗,實現實踐操作的練習。雖然在單片機的教學過程中,基礎知識與課本上的案例非常的枯燥與抽象,而一旦在軟件中實現,就會變得有趣,變得直觀。
1.Proteus和Keil
Proteus和Keil是實現單片機仿真教學的重要軟件,Proteus源于英國的Lab center公司,是一款EDA工具軟件,同時這也是一款單片機愛好者、單片機專業教師、單片機開發者們所青睞的軟件。Proteus軟件既能夠滿足原理圖的設計與電路的分析,還能夠有效的達成外圍電路與軟件程序的程序調試,Proteus是一個三合一的軟硬件設計平臺,囊括了PCB設計軟件、虛擬模擬型仿真軟件與電路仿真,也是當前單片機系統設計與開發的最佳仿真平臺,Proteus還能實現第三方編譯的功能,并為其提供調試環境,包括Keil、IAR與Wave6000等軟件。
Keil軟件源于美國,是由Keil Software公司所開發的一套基于51單片機系列的單片機使用C語言進行編程的系統。由于C語言相較于匯編語言,具有更多的優勢與特性,所以既容易學習,又方便使用。與此同時,Keil具備宏匯編、庫管理、C編譯器、連接器與仿真調試器在內的諸多功效,這些部分的組合依靠于一個集成開發環境。通過有效的對Proteus和Keil進行結合,用Keil來編寫程序,用Proteus進行仿真實驗,將Keil中所編寫的程序編譯為芯片所需要的Hex文件,嵌入仿真電路圖中,實現單片機的各種功能。
2.教學案例
單片機的教學過程雖然較為枯燥,但單片機的仿真實驗卻是一個非常有趣的過程。每一個案例都會涉及到許多的知識點,也有其自身的趣味性。本次選用的教學案例是通過Keil軟件來編程,通過Proteus軟件來繪制仿真電路圖,實現數碼管數字顯示的循環變化,在點擊運行按鈕以后,數碼管中數字的顯示從0到F循環變化。
2.1 原理圖的畫法與軟件程序的編寫
單片機課程的教學既涉及到了硬件設計的知識,又牽扯到了軟件設計的知識,因此硬件原理圖的畫法與軟件編程是單片機教學中的兩個基本點。在Proteus中畫硬件圖時首先要導入相關的元件庫,導入庫后在Pick Devices中搜索相關聯的元件,本次需要的元件包括電源、接地線、LPC124、74HC573、電阻以及數碼管,按照書中的案例或相關要求畫好硬件原理圖。
在Keil中編寫軟件程序,首先需要打開Keil軟件,新建工程,再保存到相應的目錄,之后開始新建項目并添加到工程中,在軟件書寫完畢后進行編譯,編譯無錯誤后在導出程序的Hex文件,添加到Proteus的原理圖中,點擊運行。
2.2 Proteus與Keil的調試
(1)按照要求在Proteus軟件中畫好仿真原理圖,并使用Keil按照步驟完成軟件程序的編譯,生成Hex文件,并添加到程序中。
(2)在Proteus的仿真環境里將文件下載到LPC2124單片機里。
#include"LPC21xx.h"
const unsigned char LEDSEGCODE[]=
{
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71
};
void Delay_250uS(void)
{
unsigned int i;
i=900000;
while(i--);
}
int main(void)
{
unsigned int j = 0;
PINSEL0=0x00000000;
PINSEL1=0x00000000;
IO0DIR|=(0xFFFF<<0);
while(1)
{
IO0CLR|=0xFF;
IO0SET=(LEDSEGCODE[j]<<0);
j++;
if(j==16)j=0;
Delay_250uS();
}
}
結束語
本次教學案例結合了Proteus與Keil的使用,能夠直觀的讓學生感受到單片機知識的學習與仿真實驗的樂趣,加強學生的學習積極性。Proteus與Keil軟件的出現有效的降低了教學成本與實驗成本,還能夠讓學生與教師進行各種不同的仿真實驗,靈活的實現了單片機教學中的實踐操作環節,而且Proteus與Keil軟件具有很高的容錯性。使用Proteus與Keil軟件既能加強鞏固學生的理論知識,還能增強學生的實踐操作能力,為后續課程的開展打下了堅定的基礎。因此,Proteus與Keil軟件應當作為單片機課程教學過程中的軟件基礎,成為單片機教學中的基礎的教學軟件。
參考文獻
[1]?楊艷霞,張妮.Proteus+keil在單片機教學中的應用[J].電子測試,2020(09):131-132.
[2]?朱品偉,趙俊杰.Proteus仿真軟件在單片機教學改革中的應用[J].江蘇理工學院學報,2017,23(04):119-123.
[3]?王影,劉麒,高德辛,倪晉超,楊斌,李碩.基于現場教學的單片機教學改革[J].吉林化工學院學報,2017,34(08):29-33+37.
[4]?周偉輝,周亞平,萬心悅,雷伯錄.基于虛擬仿真技術的《單片機原理與技術》的教學改革探析——以東華理工大學長江學院為例[J].南方農機,2020,51(03):159-160.
[5]?張新亮.信息化時代背景下物聯網技術在單片機教學中的創新應用[J].課程教育研究,2019(46):28-29.