王日明,徐 杜,王友華
(1.廣東工業(yè)大學信息工程學院,廣東廣州 510006;2.廣東外語外貿(mào)大學工商管理學院,廣東廣州 510006)
隨著8位單片機8051的普及應用,大學生對單片機的認知程度比以前大大提高了,因此直接開展16位單片機的教學是完全可行的。
16位S12X內核單片機擁有強大的XGATE協(xié)處理器和豐富的外設模塊,且具有耐高溫和極高可靠性,因此非常適合諸如工業(yè)控制、汽車車身控制和發(fā)動機控制等惡劣環(huán)境下的復雜可靠控制需要[1]。S12X單片機教學對于汽車電子、測控和自動化等偏重控制類的專業(yè)來說是非常適合和必要的。
在S12X單片機教學過程中,除了充分利用Flash動畫課件動態(tài)演示講解外,還采用了一些有新意的教學輔助手段。
調試片段是指針對抽象的知識點,使用CodeWarrior的Full Chip Simulation調試方式真實地調試該抽象知識點相對應的執(zhí)行過程[2],引導學生注意觀察執(zhí)行前后的寄存器變化,加深學生對該知識點的具體理解。舉例來說,對于匯編語言中的變址尋址方式,可以通過“PORTB=~LedCnt”這一簡單語句的調試片段來給以具體說明,如圖1(a)和圖1(b)所示。
圖1 PORTB=~LedCnt執(zhí)行前后寄存器變化情況
啟發(fā)式互動教學就是把整體中分解得到的相對簡單的設計題目作為設計情景。例如,當講授完單片機內部某個部件之后,把與該部件應用緊密相關的設計題目拿出來,由教師提出設計過程中可能遇到的問題,然后讓大家一起討論該如何解決這些問題,可能得出不同的設計思路,最后由教師對不同的設計思路進行點評。
在實際教學中,可以把飛思卡爾杯全國大學生智能車競賽的攝像頭組智能車作為一個實際工程項目來進行設計題目分解。舉例來說,在講解完S12X的定時器模塊之后,就可以提出這樣一個設計情景:智能車為了更好地控制車速,必須要將當前車速反饋回來,那么測速傳感器輸出的脈沖信號,應該使用定時器模塊的哪個功能來檢測呢?ECT輸入捕捉功能還是脈沖累加器功能?為什么?具體怎么計算出速度?然后讓學生討論、分析和比較,從而得出不同的設計思路,最后由教師對不同的設計思路作分析和點評。實際上,用ECT和脈沖累加器都是完全沒問題的,不過因為S12X在智能車中還要處理很多其他不同的外部模塊的數(shù)據(jù)信息,所以當把這個問題放到一個智能車整體來考慮的時候,就有一個孰優(yōu)孰劣的問題了。這種啟發(fā)式互動更有利于學生從全局上思考和解決問題能力的提高。
單片機是一門技術性和實踐性很強的課程,不管多么精彩的課堂教學都代替不了實驗教學[3]。為了配合S12X單片機課堂教學和創(chuàng)新實踐的需要,我們專門構建了以旗艦級16位單片機S12XEP100和汽車級FPGA EP3C10為核心硬件的可編程設計的單片機實驗平臺。
硬件可編程設計的單片機實驗平臺如圖2所示。
圖2 硬件可編程設計的單片機實驗平臺框圖
S12XEP100通過XEBI接口與EP3C10交換數(shù)據(jù),EP3C10片內的M9K RAM模塊可以很容易地構建成雙口 RAM[4]。外部設備模塊的數(shù)據(jù)經(jīng)過EP3C10預處理后存入雙口 RAM,S12XEP100通過XEBI接口讀取雙口RAM中的數(shù)據(jù)從而達到與外部設備模塊交換數(shù)據(jù)的目的。另外,S12XEP100也可以很方便地通過SPI同步串口與EP3C10交換數(shù)據(jù)。
由于EP3C10片內硬件邏輯是可編程設計并可隨時在線更新,加上外部擴展接口可以接入學生自己制作的其他電路模塊,所以該硬件平臺完全可以滿足不同學生自由發(fā)揮創(chuàng)意進行設計的需要。
把S12X的設計性綜合實驗和課程設計結合在一起的設計題目有:計算器設計,電子琴設計和電子時鐘及鬧鐘設計等。每個設計題目參照電子設計競賽題目分別設置有基本要求和拓展要求,硬件邏輯設計和軟件功能都可以作為創(chuàng)意得分,可以鼓勵學生利用硬件可編程單片機實驗平臺發(fā)揮自己的創(chuàng)新意識。
也可把智能車設計作為一個拓展的可選的課程設計題目來開設。學生將硬件可編程設計平臺上的直流電機驅動電路、步進電機驅動電路、高速ADC、鍵盤、LCD和加速度傳感器等組合起來,通過外部擴展接口接入自己制作的其他功能電路模塊,就可以完成一個具有基本功能的智能車設計。
我們在S12X單片機教學實踐中,把全國大學生智能車競賽和16位單片機的教學實踐有機結合起來,通過硬件可編程設計的單片機實驗平臺,鼓勵學生發(fā)揮自己的創(chuàng)意,嘗試發(fā)揮自己特色的設計思想,努力提高嵌入式系統(tǒng)的應用設計水平。這對今后S12X單片機教學實踐的深入發(fā)展是一個有益的嘗試和參考。
[1] 邵貝貝,宮輝.嵌入式系統(tǒng)中的雙核技術[M].北京:北京航空航天大學出版社,2008
[2] 王宜懷,劉曉升.嵌入式系統(tǒng)—使用HCS12微控制器的設計與應用[M].北京:北京航空航天大學出版社,2008
[3] 唐鴻儒,夏揚等.單片機課程的實踐教學探索[J].南京:電氣電子教學學報,2009,1:67-69
[4] 徐光輝.基于FPGA的嵌入式開發(fā)與應用[M].北京:電子工業(yè)出版社,2006