陳松
本項(xiàng)目是利用單片機(jī)控制四位數(shù)碼管的顯示,根據(jù)任務(wù)的難易程度可分解為以下四個工作任務(wù):
(1)復(fù)習(xí)回顧:一個數(shù)碼管的顯示;
(2)新課入門:四位數(shù)碼管顯示同一數(shù)字;
(3)新課提高:四位數(shù)碼管顯示不同數(shù)字;
(4)新課綜合:用單片機(jī)定時器實(shí)現(xiàn)四位數(shù)碼管顯示電子時鐘。
【學(xué)習(xí)課時】
根據(jù)學(xué)生實(shí)際情況,項(xiàng)目預(yù)計(jì)學(xué)時16學(xué)時,其中復(fù)習(xí)回顧1學(xué)時,新課入門、提高、綜合分別為2學(xué)時、4學(xué)時、8學(xué)時,評價總結(jié)為1學(xué)時。
【學(xué)習(xí)目標(biāo)】
(1)能正確理解數(shù)碼管動態(tài)掃描原理,掌握定時器在數(shù)碼管顯示方面的使用方法和技巧;
(2)能正確操作編程軟件、仿真軟件完成四位數(shù)碼管的各種顯示任務(wù);
(3)能在項(xiàng)目完成的過程中發(fā)現(xiàn)問題、分析問題、解決問題。
【重點(diǎn)、難點(diǎn)】
數(shù)碼管動態(tài)掃描原理的理解,定時器的基本功能及編程。
【學(xué)情分析】
授課對象為電子技術(shù)班A組。該組學(xué)生前期已修完數(shù)字電路、電子工藝設(shè)計(jì)、電子EDA和PLC相關(guān)課程,學(xué)生具備一定理論知識,專業(yè)技能較好,喜歡動手實(shí)踐,能在老師的引導(dǎo)下主動學(xué)習(xí)。
【任務(wù)準(zhǔn)備】
1.硬件:34臺主流配置的聯(lián)想計(jì)算機(jī),單片機(jī)實(shí)訓(xùn)開發(fā)板和實(shí)訓(xùn)箱;
2.軟件:偉福、Keil編程開發(fā)軟件,proteus仿真軟件,相關(guān)教學(xué)資源;
3.教學(xué)策略:對學(xué)生分組——建立合作學(xué)習(xí)小組(項(xiàng)目開發(fā)小組),將不同優(yōu)勢的學(xué)生劃分到一個小組,以保證組內(nèi)各成員之間的差異性和互補(bǔ)性,保證組內(nèi)各成員的主動參與與互助合作。保持小組和小組間的綜合能力水平相當(dāng),使各小組在完成一系列工作任務(wù)時存在公平競爭。使各小組各成員在完成工作任務(wù)時有壓力,提高學(xué)習(xí)積極性、主動性。
【項(xiàng)目實(shí)施過程】
【任務(wù)一】復(fù)習(xí)回顧:
一位數(shù)碼管顯示,在前段時間,我們學(xué)習(xí)了一位數(shù)碼管顯示數(shù)字0-9,請同學(xué)們調(diào)出當(dāng)時的proteus仿真電路圖,根據(jù)自己的編程經(jīng)驗(yàn),回憶一下,然后回答以下問題:
1.一位數(shù)碼管共有_________個引腳,正常情況下,要點(diǎn)亮一個段位,所需電壓值正常為_________V。
2.右側(cè)為一位數(shù)碼管的引腳圖(如圖1),請?jiān)谝_圖上正確標(biāo)示出各引腳的功能名稱,將(A,B,C,D,E,F(xiàn),G,DP,COM)正確標(biāo)示在相關(guān)引腳上,并簡述如何進(jìn)行測試數(shù)碼管各段的好壞。
3.用單片機(jī)控制一位數(shù)碼管顯示,我們學(xué)過的編程思路是采用______________程序方式。(傳送指令、取表指令、移位指令)。
START: MOV DPTR, #TABLE ;
MOV R0, #0 ;
LOOP: MOV A, R0 ;
MOVC A, @A+DPTR ;
MOV P0, A ;
INC R0 ;
CJNE R0, #10,LOOP ;
LJMP START ;
5.請將一位數(shù)碼管顯示數(shù)字0-9的程序流程圖畫在下面位置,并編程調(diào)試仿真實(shí)現(xiàn)功能。
【任務(wù)二】新課入門-四位數(shù)碼管顯示同一數(shù)字
本項(xiàng)目所使用的電路原理圖(如圖2),請利用proteus軟件進(jìn)行硬件電路的設(shè)計(jì),并簡述電路模塊及其工作原理。
1.四位數(shù)碼管的引腳圖(如圖2),請標(biāo)示出各引腳的名稱,并簡述如何測量其好壞。
2.根據(jù)已學(xué)過的知識,利用取表指令編程實(shí)現(xiàn)四位數(shù)碼管顯示四位相同的數(shù)字,如“0000”“1111”。
請將程序及流程圖寫在下面空白處,并編程調(diào)試仿真實(shí)現(xiàn)功能。
思考題:
如何實(shí)現(xiàn)四位數(shù)碼管所顯示的數(shù)字每隔一段時間自動加1,即循環(huán)顯示0000,1111,2222,3333,4444,5555,6666,7777,8888,9999。請嘗試編程實(shí)現(xiàn)。
3.如何讓單片機(jī)實(shí)現(xiàn)四位數(shù)碼管顯示不同的數(shù)字(顯示自己的學(xué)號,如1001,1003,1005),請嘗試編程實(shí)現(xiàn)。
【任務(wù)三】新課提高-四位數(shù)碼管顯示不同數(shù)字
數(shù)碼管動態(tài)掃描原理:
動態(tài)掃描方法是用其接口電路把所有數(shù)碼管的8個筆劃段a~g和dp同名端連在一起,而每一個數(shù)碼管的公共極COM各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有數(shù)碼管接收到相同的字形碼。但究竟是哪個數(shù)碼管亮,則取決于COM端,COM端與單片機(jī)的I/O口相連接,由單片機(jī)輸出位碼到I/O控制何時哪一位數(shù)碼管亮。
根據(jù)動態(tài)掃描的原理可以知道,要讓四位數(shù)碼顯示不同的數(shù)字,我們可以用四個不同的地址來存放每位數(shù)碼管所要顯示的值的指針。如要顯示“1234”,那么,需要用四個地址來存放每一位數(shù)碼管要顯示數(shù)字的指針,即1234的四個地址指針,然后采用動態(tài)掃描的方式實(shí)現(xiàn)。相當(dāng)于讓四位數(shù)碼管工作在以下狀態(tài):
(1)三極管Q1導(dǎo)通,將數(shù)字1的編碼送到P0口,顯示一段時間后三極管Q1截止。
(2)三極管Q2導(dǎo)通,將數(shù)字2的編碼送到P0口,顯示一段時間后三極管Q2截止。
(3)三極管Q3導(dǎo)通,將數(shù)字2的編碼送到P0口,顯示一段時間后三極管Q3截止。
(4)三極管Q4導(dǎo)通,將數(shù)字2的編碼送到P0口,顯示一段時間后三極管Q4截止。
請編寫程序?qū)崿F(xiàn)四位數(shù)碼管顯示自己的學(xué)號,如9901,9903,9905,并調(diào)試仿真實(shí)現(xiàn)功能。
請將程序流程圖寫在下面,并羅列編程過程中碰到的問題或者體會,簡述你是如何排除、解決問題的。(至少1個問題)
思考題:
用單片機(jī)實(shí)現(xiàn)四位數(shù)碼管所顯示的四位數(shù)從0000開始隔1S自動加1,直到9999后回到0000,然后循環(huán)顯示。
【項(xiàng)目評價】
按任務(wù)步驟進(jìn)行星級評價和評選優(yōu)勝小組的方式,一方面使學(xué)生可以知道自己與別人的差距,另一方面也可檢驗(yàn)教學(xué)的不足。注意每位學(xué)生在項(xiàng)目推進(jìn)中的進(jìn)步和表現(xiàn),要經(jīng)常給予鼓勵;善于總結(jié)和比較學(xué)生的優(yōu)點(diǎn),引導(dǎo)學(xué)生學(xué)習(xí)他人的長處,使學(xué)生的綜合能力在總結(jié)評估中得到提高。