王麗 王志凌 鐘麗娜
摘 要:文中探討了單片機(jī)課程教學(xué)中現(xiàn)存的共性問題,提出了基于Proteus的單片機(jī)項(xiàng)目式教學(xué)模式。通過實(shí)例分析,使用項(xiàng)目式教學(xué)方式有助于改進(jìn)單片機(jī)課程的理論教學(xué)和實(shí)踐教學(xué),提高學(xué)生分析問題和實(shí)踐能力,取得了良好的教學(xué)效果。
關(guān)鍵詞:單片機(jī);理實(shí)一體化;項(xiàng)目式教學(xué);Proteus
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2016)07-0-02
0 引 言
單片機(jī)課程是工科專業(yè)的主干課程,也是一門實(shí)踐性很強(qiáng)的課程。單片機(jī)作為計(jì)算機(jī)應(yīng)用技術(shù)的一大分支,在智能化產(chǎn)品開發(fā)過程中占據(jù)核心地位[1,2]。
為了更好地適應(yīng)市場的需求,廣大獨(dú)立學(xué)院紛紛進(jìn)行了課程的教學(xué)模式改革,以期形成更具活力、更高效的獨(dú)立院校本科實(shí)踐課程教學(xué)體系[3,4]。培養(yǎng)學(xué)生對課程學(xué)習(xí)的積極性和一定的獨(dú)立實(shí)踐、設(shè)計(jì)能力,要求我們處理好實(shí)踐課程的理論教學(xué)與實(shí)踐教學(xué)環(huán)節(jié)的關(guān)系。
單片機(jī)課程的傳統(tǒng)教學(xué)模式是先理論教學(xué),中后期進(jìn)行實(shí)驗(yàn)教學(xué)。理論教學(xué)中以單片機(jī)的硬件結(jié)構(gòu)為主線,講授指令及指令系統(tǒng)。抽象的單片機(jī)芯片與空洞的指令系統(tǒng)的學(xué)習(xí)造成學(xué)生對課堂內(nèi)容理解困難,更加無法高效地理解單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)過程。實(shí)驗(yàn)教學(xué)多是進(jìn)行驗(yàn)證性實(shí)驗(yàn),學(xué)生遵循實(shí)驗(yàn)指導(dǎo)書進(jìn)行簡單的導(dǎo)線連接和程序驗(yàn)證,學(xué)生不會自行思考應(yīng)用系統(tǒng)的設(shè)計(jì)環(huán)節(jié),缺乏主動性。
此外,理論與實(shí)踐的脫節(jié)教學(xué)方式也會使學(xué)生缺乏對單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)過程最直觀的認(rèn)識與工程體驗(yàn)。最終導(dǎo)致單片機(jī)課程具有“難入門”、“內(nèi)容繁雜、枯燥”等特點(diǎn)。
本文基于單片機(jī)課程教學(xué)現(xiàn)狀的分析,提出基于“項(xiàng)目方式”的理實(shí)一體化教學(xué)模式在課程教學(xué)過程中的應(yīng)用。使學(xué)生能在“學(xué)中做”和在“做中學(xué)”,師生雙方也是邊教邊做,二者相輔相成,激發(fā)學(xué)生的學(xué)習(xí)積極性。整個教學(xué)過程以實(shí)際的項(xiàng)目內(nèi)容與設(shè)計(jì)過程為基線,利用Proteus軟件為工具,進(jìn)行項(xiàng)目內(nèi)容的硬件原理與軟件設(shè)計(jì)。學(xué)生對項(xiàng)目內(nèi)容及方案先自主調(diào)研,較好地理解單片機(jī)的內(nèi)部結(jié)構(gòu),掌握單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)與軟件程序設(shè)計(jì)的技能,從而積累項(xiàng)目開發(fā)的經(jīng)驗(yàn)。為以后的畢業(yè)設(shè)計(jì)、甚至就業(yè)打好基礎(chǔ)。
1 項(xiàng)目應(yīng)用實(shí)例
單片機(jī)課程學(xué)習(xí)的最終目的是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),包括硬件和軟件兩方面。即在教學(xué)過程中應(yīng)將硬件原理與軟件程序設(shè)計(jì)相結(jié)合。以51單片機(jī)中斷綜合實(shí)例來說明“項(xiàng)目式”教學(xué)方式在單片機(jī)教學(xué)中的應(yīng)用。
1.1 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)流程
單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)主要包括硬件和軟件設(shè)計(jì)兩大部分。一般來說,用途不同,它們的硬件和軟件結(jié)構(gòu)差別就會很大,但是系統(tǒng)的設(shè)計(jì)方法和步驟基本相同[5]。
1.2 硬件電路設(shè)計(jì)
硬件電路主要包括單片機(jī)最小系統(tǒng)模塊、存儲器模塊、按鍵模塊和顯示模塊。項(xiàng)目內(nèi)利用了單片機(jī)的中斷技術(shù)、存儲器擴(kuò)展技術(shù)、串行口擴(kuò)展技術(shù)、單片機(jī)輸入輸出接口技術(shù)。
本實(shí)例的Proteus電路原理圖如圖1所示??刂朴涗洶存I開關(guān),利用中斷技術(shù)將開關(guān)次數(shù)K值存入外擴(kuò)存儲器AT24C02C芯片,利用數(shù)碼管同步顯示K值。單片機(jī)P3.2引腳/外部中斷源0(跳沿觸發(fā)方式)連接記錄按鍵開關(guān),單片機(jī)P2.6和P2.7引腳模擬I2C總線與AT24C02C芯片通信。74LS47驅(qū)動七段數(shù)碼管顯示記錄按鍵的開關(guān)次數(shù)。
當(dāng)系統(tǒng)斷電后,再次上電時,能記憶斷電時按鍵次數(shù),連續(xù)記錄按鍵S按下的次數(shù)。單片機(jī)的P3.6引腳連接清零按鍵,能保證異步清除按鍵的歷史記錄次數(shù),重新記錄。
1.3 軟件設(shè)計(jì)
本程序采用模塊化設(shè)計(jì),主要包括主程序模塊、外部中斷模塊、存儲器的I2C通信模塊和顯示模塊。
1.3.1 主程序模塊
主程序主要完成參數(shù)的初始化、開中斷、判斷按鍵開關(guān)與控制等。主程序設(shè)計(jì)流程圖如圖2所示。
具體的主程序如下:
#include
#include
typedef unsigned char uchar;
#define DAT_ADDR 0x03
uchar g_ucDat;//記錄按鍵開關(guān)次數(shù)
sbit sda = P2^7;//AT24C02的數(shù)據(jù)總線
sbit scl = P2^6; //AT24C02的時鐘總線
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit clear_key = P3^6;//清零按鍵
void main(void)
{
uchar temp = 0;
g_ucDat=0;
int0_init();//中斷初始化
init_I2C();//I2C總線初始化
temp = read_I2C(DAT_ADDR);
if(temp == 0xFF)
{
temp = 0;
write_I2C(DAT_ADDR,temp);
delay_ms(10);
}
g_ucDat = temp;
while(1)
{
if(clear_key == 0)
{g_ucDat = 0;
}
temp = g_ucDat;
write_I2C(DAT_ADDR , temp);
display(temp);
}
}
1.3.2 中斷模塊
中斷模塊程序如下:
void int0_init(void)//中斷系統(tǒng)初始化
{
EX0 =1;
IT0 =1;
EA=1;
}
void int0_tnter() interrupt 0
{
g_ucDat ++;
}
1.3.3 存儲器AT2402C的I2C通信模塊
51單片機(jī)沒有專用的I2C總線接口控制器,采用軟件模擬的方法實(shí)現(xiàn)與具有I2C總線接口的外圍器件AT2402C連接,從而構(gòu)成單片機(jī)應(yīng)用系統(tǒng)。在51單片機(jī)模擬I2C總線通信時,需要調(diào)用一些子程序構(gòu)建相應(yīng)的時序。這些子程序包括總線初始化,典型信號時序模擬子程序,I2C總線模擬通用子程序。為簡便起見,具體程序參考文獻(xiàn)[5]。
1.3.4 顯示模塊
利用單片機(jī)P0口控制74LS47驅(qū)動兩位數(shù)碼管顯示按鍵次數(shù)K值。其程序如下:
void display(uchar dat)
{
LED1 = 0;
LED2 = 1;
P0 = (dat%10);
delay_ms(1);
LED2 = 0;
LED1 = 1;
P0 = (dat/10);
delay_ms(1);
}
1.4 軟硬件結(jié)合仿真調(diào)試
生成HEX文件后,將其加入Proteus仿真系統(tǒng)的單片機(jī)中調(diào)試。接下來就可以通過調(diào)試菜單進(jìn)行仿真與驗(yàn)證。
2 結(jié) 語
將理論與實(shí)踐教學(xué)結(jié)合在項(xiàng)目內(nèi)容中,師生邊教邊學(xué),對培養(yǎng)學(xué)生的程序設(shè)計(jì)、硬件設(shè)計(jì)及綜合知識應(yīng)用起到積極的作用。其中Proteus將理論與實(shí)踐相結(jié)合,使學(xué)生對單片機(jī)的認(rèn)識更加直觀,進(jìn)一步激發(fā)了學(xué)生的學(xué)習(xí)興趣,從而提高了教學(xué)質(zhì)量。
參考文獻(xiàn)
[1]任國臣,陳曉英,藍(lán)和慧,等.單片機(jī)原理及接口技術(shù)實(shí)踐教學(xué)改革與實(shí)踐[J].遼寧工業(yè)大學(xué)學(xué)報(社會科學(xué)版),2014,16(5): 141-142.
[2]魯俊生,萬忠,萬光毅.單片機(jī)可曾教學(xué)改革的實(shí)踐和思考[J].實(shí)驗(yàn)室研究與探索,2004,23(3):54-56.
[3]張晶.精品課程建設(shè)的實(shí)踐與思考[J].黑龍江高教研究,2006(1):143-146.
[4]林志貴,袁臣虎,李現(xiàn)國.單片機(jī)原理及接口技術(shù)課程教學(xué)改革新思路[J].電氣電子教學(xué)學(xué)報,2007,29(2):16-19.
[5]王麗,張燕,王恒.單片機(jī)原理及應(yīng)用[M].北京:國防工業(yè)出版社,2014.