吳國文
廣州科技職業(yè)技術(shù)學(xué)院汽車工程系 510550
Wu Guo Wen
Guangzhou Vocational College at Science and Technology Automotive Engineering Zhongluotan 510550Baiyun Guangzhou
基于Proteus與Keil的單片機(jī)項(xiàng)目式教學(xué)法
吳國文
廣州科技職業(yè)技術(shù)學(xué)院汽車工程系 510550
Wu Guo Wen
Guangzhou Vocational College at Science and Technology Automotive Engineering Zhongluotan 510550Baiyun Guangzhou
針對(duì)高職院校單片機(jī)課程實(shí)踐性強(qiáng),實(shí)驗(yàn)設(shè)備有限的情況下,為了改進(jìn)單片機(jī)課程的教學(xué)效果、培養(yǎng)學(xué)生學(xué)習(xí)單片機(jī)的興趣及創(chuàng)新能力、實(shí)驗(yàn)技能,采用了基于Proteus與Keil的單片機(jī)項(xiàng)目式教學(xué)方法,通過Proteus與Keil的單片機(jī)項(xiàng)目設(shè)計(jì)與仿真,提高了單片機(jī)項(xiàng)目設(shè)計(jì)效率,獲得了很好的經(jīng)濟(jì)性、靈活性。
單片機(jī); Proteus;Keil;項(xiàng)目式教學(xué)
single-chip; Proteus;Keil; Project-based Teaching;simulation
單片機(jī)是一門實(shí)踐性環(huán)節(jié)很強(qiáng)的課程,但傳統(tǒng)的單片機(jī)教學(xué)多以理論教學(xué)為主,實(shí)驗(yàn)教學(xué)為輔,理論與實(shí)踐相脫節(jié),在理論教學(xué)上,單片機(jī)的原理、硬件電路圖的分析及程序上的分析都是局限于以多媒體的形式展現(xiàn)在屏幕上,教學(xué)過程中學(xué)生會(huì)感覺枯燥抽象,難以理解和掌握,并且因而失去學(xué)習(xí)的興趣,當(dāng)上完相應(yīng)理論知識(shí)后,才回到實(shí)驗(yàn)教學(xué)的課堂上,而實(shí)驗(yàn)教學(xué)也大多是基于單片機(jī)實(shí)驗(yàn)箱的驗(yàn)證性實(shí)驗(yàn),學(xué)生難以體會(huì)一個(gè)單片機(jī)系統(tǒng)開發(fā)的軟件、硬件設(shè)計(jì)的細(xì)節(jié)與流程,學(xué)生的思維得不到拓展和發(fā)揮,另外,采用實(shí)驗(yàn)箱或?qū)嶒?yàn)板加硬件仿真器設(shè)備,也大大增加設(shè)備的維護(hù)工作及經(jīng)費(fèi)的投入,Proteus與Keil軟件的出現(xiàn),解決了這些問題,在課堂教學(xué)上采用了基于Proteus與Keil的單片機(jī)項(xiàng)目式教學(xué)方法[1,2]。
Proteus軟件是由英國Labcenter Electronics公司開發(fā)的EDA工具軟件,該軟件集成了高級(jí)原理布圖、混合模式SPICE電路仿真、PCB設(shè)計(jì)以及自動(dòng)布線來實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)系統(tǒng)。它是一種混合電路仿真工具,包括模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的仿真等。Proteus軟件由ISIS和ARES兩個(gè)軟件構(gòu)成,其中ISIS是一款便捷的電子系統(tǒng)仿真平臺(tái)軟件,ARES是一款高級(jí)的布線編輯軟件。ISIS是一個(gè)操作簡便且功能強(qiáng)大的原理繪圖工具,它整合了SPICE的仿真模型,擁有超過8000個(gè)元件的龐大庫結(jié)構(gòu)。Proteus支持許多通用的微控制器,如PIC系列、AVR系列、8051系列等;同時(shí)它還支持ARM、PLD及各種外圍芯片的仿真,如基于HD44780芯片的字符LCD、RAM等;具有單步運(yùn)行、斷點(diǎn)設(shè)置等調(diào)試功能;有直流電流表/電壓表、交流電壓表/電流表、示波器邏輯分析儀、頻率計(jì)等虛擬儀器,為仿真中的測(cè)量記錄提供了方便[3,4]。
隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。KEILC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時(shí)保留了匯編代碼高效,快速的特點(diǎn)。C51已被完全集成到uVision3的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含編譯器、匯編器、實(shí)時(shí)操作系統(tǒng)、項(xiàng)目管理器和調(diào)試器??蔀樗鼈兲峁﹩我欢`活的開發(fā)環(huán)境[5]。
下面以 “基于AT89C51單片機(jī)搶答器的設(shè)計(jì)”為例,說明使用Proteus和Keil軟件進(jìn)行單片機(jī)項(xiàng)目系統(tǒng)設(shè)計(jì)和仿真的過程。
2.1 硬件設(shè)計(jì)[6]
該實(shí)例的電路由AT89C51單片機(jī)、1位LED 共陰極數(shù)碼管、按鍵、揚(yáng)聲器及三極管等元器件組成,在Proteus ISIS中繪制系統(tǒng)硬件原理圖,如圖1所示。
圖1 基于AT89S51單片機(jī)搶答器的硬件設(shè)計(jì)及仿真結(jié)果
2.2 軟件設(shè)計(jì)[5,8]
單片機(jī)是硬件與軟件的結(jié)合體,要根據(jù)硬件的工作原理來編寫程序,從圖1可以知道,P3口為輸入口,接八個(gè)按鍵,P1口為輸出口,接一個(gè)共陰極的七段數(shù)碼管,用來顯示搶答號(hào),搶答器的工作原理為:八個(gè)選手同時(shí)搶答,搶答成功的將選手號(hào)經(jīng)P1口送給數(shù)碼管顯示,揚(yáng)聲器響。同時(shí),其他的選手不能搶答,主持人復(fù)位后,恢復(fù)搶答功能,數(shù)碼管初始化為0。
該項(xiàng)目的軟件在Keil中進(jìn)行設(shè)計(jì)。在工程項(xiàng)目中編輯創(chuàng)建源程序文件,取名搶答器.asm,再對(duì)該文件進(jìn)行編譯、連接生成目標(biāo)代碼文件(本例為搶答器.hex)。
修改參數(shù)選擇Options for Target--Targer選項(xiàng)卡中的Xtal(MHZ)參數(shù)修改為與硬件參數(shù)一致,選擇Output選項(xiàng)卡的Create Hex File前面的復(fù)選框選上,編譯、連接沒錯(cuò)誤后,然后進(jìn)行調(diào)試,菜單Debug--Start/Stop Debug session,在調(diào)試窗口中,充分利用斷點(diǎn)設(shè)置與調(diào)試工具(如圖2)來分析程序的運(yùn)行能不能達(dá)到目的,以及利用菜單Peripherals里面的Reset CPU、Interrupt、I/O-ports、Serial、Timer等調(diào)試輔助窗口觀察變化情況,使得程序分析更加具體、生動(dòng)、易懂。(源程序:略)
圖2 調(diào)試工具按鍵
2.3 軟件與硬件的聯(lián)合調(diào)試[7]
將Proteus和Keil進(jìn)行聯(lián)調(diào),聯(lián)調(diào)設(shè)置步驟如下:
(1)目錄ProteusMODELS下的VDM51. dll文件復(fù)制到Keil安裝目錄的C51BIN目錄中。
(2)修改Keil安裝目錄下Tools. ini文件,在C51字段加入TDRV5=BINVDM51. DLL(“PROTEUS 6EMULATOR”)并保存。
(3)打開Proteus,畫出相應(yīng)電路,在Proteus的“Debug”菜單中選中“Use Remote DebugMonitor”。
(4)進(jìn)入Keil的Project菜單Option forTarget'工程名'。在Debug選項(xiàng)中右欄上部的下拉菜單選中Proteus VSM Monitor-51Driver。再進(jìn)入Settings,設(shè)置Ip名為127.0.0.1,端口號(hào)為8000。
(5)打開KEIL,按F5開始仿真。同時(shí)在Proteus中查看直觀的結(jié)果。
Proteus提供了硬件的仿真平臺(tái),Keil提供了軟件的仿真平臺(tái),在Keil編譯軟件里清晰、具體地分析程序的執(zhí)行流程,而在Proteus環(huán)境中,學(xué)生即可看到更加具體仿真效果,搶答者5搶答成功時(shí),數(shù)碼管顯示為5,揚(yáng)聲器響,其他搶答者不能搶答,主持人復(fù)位,搶答恢復(fù)功能。如圖 1所示。
2.4 學(xué)生的思維拓展
經(jīng)過一個(gè)基于Proteus與Keil的簡單搶答器項(xiàng)目設(shè)計(jì),學(xué)生具有一定的掌握能力,在此基礎(chǔ)上,要求有能力的學(xué)生進(jìn)行項(xiàng)目思維拓展,要求學(xué)生設(shè)計(jì)一個(gè)《基于AT89C51單片機(jī)帶時(shí)間與聲光提示的搶答器》項(xiàng)目,功能為:主持人可以同時(shí)控制5個(gè)按鈕(復(fù)位按鍵、搶答開始按鍵、搶答限時(shí)開始按鍵、搶答時(shí)間調(diào)節(jié)按鍵、限時(shí)時(shí)間調(diào)節(jié)按鍵)等,主持人按了限時(shí)開始按鍵后,8個(gè)選手同時(shí)搶答,搶答成功的選手號(hào)送到數(shù)碼管顯示,LED燈亮、揚(yáng)聲器響,限時(shí)時(shí)間顯示。主持人復(fù)位,搶答功能恢復(fù)。如圖3所示。這使得學(xué)生更接近市場(chǎng)工程項(xiàng)目的實(shí)踐設(shè)計(jì),為以后就業(yè)打好基礎(chǔ)[6]。
圖3 基于AT89C51單片機(jī)帶時(shí)間與聲光提示的搶答器及仿真結(jié)果
3.1 內(nèi)容全面,包括軟件程序的編譯、連接及調(diào)試,也包括硬件電路中的大部分電路,可以給學(xué)生有自由搭建硬件電路的空間,使得單片機(jī)教學(xué)由枯燥抽象,難以理解和掌握,變成更加具體、清晰、活躍與靈活,克服了用單片機(jī)實(shí)驗(yàn)箱教學(xué)板教學(xué)中硬件固定、學(xué)生不能更改、內(nèi)容固定等方面的局限性,可以拓展學(xué)生的項(xiàng)目開發(fā)思維,同時(shí)也激發(fā)學(xué)生對(duì)單片機(jī)學(xué)習(xí)的興趣。
3.2 硬件投入少,實(shí)驗(yàn)過程損耗小,基本沒有元器件的損耗問題,經(jīng)濟(jì)優(yōu)勢(shì)明顯;學(xué)生可以自行項(xiàng)目開發(fā),鍛煉解決實(shí)際工程問題,與工程實(shí)踐接近;由于學(xué)生學(xué)習(xí)了理論知識(shí),要將其應(yīng)用到實(shí)際的工程實(shí)踐中,其難度較大,但采用仿真軟件后,學(xué)生可以先在軟件環(huán)境中模擬通過,再進(jìn)行硬件投入,可以省時(shí)省力,也節(jié)省因方案不正解所造成的硬件投入的浪費(fèi)。
3.3 可以提高學(xué)生的知道水平、專業(yè)能力和專業(yè)素質(zhì)方面的優(yōu)勢(shì),同時(shí)降低設(shè)計(jì)成本,縮短項(xiàng)目的開發(fā)周期,提高效率。學(xué)生可以課外獨(dú)立設(shè)計(jì),驗(yàn)證自己設(shè)計(jì)的項(xiàng)目系統(tǒng),有助于培養(yǎng)學(xué)生的創(chuàng)新能力,擴(kuò)展學(xué)生思維,提高學(xué)習(xí)效率與興趣。
單片機(jī)是一門不斷更新的課程,教師應(yīng)該轉(zhuǎn)變觀念,改進(jìn)教學(xué)手段和教學(xué)方法,逐步過渡到“教師指導(dǎo)下的以學(xué)生為中心”的教學(xué)模式上,充分調(diào)動(dòng)學(xué)生的能動(dòng)性。
基于Proteus和Keil軟件單片機(jī)項(xiàng)目式教學(xué),很大程度上解決了課程教學(xué)枯燥無味的弊病,在提高了學(xué)生學(xué)習(xí)積極性的基礎(chǔ)上也鍛煉了學(xué)生實(shí)踐動(dòng)手的能力,既降低了教學(xué)成本,又提高了教學(xué)效果,是高職院校教改的取向。
[1]胡敬朋,王聰.單片機(jī)項(xiàng)目教學(xué)研究及實(shí)踐[J].電氣電子教學(xué)學(xué)報(bào),2009,31(5),82-84
[2]彭麗萍 ,顧亞文 ,顧廣寒 .基于Proteus和Keil軟件的單片機(jī)仿真教學(xué)[J].中國科技財(cái)富,2011(10)
[3]周潤景,袁偉亭,景曉松著.Proteus在MCS-51&ARM 7系統(tǒng)中的應(yīng)用百例[M]. 電子工業(yè)出版社,2006
[4]林志琦著. 基于Proteus的單片機(jī)可視化軟硬件仿真[M] .北京航空航天大學(xué)出版社,2006
[5]王為青著.單片機(jī)Keil CX51應(yīng)用開發(fā)技術(shù)[M] .人民郵電出版社, 2007
[6]楊居義著.單片機(jī)課程設(shè)計(jì)實(shí)例教程[M] .清華大學(xué)出版社 ,2010
[7]劉淑紅, 張國玉.單片機(jī)系統(tǒng)的Proteus和Keil聯(lián)調(diào)設(shè)計(jì)與仿真[J] ,2008,(10)97
[8]許超 ,吳新杰, 張丹.基于Proteus和Keil的單片機(jī)課程教學(xué)改革[J] ,201138(1),28~29
[9]施國英 ,李天華 ,丁筱玲. 基于Proteus和Keil軟件的單片機(jī)仿真實(shí)驗(yàn)教學(xué)[J], 2011,1,40~43
[10]胡宏鐸 ,陳蘭麗.基于Proteus和Keil 的高職單片機(jī)課程教學(xué)改革[J],2011,5,71~71
Single-chip Project-based Teaching-based on Proteus and Keil
For the characteristics of this course in strong practice, and with the limited of Lab equipment, In order to improve the teaching effect and to develop the ability about innovating and experiment skills, Using Single-chip Project-based teaching methods based on the proteus and keil,with the single-chip project design and simulation based on proteus and keil,it can improve the efficiency of single-chip system design,with a good economy,flexibility.
10.3969/j.issn.1001-8972.2012.08.171
吳國文 男,1983年,廣東從化,大學(xué)本科,助教,研究方向?yàn)閼?yīng)用電子技術(shù)