程家勤 韓寶健 張陽熠周海軍 歐美英 董可秀
(滁州學院電子與電氣工程學院,安徽 滁州 239000)
學習單片機課程的思考與探索
程家勤 韓寶健 張陽熠*周海軍 歐美英 董可秀
(滁州學院電子與電氣工程學院,安徽 滁州 239000)
單片機課程是應用型本科院校電子類專業(yè)的一門非常重要的課程。應用型本科院校要求學生在學習單片機時,不僅要重視理論知識的學習,還要加強實踐能力的訓練。針對同學們普遍反映單片機知識比較抽象、信息量大、不易學習和在實踐過程中會出現(xiàn)的各種問題,結(jié)合自身的學習情況探索如何學好單片機。
單片機;學習方法;探索
單片機在電子產(chǎn)品中有著廣泛的應用,其具有種類多、價格低、可靠性高和應用方便等優(yōu)點,因此單片機相關的課程在本科院校中廣泛開設。在應用型本科院校中,《單片機應用技術(shù)》是電子類專業(yè)非常重要的一門課程。應用型本科院校的單片機課程旨在培養(yǎng)電子類專業(yè)的學生對單片機的內(nèi)部結(jié)構(gòu)有一定的了解,重點是讓學生掌握單片機系統(tǒng)設計的方法,為今后學習使用高端控制芯片和從事電子設計類工作打下基礎。應用型本科院校單片機的教學大多采用C語言進行編程,C51相對于匯編語言來說具有很多優(yōu)點,如:對單片機指令系統(tǒng)和內(nèi)部結(jié)構(gòu)有初步了解就可以;C51語言程序結(jié)構(gòu)規(guī)范;有許多標準的子程序庫;程序便于移植等[1]。目前使用比較廣泛的單片機系統(tǒng)開發(fā)軟件是德國Keil Software公司推出的Keil C51開發(fā)平臺,它集編輯、編譯、仿真于一體。Proteus仿真軟件由于其功能強大,廣泛應用于電子設計研發(fā),其在單片機的教學和學習中也被廣泛應用[2]。作為應用型本科院校的學生,如何學習和學好單片機相關的知識是值得我們探討的。作為應用型本科院校電氣學院的學生,結(jié)合實際學習情況,擬從老師的教學和自身的學習出發(fā)來探索作為學生如何學習好《單片機應用技術(shù)》課程,為其他學生今后學習單片機提供一定的參考。
單片機的教學方法有很多種,如任務驅(qū)動教學法和項目式教學法等。為了更好地教好單片機,任務驅(qū)動法與項目式教學法適當?shù)恼鲜欠浅1匾?。任務?qū)動教學法是指老師將單片機的相關知識設計成由簡單到復雜的具體任務,以某個實例為先導進而提出問題引導學生思考,使得學生通過“學和練”掌握教學內(nèi)容,著重培養(yǎng)學生分析問題和解決問題的能力[3]。項目教學法是根據(jù)“在學中做,在做中學”的精神,將實踐項目貫穿教學始終,是一種教與學互動的模式,是老師與學生通過共同完成一個完整的項目的教學活動[4-5]。教師將難度適宜的項目布置給學生,學生通過查閱文獻資料,進而設計項目實施方案,最終完成項目并提交項目報告,這一系列的過程都是由學生獨立完成。
這兩種教學方法都強調(diào)以學生為主,教師為輔,師生互動。不論哪種教學方法都是很好的,然而它們還是存在一些缺點。任務驅(qū)動法著重強調(diào)理論課程的教學,完成課本上的教學任務;項目教學法強調(diào)的是讓同學們自己多動手,在實踐中完成學習任務,這有利于提高同學們的動手操作能力,但對理論知識的掌握則存在不足,所以只有這兩種教學模式相互配合,課堂上采用任務驅(qū)動法,設計由簡單到復雜的任務,逐步教導同學們掌握單片機的基本知識。在課余時間和實驗課上采用項目教學法,讓同學自己動手參與進來,把課堂上所學的理論知識用于實踐,然后獨立完成單片機項目,從而不斷地提高同學們對單片機更深層次的認識[6-9]。
本學習小組在學習單片機的過程中發(fā)現(xiàn),學習單片機的難點主要有兩方面:一是單片機的知識點多、信息量大,單純地從課本上學習那些知識點,不太容易記住,也太枯燥;二是編寫單片機程序邏輯關系要非常清晰,同時還需要有一定的C語言基礎。所以才能導致單片機難學一說。其實學習單片機并不難,本學習小組在學習單片機的過程總結(jié)如下:
第一,明確學習目的。首先要認真思考兩個問題:單片機課程在本專業(yè)的地位?學習單片機用來做什么?這是學習單片機的動力。沒有動力,我想堅持不了多久。其次,端正學習心態(tài)。要知道學習知識是沒有捷徑的,只有循序漸進,腳踏實地,一步一個腳印,才能學到真本事。要對自己有嚴格的要求,倘若沒有一顆積極向上的心,那再好的學習方法對于你來說也是枉然。
第二,提前預習。先把課本的知識預覽一遍,帶著問題去聽老師講課,這樣不僅能夠跟上老師的思維,同時還能提高自己學習單片機的興趣。課堂上老師的提問大多是引導性的問題。我們要按照自己的想法積極回答,不要害怕說錯。我們老師曾經(jīng)說過,要看的就是我們出錯的地方。我們只有在錯誤中不斷改正,才能不斷進步。另外一定要記下老師所說的重點,課下及時鞏固復習并完成老師布置的任務。
第三,目前單片機程序的編寫大多采用C51語言。C51語言程序看起來并不難,也可以說很簡單。但是,一開始編寫程序時對于自己不懂的地方一定要先獨立思考,嘗試著去實現(xiàn),最后再參考老師給出的實例或者向同學請教。把自己的程序與之對比,發(fā)現(xiàn)自己的不足之處,然后修改完善,不斷提高自己的編程能力。在編寫程序之前,一定要先設計好電路原理圖、理清設計思路和畫出程序設計流程圖。此外編寫程序時要養(yǎng)成注釋的習慣,這樣可以使得每段程序代碼含義清晰明了,方便以后快速讀懂程序和對程序進行移植。
我們以電子時鐘設計(數(shù)碼管顯示)為例為大家展示整個學習設計過程。首先要理清設計思路,程序分為動態(tài)顯示時間、定時器中斷、鍵盤掃描等三部分,其中1秒鐘定時采用定時器定時50毫秒20次來實現(xiàn)。主程序先初始化定時器,然后進入while大循環(huán)不斷進行鍵盤掃描和動態(tài)顯示。按鍵和顯示設計思路:第1次按下選擇按鍵,關定時器且標志位加1(TR0=0,Temp=1),此時執(zhí)行“秒”閃爍子函數(shù),可按加減鍵調(diào)“秒”;第2次按下選擇按鍵標志位再加1(Temp=2),執(zhí)行“分”閃爍子函數(shù),可調(diào)“分”;第3次按下選擇按鍵標志位再加1(Temp=3),執(zhí)行“時”閃爍子函數(shù),可調(diào)“時”;第4次按下選擇鍵,開定時器(TR=1),同時將Temp清零。
主函數(shù)源程序如下(12Mhz晶振):
Proteus仿真效果如圖1所示。第1次按下選擇按鍵,“秒”閃爍,可以實現(xiàn)調(diào)節(jié)“秒”的加和減。相應的“時、分、秒”閃爍,我們可以清楚知道所要調(diào)整的時間。
圖1 Proteus仿真效果圖
在完成仿真的基礎上,結(jié)合實驗箱來驗證設計的效果。圖2實驗箱調(diào)試效果圖。實驗箱上晶振的頻率為11.0592Mhz,所以定時器的初值需要重新計算。若同樣定時為50ms,則50ms÷(12/11.0592us)=46080次,故初始值 TH0=(65536-46080)/256;TL0=(65536-46080)%256。從效果圖中可以發(fā)現(xiàn)實驗箱上顯示的數(shù)字不是特別清晰且有重影,我們分析認為這主要是由于采用動態(tài)顯示造成的。在Proteus軟件上沒有這種現(xiàn)象,仿真和實際情況是有區(qū)別的,所以我們需要做出實物來進行檢驗設計效果。
圖2 實驗箱調(diào)試效果圖
TX-1C單片機開發(fā)本上所使用的芯片是STC系列的單片機,且其與數(shù)碼管的連接方式與之前的設計稍有不同。因此需要根據(jù)實際情況,對程序表進行修改。將修改后的程序燒寫到單片機運行后的效果如圖3所示。
圖3 單片機開發(fā)板效果圖
第四,要多動腦勤動手。單片機的學習具有很強的實踐性,是一門很注重實際動手操作的課程。不動手實踐是很難學好單片機的,這需要有一套完整的學習開發(fā)工具,也需要我們利用好一切學習資源。我們學習小組認為從Proteus仿真,到實驗室實驗箱的驗證,再到用單片機開發(fā)板來實現(xiàn)設計功能,通過這三個步驟可以讓我們對單片機有深入的認識。Proteus仿真節(jié)約了設計成本,縮短了設計周期;結(jié)合實驗箱來實現(xiàn)設計功能可以使得我們對單片機設計有一定的認識;在仿真和結(jié)合實驗箱的基礎上,若能采用單片機開發(fā)板來完成單片機系統(tǒng)的設計、程序的燒寫和最終實現(xiàn)設計要求,這基本上可以說對單片機系統(tǒng)設計有了深入的認識。
單片機的學習注重理論結(jié)合實踐,實踐驗證理論。我們應當積極配合老師,落實任務驅(qū)動法與項目教學法的相結(jié)合,同時學習是一個循序漸進的過程,從簡單的程序到復雜的單片機項目,我們應該一步一個腳印。在學會單片機基礎知識基礎上嘗試利用Proteus和Keil軟件聯(lián)合仿真調(diào)試,然后利用實驗室的實驗箱進行設計驗證,最后搭建電路完成設計或者使用開發(fā)板來實現(xiàn)設計。在此過程中不斷解決自己所遇到的問題,加深對單片機的學習與理解,學好單片機課程。
[1]徐朝農(nóng).“單片機原理”課程逐步啟發(fā)式的課程設計[J].電氣電子教學學報,2016(01):115-116.
[2]王海燕,楊艷華.Proteus和Keil軟件在單片機實驗教學中的應用[J].實驗室研究與探索,2012(05):88-91.
[3]徐肇杰.任務驅(qū)動教學法與項目教學法之比[J].教育與職業(yè),2008(11):36-37.
[4]張楊,劉國成.項目式教學法在高職制圖測繪教學中的應用[J].湖南科技學院學報,2009,30(12):114-115.
[5]楊漾.項目教學法在《單片機技術(shù)應用》中的應用[J].科學大眾,2015(11):155.
[6]吳皓東,吳鋒.單片機學習方法談[J].電子制作,2003(10):12-21.
[7]李榮柏.淺談單片機學習之技巧[J].科技展望,2015(28):266.
[8]楊曉紅.單片機學習經(jīng)驗之談[J].科技資訊,2011(09):192.
[9]王強.單片機學習方法探討[J].黑龍江科技信息,2015(32):81.
Reflection and Exploration on the Learning of MCU
Cheng Jiaqin Han Baojian Zhang Yangyi*Zhou Haijun Ou Meiying Dong Kexiu
(Chuzhou University,Chuzhou 239000,Anhui)
MCU course is very important for electronic engineering major in application-oriented colleges.Students in application-oriented colleges should not only study hard at theoretical knowledge of MCU but also need to strengthen practical ability training.Some students consider that MCU course is abstract,informative and difficult for them,especially in practical skills training.Based on our own learning experience,the appropriate method is explored for how to learn MCU well.
MCU;learning method;exploration
G434
A
1008-6609(2017)10-0023-03
程家勤(1995-),女,安徽廣德人,本科,研究方向為電子技術(shù)。
*通訊作者:張陽熠(1983-),男,安徽蒙城人,碩士,講師,研究方向為電子電路。
滁州學院課程綜合改革項目:單片機應用技術(shù),項目編號:2016kcgg027;半導體器件物理,項目編號:2016kcgg025;自動控制原理,項目編號:2016kcgg031;滁州學院教學研究項目:基于創(chuàng)新創(chuàng)業(yè)的單片機課程教學體系構(gòu)建與實踐探索,項目編號:2016jy021。