摘 要 單片機應用技術是高職院校電氣與電子信息類專業的一門核心課程,對學生的職業崗位能力培養起著重要作用。采用任務驅動教學模式是本課程一貫的教學方式,課程中所設計的任務內容 ,能夠充分體現職業技能訓練的綜合性和系統性。本課程改革主要體現在教學項目、實訓設備兩方面,針對目前市場上單片機的應用技術,采用51單片機作教學任務,C語言完成程序編制,與單片機的應用現狀緊密聯系。
關鍵詞 單片機 崗位能力 51單片機 C語言
中圖分類號:G424 文獻標識碼:A
1 單片機課程介紹
作為職業院校,我們的畢業生將走進企業,從事基本的生產與操作,在校期間除了個人素質培養還要進行專業培訓,各專業課程的設置,各門課程如何展開教學,都直接影響學生的質量。今年帶了一個畢業班,學生通過頂崗實習,回校反饋的意見中就提到單片機這門課,上崗之后用的最多的就是這門課程所學的知識,也就是在電子信息、機電一體化、通信技術、應用電子等一系列專業應用領域都涉及單片機或嵌入式的一些應用。正如單片機技術已經滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。企業需求這方面的人才,而人才培養是高職院校的根本任務。
單片機課程是一門實踐性、應用性和創新性很強的專業課程。由于單片機課程內容的抽象化,決定了單片機課程教學必須通過大量的實踐鍛煉和動手操作訓練來強化其知識結構,僅學習單片機芯片的基本知識而不綜合運用單片機軟、硬件技術動手解決實際問題,等于紙上談兵。單片機廣泛的應用性和單片機技術日新月異的發展又決定單片機的學習,必須舉一反三,通過創新的思維方式去掌握新技術,創造性地拓展其應用空間,這就對創新型高技能人才的培養提供了堅實的平臺。
2 單片機課程實訓條件
現階段單片機實訓設備種類與名目并不少,大多是實驗箱、實驗開發裝置或綜合實驗平臺。這樣的實驗設備造價昂貴,且無法設計完成貼近工程實例的項目,在教學實踐中暴露出很多不足,不太適合于職業院校,體現在以下幾個方面:
(1)使用設備方法過于復雜:對理論水平要求過高,只有專業理論知識扎實的學生才能使用。(2)設備過于復雜:有些設備不僅僅是針對單片機課程的,會涉及通信、GPS技術、自動控制等,不是針對學生特點定制。(3)資源浪費嚴重:單片機成套設備中大部分功能根本使用不到,一旦個別器件失效,整套實驗設備都擱置。(4)設備價位過高:學校負擔較重。(5)實驗設備的擴展接口少,給學生自行設計的空間太小,沒有真正體現單片機的優越性。
3 單片機課程改革
由于原有單片機實驗設備無法正常使用,本學期改用機器人作為實驗媒體,所開設的實驗內容都是軟件與硬件相結合,并嘗試用C語言編程。此批機器人已經購買時間很長,部分元器件必須更換,電路也進行了一些改變,在設計與應用中更趨合理。出于教學需要,筆者和企業的老師一起著力研究與開發單片機實訓設備。經過一段時間的教學實踐,已經看到了一些教學效果,學生們的興趣也比較高。對比以往的單片機課程教學,主要有這幾個方面的改革:
3.1 使用機器人作為實驗硬件
機器人技術是多種學科綜合的應用,是由各種傳統的學科構成。機器人在運行、工作的過程中有許多地方需要修改。那么如何修改這些部分?也是從兩方面入手。首先是從硬件上進行改造, 通電前要檢查機械部件是否安裝正確,各種接線連接是否準確,機器人里有許多傳感器,會大大影響它的運行情況,學生要通過修改程序來使其工作正常。在執行任務的過程中,學生可以充分發揮自己的想象力,隨時都可能會有新的創意,例如:可以在程序里加一些定時器,來節省運行時間;可以任意改變參數值,以達到工作的理想狀態。這些工作可以幫助學生提高對外界事物的觀察力。當機器人走近學生,大家似乎又回到了童年,對事物又有了不同的理解。這些機器人比普通的機器人內容要豐富得多,通過玩這些機器人,學生不僅練習了單片機的軟、硬件結合,還可以戰勝困難,挑戰自我。
3.2 應用C語言編寫程序
C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬件的控制。
C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛采用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟件開發中采用模塊化程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟件開發的一個主流。用C語言來編寫目標系統軟件,會大大縮短開發周期,且顯著地增加軟件的可讀性,便于改進和擴充。在單片機教學中,以往大多使用匯編語言編程,而現在改用C語言完成軟件功能,下面結合8051介紹單片機C語言的優越性:
(1)用C語言編寫單片機程序,不需要懂得單片機的指令集;
(2)無須懂得單片機的具體硬件,也能夠編出符合硬件實際情況的程序;
(3)不同函數的數據實行覆蓋,有效利用片上有限的RAM空間;
(4)程序具有堅固性:數據被破壞是導致程序運行異常的重要因素。C語言對數據進行了許多專業性的處理,避免了運行中間非異步的破壞;
(5)C語言提供復雜的數據類型(數組、結構、聯合、枚舉、指針等),極大地增強了程序處理能力和靈活性;
(6)提供了專門針對8051單片機的data、idata、pdata、xdata、code等存儲類型,自動為變量合理地分配地址;
(7)提供small、compact、large等編譯模式,以適應片上存儲器的大小;
(8)中斷服務程序的現場保護和恢復,是直接與單片機相關的,由C編譯器代辦;
(9)提供常用的標準函數庫,以供用戶直接使用;
(10)頭文件中定義宏、說明復雜數據類型和函數原型,有利于程序的移植和支持單片機的系列化產品的開發;
(11)有嚴格的句法檢查,錯誤很少,可容易地在高級語言的水平上迅速地被排掉;
(12)可方便地接受多種實用程序的服務:如片上資源的初始化有專門的實用程序自動生成;再如,有實時多任務操作系統可調度多道任務,簡化用戶編程,提高運行的安全性等等。
C51是廣泛應用于8051系列單片機編程的高級語言,具有C語言的開發效率高、可讀性強、可移植性強等諸多優點。keil C51編譯器提供了大量功能豐富的庫函數,能夠對C51源程序編譯生成高效的目標代碼,從而提高了程序的開發與維護效率,因此采用C51語言編寫8051系列單片機應用程序是單片機課程教學的必選內容。
3.3 在線仿真調試
單片機常用開發軟件Keil具有強大的仿真功能,C51和匯編語言都是適合的。它最大的好處就是簡單、方便,容易使用,不需要使用任何電路,也沒有特殊的要求;甚至可以在硬件電路制作好之前就將串口部分的程序編寫、調試完畢。對于51單片機,只要充分掌握其特點,能夠熟練利用它,就可以解決應用中的大部分問題。很多任務都可以使用軟件仿真來完成,根本無需任何硬件仿真器;只有一些新的外部器件的時序、接口的調試才有可能需要用到硬件仿真器。
3.4 企業專家作為執教人員參與教學
本學期的單片機課程教學由企業專家與專任教師合作完成。由于是試點,所有實驗項目都是根據機器人設計的。單片機實訓項目包括項目概述、項目要求、系統設計、硬件設計、軟件設計、系統仿真及調試,提供完整的程序清單和電路原理圖。教學中采用實際應用項目實例,力求理論和實踐相結合,同時考慮培養學生解決工程實際問題和綜合應用的能力。典型實例都來自實際工程應用,有助于學生動手能力的培養和鍛煉。
4 結論
目前,單片機已經成為電子設計的潮流。單片機應用的意義不僅在于它的廣闊范圍及所帶來的經濟效益,更重要的意義在于,單片機的應用從根本上改變了控制系統傳統的設計思想和設計方法。以前采用硬件電路實現的大部分控制功能,正在用單片機通過軟件方法來實現。
高職院校的電子技術相關專業學生要加強這門課程的學習與實踐,將有助于今后的就業與創業,電子行業需要大量的單片機人才,它也可以成為學生自主創業、研發智能電子產品的好幫手。
參考文獻
[1] 林立.單片機原理及應用.北京:電子工業出版社,2013.
[2] 郭天祥.51單片機C語言教程.北京:電子工業出版社,2009.
[3] 趙建領.單片機C語言程序設計.北京:機械工業出版社,2012.