萬松峰
(東莞職業(yè)技術(shù)學(xué)院 機電工程系,廣東 東莞 523808)
?
Proteus在單片機理實一體化教學(xué)的應(yīng)用
萬松峰
(東莞職業(yè)技術(shù)學(xué)院機電工程系,廣東東莞523808)
針對單片機的教學(xué)現(xiàn)狀,提出了基于Proteus的單片機理實一體化教學(xué)模式。通過對直流電機加減速控制的實例分析,表明使用Proteus仿真軟件有助于改進單片機課程的理論教學(xué)和實踐教學(xué)。教學(xué)實踐表明,該方法培養(yǎng)了學(xué)生分析問題和應(yīng)用單片機的能力,提高了學(xué)生的創(chuàng)新能力和學(xué)習(xí)的自主性,取得了較好的教學(xué)效果.
單片機;理實一體化;Proteus軟件;實驗教學(xué)
我國高校機電一體化、自動化、電氣電子、信息通信、計算機等專業(yè)都開設(shè)了單片機相關(guān)課程。單片機課程的傳統(tǒng)教學(xué)模式以單片機的結(jié)構(gòu)為主線,先講硬件結(jié)構(gòu)后講指令系統(tǒng)最后綜合代碼驗證。這種先原理后設(shè)計、先理論后實驗的教學(xué)模式的缺點是:1)以單片機內(nèi)部結(jié)構(gòu)和工作原理的講解不僅使學(xué)生理解困難而且感覺課程枯燥乏味;2)以單片機原理和匯編指令為核心的教學(xué)造成學(xué)生應(yīng)用能力的不足;3)理論和實踐脫節(jié)的教學(xué)使學(xué)生缺少對單片機應(yīng)用設(shè)計的感性認識和工程體驗。這種教學(xué)模式不能有效培養(yǎng)學(xué)生的應(yīng)用技能和激發(fā)學(xué)生的積極性,使學(xué)生普遍感到內(nèi)容枯燥且很難入門。
本文通過對單片機教學(xué)現(xiàn)狀的分析提出基于Proteus的單片機課程理實一體化教學(xué)模式,研究一套可操作的“做中學(xué)[1]”“學(xué)中練”的項目化教學(xué),并推動落到實處。整個教學(xué)過程以實際的項目情境和完整的工作過程為導(dǎo)向,以典型的工作任務(wù)為驅(qū)動,以項目的開發(fā)步驟為順序,以Proteus仿真為載體,突出學(xué)生的主體地位,使學(xué)生在項目開發(fā)過程中,積累項目開發(fā)經(jīng)驗,較好地理解單片機結(jié)構(gòu),扎實掌握單片機硬件電路設(shè)計和程序設(shè)計技能,形成對單片機應(yīng)用系統(tǒng)設(shè)計與制作的實際工作能力。
Proteus是英國Lab Center Electronics公司開發(fā)的一款著名的能夠?qū)Ω鞣N處理器進行仿真、調(diào)試與測試的EDA工具[2],真正實現(xiàn)了對系統(tǒng)進行仿真設(shè)計、測試與驗證[3]。Proteus提供的元件庫涵蓋了目前實踐應(yīng)用中的大部分資源,既有模擬元件也有數(shù)字元件。在單片機仿真應(yīng)用方面支持多種微控制器及常見的外圍芯片,并且支持與當(dāng)前流行的單片機開發(fā)環(huán)境( Keil、MPLAB、IAR)連接調(diào)試的軟硬件仿真系統(tǒng)[4]。
Proteus軟件將電路設(shè)計、PCB制版和模型仿真等多種功能以及各種虛擬儀器如示波器、邏輯分析儀、信號發(fā)生器等整合在一個平臺上,可以進行原理圖繪制、代碼的調(diào)試以及單片機和外圍電路的仿真[5],從而實現(xiàn)產(chǎn)品的完整設(shè)計。利用該軟件可以很好地彌補單片機課程理論教學(xué)和實踐應(yīng)用脫節(jié)的缺陷,對于單片機仿真接近實際做到了一體化和互動效果,這使它超越了“虛擬”,成為具有現(xiàn)實意義的教學(xué)及研發(fā)平臺。
單片機教學(xué)涉及軟件和硬件兩方面的知識,在教學(xué)中應(yīng)從單片機應(yīng)用角度來講述單片機的硬件原理和程序設(shè)計。下面以51單片機控制直流電機為例來說明Proteus在單片機理實一體化教學(xué)中的應(yīng)用。
2.1硬件電路設(shè)計
51單片機控制直流電機項目主要模塊包括單片機最小系統(tǒng)、L298控制直流電機模塊、加減速等級顯示模塊、正反轉(zhuǎn)指示模塊和功能鍵控制模塊。
該項目利用51單片機的中斷技術(shù)和定時/計數(shù)器技術(shù)產(chǎn)生可調(diào)占空比的PWM脈沖控制直流電機的運行,利用L298集成電路驅(qū)動直流電機。51單片機P3.0口功能鍵控制直流電機正反轉(zhuǎn),P3.2口功能鍵控制直流電機加速,P3.3口功能鍵控制直流電機減速。51單片機P0和P2口接靜態(tài)數(shù)碼管顯示調(diào)速等級(1~20級),P1.0接紅色發(fā)光二極管指示電機反轉(zhuǎn),P1.1接綠色發(fā)光二極管指示電機正轉(zhuǎn)。結(jié)合各個部分電路的設(shè)計,選擇合適的元器件,在Proteus中繪制如圖1的硬件電路圖。
圖1 單片機控制直流電機圖
2.2程序設(shè)計
程序設(shè)計利用單片機定時器T0產(chǎn)生一個周期為4 ms、頻率為250 Hz且占空比可調(diào)的PWM脈沖。外中斷0工作于邊沿觸發(fā)方式響應(yīng)加速按鍵,每按一下加速按鍵計數(shù)值加1,實現(xiàn)PWM占空比增加;外中斷1工作于邊沿觸發(fā)方式響應(yīng)減速按鍵,每按一下減速按鍵計數(shù)值減1,實現(xiàn)PWM占空比的降低;正反轉(zhuǎn)按鍵通過查詢方式,按下正
轉(zhuǎn),抬起反轉(zhuǎn)。本程序采用模塊化設(shè)計,主要包括主程序模塊、產(chǎn)生PWM脈沖模塊、外中斷按鍵掃描模塊。
1) 主程序模塊。
主程序主要完成系統(tǒng)參數(shù)初始化、設(shè)定定時參數(shù)、開中斷、顯示調(diào)速等級、啟動電機正/反轉(zhuǎn)等。主程序流程如圖2所示。
圖2 主程序流程
具體主程序如下:
#include
sbit Key=P3^0;
unsigned char PWMH,COUNTER;
unsigned char display[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};
void main()
{
TMOD=0x02;//設(shè)置 T0模式2
TL0=0x38; //設(shè)置定時初值
TH0=0x38;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=1;
EX1=1;
IT1=1;
while(1)
{
P0=DISPLAY[PWMH/10]; //顯示速度等級十位
if( Key==0) //判定電機正轉(zhuǎn)
{
MOTOR1=SPEED;
MOTOR2=0;
P1=0xFE;
}
else //判定電機反轉(zhuǎn)
{
MOTOR2=SPEED;
MOTOR1=0;
P1=0xFD;
}
}
}
2)產(chǎn)生PWM脈沖模塊。
voidINTTO( ) interrupt 1;//調(diào)制PWM脈沖實現(xiàn)電機加/減速
{
COUNTER++ ;
if(COUNTER<=PWMH) SPEED=1;//產(chǎn)生PWM脈沖的高電平
else SPEED=0;//產(chǎn)生PWM脈沖的低電平
if(COUNTER==20)COUNTER=0;
}
3)外中斷按鍵掃描模塊。
void int_0() interrupt 0//加速按鍵響應(yīng)高電平,脈沖數(shù)加1
{
if(PWMH<20)PWMH++;
}
void int_1() interrupt 2//減速按鍵響應(yīng)高電平,脈沖數(shù)減1
{
if(PWMH>0)PWMH--;
}
2.3軟硬件結(jié)合仿真調(diào)試
將編譯后生成的.HEX 文件加入到Proteus仿真系統(tǒng)的單片機中,通過調(diào)試菜單進行仿真機調(diào)試。在仿真調(diào)試過程中可以看到51單片機及其外圍設(shè)備的顯示狀態(tài),也可以通過自帶的虛擬儀器測量顯示信號狀態(tài)。10級PWM調(diào)速直流電機正轉(zhuǎn)仿真圖如圖3所示,18級PWM調(diào)速直流電機反轉(zhuǎn)仿真圖如圖4所示。
圖3 直流電機正轉(zhuǎn)仿真圖
圖4 直流電機反轉(zhuǎn)仿真圖
將Proteus軟件引入單片機理實一體化教學(xué)是對教學(xué)方法和教學(xué)模式的一種改革,對培養(yǎng)學(xué)生的程序設(shè)計技能、硬件設(shè)計技能、實踐動手技能和綜合運用知識的技能都有積極作用。利用Proteus將理論教學(xué)與實踐相結(jié)合,有利于增強學(xué)生對單片機應(yīng)用的感性認識,進一步激發(fā)學(xué)生的學(xué)習(xí)、開發(fā)興趣和主觀能動性,大大提高了教學(xué)質(zhì)量。
[1]查建中.論“做中學(xué)”戰(zhàn)略下的CDIO 模式[J].高等工程教育研究,2008(3):1-6.
[2] 伍馮潔,謝斌.基于Proteus 與Keil 的單片機實驗教學(xué)改革[J].實驗室研究與探索,2009,28(7) :125-127.
[3]王娟.Proteus軟件在單片機專題實訓(xùn)中的應(yīng)用[J].實驗室研究與探索,2012,31(8) :72-74.
[4] 劉心紅,郭福田.Proteus仿真技術(shù)在單片機教學(xué)中的應(yīng)用[J].實驗技術(shù)與管理,2007,24(3) :96-98.
[5]李學(xué)禮,林海峰.基于Proteus軟件的單片機實驗室建設(shè)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2005(9) :5-6.
Application of Proteus on the MCU Teaching of Theory and Practice Integration
WAN Songfeng
(Department of Mechanical and Electrical Engineering,Dongguan Polytechnic,Dongguan 523808,China)
In view of the present MCU teaching status,this paper introduced the teaching pattern of the MCU teaching of theory and practice integration based on Proteus.The analysis of the DC motor accelerating and decelerating control indicates that the use of this teaching system of Proteus simulation software is helpful to improve theory teaching and practice teaching of the MCU course.Practice shows that the method has trained the students' ability to analyze and design MCU application system,and has boosted the students' innovation ability.Meanwhile,it has improved the study independence of the students.The teaching practice has proved to have a better teaching effect.
MCU;theory and practice integration;proteus software
2014-10-20;修改日期: 2014-11-08
廣東省示范校建設(shè)子課題(S140104);東莞職業(yè)技術(shù)學(xué)院院級教改基金(JGXM2014017)機電創(chuàng)新實訓(xùn)項目開發(fā)及教學(xué)研究。
萬松峰(1979-),男,碩士,講師,主要從事機電控制方面的研究。
O341;G642.423
A
10.3969/j.issn.1672-4550.2016.01.025