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