田 嵩 ,紀 鵬,祁文青
(湖北理工學院 計算機學院,湖北 黃石 435003)
基于EDA仿真軟件的單片機實踐教學改革探索
田 嵩 ,紀 鵬,祁文青
(湖北理工學院 計算機學院,湖北 黃石 435003)
根據(jù)單片機理論教學和實踐教學的現(xiàn)狀,結(jié)合EDA仿真軟件在單片機實踐教學中的應用情況,探討了利用EDA仿真軟件進行單片機實驗教學改革的優(yōu)勢。通過選擇合適的EDA軟件進行單片機教學改革創(chuàng)新,取得了良好的教學效果,提高了學生的動手能力和創(chuàng)新能力。
EDA;仿真技術(shù);Proteus;KEIL
隨著高校體辦學模式制以及社會需求的不斷變化,高校越來越重視對學生綜合素質(zhì)的培養(yǎng)。培養(yǎng)應用型人才是應用型本科院校辦學的目標,培養(yǎng)學生的實踐應用能力是應用型人才培養(yǎng)的重要任務。筆者根據(jù)在單片機課程教學中總結(jié)的經(jīng)驗以及傳統(tǒng)教學過程中存在的問題和弊端,結(jié)合EDA仿真軟件在硬件仿真中的使用和實驗的可行性[1],將EDA仿真軟件應用于單片機的實踐教學改革中,在相關課程的具體實驗教學中取得了良好的效果,學生的動手能力和創(chuàng)新能力也得到了明顯地提高。
在計算機、機電、電氣等專業(yè)中單片機課程是一門專業(yè)必修課程,該課程內(nèi)容還涉及到單片機應用和單片機控制等相關課程。單片機是一種面向控制的大規(guī)模集成電路芯片,教學中存在很多的難點。在傳統(tǒng)的理論教學中,單片機課程通過文字和圖片等形式進行教學,學生在學習過程中缺乏對單片機系統(tǒng)構(gòu)造和連線的認識,而通過仿真軟件的現(xiàn)場連線設計和單片機總線的鏈接,則有利于學生更好地掌握理論知識。
在傳統(tǒng)的實踐教學中,一般依賴于實驗箱進行教學,例如我校計算機學院在過去的單片機實驗課程中,使用的教學實驗箱是啟東DICK-K51專用單片機實驗箱,在這個實驗箱中,可以采用硬件實驗和軟件實驗2種方式。軟件實驗可以鞏固單片機課堂中匯編和C語言的學習成果,讓學生了解在匯編語言環(huán)境下的基本匯編指令,比如清零程序、拆字程序、拼字程序、數(shù)據(jù)區(qū)傳送子程序等,有相應的窗口可查看實驗結(jié)果,讓學生可以很好地掌握課堂知識。在硬件實驗中,如P1口亮燈實驗、轉(zhuǎn)彎燈實驗以及工業(yè)順序控制實驗等,也可通過實物小燈閃亮的情況讓學生將程序的驅(qū)動具體到實物,有很強的視覺效果,但是在實際操作過程中,學生缺乏單片機開發(fā)的設計思路和學習理念,且存在設備容易損壞、不易維修以及成本高等問題?;诖?,筆者結(jié)合在過去實踐教學中存在的問題以及仿真軟件的便利性,探索一種基于EDA的教學模式,將EDA仿真軟件和實踐教學有機地結(jié)合起來,進行了單片機教學改革創(chuàng)新,取得了良好的教學效果。
2.1 EDA在仿真教學中的作用
傳統(tǒng)的電子產(chǎn)品設計主要依靠設計者手動設計,要求設計者有較高的繪圖水平,隨著電子軟件的不斷發(fā)展,EDA技術(shù)的出現(xiàn)給電子設計帶來了嶄新的一面。EDA是電子設計自動化(Electronic Design Automation)的縮寫,它是融合了計算機技術(shù)、智能化信息技術(shù)以及應用電子技術(shù),并隨著這些技術(shù)的發(fā)展而發(fā)展起來的。由于使用了EDA工具,產(chǎn)品設計師可以從協(xié)議、算法、概念等方面開始設計芯片和電子系統(tǒng)以及內(nèi)部的連接系統(tǒng),并可以將電子產(chǎn)品從性能分析、電路設計到設計出IC版圖或PCB版圖的整個過程在計算機上自動處理完成[2]。
2.2單片機教學改革中PROTEUS的使用
在全球廣泛使用的PROTEUS軟件是來自英國Labcenter Electronics公司的EDA工具軟件,采用PROTEUS作為單片機教學改革的軟件,首先是由于它除了具有處理EDA設計的相關功能外,還具備設計單片機和外圍仿真電路的功能,在單片機的實驗教學中起著舉足輕重的作用。其次,采用PROTEUS還便于教師在有限的實踐教學學時內(nèi)進行系統(tǒng)的教授,學生對課程內(nèi)容也比較容易掌握。而且PROTEUS還便于開發(fā)和維護,它是目前世界上唯一將虛擬模型仿真軟件、PCB設計軟件和電路仿真軟件三合一的設計平臺,其模型處理器支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并仍在持續(xù)增加其他系列處理器模型。PROTEUS在編譯中支持MPLAB、KEIL和IAR等多種編譯器[3],支持KEIL也具備很多的優(yōu)點,KEIL在單片機高級語言的設計中,具有開發(fā)容易和編譯簡單的特點,PROTEUS也是在KEIL的基礎上進行仿真和開發(fā)的,因此,單片機實驗教學改革是采用PROTEUS作為開發(fā)工具。
2.3基于EDA的單片機實踐教學改革的可行性分析
在單片機實踐教學改革中,主要從硬件和軟件以及學生接受等方面分析其可行性。不僅要考慮教學改革中的成本還要考慮軟件的開發(fā)性和可移植性,同時實驗器材的可維護性也很重要,在教學中還要注重學生對實驗的興趣以及教學改革對學生創(chuàng)新能力的培養(yǎng)。
1)硬件方面。在過去的單片機實驗教學中,實驗室里每臺計算機需要配置一臺DICE-K51的單片機實驗箱,在實驗箱中可以完成相關的實驗,其中包括軟件實驗和硬件實驗,但這樣的硬件環(huán)境存在實驗箱笨重、容易損壞等缺點。例如在實驗課中經(jīng)常出現(xiàn)仿真串口不能正常連接的情況,易打消學生的學習積極性。而且在該實驗箱的教學中,教學器材已將實驗項目內(nèi)部連接線完全連接好,在驅(qū)動實驗中,也只需將接口中的連接線連接好,操作過于簡單,不便于學生發(fā)揮主觀能動性,也不便于學生更好地了解單片機的基本構(gòu)造和原理。傳統(tǒng)的教學實驗箱還存在成本高和不易維護等缺點。為了便于教學,在上學期的實驗教學中(包括本科和???,筆者結(jié)合EDA仿真軟件對單片機實驗教學進行了改革,從學生的學習態(tài)度和學習效果來看,改革取得了良好的成效。
2)軟件方面。在單片機仿真教學中,采用PROTEUS軟件和KEIL-C軟件作為教學改革的軟件平臺。在KEIL-C中用高級語言進行程序的設計與開發(fā),KEIL通過一個集成開發(fā)環(huán)境(uVision)將宏匯編、C編譯器、庫管理、連接器和仿真調(diào)試器等整合在一起,在WINDOWS XP以上的開發(fā)環(huán)境中都可以運行。KEIL-C可以使用C語言進行開發(fā),使學生能夠較全面地鞏固和應用匯編語言編程方面的理論知識,并且在KEIL-C的環(huán)境中,可以驅(qū)動PROTEUS的仿真程序,實現(xiàn)仿真效果,使用PROTEUS 軟件進行微機仿真設計,實現(xiàn)計算機多媒體技術(shù)和虛擬仿真技術(shù)的有機結(jié)合,有利于培養(yǎng)學生的動手能力和實際開發(fā)的能力[4]。
在“單片機原理與應用”和“單片機應用技術(shù)”這2門課程的理論教學改革中,除了結(jié)合PPT講解以外,還在課堂中穿插了PROTEUS軟件的學習。在講授PROTEUS軟件時,先用案例教學的方式激發(fā)學生的學習興趣,然后講授在PROTEUS中各個部件的代號和畫法,再從背景的設置等方面展開PROTEUS軟件的學習。例如在講解完基本組成、雙列直插式引腳以及總線的連接后,直接在PROTEUS中教授ATM89C51的放置以及引腳的功能[5],通過放大電路圖來深入講解,可大大提高學生的學習興趣。
在程序的開發(fā)和設計中,采用KEIL-C作為開發(fā)工具進行匯編語言和C語言的開發(fā)和驅(qū)動,通過界面可以了解PC的運行情況以及寄存器的分布和存儲情況,同時可以連接到PROTEUS進行驅(qū)動和仿真,大大提高了學生的學習興趣。
除了對理論教學進行了一些改革之外,在實踐教學的改革中也使用了仿真軟件,學生在理論課學習仿真軟件的基礎上,通過實踐教學鞏固課堂所學單片機原理的理論知識,學生的程序編寫能力以及單片機開發(fā)能力也明顯得到提高。通過PROTEUS將開發(fā)過程具體細化,進一步鞏固了學生的動手能力,學生的學習能力和開發(fā)能力也有較大提高。
在本科教學的實踐教學改革中,實驗學時占16個學時,分為8個實驗。每個實驗都結(jié)合EDA仿真軟件實現(xiàn),在前期的實踐教學中讓學生熟練掌握KEIL-C的設計軟件,熟練應用C語言進行程序的設計和調(diào)試,在后期的設計中學生需學會使用KEIL-C進行仿真驅(qū)動,要求電路能在PROTEUS的環(huán)境下設計成功,并能通過驅(qū)動模擬單片機運行的結(jié)果。例如“0~99計數(shù)器”的實驗項目,在該實驗中要實現(xiàn)仿真LED顯示器進行加1和減1的功能,以下通過該案例說明改革的效果。
在PROTEUS環(huán)境下的仿真設計圖如圖1所示,在該環(huán)境下測試連線沒有問題之后,即可對程序進行調(diào)試和驅(qū)動。
圖1 在PROTEUS環(huán)境下的仿真設計圖
其次,在KEIL的環(huán)境下進行源代碼驅(qū)動的編寫如下:
#include "reg51.h"
#define uint unsigned int
#define uchar unsigned char
sbit p21=P2^1;
sbit p20=P2^0;
uchar count;
uchar counth,count1;
const uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay()
{
uint i;
for(i=0;i<244;i++);
}
void it0() interrupt 0using 1
{
count++;
if(count==100)
{
count=99;
}
}
void it2() interrupt 2using 2
{
if(count !=0)
{
count--;
}
}
void main()
{
IT0=1;
IT1=1;
EA=1;
EX0=1;
EX1=1;
PX1=1;
while(1)
{
counth=count / 10;
count1=count % 10;
P1=tab[counth];
p21=1;
delay();
p21=0;
P1=tab[count1];
p20=1;
delay();
p20=0;
}
}
將其調(diào)試成功并燒錄成HEX程序。
最后,將燒錄好的程序在PROTEUS的環(huán)境下進行仿真驅(qū)動,仿真的效果圖如圖2所示。
圖2 仿真的效果圖
該單片機實驗通過仿真圖文并茂地展現(xiàn)了實驗結(jié)果,取得了良好的教學效果,學生的動手能力和創(chuàng)新能力也得到了明顯地提高。
[1] 李燕.微機原理與接口實驗模式的改革與實現(xiàn)[J].湘潭師范學院學報,2007(4):83-85.
[2] 丁永軍,蘭才會,張晶晶.EDA技術(shù)與開啟EDA教學[J].甘肅高師學報,2006(2):71-72.
[3] 劉心紅,郭福田,孫振興,等.Proteus仿真技術(shù)在單片機教學中的應用[J].實驗技術(shù)與管理,2007(3):96-98.
[4] 喬建華,李臨生,田啟川.Proteus在單片機教學中的應用分析[J].電氣電子教學學報,2008(6):70-73.
[5] 許文斌.Proteus軟件在單片機系統(tǒng)仿真實驗教學中的應用[J].商業(yè)經(jīng)濟,2006(3):90-93.
(責任編輯高嵩)
Exploration on Reform of Experimental Teaching ofMicrocomputer Principle Based on EDA
TianSong,JiPeng,QiWenqing
(School of Computer,Hubei Polytechnic University,Huangshi Hubei 435003)
According to the present situation of theory teaching and practical teaching of SCM,combined with the application of EDA simulation software in SCM practical teaching,this paper discusses the advantages of the reform of practical teaching by using EDA simulation software.The good teaching result has been achieved by selecting the suitable EDA software to reform the SCM teaching and accordingly the students' practical and originative ability have been improved.
EDA;simulation technology;Proteus;KEIL
2013-12-02
湖北理工學院校級青年項目(項目編號13xjz060);2014年湖北省教育科學“十二五”規(guī)劃研究課題立項項目。
田嵩(1981— ),女,講師,碩士。
10.3969/j.issn.2095-4565.2014.04.018
G642.0
A
2095-4565(2014)04-0067-04