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