郭 玉,王陳寧,唐 飛,劉 娟,黃 忠
(安慶師范大學 電子工程與智能制造學院,安徽 安慶 246133)
單片機在工業自動化、智能儀器儀表、消費類電子產品、武器裝備等領域有著廣泛應用。單片機課程設計是一門綜合性實踐課,內容包括硬件電路和軟件設計。鑒于單片機實踐性及綜合性強,課程設計實踐至關重要。開設“單片機課程設計”一方面可以鞏固和加深單片機及相關控制電路專業課程中所掌握的實驗技能,另一方面有利于提高學生綜合運用電子技術知識解決實際問題的能力,培養其創新精神。而本院教學所使用的硬件電路直接采用購買的開發板,學生只需要簡單地連線便完成了硬件設計,這導致學生對單片機控制的設計過程認識不夠深刻,嚴重影響學生創新能力的培養。按照培養計劃,一般課程設計在每學期期末的1~2周進行,由于時間緊迫,所以答辯時間縮短、提問問題簡單化,這樣所有學生全部能通過,從而導致學生在制作過程中往往敷衍了事,其綜合運用能力、獨立解決問題能力及團隊協作精神等得不到鍛煉和培養。為解決以上問題,本文從單片機綜合設計選題、具體實施及考核幾個環節進行了改革。
課程設計的目的是培養學生查閱資料、獨立分析問題、解決問題的能力及創新能力。單片機課程設計的綜合性題目主要有“電子鐘/秒表的設計、倒計時器設計、步進電機的控制、簡易計數器的設計、音樂播放器的設計、無線遙控器的設計、頻率計的設計、……”。選題的基本原則是題目內容應盡量體現出單片機在電子電路、自動化中的控制作用,針對不同專業,題目應有一定的區分度,且具有一定的實際價值。例如,可選擇社會上急需的研發項目,進行簡化后作為課題,或者學生感興趣的科研課題。題目難易程度要適中。題目太難會使學生產生畏懼而失去信心,太簡單則達不到設計目的。指導老師可以根據學生的實際情況布置不同難易程度的內容,經過參與及努力,使學生都能完成任務并有所收獲,從而提高學生的興趣和積極性。例如,設計一電子鐘,可以先讓學生完成基本功能,顯示時時-分分-秒秒,之后再加時間調整、鬧鐘及整點報時等復雜功能,這樣就可以依據內容差異來調節題目的難易程度。本課程培養目標是使學生能夠綜合運用所學的理論知識進行一些基本技能的訓練,題目內容應當是所學單片機、電子技術等知識的綜合,如果涉及未學的知識,則需要老師進行補充講解。例如,電子鐘硬件電路內容所涉及的1S定時、數碼管顯示、計數、單片機控制等部分,同學們已完成相應內容的學習,對硬件電路的實現不會畏懼,會自覺進行設計,從而提高了同學們學習和參與的主動性。
教學方法的好壞直接影響學生學習的積極性和主動性。在整個設計過程中,要最大限度地調動和發揮學生的主觀能動性,提高動手能力。以電子鐘為例,在單片機課程教學中,應科學設計教學環節。
(1)科學布置實驗任務。指導老師根據各組同學的能力水平下達不同的任務書。例如,電子鐘的任務書除了要寫明基本功能為顯示格式時時-分分-秒秒,還要有時間調整功能,要具有整點報時、鬧鐘等附加功能。顯示可以采用數碼管,也可以為LCD1602。除了寫明要求之外,老師還要完成以下工作:(i)詳細講解設計中所用的未學的電路控制原理及軟件設計思路,例如,LCD1602如何顯示、單片機控制電路原理;(ii)指導學生查資料、分析文獻、確定本組設計方案及選擇元器件。指導老師一般要求每組同學下載5篇文獻,告訴大家如何進入期刊網下載電子鐘相關文獻,并教會學生如何從參考文獻中提取有用信息,從而確定電子鐘的電路設計方案;(iii)完成實物調試之后,告知文檔的撰寫格式、最終作品達到的效果及驗收情況。答辯時,每組同學需要演示制作的電子鐘實物,所有實驗小組均要展示任務書要求的基本功能,能力強的學生則可以添加附加功能。根據演示功能強弱,給出相應的答辯成績。
(2)應用Proteus軟件先進行仿真。Proteus軟件建立了完備的電子設計開發環境,可以仿真51系列、AVR、PIC、ARM等主流單片機,還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到輸入輸出的效果。例如電子鐘設計通過Proteus軟件畫出電路原理圖,并仿真實現其功能,如圖1所示,按下開始鍵,電子鐘開始工作,1 s到了顯示就加1,按下復位鍵,顯示又從0開始。基于Proteus軟件,每組同學可以按照自己的題目要求及確定的方案,先進行電路原理圖的設計與程序調試,通過不斷地修改電路與調試程序,最終仿真實現本組課程設計的要求和功能。這樣加深了同學們對硬件電路中器件功能的理解,并且能直觀地顯示結果,為后續硬件電路設計及軟件實現提供理論依據。

