范羚



摘要:《單片機原理及應用》是一門實踐性較強的學科。為提高教學效果,培養學生解決實際問題的能力,更好地與實際應用接軌,本文提出了以C語言為主要編程語言,Proteus為仿真平臺,結合“課題式”教學方法,及“單片機課題群”思想,進行了單片機課程的相關教學改革和探討。實踐證明,這種綜合性教學模式有效提高了學生的學習積極性,獲得了較好的教學效果。
關鍵詞:課題式教學;單片機課題群;學生
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)35-0127-03
一、引言
《單片機原理及應用》課程是高等院校工科專業的一門專業基礎課程,涉及電子信息工程、通信工程、光電專業及自動化專業等方向,是一門實踐性較強的應用課程。在高等教育階段,該門課程的主要任務應是引導學生進入該領域,并培養其較強的學習興趣和正確的學習方法,因此,該門課程對學生理論基礎知識的要求并不高,重點在于對具體編程任務方面的應用。而目前在單片機教學過程中,以教師為主體,以課本為綱領,孤立進行各單元內容講解的教學方法仍為主體,這樣不僅不利于培養學生的學習興趣,難以調動學生的主觀能動性,而且還容易使理論學習和實際編程應用相脫節。基于這一狀況,目前,在本系的單片機課程教學中,我們主要采用以C語言為核心編程語言,以Proteus和Keil軟件為輔助手段的課堂教學模式,在后續單片機實驗和具體課程設計中,以學生自主動手為主的實驗教學模式,從教學形式和教學內容上進行改革,培養學生的探索性和創新性,以期可以提高單片機課程的實際教學效果。
二、基于C語言和Proteus仿真平臺的教學模式
目前本系《單片機原理及應用》課程教學內容主要是圍繞單片機硬件結構與時序、單片機的中斷系統、定時器/計數器的應用、串口通信原理、常用外設與接口及存儲器芯片擴展等內容展開的。在以往的教學中,比較偏重匯編語言編程,注重對單片機底層結構和數據存儲方式的講授,但學生普遍較難掌握,且在具體應用程序編程中,特別是涉及中斷問題時,程序較復雜,實際應用中較難移植,模塊化程度較差。因此針對這一現象,本文提出以C語言為主體編程語言進行單片機課堂教學的思路。由于C51語言屬于高級編程語言,更接近自然語言,且對單片機內部硬件結構依賴度較低,加之學生普遍有C語言編程基礎,在學習過程中,更易理解和掌握,并可增強程序的可移植性和通用性,培養了學生進行模塊化編程的能力。同時,通過在教學中使用Proteus和Keil等軟件,在課堂上即可給學生營造出一個虛擬實驗室,編程結束后就可以及時演示實驗結果,提高學生的學習積極性。
三、“課題式”教學方法的應用
1.“課題式”教學方法的提出。在單片機教學過程中,從中斷系統開始,筆者就注意引導學生以“課題式”方法進行學習,即在各章節的教學中,不再按課本內容照本宣科,而是以提出具體問題開始,引導學生進行具體問題編程。在編程過程中,再對中斷系統、定時器/計數器、串口通訊等問題加以講解,幫助學生對單片機硬件結構進行理解,并加強對學生電路原理圖設計、軟件仿真、芯片選取、程序修改等具體問題的能力培養。通過這些教學方法的改進,大大提高了學生解決實際問題的能力,同時也有利于學生在課后進行單片機編程的進一步學習。
2.具體實例演示。下面介紹“課題式”教學方法的具體應用。提出課題:以51系列單片機為核心,點亮8個數碼管,顯示“12345678”。(1)提出子任務一:點亮一個數碼管,顯示字符“1”。結合這一任務,完成數碼管各基礎知識點介紹和靜態顯示原理的學習。提出思考問題,如何顯示其他字符?通過這一問題,主要幫助學生完成數碼管段碼知識點的學習。(2)提出子任務二:點亮八個數碼管,顯示字符“12345678”。結合該任務,完成數碼管段選和位選概念的介紹,及動態顯示原理知識點的學習。其電路接口圖如圖1所示,使用單片機P1口完成數碼管段選,使用P2口完成8個數碼管的位選。提出思考問題:此時點亮8個數碼管,共需使用16個I/O口,占用單片機資源過多,是否可以減少I/O口線,以節約資源?(3)提出子任務三:為減少占用的單片機I/O口線,是否可以簡化電路原理圖?引導學生從減少位選信號線入手,通過增加芯片的方法,減少占用的I/O口線?從而引入138譯碼器知識點學習,將原先占用的P2口8個I/O口線減少為3根線。譯碼器連接圖如圖2所示。(4)提出子任務四:是否還可以再進一步減少I/O口線?引導學生采用“分時復用”思想來進行數碼管的控制,提示學生可以將數碼管段選信號和位選信號分時從單片機P1口送出,從而引入對鎖存器及分時復用知識點的學習。該任務通過增加兩個鎖存器,來減少單片機I/O口線,更符合實際工程應用。鎖存器連接圖如圖3所示。其中,P2.5和P2.6分別用來作為兩個鎖存器的片選信號線,兩個鎖存器的輸出端分別接8個數碼管的位選和段選。(5)課題總結:綜合以上設計思路,讓學生獨立思考如何完成8個數碼管動態顯示“12345678”課題,設計整個電路連接圖及顯示程序。教師可以根據學生的具體情況,結合Proteus和Keil軟件進行現場編程實驗及演示,增加學生的學習興趣。最后,教師還可以進一步提出課后思考問題:如何利用數碼管動態顯示“123456”呢?
綜上所述,教師由一個綜合性課題“如何點亮八個數碼管”,可進行不同子任務的依次教學,從而在具體實例中完成數碼管靜態顯示原理和動態顯示原理知識點教學、段選和位選概念教學、相關鎖存器及譯碼器芯片等的教學。由于結合了具體編程課題,使得相關概念的學習不再抽象和孤立,有效地提高了課堂的教學效率,并有助于拓寬學生的知識面。
四、“單片機課題群”教學探討
在本系以往的單片機課程教學中,主要是以理論教學加實驗教學的模式進行,且在實驗教學中又主要依賴現成的實驗箱,學生對具體電路的設計過程并不太了解,不利于培養學生的實際動手能力。針對這一弊端,本系進一步增加了實驗課時在總教學環節中的比例,使理論與實驗教學課時數比例達到3∶1,注重對學生實際編程能力和動手能力的培養。除了輔以實驗教學外,本系還提出建立“單片機課題群”的教學思路,即以《單片機原理及應用》課程為主體,輔以相關實驗教學,并在該課程結束后,增加了為期一周的單片機課程設計。在課程設計中,指導教師給出相關設計題目,系內開放實驗室,由學生自行組織團隊,從電路原理圖設計、程序軟件仿真到購買元器件、焊接硬件電路板及最終調試電路,整個設計過程均由學生全程參與,極大地培養和鍛煉了學生綜合應用知識的能力,并有助于學生良好團隊精神的養成。此外,作為該課程群的擴展,本系還聯合計算機、自動化等系,建立了面向全校學生的CDIO(Conceive Design Implement Operate)工程坊,激發學生參加各類工程實踐活動的熱情,培養學生主動學習和創新創業的能力。
五、課程考核及評價方式思考
目前在高校教學中,大部分的學科仍是以學生最終考試成績為評價方式。但單片機課程是一門綜合性和實踐性較強的學科,不宜只憑考試成績高低來斷定學生的實際掌握能力。因此,在本系“單片機課題群”教學探討中,我們綜合了學生的考試成績、實驗成績及后續單片機課程設計成績,給出學生的綜合評價結果。這樣課程考核方式既包含了單片機理論知識方面考核的結果,又充分考慮了學生對具體實際問題的操作能力,避免了單一形式的考核方法,充分調動了學生的學習積極性。
六、結語
《單片機原理及應用》課程涉及到模擬電路、數字電路等多方面的知識,是一門應用型極強的學科。如果僅依賴以教師為主體的課堂教學,往往會使學生感到枯燥,不利于學生對該門課程的進一步學習。為了增加學生對該課程的學習興趣,培養學生實際應用單片機編程能力,教學中本系主要以C語言為主要編程語言,以Keil為設計平臺,并輔以Proteus仿真軟件,在課堂上即可對編程結果進行演示。同時,由于“課題式”教學方法的引入,使教師擺脫了照本宣科的傳統教學模式,以各子任務模塊為引導,在具體編程實例中,指導學生進行單片機相關知識點學習,將理論知識和實際應用結合在一起,激發了學生學習的積極性并且也提高了單片機教學的實際效果。這樣一來,不僅增加了單片機教學的深度,拓寬了單片機課程的教學寬度,而且更能將理論知識與實際應用密切結合。實踐證明,這些方法的綜合應用有效提高了單片機課程的實際教學效果。
參考文獻:
[1]孫曉玲.兼顧原理突出應用的案例導向式單片機教學改革[J].教育教學論壇,2016,(6).
[2]覃溪.Proteus軟件在51單片機教學中的仿真應用[J].科技展望,2016,(33).
[3]王英輝.單片機課程改革及新教學模式的研究[J].輕工科技,2017,(1).
[4]胡玲艷.單片機“案例教學”模式改革與探索[J].電子測試,2016,(14).