劉祎 佘勃 張金花
【摘 要】本文分析了單片機教學現狀,提出基于proteus 和keil聯合仿真的單片機課程教學。Proteus的引入能很好地提高單片機教學效果,實現理論實踐教學高度結合,實現“教學做”一體化,促進單片機教學改革。
【關鍵詞】proteus;keil;教學做一體化
中圖分類號: TP391.9 文獻標識碼: A 文章編號: 2095-2457(2017)20-0063-002
Application of Proteus and Keil Co - simulation in Single Chip Microcomputer Teaching
LIU Yi SHE Bo ZHANG Jin-hua
(School of Mechanical and Electrical Engineering,Suqian University,Suqian Jiangsu 223800,China)
【Abstract】This paper analyzes the status quo of single-chip teaching, proposed based on proteus and keil joint simulation of SCM teaching.The introduction of Proteus can improve the teaching effect of SCM,realize the combination of theory and practice teaching, realize the integration of "teaching" and promote the reform of SCM.
【Key words】Proteus;Keil;Teaching to do integration
單片機原理及應用課程是電子、自動化、機電、通信等專業的重要專業基礎課,具有很強的理論性和實踐性,且與后續專業課程、課程設計和畢業設計的聯系非常緊密,應用領域廣,實用性強。但是教學中學生普遍感到難學,主要表現在課程內容抽象、邏輯性強,教學過程極易陷入難教、難學的境地并形成惡性循環。基于諸多原因,大學單片機教學的效果并不理想,該課程的教學目標很難實現。
1 目前教學現狀
1.1 理論教學內容抽象
單片機原理及應用課程的教學目標是使學生掌握單片機的結構、工作原理、尋址方式、指令系統,能進行硬件接口和應用程序的設計及對常用的單片機設備進行調試,并能設計實際應用產品。在理論教學過程中有許多知識點較抽象難以用語言解釋清楚,例如學生搞不懂單片機是怎么工作的,指令是怎么運行的,定時計數器怎么才能工作等等。雖然借助PPT這樣的教學手段增加了信息量,可對于學生來說,對這門抽象性的課程依舊聽的云里霧里的。
1.2 實驗多為驗證性實驗
實驗教學大多只是利用現有的實驗箱做一些驗證性實驗,實驗箱的硬件電路已經固化,學生只是按指導書上的說明通過導線進行硬件電路連接,然后編寫程序做一些驗證性的實驗,實際上對整個實驗過程理解并不透徹,做完實驗有時仍不知所云。
1.3 理論與實踐分離
傳統單片機教學采用“理論+實驗”的教學模式,先理論后實驗,理論以單片機硬件結構為主線展開,內容抽象,不易理解。實驗先做軟件編程實驗再做硬件編程實驗,這樣下來,學生普遍感到難學,難以激發學生學習單片機的興趣和自主性。
2 proteus和keil軟件的引入
Proteus軟件是英國Labcenter公司開發的一款仿真平臺軟件,可以對多款2單片機及相關接口芯片提供支持,支持keil等第三方編譯開發軟件,是一個全開發性的仿真實驗平臺。
Keil是單片機集成開發系統平臺,支持51單片機的所有兼容機,提供包括C編譯器、宏匯編、連接器及仿真調試器的完整開發方案,這軟件不需要連接硬件可直接進行純軟件仿真,能生成燒錄到芯片所需的.hex文件。
proteus、keil[1][2]軟件的系統軟硬件聯合仿真實現了理論知識、實踐教學的高度結合,優化了教學過程。
3 proteus、keil聯調仿真在教學上的應用
通過proteus和keil的設計仿真平臺,學生既能學習單片機應用系統原理接線又能學習軟件調試方法。
3.1 proteus仿真在理論教學中的應用
3.1.1 進行基于proteus仿真的現場教學
單片機課程涉及軟硬件學習,內容抽象不易理解,教師在進入課堂之前可以針對這些難懂的內容設計模型,在單片機課堂教學中使用proteus和keil的仿真設計平臺,可以在講授理論知識點后在proteus軟件中設計硬件電路,在keil軟件中編寫程序調試生成.hex文件,再進行聯合仿真,觀察仿真結果。學生通過投影儀可以直觀的看到整個系統的設計和仿真效果,這樣增強了單片機教學的直觀性。
proteus軟件對硬件設備要求不高,不僅可方便在教室多媒體上安裝,學生也可以在自己的電腦上便捷安裝。在課堂教學過程中學生可以自帶電腦跟隨教師一起做仿真,學生可以在keil軟件中可以觀察執行過程中寄存器、存儲器中內容的變化和程序的運行過程,這樣將抽象的內容形象化了,學生也感受到了單片機的神奇,激發學生學習的興趣和主動性,實現了“教學做”[3]一體化。
3.1.2 建設基于實例的仿真模型
基于proteus仿真平臺的單片機運用讓學生有機會從運用中學習,從而幫助并提高了學生運用單片機的信心和能力。另外采用proteus仿真可以節約實物成本和制作實物的時間。例如實例“初識單片機IO口”的仿真過程可以讓學生更加直觀的生動的理解單片機的IO口。endprint
{1}進行軟件設計
在keil u-vision3集成環境中進行程序的編寫,命名為led.c,并保存。
#include
sbit L1=P2^0;
void delay02s(void)
{ unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
void main(void)
{while(1)
{L1=0;
delay02s();
L1=1;
delay02s();
}
}
由于keil在默認狀態下不生成HEX文件,要在源程序編譯后產生HEX文件,需要在”Project”下拉菜單中選擇“Option for Target”對話框,在對話框中選中“Out put”的“Create Hex File”選項。這樣編譯程序后就會生成led.hex文件了[4]。
{2}進行硬件設計,裝載程序進行聯調
點擊proteus軟件啟動界面的“P”按鍵,打開“Pick Device”對話框,從原件庫中選取所需的元器件,點擊OK按鈕完成元器件的添加,接著在proteus中完成各器件的連接。雙擊AT89C51元件,將led.hex裝載加載到單片機中,點擊運行控制按鈕,觀察結果。其仿真圖如圖1所示。從仿真圖中可以看到LED燈在不停的閃爍,由于單片機IO口電平發生變化引起了LED燈亮滅。通過這個實例讓學生直觀理解IO口。
3.2 proteus仿真在實踐中的應用[5]
proteus仿真引入到實驗教學中,學生可以自主搭建實驗電路,跳出了實驗箱固有電路的束縛,避免了由于實驗箱的損壞而錯失實驗的機會。自主搭建電路做仿真更有利于學生掌握單片機系統設計原理。
proteus仿真引入到實驗教學中,能讓平時一些開展起來效果不好的實驗項目順利的開展起來。例如在實驗箱中做的驗證性實驗“點亮數碼管”實驗中,在實驗箱中使用了數碼管驅動芯片ZLG7289,而這一部分程序進行了集成封裝,使得學生做這個實驗時總是弄得似懂非懂的。有了proteus仿真平臺,學生就可以自己去進行硬件設計進行仿真,讓學生對單片機控制數碼管理解的透徹些。
4 結束語
Proteus軟件作為教學手段應用到單片機教改中,可以增強學生對理論知識的理解,激發學生學習的興趣,提高學生單片機系統設計能力,應用實踐能力,培養單片機應用型人才。
【參考文獻】
[1]杜樹春.基于proteus和keil的單片機設計與仿真[M].北京:電子工業出版社,2012.
[2]汪寧.PROTEUS軟件的單片機仿真方法[J].山東輕工業學報,2007,21(1):24-27.
[3]李紹靜.基于案例驅動的單片機教學模式研究[J].信息技術,2013(4):59-62.
[4]宋劍英,石從剛.基于proteus的“學教做合一”高職教材建設——以單片機應用建設為例[J].青島職業技術學院學報,2014(2):58-61.
[5]劉光平,陳紅仙,鐘平.proteus在單片機實驗教學中的應用[J].計算機教育,2015(17):103-106.