《Proteus仿真平臺單片機項目式教程》課件 (李任青)項目3 搶答器_第1頁
《Proteus仿真平臺單片機項目式教程》課件 (李任青)項目3 搶答器_第2頁
《Proteus仿真平臺單片機項目式教程》課件 (李任青)項目3 搶答器_第3頁
《Proteus仿真平臺單片機項目式教程》課件 (李任青)項目3 搶答器_第4頁
《Proteus仿真平臺單片機項目式教程》課件 (李任青)項目3 搶答器_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單片機技術主講:XXX《Proteus平臺單片機項目式教程》七、靜態數碼顯示課程引入

1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節課,我們基于單片機的最小應用系統完成了汽車雙閃燈控制系統的設計,它是單片機控制發光二極管的應用設計實例。但是生活中,我們經常用發光二極管來構成數碼管的方式來顯示基本信息。這節課,我們將講述:怎么樣利用單片機驅動控制一位數碼管顯示字符或數據?請大家一起來體驗它的應用設計過程。一、課程引入第二步:啟發式引入新的問題:在生活中,數碼管的顯示方式分為:靜態顯示和動態顯示。(一動一靜之間,彰顯科技之美!)你知道什么叫靜態顯示、動態顯示嗎?(互動提問)第三步:提出這節課中心問題:

怎樣通過單片機驅動一位數碼管靜態顯示數字“0-9”或字符“a-f”中任意一個?

應用提示:生活中各個門店的的廣告牌、顯示屏的原理基本上都是采用靜態或動態的驅動顯示方式。答案是:靜態顯示和動態顯示區別在于它的數據驅動方式,說白了就是單片機給數據的方式,而不是顯示字符靜止或流動。動態顯示后面專題再講,大家先網上自學一下。二、應用效果仿真展示打開Proteus仿真軟件展示仿真效果(激發學生學習興趣)

提問:數碼管能顯示字符嗎,想想用它能顯示哪些字符?三、基本原理(重點)

1、數碼管簡介數碼管一種是半導體發光器件,分共陰、共陽兩種。共陰極數碼管:8個發光二極管的陰極(二極管負端)連接在一起。當某段驅動電路的輸出端為高電平時,則該端所連接的字段導通并點亮,根據發光字段的不同組合可顯示出各種數字或字符。此時,要求段驅動電路能提供額定的段導通電流。三、基本原理(重點)

2、靜態數碼顯示的工作原理數碼管的工作原理:是通過單片機的I/O端口進行驅動數碼管的各個段碼,點亮不同的段碼從而形成字符顯示出我們要的數字或字符。靜態顯示原理:當數碼管顯示某一字符時,相應的發光二極管恒定導通或恒定截止。每個數碼管的8個字段分別與一個8位I/O口地址相連,I/O口只要有段碼輸出,相應字符即顯示出來,并保持不變,直到I/O口輸出新的段碼。采用靜態顯示方式的特點:較小的電流即可獲得較高的亮度,且占用CPU時間少,編程簡單,顯示便于監測和控制,但其占用的口線多,硬件電路復雜,成本高,只適合于顯示位數較少的場合。

三、基本原理(重點)

3、數碼管顯示的編碼原理要使數碼管顯示出相應的數字或字符,必須使段數據口輸出相應的字形編碼。

P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0顯示字符編碼數據D7D6D5D4D3D2D1D0dpgfedcba00111111“0”3FH00000110“1”06H01011011“2”5BH01001111“3”4FH01100110“4”66H01101101“5”6DH01111101“6”7DH00000111“7”07H01111111“8”7FH01101111“9”6FH01110111A77H01111100B7CH111111“0”00111111“0”3FH三、基本原理(重點)

4、任務分析和硬件電路設計采用AT89c51單片機作為本系統的控制核心,利用單片機P0口直接驅動一個共陰的數碼管,驅動顯示數據“5”。(1)硬件電路設計共陰數碼管的公共端通過限流電阻接地,筆段端通過單片機P0口直接驅動,單片機是無法提供足夠的驅動電流的。

為了節省硬件,直接采用上拉電阻進行簡單的驅動配置,達到提供驅動電流的目的,提高數碼管的顯示亮度。

三、基本原理(重點)

5、軟件程序

BUF1

EQU30H ORG

0000H LJMP

START ORG

0030HSTART: MOV

BUF1,#05HNEXT:MOV

A,BUF1 MOV

DPTR,#TABLE MOVC

A,@A+DPTR MOV

P0,A LCALL

DELY10MS LJMP

STARTDELY10MS:MOV

