彭遠(yuǎn)芳,張靜,黃曉峰
摘 要:“微控制器應(yīng)用”課程是高職應(yīng)用電子技術(shù)專業(yè)核心課程,對培養(yǎng)學(xué)生的分析問題、解決問題能力,以及創(chuàng)新能力都具有十分重要的作用。但由于課程邏輯性強(qiáng),與其他課程的關(guān)聯(lián)度大,加之高職學(xué)生專業(yè)基礎(chǔ)較弱、主動學(xué)習(xí)意愿不夠強(qiáng)烈,隨著課程內(nèi)容的逐步加深,許多學(xué)生會逐漸失去學(xué)習(xí)興趣,教學(xué)效果不甚理想。如何讓多數(shù)學(xué)生掌握課程的主要內(nèi)容并保持學(xué)習(xí)的興趣與動力,在項(xiàng)目教學(xué)設(shè)計中,基礎(chǔ)項(xiàng)目設(shè)計的重要性不容小覷。文章以流水燈控制為主線,以最大范圍涵蓋課程主要內(nèi)容為目的,設(shè)計了若干個基礎(chǔ)教學(xué)項(xiàng)目,項(xiàng)目功能簡單具體、可操作性強(qiáng),在課程教學(xué)實(shí)施中避免了學(xué)生的畏難情緒,滿足了學(xué)生對“微控制器應(yīng)用”課程的基礎(chǔ)要求,為進(jìn)一步學(xué)習(xí)打下了基礎(chǔ)。
關(guān)鍵詞:流水燈;微控制器應(yīng)用;基礎(chǔ)項(xiàng)目設(shè)計
中圖分類號:G712
文獻(xiàn)標(biāo)識碼:A
收稿日期:2018-11-14
基金項(xiàng)目:上海工程技術(shù)大學(xué)教學(xué)研究項(xiàng)目“微控制器應(yīng)用課程建設(shè)”(k201716003)。
作者簡介:彭遠(yuǎn)芳(1968—),女,重慶人,副教授,碩士,主要從事C語言程序設(shè)計、微控制器應(yīng)用以及電子線路板設(shè)計等課程的教學(xué)工作。
一、高職“微控制器應(yīng)用”課程
高職“微控制器應(yīng)用”課程以電子電路的分析與實(shí)踐能力、電子線路板的設(shè)計能力為基礎(chǔ),學(xué)習(xí)以單片機(jī)為微控制器的典型小系統(tǒng)調(diào)試與開發(fā)的全過程,該課程涉及模擬電子技術(shù)、數(shù)字電子技術(shù)、集成電路應(yīng)用、傳感器應(yīng)用技術(shù)以及C語言程序設(shè)計的相關(guān)知識,并為后續(xù)課程如CPLD/FPGA應(yīng)用技術(shù)、嵌入式系統(tǒng)應(yīng)用等課程的學(xué)習(xí)奠定基礎(chǔ),更為學(xué)生畢業(yè)后從事智能儀表、汽車電子及其他消費(fèi)類電子產(chǎn)品的調(diào)試、設(shè)計與制造,以及繼續(xù)學(xué)習(xí)與職業(yè)能力的提升起支撐作用,因此該課程對應(yīng)用電子技術(shù)專業(yè)的學(xué)生顯得尤為重要。
筆者提出通過項(xiàng)目教學(xué)法引導(dǎo)學(xué)生學(xué)習(xí),為此設(shè)計了基礎(chǔ)、提高、拓展項(xiàng)目以適應(yīng)不同學(xué)習(xí)需求的學(xué)生,在教學(xué)實(shí)踐中,由于學(xué)生學(xué)習(xí)基礎(chǔ)、接受能力、主觀能動性迥異,加之課程內(nèi)容多學(xué)時少,之前設(shè)計的提高及拓展項(xiàng)目不能為多數(shù)學(xué)生所接受,為改變曲高和寡的處境?以流水燈控制為主線,以最大范圍涵蓋課程主要內(nèi)容為目的,設(shè)計了若干個基礎(chǔ)教學(xué)項(xiàng)目,在極少改變硬件組成的前提下,通過不同的控制方式將教學(xué)內(nèi)容蘊(yùn)涵于項(xiàng)目中,克服了學(xué)生在遭遇新知識點(diǎn)時的畏難情緒,使得多數(shù)學(xué)生能夠跟著教師的思路學(xué)習(xí),在經(jīng)歷這樣一個慢熱的過程后,基本掌握了課程基礎(chǔ)內(nèi)容,學(xué)習(xí)興趣也由此被激發(fā)出來。
二、教學(xué)設(shè)計
圖1為典型流水燈硬件電路(晶振電路和復(fù)位電路略),其中P1口作為外接獨(dú)立式按鍵,P2口輸出低電平點(diǎn)亮發(fā)光二極管。以該電路為基礎(chǔ),采用不同的控制方式,體現(xiàn)課程中最基礎(chǔ)最重要的內(nèi)容,具體設(shè)計如下。
(一)I/O口的基本應(yīng)用
1.項(xiàng)目1-無鍵控制的流水燈
暫不考慮按鍵控制,I/O口的輸出從1位發(fā)光二極管(如D0)的閃爍→(D0~D7)左移流水/右移流水→花樣流水燈圖案設(shè)計與實(shí)現(xiàn)。在項(xiàng)目功能實(shí)現(xiàn)的過程中,先要理解“閃爍”“流水”的原理,分別掌握利用左移/右移運(yùn)算符、字符串循環(huán)左移/右移函數(shù)實(shí)現(xiàn)左右移流水的方法;對于花樣流水燈,如設(shè)置從八路LED閃爍→左移流水→右移流水→兩個亮點(diǎn)從中間向兩側(cè)舒展→兩個亮點(diǎn)從兩側(cè)向中間收縮→八路LED閃爍為1次循環(huán),掌握采用子函數(shù)調(diào)用實(shí)現(xiàn)花樣流水效果,以及利用一維數(shù)組存儲和輸出花樣流水圖形數(shù)據(jù)表這兩種方法。
2.項(xiàng)目2-通用I/0口鍵控流水燈
(1)單鍵控制的流水燈。為方便起見(如K0),KO未動作記為KO+0,按下/釋放n次記為KO+n動作,項(xiàng)目設(shè)計中可設(shè)置K0+0為八路LED閃爍,K0+1左移流水,K0+2右移流水,K0+3兩個亮點(diǎn)從中間向兩側(cè)舒展,K0+4兩個亮點(diǎn)從兩側(cè)向中間收縮,K0+5隔路左移流水,K0+6隔路右移流水,K0+7左四路和右四路交替亮滅,K0+8則回到K0+0。
程序設(shè)計中,通過引入一次鍵動作的判斷(包括按下/釋放及鍵抖動處理)、按鍵動作次數(shù)的計數(shù),掌握用兩種分支結(jié)構(gòu)(if-else if語句和switch-case語句)對按鍵動作次數(shù)進(jìn)行相應(yīng)的處理,并比較這兩種分支結(jié)構(gòu)的異同。
(2)多鍵控制的流水燈。依據(jù)圖1,在功能設(shè)計上由簡單到復(fù)雜,如基本功能可設(shè)計為Ki鍵動作(i=1~8),發(fā)光二極管Di被點(diǎn)亮;進(jìn)一步可將上述花樣流水圖案進(jìn)行分解,設(shè)計為Ki鍵動作,實(shí)現(xiàn)圖案中的第i個流水動作(動作時長可自定義)。
通過項(xiàng)目1-2,學(xué)生掌握了通用I/O口的輸入輸出特性、程序基本結(jié)構(gòu)和編程方法。
(二)外中斷及定時器/計數(shù)器中斷的應(yīng)用
中斷系統(tǒng)是單片機(jī)最重要的資源,包括外部中斷、定時器/計數(shù)器中斷以及串行口中斷。中斷系統(tǒng)的應(yīng)用是重點(diǎn)也是難點(diǎn),通過單片機(jī)外中斷及定時器/計數(shù)器中斷控制流水燈的運(yùn)行。如圖2,保留K2-K5并分別與INT0/INT1、T0/T1接口,項(xiàng)目具體內(nèi)容如下。
1.項(xiàng)目3-利用外部中斷控制流水燈
先引入INT0/INT1(K2/K3作為中斷源),暫不考慮K4/K5,如設(shè)置無鍵按下為左移流水→右移流水的循環(huán),K2動作則8路閃爍持續(xù)5S報警,K3動作則完成上述項(xiàng)目2中單鍵控制的花樣流水燈功能(持續(xù)10S),INT0/INT1選用邊沿觸發(fā)。
該項(xiàng)目功能雖簡單,但實(shí)現(xiàn)過程中涉及的知識點(diǎn)卻很多也相當(dāng)重要。如通用I/O口外接按鍵的軟件去抖動和INT0/INT1外接按鍵的軟件去抖動有何異同?如何實(shí)現(xiàn)?采用中斷方式為何多選用邊沿觸發(fā)而不是電平觸發(fā)?為何中斷函數(shù)一般要求盡可能短?INT0中斷函數(shù)如何設(shè)計,才能實(shí)現(xiàn)8路閃爍報警持續(xù)5s(INT1亦如此即完成花樣流水燈持續(xù)10s的功能),需知多數(shù)學(xué)生均會將5s或10s延時放在中斷服務(wù)函數(shù)中,這顯然是不合理的,啟發(fā)學(xué)生可以為INT0/INT1各設(shè)置一個標(biāo)志位flag0/flag1,以及增設(shè)兩個計數(shù)變量C0/C1,通過調(diào)用1s延時函數(shù)分別實(shí)現(xiàn)5s/10s延時,在此基礎(chǔ)上將項(xiàng)目需要實(shí)現(xiàn)的功能通過邏輯關(guān)系加以詳細(xì)描述,再利用編程語言實(shí)現(xiàn),學(xué)生會發(fā)現(xiàn)這是一個無比奇妙的過程。
2.項(xiàng)目4-利用計數(shù)器控制流水燈
忽略K2-K4,為方便起見,K5未動作記為K5+0,按下/釋放m次記為K5+m。項(xiàng)目設(shè)計為在K5按下m次完成花樣流水燈的第m個動作(m=1~8),且持續(xù)ms(通過定時器T0實(shí)現(xiàn))。
為此T1為8位自動重裝初值的計數(shù)器,初值設(shè)置為0XFF,工作于查詢方式;T0為定時器方式1,工作于中斷控制方式(50ms溢出一次),另設(shè)置兩個計數(shù)變量C0/C1,其中C0用以對K5動作次數(shù)進(jìn)行計數(shù),C1對T0溢出次數(shù)進(jìn)行計數(shù),實(shí)現(xiàn)1s-8s的延時。在程序結(jié)構(gòu)上,選用switch-case結(jié)構(gòu),實(shí)現(xiàn)花樣流水動作的分解與延時時長的配合。
(三)串口典型應(yīng)用
串口是單片機(jī)最重要的資源之一,也是學(xué)生比較難以理解的內(nèi)容。通過串口資源來控制流水燈,項(xiàng)目內(nèi)容簡單直觀,學(xué)生易于理解。具體設(shè)計如下。
1.項(xiàng)目5-通過串口方式0控制流水燈
圖3給出了利用串口方式0控制流水燈的電路,可以設(shè)計為Ki鍵按下發(fā)光二極管Di閃爍(閃爍間隔1s由T0或采用調(diào)用延時子函數(shù)實(shí)現(xiàn))。此時串口用作同步移位寄存器,單片機(jī)的P1口每讀入一組按鍵信息,RXD端作為數(shù)據(jù)移位的出口(設(shè)置為查詢工作方式),在TXD所提供移位脈沖的控制下,低位在前、高位在后將按鍵信息逐位移出。
需要著重強(qiáng)調(diào)的是74LS164的輸出QA~QH應(yīng)與發(fā)光二極管Q7~Q0依此相連,以避免數(shù)據(jù)傳輸完成后出現(xiàn)“頭朝地”的現(xiàn)象,并通過流水燈運(yùn)行效果加以印證。
2.項(xiàng)目6-雙機(jī)通信控制流水燈
圖4則給出了利用串行通信控制流水燈(閃爍間隔1s仍需由T0或采用調(diào)用延時子函數(shù)實(shí)現(xiàn))??梢钥吹剑@是一個簡單的雙機(jī)通信系統(tǒng),甲機(jī)向乙機(jī)發(fā)送8位數(shù)據(jù),乙機(jī)將接收到的數(shù)據(jù)在其連接的數(shù)碼管上顯示。
串口的工作方式可以設(shè)置為方式1~方式3中的任意一種(設(shè)置為中斷工作方式)。由于是雙機(jī)通信,因此對甲乙兩個單片機(jī)均需進(jìn)行編程,通過這個簡單的項(xiàng)目,學(xué)生更加容易理解串口發(fā)送和接收數(shù)據(jù)的典型流程,何時可增加奇偶校驗(yàn)位,何時可修改波特率以改變傳輸速度,并通過流水燈加以驗(yàn)證。
三、結(jié)語
以上通過流水燈涵蓋了I/O端口典型應(yīng)用、外部中斷、定時器/計數(shù)器以及串行口應(yīng)用,項(xiàng)目設(shè)計中也可將流水燈用于人機(jī)接口及其程序設(shè)計,如通過4只發(fā)光二極管、以四位二進(jìn)制代碼的形式顯示4×4矩陣式鍵盤的鍵號,從實(shí)際應(yīng)用出發(fā),有關(guān)人機(jī)接口應(yīng)用的項(xiàng)目選用顯示器主要是LED數(shù)碼管、點(diǎn)陣電子顯示屏、LCD1602液晶顯示器等。
教學(xué)實(shí)踐表明:將課程主要內(nèi)容蘊(yùn)含于簡單項(xiàng)目中,在課程教學(xué)中項(xiàng)目的硬件組成只有些許改動,更多的是通過更改控制方式,將課程內(nèi)容有機(jī)地嵌入其中,采取靈活多變的方式激發(fā)學(xué)生的學(xué)習(xí)興趣,同時增強(qiáng)了教學(xué)內(nèi)容的系統(tǒng)性,使多數(shù)學(xué)生能夠掌握課程的基礎(chǔ)內(nèi)容。
當(dāng)然,對課程的深入學(xué)習(xí)是一定要通過深入研究具體、實(shí)用的典型單片機(jī)小系統(tǒng)而獲得的,但不可否認(rèn)課程基礎(chǔ)知識的學(xué)習(xí)和掌握是提高與拓展的第一步。
參考文獻(xiàn):
[1]蔡燕玲.基于多知識點(diǎn)的單片機(jī)單一項(xiàng)目教學(xué)設(shè)計[J].信息技術(shù)與信息化,2016(5).
[2]紀(jì)藝娟.利用Keil與Proteus聯(lián)調(diào)改進(jìn)單片機(jī)實(shí)驗(yàn)課程教學(xué)[J].電子技術(shù),2017(12).
[3]王可寧,王 偉,王青松.以專業(yè)認(rèn)證為導(dǎo)向的單片機(jī)教學(xué)改革方法探索[J].教育現(xiàn)代化,2017(6).
[4]鄭秋梅,王風(fēng)華.“問題驅(qū)動”的研究性教學(xué)改革研究與實(shí)踐[J].中國成人教育,2015(20).
[5]劉 平.深入淺出玩轉(zhuǎn)51單片機(jī)[M].北京:北京航空航天大學(xué)出版社,2014.