夏鯤 陳國平
【摘要】通過總結(jié)單片機理論、實驗和課程設(shè)計的教學實踐經(jīng)驗及教學研究心得,以某高校電子電氣信息類本科專業(yè)為例,分析了如何完善單片機課程體系建設(shè),如何在課程教學過程中通過理論與實踐相結(jié)合加強大學生對理論的深入理解,構(gòu)建系統(tǒng)化的教學工作。
【關(guān)鍵詞】單片機 理論與實驗 課程設(shè)計 協(xié)同教學
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2016)31-0243-01
引言
單片機理論、實驗和課程設(shè)計相關(guān)課程體系是各高等院校電子電氣信息類工科專業(yè)基礎(chǔ)專業(yè)課程設(shè)置的重要組成部分,為大學生深入學習掌握單片機的基本原理,設(shè)計方法,實踐應用等打下基礎(chǔ)。大多數(shù)理工科高校開設(shè)這些課程,對學生進行綜合培養(yǎng)。對于單片機的理論與實踐教學,既可以選擇匯編語言,也可以選擇C語言進行。在高校的實際教學工作中,大多數(shù)老師是選擇匯編語言進行教學的,因為從匯編語言入手能更好的掌握單片機的硬件資源使用原理等,也有部分老師是直接使用C語言進行教學,認為匯編語言編程過于繁瑣,而C語言編程能夠在將來的實踐工作中得到更好的應用。本文通過總結(jié)作者多年來在單片機相關(guān)課程教學積累的經(jīng)驗和教學研究心得,以51單片機理論、實驗和課程設(shè)計教學為例,對如何在使用不同編程語言進行繁瑣和復雜的教學中使學生更好地掌握單片機知識體系進行了探討。
1.單片機理論教學
1.1 匯編語言理論教學
單片機是一個把中央處理器CPU、數(shù)據(jù)存儲器RAM、程序存儲器ROM、并行IO接口、串行IO接口、定時器計數(shù)器、時鐘振蕩電路等集成在一起的控制芯片,硬件資源簡單且豐富,也易于擴展外圍電路,所以單片機的學習側(cè)重點首先在于掌握硬件資源使用方法。因為匯編語言實際上是CPU能夠識別的機器碼的助記符,從匯編語言入手開始教學,能夠使學生更好地掌握單片機的硬件資源使用原理。使用匯編語言編程可以很方便地對單片機存儲器地址直接進行存取操作,也能很方便地對存儲器地址進行整體安排分配,前提是對單片機硬件資源非常熟悉,能夠靈活調(diào)用。比如指令MOV、MOVC和MOVX可以分別訪問單片機內(nèi)部的數(shù)據(jù)存儲器、程序存儲器和外部擴展的數(shù)據(jù)存儲器。匯編編程的缺點在于進行算術(shù)運算和邏輯判斷跳轉(zhuǎn)等比較繁瑣。
1.2 C語言理論教學
國內(nèi)的單片機C語言程序設(shè)計教程多數(shù)的編排都會在前面開始的章節(jié)介紹單片機硬件資源以及匯編語言指令系統(tǒng),然后以更大篇幅講述C語言程序設(shè)計語法和針對硬件資源的編程。針對單片機的C語言程序設(shè)計語法與計算機C語言高級程序設(shè)計編程語法基本一致,而針對硬件資源的指令又類似于匯編語言指令系統(tǒng),所以應該可以說單片機C語言程序設(shè)計是計算機C語言高級程序設(shè)計和匯編語言指令結(jié)合體。要掌握好C語言編程依然要對于單片機的硬件資源理解透徹并能靈活調(diào)用。但是C語言針對硬件資源的指令與匯編語言指令比較起來卻不如匯編那么直觀,也不如匯編指令那樣更加有助于單片機硬件體系結(jié)構(gòu)的理解。
為了使初學者能夠更好地理解單片機硬件體系結(jié)構(gòu),掌握硬件資源的調(diào)用,選擇匯編語言進行教學顯然是更加合適的。
2.單片機實驗教學
單片機作為電子電氣信息類專業(yè)的一門專業(yè)基礎(chǔ)核心課程,比某些專業(yè)基礎(chǔ)課程如電路原理、數(shù)字電子技術(shù)、模擬電子技術(shù)等更加注重編程實踐的練習。單片機實驗課程一般都是配套安排在單片機理論課程的下半學期,這樣能夠更加有助于理論的理解和掌握。作為理論課程的配套課程,單片機實驗課程在教學上必須與理論課程保持一致性,選擇匯編語言進行實驗教學就是必然和最好的選擇。
在實驗設(shè)備的選擇上,學院實驗室早期購置過星研單片機Star ES51實驗箱,后來又購置了大批光佑STC開發(fā)板,可以兩者選其一。
早期的單片機實驗都是集中在實驗室進行,兩人共用一臺實驗箱,通過連線和讀寫配套程序仿真運行來進行實驗。這樣的實驗有一些明顯的不足,比如配套程序調(diào)用了很多鍵盤顯示的子程序,而這些子程序沒有直接給出來,實驗箱的很多硬件電路連接也沒有給出詳細原理圖,所以造成了實驗結(jié)束后多數(shù)學生也是對實驗原理和編程似懂非懂的結(jié)果。
有了STC開發(fā)板后,每個學生可以分配一塊開發(fā)板,各自進行單片機的編程仿真實驗,還可以將開發(fā)板帶回宿舍課后繼續(xù)練習,實驗可以更方便地進行。實驗開發(fā)板的原理圖清晰,例子程序豐富,通過讀寫配套例程可以較好的掌握單片機的基本原理。
顯然使用匯編語言選擇STC開發(fā)板進行單片機實驗是實驗教學的最好安排。實驗課程的要求注重于單片機基礎(chǔ)知識的掌握和硬件資源的調(diào)用。
3.單片機課程設(shè)計教學
單片機課程設(shè)計的安排是為了進一步提高學生的實踐能力,所以課程設(shè)計的教學就不再局限于基本原理的掌握,而是必須達到更高程度的實踐效果。匯編語言編程有利于對基礎(chǔ)知識的理解和單片機硬件資源的掌握,卻不利于復雜邏輯的處理。所以在學生已經(jīng)基本掌握了基礎(chǔ)理論的情況下,課程設(shè)計選擇C語言編程,可以讓學生更加方便的進行復雜程序的編寫。
單片機課程設(shè)計實踐項目內(nèi)容的安排上,必須注重單片機內(nèi)部和外部硬件資源的綜合調(diào)用,以便完成具有實際意義的綜合程序的編寫。課程設(shè)計實踐項目安排了可以綜合調(diào)用單片機I/O口資源進行鍵盤掃描數(shù)碼管顯示以及中斷處理的實現(xiàn)計算器功能的程序編寫,和能夠使用I2C總線進行通訊的AD/DA處理的程序編寫。這兩種程序的綜合度和復雜度都遠遠大于單片機實驗題目的要求。從實踐結(jié)果來看,通過這種綜合性復雜程序的編寫練習,能夠大大提高學生的開發(fā)設(shè)計實際項目的動手實踐能力。
結(jié)束語
在我國大力實行人才戰(zhàn)略強調(diào)人才培養(yǎng)的大環(huán)境下,本文作者所在高校也響應國家號召加強本科生培養(yǎng),實施卓越工程教育,取得了積極可喜的成績。本文積極探索和提高單片機理論實驗課程設(shè)計協(xié)同教學的方法,取得了長足的進步和發(fā)展,也得到了學生的高度認同。以此方法培養(yǎng)出來的本科生在參加全國大學生電子設(shè)計競賽的過程中也取得了驕人的成績。本文作者經(jīng)驗和方法也可以為兄弟院校相關(guān)專業(yè)的教學提供參考和借鑒。
參考文獻:
[1]李朝青.單片機原理及接口技術(shù)(第4版),北京航空航天大學出版社,2013.7
[2]郭天祥.新概念51單片機C語言教程——入門、提高、開發(fā)、拓展, 電子工業(yè)出版社,2009.1
[3]彭偉.單片機C語言程序設(shè)計實訓100例——基于8051+Proteus仿真(第2版), 電子工業(yè)出版社,2012.10
[4]張毅剛.單片機原理及接口技術(shù)(C51編程),人民郵電出版社,2016.4
[5]王東鋒.單片機C語言應用100例(第2版), 電子工業(yè)出版社, 2013.5