R6,#20D1: MOV

R7,#248 DJNZ

R7,$ DJNZ

R6,D1 RETTABLE: DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5 DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END提問:請大家討論一下,怎樣編寫程序實現一位數碼管交替顯示“6”、“A”?四、實物效果展示五、思考題與課外拓展1、思考題:編寫程序實現一位數碼管交替顯示“6”“A”。2、課外拓展:

請基于以上原理設計程序,在Proteus軟件仿真平臺分別實現以下功能。

(1)請利用單片機四組I/O口分別驅動4位數碼管顯示“good”、“1000”。

(2)請利用驅動芯片組成并口靜態數碼顯示電路,顯示“012345”等,提示可采用74LS373等數據鎖存器。

(3)請利用驅動芯片組成串口靜態數碼顯示電路,顯示“HELLO”等字符,提示可采用74LS164等串行移位寄存器。

課外(自學):交替顯示“6”“A”課外(自學):顯示“HELLO”ThankYou!單片機技術主講:XXX《Proteus平臺單片機項目式教程》西安電子科技大學出版社江西農業大學南昌商學院八、0—9隨機抽號器的設計

課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節課,我們基于單片機的最小應用系統完成了數碼管的字符顯示功能,它是單片機控制數碼顯示的靜態顯示實例,后面我們也會接著講動態數碼顯示的編程方式。這節課將在上節課靜態顯示的基礎上鞏固加深,做一個數碼跑動的鍵控效果,讓數碼管“動”起來。一、課程引入第二步:啟發式引入新的問題:生活中,我們經常用到隨機抽號器,例如考試的隨機抽題、各種隨機形式的抽簽等等。以最簡單的0-9隨機抽號器的設計為例。那么請大家一起討論一下,我們需要從那幾個方面考慮?請積極發言:第三步:提出這節課中心問題:針對上述四個關鍵問題請給出最佳的設計、處理思路?

(1)數碼管的顯示,需要能夠從0到9快速跑起來。(2)按鍵控制停止,按下鍵就停在某一隨機數字上。(3)如何保證0-9的數據具有隨機性?(4)怎樣恢復到下一次的抽號?二、應用效果仿真展示仿真平臺應用效果展示(激發學生學習興趣)1、設計方法(4)怎樣恢復到下一次的抽號?對策思路:最佳的人性化方案是,再按一下同一個鍵,即可立刻自動復位到隨機抽號功能。可以通過開關按鍵的電平檢測細分狀態編程實現。(1)數碼管的顯示,需要能夠從0到9快速跑起來。對策思路:要用一個計數變量,編程做加法運算實現0到9的循環數,之后譯碼顯示。任務分析(2)按鍵控制它的停止,按下鍵就停在某一隨機數字上。對策思路:要做一個按鍵檢測,檢測到就鎖存正顯示的數據不動,并且要始終嵌套在主程序中一直執行按鍵掃描。(3)如何保證0-9的數據具有隨機性?對策思路:要保證公平性和隨機性,加法循環計數速度要遠遠超過按鍵的操作速度,可以采用1秒鐘,循環計數1000-10000次。三、設計原理(重點)三、設計原理(重點)2、系統設計(1)硬件電路設計采用AT89c51單片機作為本系統的控制核心,利用單片機P0口直接驅動一個共陰的數碼管,按鍵狀態通過P3.7口輸入,不按為高電平,按下為低電平。三、設計原理(重點)

(2).軟件程序編寫

Count EQU30H SP1 BITP3.7 ORG 0000H LJMP START ORG 0030HSTART: MOV

Count,#00H MOV

DPTR,#TABLELOOP: MOV A,Count ADD A,#1 DA A ANL

A,#0FH MOV

Count,A MOVC

A,@A+DPTR MOV

P0,Asweep:JB

SP1,LOOP;等于1跳轉。LCALL

DELY10MS JB

SP1,LOOPwt:

JNBSP1,wt;檢測按鍵釋放1;JNB等于0就跳轉。

;LJMP$wIt:

JBSP1,wIt

;檢測是否再次按鍵復位0,沒有就等待wt2:

JNBSP1,wt2

;按鍵了準備復位,等待釋放后復位。

LJMPSTARTDELY10MS:

MOVR6,#20D1: MOVR7,#248 DJNZR7,$ DJNZR6,D1 RETTABLE:

DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,79H,71H,40H,00H;C,D,E,F,- END

