摘要:本文講述的單片機(jī)學(xué)習(xí)方法是基于理論課時少,實踐課時多,生源基礎(chǔ)差或者0基礎(chǔ)的一種單片機(jī)教學(xué)和學(xué)習(xí)方法,項目式教學(xué)法,該學(xué)習(xí)方法經(jīng)過實踐是相對于以前其它方法更容易讓學(xué)生接受和學(xué)習(xí)的一種方法。
關(guān)鍵詞:單片機(jī)學(xué)習(xí);項目式教學(xué)法
在我所帶的專業(yè)中,單片機(jī)現(xiàn)在的總課時是48學(xué)時,理論24學(xué) 時,實踐24學(xué)時,如果根據(jù)以前的大綱和思路來系統(tǒng)學(xué)習(xí)單片機(jī)是根本不可能的,最起碼匯編語言這一塊就需要占據(jù)機(jī)會三分之一的課程,還不說其余的知識,這一門課上完差不多需要48理論學(xué)時以上,還有就是前沿課程中,根本沒有匯編語言,而只完成了C語言程序設(shè)計的課程,很明顯,現(xiàn)在的學(xué)時是根本講不完也講不會單片機(jī)的,學(xué)生學(xué)習(xí)起來也是非常吃力的,因此為了改變這種學(xué)時少前沿課程不足的情況,根據(jù)多年的教學(xué)經(jīng)驗和實踐總結(jié)出一套適用于理論課時少,前沿課程沒有匯編語言而只有C語言的單片機(jī)教學(xué)思路和方法—項目式教學(xué)。
所謂項目式其實是在學(xué)校要求培養(yǎng)應(yīng)用型人才的基礎(chǔ)上,理論學(xué)時完全壓縮的情況下,只有C語言基礎(chǔ)的形勢下,經(jīng)過實踐摸索得出來的。
首先,需要培養(yǎng)應(yīng)用型人才,那么從我的理解來看,就是要放棄一部分的理論教學(xué),增加實踐動手能力,培養(yǎng)出可以一畢業(yè)就就能上手或者工作的人才,而這一的話,從思想來說,就會減少單片機(jī)最基本的理論教學(xué),比如:單片機(jī)的內(nèi)部結(jié)構(gòu),我們只需要讓學(xué)生知道什么是累加器,什么是寄存器,什么是特殊類寄存器就可以了,而沒有必要像以前教學(xué)一樣,給學(xué)生詳細(xì)講解什么是累加器,累加器主要是作為運(yùn)算的,它參加所有的運(yùn)算,在匯編語言可以寫成“A”,在C語言必須寫成“ACC”,還可以按位操作等等,實話說,現(xiàn)在真沒有必要,因為C語言寫程序的時候?qū)τ谒玫倪€真的很少,除非你為了表現(xiàn)自己對單片機(jī)內(nèi)部結(jié)構(gòu)學(xué)習(xí)有多好,否則真沒有必要等等,所以你只需要告訴學(xué)生其內(nèi)部有什么就可以了,另外再給學(xué)生做一張表格或者圖,寫出內(nèi)部結(jié)構(gòu)都有哪些都是多少位的,是否可按位操作,作用告訴就可以了。
其次,在講程序設(shè)計時,首先就不要去講匯編語言,因此沒有匯編語言的基礎(chǔ),那么你現(xiàn)在就算是把會語言的117條指令全部講個學(xué)生,沒有大量的程序講解、學(xué)習(xí)和練習(xí)是根本沒有任何的作用的,簡單來說就算講了學(xué)生也學(xué)不會,那么就只能講C語言程序設(shè)計了,由于有C語言程序設(shè)計基礎(chǔ)也有C語言的課程設(shè)計等基礎(chǔ),那么學(xué)生在學(xué)習(xí)起來就簡單多了,在這里講的時候主要講數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu),C51常用的10中語句,比如循環(huán)語句有:“for”語句,“while”語句,“do…while”語句,要把這些語句寫法告訴學(xué)生,一般在上面情況下最常用,在這里可以據(jù)例子,實話說,這里沒有必要講解那些所謂的運(yùn)算,因為C語言講了很多,單片機(jī)里面對于運(yùn)算也就那么常見的幾種,比如“i++”和“++i”等等,這些事需要學(xué)生知道它們的區(qū)別的,但是這些可以在后面講程序的時候提到,學(xué)生自然就會知道了,沒有必要在這里浪費(fèi)很多的時間。
第三,就是實例或者項目講解了,我記得在我上學(xué)的時候或者是剛開始工作時,我們講解的立體都是真對知識點(diǎn)而講的,這里的程序根本不全,而只是完成程序中找出來與本次教學(xué)內(nèi)容相關(guān)的一部分,學(xué)完之后,還是不會寫程序,后來經(jīng)過多次的摸索,我覺得講課的時候例題不一定要有多么的難或者說有一定的高度,都是要從基本的完成的程序入手去講,在我講單片機(jī)的時候,我在講C語言程序設(shè)計開始就是完整的程序,而不是簡單的半句程序,比如講數(shù)據(jù)類型時,以前都是講兩個數(shù)相加的程序,這樣只能看到運(yùn)算結(jié)果,而不知道單片機(jī)如何去寫,而我在講課的時候,這部分內(nèi)容主要是讓一個發(fā)光二極管去閃爍,使用延時程序來去看數(shù)據(jù)類型,這里主要是“uchar”類型和“uint”類型,使用“for”語句,學(xué)生學(xué)完了知道了哪里可以使用“uchar”類型,哪里可以使用“Uint”類型,也對這兩種類型記憶比較深刻,因為有了仿真,學(xué)生對單片機(jī)的興趣也增加了不少,而我上單片機(jī)的原理的前半部分內(nèi)容,從數(shù)據(jù)類型和結(jié)構(gòu)到中斷講完,其實這部分我所用的實例就只有一種,那就是點(diǎn)亮發(fā)光二極管,我上課就和學(xué)生說,如果說學(xué)完單片機(jī)你還不會點(diǎn)亮各種狀態(tài)的發(fā)光二極管,那么單片機(jī)你真的沒學(xué)會,其實說白了就是霓虹燈的設(shè)計,各種狀態(tài),有速度一定的,速度不一定的,方向定的,方向不定的,間隔點(diǎn)亮的,連續(xù)點(diǎn)亮的,開關(guān)控制速度的,等等,至于說是使用那一種,就要看所講的內(nèi)容,比如講定時器時,就用定時器控制八個發(fā)光二極管亮的速度,講中斷時,就用外部中斷開關(guān)來控制發(fā)光二極管的顯示方向、狀態(tài)和速度等等,在講常用電路時,這里主要是七段數(shù)碼管,4*4鍵盤矩陣等等,在這里,七段數(shù)碼管課堂上講解的0-99的計數(shù),課堂完成編程和仿真,課下學(xué)生完成數(shù)字鐘的程序編寫,獨(dú)立鍵盤結(jié)合數(shù)字鐘實現(xiàn)校時的功能,優(yōu)化學(xué)生作業(yè),4*4鍵盤這里課堂講解的是按鍵和數(shù)碼管顯示的編程及仿真,學(xué)生完成4*4鍵盤輸入3位數(shù)的程序等等,經(jīng)過這種實例講解,學(xué)生課下作業(yè)練習(xí)這種方式,學(xué)生很容易就學(xué)會了單片機(jī)的編程
第四,在實驗課方面,主要是完成單片機(jī)開發(fā)板的設(shè)計,而這部分內(nèi)容主要是課堂講解的知識,學(xué)生去設(shè)計電路,完成程序測試,開發(fā)板主要包含:發(fā)光二極管顯示、七段數(shù)碼管顯示、8*8點(diǎn)陣顯示、1602液晶顯示、獨(dú)立鍵盤、4*4矩陣鍵盤、AD轉(zhuǎn)換、DA轉(zhuǎn)換等內(nèi)容,實驗做完了就是完成了開發(fā)板圖紙的設(shè)計
總之,單片機(jī)教學(xué)現(xiàn)在都是往應(yīng)用層次去發(fā)展,而我們教學(xué)的時候也是需要往這個方向去的,如何讓學(xué)生學(xué)會單片機(jī)的應(yīng)用,項目式的教學(xué)無疑是一種比較有效的手段。
作者簡介
張占紅(1984—),男,陜西丹鳳人,武漢傳媒學(xué)院講師,主要研究方向:電子與通信領(lǐng)域。