led數(shù)碼管顯示方法及原理
對于人機交互式單片機系統(tǒng)來說,不僅需要響應(yīng)用戶輸入,同時也需要將一些測控信息輸出顯示。這些顯示信息可以提供實時的數(shù)據(jù)或圖形結(jié)果,以便于掌握系統(tǒng)的狀態(tài)并進行分析處理。目前,在單片機中最常用的是LED數(shù)碼管顯示。其成本低廉、使用簡便,可以顯示數(shù)字或幾個特定的字符。本章將主要介紹LED數(shù)碼管的種類與結(jié)構(gòu),以及使用51系列單片機如何實現(xiàn)顯示,包括靜態(tài)顯示和動態(tài)顯示。本章還通過實例介紹了單個LED和多個LED的使用方法。
1 LED數(shù)碼管概述:
• LED即發(fā)光二極管,英文全稱為Light Emitting Diode。單獨的發(fā)光二極管便是一個最簡單的LED,通過控制其的亮滅來作為信號指示,一般用于電源指示燈、工作狀態(tài)指示等。單個的發(fā)光二極管使用比較簡單。
• LED數(shù)碼管是由若干個發(fā)光二極管組成的顯示字段的顯示器件,一般簡稱為數(shù)碼管。當數(shù)碼管中的某個發(fā)光二極管導(dǎo)通的時候,相應(yīng)的一個字段便發(fā)光,不導(dǎo)通的則不發(fā)光。LED數(shù)碼管可以根據(jù)控制不同組合的二極管導(dǎo)通,來顯示各種數(shù)據(jù)和字符。
• 單片機應(yīng)用系統(tǒng)中使用最多的是7段LED,其可以顯示十進制數(shù)字以及一些英文字符。7段LED顯示模塊可以分為共陰極和共陽極兩種,下面分別進行介紹。
1.1 7段共陽極LED結(jié)構(gòu)及顯示段碼
• 7段共陽極LED數(shù)碼管是由7個條形發(fā)光二極管和一個小數(shù)點位構(gòu)成,其引腳配置,如圖所示,其內(nèi)部結(jié)構(gòu),如圖所示。從圖中可以看出,其中7個發(fā)光二極管構(gòu)成字形“8”,可以用來顯示數(shù)字,另一個發(fā)光二極管構(gòu)成小數(shù)點。因此,這種數(shù)碼管有時也被稱為8段LED數(shù)碼管顯示器。
1.2 7段共陰極LED結(jié)構(gòu)及顯示段碼
• 共陰極7段LED數(shù)碼管和共陽極LED數(shù)碼管結(jié)構(gòu)類似,其引腳配置,如圖所示。從圖中可以看出7段LED數(shù)碼管同樣由8個發(fā)光二極管組成,其中7個發(fā)光二極管構(gòu)成字形“8”,另一個發(fā)光二極管構(gòu)成小數(shù)點。
• 共陰極7段LED數(shù)碼管的內(nèi)部結(jié)構(gòu),如圖所示。其中所有發(fā)光二極管的陰極為公共端,接GND。如果發(fā)光二極管的陽極極為高電平的時候,發(fā)光二極管導(dǎo)通,該字段發(fā)光;反之,如果發(fā)光二極管的陽極為低電平的時候,發(fā)光二極管截止,該字段不發(fā)光。
2 單個LED驅(qū)動實例
• 前面介紹了LED數(shù)碼管的結(jié)構(gòu)及其顯示方式。LED數(shù)碼管主要用于顯示數(shù)字和一些特定的字符。這里通過一個具體的實例介紹一下,如何使用51系列單片機來進行數(shù)字和字母的顯示。
2.1 電路圖
• 本例主要用來使用共陽極LED數(shù)碼管顯示數(shù)字或字符,讀者可以從中掌握LED數(shù)碼管的基本操作方法。這里給出完整的電路原理圖,如圖所示。
2.2 程序設(shè)計
• 這里采用LED的靜態(tài)顯示的方式,根據(jù)按鍵的不同,使LED數(shù)碼管有不同的顯示輸出。
• 1.創(chuàng)建項目
• 2.程序代碼
3 多個LED驅(qū)動方式
• 在實際的單片機應(yīng)用系統(tǒng)中,使用單個LED數(shù)碼管的情況比較少,經(jīng)常需要同時使用多個LED數(shù)碼管來顯示大于1位的數(shù)據(jù)或字符串。以4個LED數(shù)碼管并列使用的情況為例。這4個數(shù)碼管可以顯示-999~9999之間的任何數(shù)字,也可以同時顯示4個字符構(gòu)成的字符串??梢娛褂枚鄠€LED數(shù)碼管可以大大擴展顯示的信息量。
• 對于使用單個LED數(shù)碼管的場合,直接用單片機的一個并行口便可以控制顯示。如果仍然采用這種方法來控制顯示N個LED數(shù)碼管顯然是不太可能的,因為典型的8051單片機只有4個I/O并口,而且有些I/O口還需要用作其他用途。而對于一些多引腳的型號,通常也不夠為每個LED分配一個I/O并口用于顯示。此時便需要根據(jù)系統(tǒng)資源占用情況,來選用合理的顯示控制方式。
3.1 靜態(tài)驅(qū)動顯示
• LED數(shù)碼管靜態(tài)顯示方式是指,當數(shù)碼管顯示某個字符的時候,相應(yīng)字段的發(fā)光二極管恒定地導(dǎo)通或者截止,即亮滅是完全不變的。在這種情況下,多個LED是同時顯示的。
• 這里以4個共陰極LED數(shù)碼管為例,如圖所示。其公共端接GND,每個LED數(shù)碼管的字段引腳分別接單片機的P0、P1、P2、P3端口,這樣便可以為每個數(shù)碼管單獨賦值操作。
3.2 動態(tài)驅(qū)動顯示
• 動態(tài)顯示是指每隔一段時間循環(huán)點亮每個LED數(shù)碼管,每次只有一個LED被點亮。根據(jù)人眼的視覺暫留效應(yīng),當循環(huán)點亮的速度很快的時候,可以認為各個LED是穩(wěn)定顯示的。
• 動態(tài)顯示的硬件連接比較簡單。這里使用了8個LED數(shù)碼管,將所有LED的8段引腳并聯(lián)在一起,連接到8位的I/O數(shù)據(jù)總線上。而各個LED的共陽極引腳或共陰極引腳分別由另一組I/O線控制, 從圖中可以看出,使用兩個8位的I/O端口便可以動態(tài)顯示8位LED數(shù)碼管。其中一個并口作為LED數(shù)碼管的控制引腳,另一個并口作為公共的數(shù)據(jù)總線。
• 程序中采用掃描顯示的方式,即在同一時刻,只使用一個LED顯示數(shù)據(jù)。通過為共陰極LED(或共陽極LED)的公共引腳賦低電平(或高電平),從而選擇某個LED顯示。如此循環(huán),使每個LED顯示該LED應(yīng)顯示的數(shù)據(jù),并進行適當?shù)难訒r,形成視覺暫留效果。這樣便可以達到動態(tài)顯示的目的。
3.3 LED驅(qū)動器
• 前面介紹的LED的動態(tài)驅(qū)動顯示在程序設(shè)計上比較復(fù)雜,實際上可以將相應(yīng)的LED掃描動態(tài)顯示電路交由特定功能的芯片來完成。目前,市場上有多種LED數(shù)碼管顯示驅(qū)動芯片。MAXIM公司生產(chǎn)的MAX7219顯示驅(qū)動器。
4 多個LED驅(qū)動實例
• 前面介紹了各種驅(qū)動多個LED數(shù)碼管的方法,其中以外接LED驅(qū)動器最為方便,占用單片機資源少,而且程序控制簡單。這里便以實例講解如何使用MAX7219芯片和51系列單片機來驅(qū)動多個LED數(shù)碼管。
4.1 LED驅(qū)動器電路圖
• 系統(tǒng)完整的電路圖,如圖所示。這里的單片機選用ATMEL公司的新型單片機AT89S51,也可以采用其他兼容的51系列單片機,如AT89S52、AT89C51、8051等。
4.2 程序設(shè)計
• 本例的程序功能是演示MAX7219的各個寄存器操作,以及控制8個LED數(shù)碼管顯示數(shù)字及字符。
5 小結(jié)
• 本章詳細介紹了LED數(shù)碼管顯示器件,包括共陽極7段LED數(shù)碼管和共陰極7段LED數(shù)碼管,然后介紹了LED的靜態(tài)顯示技術(shù)及其應(yīng)用實例。本章還重點講解了LED數(shù)碼管的動態(tài)顯示技術(shù),包括靜態(tài)驅(qū)動、動態(tài)驅(qū)動和LED驅(qū)動器驅(qū)動。最后通過一個具體的實例講解了使用LED驅(qū)動器控制多個LED的顯示。LED數(shù)碼管顯示是單片機系統(tǒng)中常用的顯示接口,讀者應(yīng)該熟練掌握其使用方法。
同類文章排行
- LED數(shù)碼管的檢測
- LED數(shù)碼管故障檢測檢修
- LED數(shù)顯溫度控制器設(shè)計論述
- LED大屏幕數(shù)顯裝置在隨流孕育裝置上的應(yīng)用
- LED數(shù)碼管正裝與倒裝結(jié)構(gòu)區(qū)別
- led數(shù)碼管靜態(tài)顯示方式和動態(tài)顯示方式
- LED七段數(shù)碼管數(shù)字鐘
- led數(shù)碼管顯示種類簡介
- LED數(shù)碼管顯示器介紹
- LED數(shù)碼管動態(tài)掃描顯示控制器設(shè)計