圖1 電子鐘仿真圖(a)初始狀態和(b)按下開始鍵時的狀態
(3)焊接硬件電路。電子和自動化專業的學生要具有較強的動手能力。為了提高學生的實際動手能力,單片機課程設計要求同學自己焊接電路板,不能采用購買的完整板,即根據題目要求購買相應的散裝元件,如圖2所示。然后根據電路原理圖進行焊接,如圖3所示。在此過程中,學生可以認識并掌握相關元器件的功能,學會如何布置電路,復習常用測量儀器(如萬用表、信號發生器、示波器等)的功能,并學會如何排查電路焊接中遇到的問題。這樣就不會出現學生不認識基本元器件、不清楚電路硬件連接等問題,從而提高了學生的實際動手與及時處理問題的能力。

圖2 電子鐘散裝元件
(4)編寫、調試軟件程序。完成硬件電路焊接后,同學們根據題目任務需要完成相應的軟件程序的編寫與調試工作。傳統做法是軟件程序的編寫在課下自由完成,這樣很多同學存在抄寫行為,甚至一人做了多個題目的程序。為了避免出現這類問題,統一安排學生到機房編寫、調試軟件程序,指導老師現場指導,并要求學生每次都要匯報填寫軟件程序調試進展情況、出現的問題及解決問題的方法。
(5)撰寫文檔。文檔撰寫是對硬件電路功能原理、程序功能實現及調試過程中出現的問題等進行書面總結,可以提高學生的理論水平及理解能力。以前很多學生抄襲別人的論文,出現了文中電路與程序不一致、電路圖出錯及圖標不清晰等問題。改革后使用統一的文檔模板,要求學生書寫文檔時,所有電路原理圖均采用專業軟件(Proteus或Protel)繪制,表格必須是三線表格,不允許出現不清晰的圖表。
考核是檢驗學生學習效果的一種方式,根據本課程的設計要求,其成績評定也作相應的改革。其最終成績由答辯(50%)、平時(30%)和文檔(20%)3部分成績組成,每個實驗組中的每位同學成績可能不相同。3部分成績評定原則如下。
(1)答辯成績。每個實驗組答辯時間為10 min左右,其中,3 min介紹項目功能、設計思想、方案和實現;2 min實物演示;5 min答疑。在答疑過程中,每位同學均要參與,且未答出的問題其他同學可以補充回答。老師根據實際功能演示、原理介紹和回答問題等情況給出每個學生的答辯成績。
(2)文檔成績。答辯組老師根據設計報告的撰寫水平、文檔的規范性、電路原理功能及軟件實現思路的介紹,給出文檔成績。
(3)平時成績。指導教師根據每位學生在設計過程中體現的理論知識掌握、查閱資料能力、分析和解決問題的能力、實踐動手能力及主動性給出平時成績。
最后,指導老師根據以上3類成績按照權重給出每位同學的總成績。
綜上所述,本論文分析了本院電子與自動化專業的單片機課程設計教學過程中的不足,在教學選題的設計、教學方法及考核方式等環節進行了改革嘗試。通過幾學期的實施,證明該方法是有效的。研究發現,大部分同學能夠理解如何通過單片機進行簡單的控制及設計,能夠熟練掌握常用的電子元件功能及電路焊接技巧,還有小部分同學具有一定的軟硬件開發能力、獨立解決問題的能力和創新能力。