思考:請大家討論一下,怎樣編寫程序實現兩位數碼顯示的隨機抽號功能?四、實驗箱演示實物運行效果:五、思考題與課外拓展1、思考題:怎樣編寫程序實現兩位數碼顯示的隨機抽號功能?2、課外拓展:請基于以上原理設計程序,在Proteus軟件仿真平臺分別實現以下功能。(1)請編程實現一位數碼管的0-9隨機抽簽排序功能,隨機抽出0-9的數字各一,保證穩定性,防止誤操作。(難點提示:可以通過“兩鍵互鎖,一鍵恢復”的方式防止誤操作。)(2)請編程實現1-4位數碼管隨機抽號功能,添加一個按鍵,用于選擇數碼管的位數的模式切換。(3)請編程實現1-4位數碼管隨機抽簽排序功能,添加一個按鍵選擇數碼管的位數模式切換。ThankYou!單片機技術主講:XXX《Proteus平臺單片機項目式教程》西安電子科技大學出版社江西農業大學南昌商學院項目3搶答器的設計

課程引入1應用效果仿真展示2基本原理(重點)3實物效果展示4思考題與課外拓展5一、課程引入第一步:復習舊課。上節課,我們基于單片機的最小應用系統完成了0-9隨機抽號器的設計。一、課程引入今天我們將在此基礎之上,設計一個搶答器。這是對數碼顯示技術及按鍵檢測處理方法的一次綜合型設計,目的是訓練大家的應用編程能力,幫助理解前面的知識點,形成實際的編程應用能力。下一節課我們將轉入下一個項目:交通燈的設計一、課程引入第二步:啟發式引入新的問題:常見的搶答器有哪些功能?請大家回想數字電路課程設計中搶答器,它主要由哪幾部分構成?以8路搶答器的設計為例。請大家一起討論一下,我們需要從那幾個方面考慮?第三步:提出這節課中心問題:針對上述四個關鍵問題請給出最佳的設計、處理思路?

(1)數碼管的顯示、驅動方式。(2)按鍵檢測與處理。(3)如何保證搶答器的公平性?(4)怎樣恢復到下一次的搶答?二、應用效果仿真展示仿真平臺應用效果展示(激發學生學習興趣)1、設計方法(4)怎樣恢復到下一次的搶答?對策思路:設置主持人鍵,主持人按復位鍵手動恢復下一次搶答。分正常搶答完成、提前搶答和搶答超時三種情況下的復位。(1)數碼管的顯示、驅動方式。對策思路:數碼管顯示位數不多,可以采用靜態顯示,共陰數碼管采用上拉電阻驅動即可。任務分析(2)按鍵檢測與處理。對策思路:采用獨立式按鍵,檢測按鍵輸入的電平變化,對按鍵掃描需要考慮到按鍵抖動的干擾,需要消抖處理。(3)如何保證搶答器的公平性?對策思路:利用開機自檢、測試保證設備公平性;掃描的按鍵速度us級保證按鍵動作捕獲公平;設置搶答鎖定,設置主持鍵允許搶答、提前搶答違規處理保證過程公平。三、設計原理(重點)三、設計原理(重點)2、相關知識(1)按鍵去抖動

接觸式按鍵,是有機械觸點的彈性開關。按鍵按下,開關閉合;按鍵釋放,開關斷開。實現電氣上邏輯關系的輸出,提供標準的TTL邏輯電平。理想波形按鍵機械抖動波形一般有硬件消抖和軟件消抖兩種方法。三、設計原理(重點)硬件消抖:RC濾波去抖動脈沖計數就是合理設置一個計數值,通過計數來確認按鍵動作,避免重復響應。延時消抖是根據按鍵抖動出現的特性,利用10ms左右的延時,規避抖動信號出現的時間段,達到軟件消抖的目的。軟件消抖:脈沖計算、延時響應消抖。三、設計原理(重點)(2)數碼管顯示字符編碼數據:單片機對筆段端I/O口輸出的編碼數據。共陰數碼管顯示字符“0”,對應的數據D7~D0為:3FH。數碼顯示方式:靜態顯示和動態顯示。

這里采用靜態顯示:通過驅動器或鎖存器直接控制數碼管的顯示,單片機端口直接驅動一位數碼管。靜態顯示,耗占用CPU時間少。一般只適合于數碼管顯示位數較少的場合。數碼管編碼數據三、設計原理(重點)(3)驅動接口電路設計數碼管、LED、點陣等發光部件常需要用數據鎖存器74273、緩沖器74245、反相器7406、達林頓管UL2003等來做驅動。搶答器中的蜂鳴器、揚聲器常需要三極管作驅動接口設計。常見的三極管接口電路三、設計原理(重點)3、系統設計(1)需

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論