朱文彬,王海燕
[摘 要] 單片機是自動化技術(shù)中一門專業(yè)課程。在智能化程度越來越高的今天,職業(yè)技術(shù)教育中,無論是電工還是電子專業(yè),單片機技術(shù)課程已經(jīng)不可缺少。對C語言課程教學改革的出發(fā)點、教學改革的目標與價值進行了思考闡述。
[關(guān) 鍵 詞] 單片機;C語言;課程改革
[中圖分類號] G712 [文獻標志碼] A [文章編號] 2096-0603(2018)06-0128-01
一、課程改革的出發(fā)點
單片機控制技術(shù)作為電類專業(yè)的專業(yè)核心課程,是學習者建立編程思維體系、進行電路維護設(shè)計開發(fā)的基礎(chǔ),同時也是畢業(yè)設(shè)計的一個重要方向。但是在日常教學、技能競賽和課題開發(fā)過程中發(fā)現(xiàn),現(xiàn)有的單片機教學存在很多的問題:
1.低級編程語言。一直以來,我們采用匯編語言進行單片機教學。匯編語言是計算機軟件開發(fā)語言中的低級語言,一共包含111條匯編語言指令,它的可編程性、可讀性、可移植性、靈活性都比較差,屬于入門級語言,在實際開發(fā)中很少使用。
2.教學方法比較傳統(tǒng)。在匯編語言教學過程中,按章節(jié)從基礎(chǔ)指令開始逐步講解,采用傳統(tǒng)的從低到高的教學方式。但在教學實際中我們發(fā)現(xiàn),學習者往往學習后面的內(nèi)容時就忘記了前面已學的內(nèi)容。而且,由于匯編語言的單體指令數(shù)太多、語言格式較死,導致學習者在學習過程中很難做到活學活用、融會貫通。
3.教學內(nèi)容單一。除了對匯編語言的指令系統(tǒng)進行介紹之外,就是進行單片機最小系統(tǒng)的簡單編程。對于片外硬件、液晶顯示、串行通訊等稍復雜的硬件應用涉及很少。這直接影響了學習者對單片機的認知程度。
二、單片機C語言編程的優(yōu)勢
1.不需要掌握單片機的基本指令集,也能完美編寫單片機程序。
2.不懂單片機的具體硬件,也能編出符合硬件實際的程序。
3.數(shù)據(jù)實行覆蓋,有效利用片上有限的RAM空間。
4.C語言提供復雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強了程序處理能力和靈活性。
5.提供auto、static等存儲類型和專門針對51單片機的data、idata、pdata、xdata、code等存儲類型,自動為變量合理地分配地址。
6.中斷服務程序的現(xiàn)場保護和恢復,中斷向量表的填寫,是直接與單片機相關(guān)的,都由C編譯器代辦。
7.提供常用的標準函數(shù)庫,以供用戶直接使用。
8.頭文件中定義宏、說明復雜數(shù)據(jù)類型和函數(shù)原型,有利于程序的移植和支持單片機的系列化產(chǎn)品的開發(fā)。
三、C語言課改目標與價值
(一)改革目標
有關(guān)C語言的書籍很多,但大多屬于以下兩種類型之一:
第一種是C語言類教材:側(cè)重于C語言語法、算法講解,知識的體系性非常完整,但學習起來比較枯燥、難度大,相應的學習者是C語言初學者,屬于計算機語言類教學。
第二種是單片機C程序應用型教材:這類教材分析電路組成、羅列相關(guān)C程序,但沒有介紹程序中所包含的語法知識、程序結(jié)構(gòu)等內(nèi)容,對應的學習者應當具備相當?shù)腃語言能力,屬于單片機專業(yè)類教學。
這兩種類型的教材沒有將C語言基礎(chǔ)講解、單片機C項目程序開發(fā)進行融合,沒有在進行單片機編程的同時講解語法知識,需要學習者同時進行兩本教材的學習。但是學習者,尤其是初學者往往在開始學習后并不能抓住重點,不知道如何有效地將兩種教材知識點相結(jié)合。所以,發(fā)展下去往往會出現(xiàn)兩種結(jié)
果:一種是只掌握了C語言的理論(側(cè)重學習了C語言教材);另一種只會照著單片機教材錄入程序,對程序本身的含義、語法一無所知或是一知半解。這樣對學習者來說不僅浪費了寶貴的時間和精力,而且單片機C語言編程的知識也沒有學到。
所以想辦法將C語言語法和單片機程序進行有機結(jié)合,將兩者的知識點以學習任務為載體由淺入深、循序漸進地展現(xiàn)給學習者是本次課程改革的主要目標。
(二)教學價值
打破固有語言教學體系:將C的語言類教學與單片機程序編寫融合,以項目教學模式,圍繞所編寫單片機程序,以“需要哪些知識點、就講解哪些知識”為原則開展C語言教學,讓學習者邊寫程序、邊學語法,邊調(diào)試、邊看現(xiàn)象。以此來激發(fā)和提高學習者學習單片機和C語言的興趣。
與技能大賽相融合:將多年來參加技能大賽所積累的單片
機編程方面的案例與單片機C語言教學相結(jié)合。
(三)配套硬件電路
為了讓學習者更好地體驗單片機C語言的開發(fā)過程,我們
專門設(shè)計了相應的單片機開發(fā)板。開發(fā)板含有十多種功能電路,
可獨立實現(xiàn)簡單功能程序設(shè)計,也可組合實現(xiàn)綜合性較強的綜
合控制功能設(shè)計。具有較強的可擴展性:電路板上預留了大量的擴展口,可實現(xiàn)單片機功能擴展設(shè)計,也可進行多塊板之間的通訊研究,能成為學習者的創(chuàng)新平臺??墒褂枚喾NMCU芯片:設(shè)計的開發(fā)板可以分別使用ATMEL、STC和AVR系列的8位機芯片。
參考文獻:
[1]譚浩強.C程序設(shè)計[M].第4版.清華大學出版社,2010.
[2]戴佳,戴衛(wèi)恒.51單片機C語言應用程序設(shè)計實例精講[M].電子工業(yè)出版社,2008.
[3]李廣弟,朱月秀,王秀山.單片機基礎(chǔ)(修訂本)[M].北京航天航空出版社,2005.