摘 要:高職是新的教育模式,其學(xué)生也具有特殊性,對他們的《單片機》課程的教學(xué)方法也要改變,要找到適合他們的教學(xué)方法。機器人是高科技的產(chǎn)物,功能強大。把簡單機器人引入單片機教學(xué)可以加強教學(xué)過程的直觀性,趣味性。改變計算機語言學(xué)習(xí)的抽象性和枯燥性。有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)的積極性。使他們在好奇、探索的狀態(tài)下由淺入深地學(xué)習(xí)單片機,使得這些不善于抽象思維的學(xué)生在學(xué)習(xí)單片機的過程中不那么困難。本文在這一方面加以探討。
關(guān)鍵詞:單片機;機器車;教學(xué)方法;虛實結(jié)合;寓教于樂
中圖分類號:G712
高等職業(yè)教育是我國教育事業(yè)新的發(fā)展方向之一,高職教育和普高教育有著很大的區(qū)別,從普高向高職教學(xué)的轉(zhuǎn)變是一個復(fù)雜過程,筆者一直在高職學(xué)院任教,為了適應(yīng)這種轉(zhuǎn)變,在《單片機》課程的教學(xué)中,我們引入了深圳歐鵬公司的“C51版兩輪教育機器人”(以下簡稱機器車)來輔助教學(xué)。以下我結(jié)合機器車在單片機的教學(xué)實踐和體會,探討一下機器車用于單片機教學(xué)的特點和長處。
1 職業(yè)院校單片機教學(xué)方法的改革
根據(jù)自己對單片機的學(xué)習(xí)、應(yīng)用及教學(xué)實踐的體會和思考,認(rèn)為在我們職業(yè)學(xué)院單片機教學(xué)方法的改革中應(yīng)該強調(diào)以下兩個方面:
1.1 寓教于樂
我們知道,學(xué)習(xí)的動力有一部份來自興趣,并且這樣的學(xué)習(xí)效率是最高的也是最容易持久。而教學(xué)過程的趣味性也可以刺激學(xué)生的興趣,因而提高學(xué)生學(xué)習(xí)的積極性和主動性。特別是我們的學(xué)生,培養(yǎng)他的興趣和教會他們知識技能同樣重要。因此我們設(shè)計的教學(xué)方法首先要注意這一點,無論是單片機教學(xué)還是其他課程都是一樣。
1.2 虛實結(jié)合
我們知道,單片機不僅有電路也有程序,程序語句都是抽象的符號,這些符號代表的含義直接看不到而是需要想象。而程序的運行又是看不見摸不著。對于這種比較抽象事物的學(xué)習(xí),特別剛剛接觸計算機語言的初學(xué)者本來就是很困難,再加上我們這些學(xué)生習(xí)慣直觀事物,缺乏抽象思維,那就更困難了。
要是能把抽象的程序及程序的運行形象化具體化,無疑對他們的學(xué)習(xí)會很大的幫助。具體來說,就是把程序的語句及語句的執(zhí)行落實到一個具體的事物上,試著能夠看得見摸得著,把虛和實聯(lián)系起來,用具體的東西幫助他去認(rèn)識虛擬抽象的東西,就像用示波器把看不見的電子運動形象化來幫助理解它學(xué)習(xí)它那樣。
機器人是高科技的產(chǎn)物,功能強大。把簡單機器人引入單片機的教學(xué)可以加強教學(xué)過程的直觀性,趣味性。改變單片機學(xué)習(xí)的抽象性和枯燥性。有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)的積極性。使他們在好奇、探索的狀態(tài)下由淺入深地學(xué)習(xí)單片機,使他們在學(xué)習(xí)單片機課程的過程中不那么困難,幫助他們順利地跨過這第一道門檻。
2 機器車概況
2.1 機械結(jié)構(gòu)
機器車整體結(jié)構(gòu)如圖1,骨架內(nèi)左右兩側(cè)各裝有一個伺服電機,各驅(qū)動一個大輪,作為機器車的驅(qū)動,另一個小輪作為導(dǎo)向輪,骨架上面裝有一塊控制板,可加裝一塊液晶顯示器,一塊蜂窩實驗板,骨架下面裝有電池盒。
2.2 伺服電機的驅(qū)動信號
驅(qū)動信號的周期為20ms,脈寬從1.3-1.7ms,1.5ms為臨界點零速.小于1.5ms,順時針旋轉(zhuǎn),1.3ms達(dá)到順時針最大值。大于1.5ms,逆時針旋轉(zhuǎn),1.7ms達(dá)到逆時針最大值。
3 機器車用于單片機教學(xué)
下面用三個程序例子來探討機器車用于單片機教學(xué)情況。
3.1 產(chǎn)生電機驅(qū)動信號的程序
(1)源程序
CYCLE: SETB P1.0 ①
LCALL D1_5MS ②
CLR P1.0 ③
LCALL D20MS ④
AJMP CYCLE ⑤
(2)程序分析
參考信號波形圖圖2。
第1句使輸出從低電平度變?yōu)楦唠娖?,產(chǎn)生信號第一個脈沖的上升沿。
第2句把信號高電平狀態(tài)保持1.5ms,產(chǎn)生第一個脈沖的寬度。
第3句使輸出從高電平度變?yōu)榈碗娖?,產(chǎn)生第一個脈沖的下降沿。
第4句把信號低電平狀態(tài)保持20ms。產(chǎn)生信號的第一個完整周期。
第5句不斷重復(fù)1-4句便產(chǎn)生了周期性的驅(qū)動信號如圖2。
這個信號驅(qū)動電機作靜止不轉(zhuǎn),若把2句中的D1_5MS改為D1_3MS或D1_7MS就可以生成圖3和圖4的信號,驅(qū)動電機作全速順時針或全速逆時針旋轉(zhuǎn)。
(3)小結(jié)
使用仿真軟件,可以把該段程序產(chǎn)生的信號顯示出來,那就是把程序的運行形象化,就是虛實結(jié)合第一步。
3.2 驅(qū)動機器車運動的程序
上面例子產(chǎn)生的是驅(qū)動一個電機旋轉(zhuǎn)的信號,若使機器車運動則要同時驅(qū)動兩個電機旋轉(zhuǎn),要產(chǎn)生二個驅(qū)動信號。
(1)源程序
CYCLE: SETB P1.1 ①
LCALL D1_7MS ②
CLR P1.1 ③
SETB P1.0 ④
LCALL D1_3MS ⑤
CLR P1.0 ⑥
LCALL D20MS ⑦
AJMP CYCLE ⑧
(2)程序分析
第1,2,3語句產(chǎn)生了P1_1端口的第一個1.7ms的脈沖。
第4,5,6語句產(chǎn)生了P1_0端口的第一個1.3ms的脈沖。
第7句把P1_1和P1_0的低電平保持20ms,這樣便生成了二路驅(qū)動信號的第一個完整周期。
第8句不斷重復(fù)1~7句就得到了兩路完整的驅(qū)動信號。
P1_1驅(qū)動一個輪子逆時針旋轉(zhuǎn),P1_0驅(qū)動另一個輪子順時針旋轉(zhuǎn)。由于兩個電機安裝的方向相反,所以此時兩個輪子旋轉(zhuǎn)的方向是同向。便可驅(qū)動機器車前進(jìn)或后退。假如此時是機器車全速前進(jìn),那么把2句和5句中的D1_7MS和D1_3MS對調(diào),就會使機器車全速后退,把2句和5句中的某一個變?yōu)镈1_5MS就會使機器車全速左轉(zhuǎn)或右轉(zhuǎn)。
總之通過改變著這兩個延時就可以使機器車做出各種方向各種速度的勻速運動,加上程序技巧還可以實現(xiàn)變速運動。
(3)小結(jié)
如果說3.1的例子只是把程序的執(zhí)行和一個圖像聯(lián)系起來仍不夠具體,那本例程序就是把程序執(zhí)行和一個具體物體的運動結(jié)合起來,真正做到了虛實結(jié)合。每條單片機的語句的作用都會在產(chǎn)生的結(jié)果上得到體現(xiàn),這樣必定會促進(jìn)學(xué)習(xí)者對這些語句用法的理解和掌握。
3.3 觸覺巡航功能的程序
(1)觸覺傳感器電路原理
結(jié)合前面機器車外形圖1可以看到,機器車前端安裝著兩條胡須,當(dāng)機器車前行時若左側(cè)有障礙,會碰到左觸須,參看觸須電路圖6,左觸須因觸碰產(chǎn)生的移動可以使K2閉合。則會使P2_3端口從高電平變?yōu)榈碗娖?。單片機根據(jù)這個信號發(fā)出驅(qū)動信號使機器車后退右轉(zhuǎn)以避開左側(cè)障礙。同理,當(dāng)單片機收到右邊有障礙的信號時,會控制機器車后退左轉(zhuǎn)以避開右側(cè)障礙,若左右兩側(cè)都收到障礙信號,則單片機會控制機器車后退掉頭運行。
(3)程序分析
前面例3.1和3.2兩個程序都是很簡單的,僅僅是簡單的語句和程序段,用到的單片機功能也較少,還不能算是一個具有完整功能的單片機控制程序。而在本例中,機器車可以在一個相對簡單的環(huán)境中,自由、自主地實現(xiàn)巡航運動。程序中比較多地運用了單片機的功能:如I/O端口的信號輸入判斷與輸出控制,各種程序語句及分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)調(diào)用等等,是一個可以完成比較完整功能的單片機控制程序。通過這個程序初學(xué)者可以體會到一個可以執(zhí)行完整功能的單片機程序是什么樣子,為使用單片機技術(shù)解決實際控制問題打下基礎(chǔ)。
(4)小結(jié)
當(dāng)機器車能自主完成巡航功能時,它就具備了一定的智能性,其趣味性也明顯增強,初學(xué)者通過自己學(xué)習(xí)單片機,自己設(shè)計程序?qū)崿F(xiàn)了這樣的功能,他一定會很興奮很受鼓舞,喚起他繼續(xù)學(xué)下去的興趣和熱情。
3.4 結(jié)論
從以上三個程序例子可以看到,單片機知識的運用是一步一步地由淺入深,從簡單到復(fù)雜,從局部到整體,每一步都是把程序的語句及執(zhí)行和具有一定觀賞性的機器車的行為動作聯(lián)系在一起,讓初學(xué)者一步一步有的放矢地學(xué)習(xí)和理解單片機。相信這樣的學(xué)習(xí)過程對學(xué)生會更有吸引力,也更容易接受。
4 結(jié)束語
需要說明的是,使用機器車來輔助單片機的教與學(xué),無論是在學(xué)習(xí)的初級階段,還是深入學(xué)習(xí)都是很有意義的。在初級階段,他的趣味性和“虛實結(jié)合”的特點有助于初學(xué)者循序漸進(jìn)的入門,把機器車作為單片機程序的一個載體,從而能夠把單片機的程序設(shè)計、執(zhí)行和結(jié)果這一串的學(xué)習(xí)過程連接起來形成閉環(huán)反饋,加速學(xué)習(xí)者對單片機程序設(shè)計的初步理解和掌握,解決單片機學(xué)習(xí)的入門問題。在深造階段,它的豐富的可擴展功能給了學(xué)習(xí)者廣闊的空間和余地,配合上C語言程序和各種傳感器可以實現(xiàn)很多復(fù)雜動作和功能,就可以完成許多不可思議的動作,呈現(xiàn)出各種富多采的功能,可以說是趣味無窮,一定會引起初學(xué)者的極大興趣和熱情,還參加機器人比賽等活動。因此把機器人運用到高職生的單片機課程教學(xué)中是很有意義和必要的。
參考文獻(xiàn):
[1]秦志強.C51單片機應(yīng)用與單片機程序設(shè)計[M].北京:北京電子工業(yè)出版社,2010.
作者單位:北京信息職業(yè)技術(shù)學(xué)院軟件工程系,北京 100018