趙翠芹+黃星壽
摘要:為解決“單片機(jī)原理及應(yīng)用”課程內(nèi)容多而課時(shí)少之間的矛盾,提出將項(xiàng)目式教學(xué)法引入到單片機(jī)課程教學(xué)中。在虛擬硬件平臺(tái)proteus和 Keil軟件平臺(tái)下,結(jié)合最小單片機(jī)系統(tǒng)、數(shù)碼管、矩陣按鍵和點(diǎn)陣制作了一個(gè)電梯控制綜合應(yīng)用系統(tǒng),最后通過KST-51開發(fā)板進(jìn)行測(cè)試驗(yàn)證。實(shí)踐證明,通過開發(fā)板實(shí)物的體驗(yàn)和軟件虛擬平臺(tái)的擴(kuò)展設(shè)計(jì),能夠激發(fā)學(xué)生對(duì)單片機(jī)學(xué)習(xí)的創(chuàng)造性思維,在提高學(xué)生的知識(shí)水平、專業(yè)能力和專業(yè)素質(zhì)方面具有明顯的優(yōu)勢(shì),符合應(yīng)用型人才的培養(yǎng)要求。
關(guān)鍵詞:?jiǎn)纹瑱C(jī)原理及應(yīng)用;keil;proteus;教學(xué)改革
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)12-0177-02
單片機(jī)早已融入尋常百姓的智能家電之中,單片機(jī)技術(shù)是計(jì)算機(jī)、自動(dòng)化、通信等相關(guān)專業(yè)的一門軟硬件結(jié)合且操作性很強(qiáng)的課程[1][2],也是后續(xù)zigbee協(xié)議棧、ARM Cortex-M3架構(gòu)的STM32單片機(jī)開發(fā)、ARM Cortex-A8網(wǎng)關(guān)的嵌入式系統(tǒng)開發(fā)和FPGA設(shè)計(jì)等物聯(lián)網(wǎng)相關(guān)課程的基礎(chǔ)性課程[3]?!皢纹瑱C(jī)原理及應(yīng)用”課程內(nèi)容按功能來分可分為控制部分和通信部分[4];控制部分主要包括流水燈、中斷、數(shù)碼管動(dòng)態(tài)掃描、點(diǎn)陣LED、矩陣按鍵、步進(jìn)電機(jī)、蜂鳴器和脈沖寬度調(diào)制(PMW)等;通信部分主要包括UART串口通信、1602液晶、I2C總線與E2PROM、實(shí)時(shí)時(shí)鐘DS1302、紅外通信與傳感器、模數(shù)A/D轉(zhuǎn)換與數(shù)模D/A轉(zhuǎn)換。由于課程內(nèi)容多而繁雜、總課時(shí)量受限制,必須對(duì)課程內(nèi)容進(jìn)行整合處理,才能順利完成教學(xué)目標(biāo)。在“Keil軟件+虛擬硬件平臺(tái)proteus+開發(fā)板實(shí)物測(cè)試”下,提出采用項(xiàng)目式教學(xué)教授單片機(jī)課程。以項(xiàng)目式為主線,將最小單片機(jī)系統(tǒng)、矩陣按鍵、數(shù)碼管和LED點(diǎn)陣動(dòng)態(tài)顯示等知識(shí)融合起來,設(shè)計(jì)仿真了電梯數(shù)字滾動(dòng)顯示的項(xiàng)目。該項(xiàng)目以點(diǎn)帶面,有效地改善了單片機(jī)軟硬件知識(shí)的學(xué)習(xí)效果,把理論教學(xué)和實(shí)踐操作緊密耦合起來,有效地提升了單片機(jī)的學(xué)習(xí)效率和綜合應(yīng)用的能力,激發(fā)學(xué)生學(xué)習(xí)積極性,提高學(xué)生動(dòng)手能力[5]。
1“單片機(jī)原理及應(yīng)用”教學(xué)模式存在的問題
單片機(jī)的設(shè)計(jì)原則是以最少的硬件器件獲取最多的功能應(yīng)用[4],在以往的“單片機(jī)原理及應(yīng)用”實(shí)驗(yàn)教學(xué)中,通常是由學(xué)校統(tǒng)一購(gòu)買試驗(yàn)箱,試驗(yàn)箱板子線路基本是集成封裝好的,學(xué)生做實(shí)驗(yàn)時(shí)只需要根據(jù)硬件電路的連接形式進(jìn)行相應(yīng)軟件編程,把編寫運(yùn)行好的二進(jìn)制可執(zhí)行hex文件下載到試驗(yàn)箱進(jìn)行驗(yàn)證即可。其實(shí)這樣做有一個(gè)很大的缺陷,忽視了學(xué)生實(shí)驗(yàn)設(shè)計(jì)能力的培養(yǎng),也就是單片機(jī)硬件系統(tǒng)的設(shè)計(jì)能力沒有得到強(qiáng)有力的訓(xùn)練,不利于培養(yǎng)學(xué)生的自主性和創(chuàng)造性。對(duì)于固定線路的試驗(yàn)箱,如果需要修改所涉及的接口電路,就需要重新設(shè)計(jì)電路和制版,學(xué)生需要額外購(gòu)買更多外部器件和儀表,無形中增加了教育投入和價(jià)格昂貴的實(shí)驗(yàn)設(shè)備,而且實(shí)驗(yàn)設(shè)備的更新速度也是很快的。因此學(xué)生學(xué)完了單片機(jī)課程后,想將其應(yīng)用到實(shí)際的項(xiàng)目工程實(shí)踐中,其難度還是比較大的,繪制一個(gè)綜合性項(xiàng)目的電路圖都有問題,更別說是PCB電路板的制作[6]。
為了提升學(xué)生學(xué)習(xí)“單片機(jī)原理及應(yīng)用”課程的自主能動(dòng)性,豐富課程教學(xué)內(nèi)容,提升課程教學(xué)質(zhì)量,急需對(duì)“單片機(jī)原理及應(yīng)用”課程進(jìn)行教學(xué)改革研究,結(jié)合Proteus、Keil軟件和開發(fā)板進(jìn)行項(xiàng)目式教學(xué),鍛煉學(xué)生軟硬件綜合開發(fā)設(shè)計(jì)能力,升華“單片機(jī)原理及應(yīng)用”課程的教學(xué)效果,為培養(yǎng)與時(shí)俱進(jìn)的應(yīng)用型專業(yè)人才而努力。
2 Proteus與Keil引入“單片機(jī)原理及應(yīng)用”課程中
2.1 Proteus在單片機(jī)教學(xué)中的應(yīng)用
Proteus軟件是在傳統(tǒng)的虛擬硬件平臺(tái)中添加了嵌入式系統(tǒng)的仿真,可以實(shí)現(xiàn)51系列、AVR、PIC和ARM等常用的微處理器的仿真調(diào)試。Proteus提供了LED小燈、LED點(diǎn)陣、矩陣按鍵、數(shù)碼管、開關(guān)及步進(jìn)電機(jī)等多種豐富的元器件,有模擬器件也有數(shù)字器件。它還提供了示波器、邏輯分析儀、計(jì)數(shù)/定時(shí)、SPI調(diào)試器等多種虛擬儀器,借助這些虛擬儀器可以進(jìn)行相應(yīng)的分析。這些器件的參數(shù)設(shè)置靈活,可以根據(jù)需要進(jìn)行修改,彌補(bǔ)了硬件實(shí)物的不足。課堂教學(xué)中利用這些元器件在Proteus中進(jìn)行硬件的設(shè)計(jì)、編譯調(diào)試代碼,活靈活現(xiàn)的展示電路運(yùn)行過程與結(jié)果,改善課堂的氣氛和學(xué)生學(xué)習(xí)熱情。
2.2 Keil軟件在單片機(jī)教學(xué)中的應(yīng)用
Keil c51和Keil mdk都是Keil公司的單片機(jī)集成開發(fā)環(huán)境,c51針對(duì)的是51系列的單片機(jī)開發(fā),Keil mdk對(duì)應(yīng)的是ARM系列的開發(fā)。Keil軟件是一款簡(jiǎn)單易用的集成開發(fā)環(huán)境,帶有強(qiáng)大的在線調(diào)試仿真工具,入門門檻低,只要有c語言或匯編語言基礎(chǔ)就可以進(jìn)行相應(yīng)的開發(fā),常常會(huì)有事半功倍的效果。
3 課程項(xiàng)目設(shè)計(jì)與教學(xué)案例
將項(xiàng)目式驅(qū)動(dòng)教學(xué)法引入到“單片機(jī)原理及應(yīng)用”教學(xué)中,巧妙的設(shè)計(jì)了一個(gè)電梯控制系統(tǒng)項(xiàng)目。項(xiàng)目包括最小單片機(jī)系統(tǒng)、矩陣按鍵、數(shù)碼管和LED點(diǎn)陣的理論知識(shí)和實(shí)踐技能。項(xiàng)目使用到的元器件有8位單片機(jī)AT89C52、7段數(shù)碼管7SEG-COM-AN-GRN、4X4的矩陣按鍵BUTTON、電容CAP、電解電容CAP-ELEC,晶振CRYSTAL, 8X8的點(diǎn)陣MATRIX-GREEN和上拉電阻RESPACK-8。教師對(duì)每一個(gè)器件用途進(jìn)行由淺入深的詳細(xì)講解,例如電路中的電容和晶振是用于構(gòu)造單片機(jī)最小系統(tǒng)的,AT89C52的第18和第19引腳接了一個(gè)11.0592MHz的晶振,外加幫助起振并維持振蕩信號(hào)穩(wěn)定功能的電容。在確定了項(xiàng)目所需要的元器件之后用Proteus軟件畫出硬件電路設(shè)計(jì)原理圖,如圖1所示。根據(jù)實(shí)際任務(wù)的需求畫出程序流程圖,如圖2所示,再用Keil C51軟件根據(jù)流程圖編寫源程序,并進(jìn)行編譯,產(chǎn)生一個(gè)可執(zhí)行的二進(jìn)制hex文件,然后把該執(zhí)行文件下載到AT89C52單片機(jī)中去進(jìn)行調(diào)試,調(diào)試沒有出現(xiàn)問題之后,把hex文件下載到KST-51開發(fā)板進(jìn)行真實(shí)環(huán)境的測(cè)試。把項(xiàng)目任務(wù)巧妙的進(jìn)行模塊分解,然后分配給學(xué)生,讓學(xué)生在規(guī)定的時(shí)間內(nèi)動(dòng)手完成每一個(gè)模塊的編程與調(diào)試,所有模塊完成后,最后整合成一個(gè)電梯控制系統(tǒng),從而增強(qiáng)學(xué)生的理論知識(shí)和實(shí)際操作能力。
4 結(jié)語
采用以點(diǎn)帶面的項(xiàng)目式教學(xué)方法在單片機(jī)教學(xué)中具有實(shí)用性,通過軟硬件動(dòng)手實(shí)踐,它能讓學(xué)生輕松地實(shí)現(xiàn)最小單片機(jī)系統(tǒng)、矩陣按鍵的掃描、數(shù)碼管的動(dòng)態(tài)掃描和LED點(diǎn)陣動(dòng)態(tài)顯示,學(xué)生也能了解到定時(shí)器、中斷以及外圍電路的硬件知識(shí),并根據(jù)需要在Proteus軟件中動(dòng)態(tài)的修改電路元器件參數(shù);學(xué)生在理解了硬件的基礎(chǔ)上,理解C語言的程序流程和功能實(shí)現(xiàn),并可以在Keil軟件中動(dòng)態(tài)的修改指令。
參考文獻(xiàn):
[1] 丁保華,張有忠,陳軍,等.單片機(jī)原理與接口技術(shù)實(shí)驗(yàn)教學(xué)改革與實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理,2010,27(1):117-119.
[2] 朱敏杰,羅珩,余亞東.改革單片機(jī)教學(xué)培養(yǎng)應(yīng)用型人才[J].實(shí)驗(yàn)室研究與探索,2012,31(2):144-147.
[3] 趙月靜,陳繼榮,張永弟.單片機(jī)原理及應(yīng)用課程創(chuàng)新實(shí)踐教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(1):176-179.
[4] 宋雪松,李冬明,崔長(zhǎng)勝.手把手教你學(xué)51單片機(jī)(C語言版)[M].清華大學(xué)出版社,2014.4.
[5] 許超,吳新杰,張丹.基于Proteus和Keil的單片機(jī)課程教學(xué)改革[J],遼寧大學(xué)學(xué)報(bào)自然科學(xué)版,2011,38(1).
[6] 顧菊芬,楊國(guó)華.“開發(fā)板+Proteus仿真”雙平臺(tái)單片機(jī)教學(xué)改革實(shí)踐[J].教學(xué)改革,2015(3).