0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數碼管的基本構造、顯示原理及驅動方式

CHANBAEK ? 來源:CSDN-_會飛_的魚 ? 作者:CSDN-_會飛_的魚 ? 2023-03-07 15:16 ? 次閱讀

一. 什么是數碼管

LED數碼管LED Segment Displays)是由8個發(fā)光二極管構成,并按照一定的圖形及排列封裝在一起的顯示器件。 其中7個LED構成7筆字形,1個LED構成小數點(也被稱為為八段數碼管)。

常用的數碼管位數有1,2,3,4,5,6,8,10位等等,顏色有紅,綠,藍,黃等幾種。 了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。

二. 數碼管基本構造

LED數碼管有兩大類,一類是共陰極接法,另一類是共陽極接法,共陰極就是8段的顯示字碼共用一個電源的負極,是高電平點亮,共陽極就是7段的顯示字碼共用一個電源的正極,是低電平點亮。 只要控制其中各段LED的亮滅即可顯示相應的數字、字母或符號。

共陰和共陽極數碼管的內部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已,共陰為所有的LED負極接在一起,共陽為為所有的LED正極接在一起。 如下圖為1位數碼管的共陰極和共陽極原理圖:

截圖20230301181839.png

三、數碼管顯示原理

要是數碼管顯示數字,有兩個條件:1.是要在VT端加合適的電源(一般每顆LED還需串上合適的電阻,起限流作用); 2.要使(a,b,c,d,e,f,g,dp)端接低電平或“0”電平。 這樣才能顯示的。

例如下圖的共陰極數碼管,須在VT端接上地端,(a,b,c,d,e,f,g,dp)端接到單片機的引腳上; 如果要使其中一個LED亮時,對應的單片機引腳輸出高電平,即可點亮LED燈。

截圖20230301181839.png

共陰極LED數碼管的內部結構原理圖

能夠點亮數碼管后,就可以通過單片機控制數碼管顯示數字或字母。 為了控制方便,我們將數碼管的a~dp引腳依次連接單片機的P10-P17引腳,如圖:

截圖20230301181839.png

我們對數碼管所要顯示的每個數字和字母進行編碼,然后在編程時,將編碼放在一個數組上,需要顯示什么數字或者字母,從數組里面提取相應的編碼就可顯示所要顯示的字符了。

如圖,要顯示數字“5”時,編碼為0x6D。 如果數碼管為共陽極,只需要對共陰極的編碼做一個取反操作即可。

截圖20230301181839.png

四. 數碼管驅動方式

根據LED數碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。

1.靜態(tài)驅動方式

led靜態(tài)顯示時,其公共端接地(共陰極)或接電源(共陽極),各段選線分別與I/O口接線相連。 要顯示字符,直接在I/O線發(fā)送相應的字段碼。

優(yōu)點: 靜態(tài)顯示結構簡單,顯示方便,要顯示某個字符直接在IO線上發(fā)送相應的字段碼

缺點: 一根數碼管需要8根IO線,數碼管比較多時候,非常占用IO線。

2.動態(tài)驅動方式

動態(tài)驅動方式是將所有的數碼管的段選線并接在一起,用一個IO接口控制,公共端并不是直接接地(共陰極)或者電源(共陽極),而是通過相應的IO接口控制。

以共陽極為例假設4個數碼管工作過程為,如圖:

截圖20230301181839.png

四位數碼管動態(tài)驅動方式連接圖

  1. 每個數碼管的公共端與單片機的一個IO相連,第一步使最右邊一個數碼管的公共端為1(P21),其余數碼管公共端為0,同時在(a,b,c,d,e,f,g,dp)P0端上發(fā)送右邊第一個數碼管的字段碼,這時候只有右邊的第一個數碼管顯示,其余不顯示;
  2. 第二步使右邊第二個數碼管的公共端(P23)為1,其余的公共端為0,同時在(a,b,c,d,e,f,g,dp)P0端上發(fā)送右邊第二個數碼管的字段碼,這時候,只有右邊第二個數碼管顯示,其余不顯示;
  3. 以此類推,直到最后一個,這樣子4個數碼管輪流顯示相應的信息,一遍顯示完畢,隔一段時間,又這樣循環(huán)顯示。

從計算機角度,每個數碼管隔一段時間才顯示一次,但是由于人的視覺暫留效應,只要隔離時間足夠短,循環(huán)的周期足夠長,美妙達到24次以上,看起來數碼管就一直穩(wěn)定顯示了,這就是動態(tài)顯示原理。

五. 八位數碼管動態(tài)驅動例程

以八位共陰極數碼管,動態(tài)驅動的方式為例:

#include<reg51.h>




//--定義使用的IO口--//
#define GPIO_DIG   P0  //段選
#define GPIO_PLACE P1  //位選




//--定義全局變量--//
unsigned char code DIG_PLACE[8] = {
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選控制   查表的方法控制
unsigned char code DIG_CODE[17] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
unsigned char DisplayData[8];
//用來存放要顯示的8位數的值




//--聲明全局函數--//
void DigDisplay(); //動態(tài)顯示函數
/*******************************************************************************
* 函 數 名         : main
* 函數功能       : 主函數
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void main(void)
{
  unsigned char i;




  for(i=0; i<8; i++)
  {
    DisplayData[i] = DIG_CODE[i];  
  }
  while(1)
  {
    DigDisplay();
  }        
}




/*******************************************************************************
* 函 數 名         : DigDisplay
* 函數功能       : 使用數碼管顯示
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void DigDisplay()
{
  unsigned char i;
  unsigned int j;




  for(i=0; i<8; i++)
  {
    GPIO_PLACE = DIG_PLACE[i];   //發(fā)送位選
    GPIO_DIG = DisplayData[i];     //發(fā)送段碼
    j = 10;             //掃描間隔時間設定
    while(j--);  
    GPIO_DIG = 0x00;//消隱
  }
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 電源
    +關注

    關注

    184

    文章

    17413

    瀏覽量

    248810
  • led
    led
    +關注

    關注

    240

    文章

    22999

    瀏覽量

    654806
  • 數碼管
    +關注

    關注

    32

    文章

    1873

    瀏覽量

    90733
  • 顯示器件
    +關注

    關注

    1

    文章

    58

    瀏覽量

    11759
  • 驅動方式
    +關注

    關注

    0

    文章

    15

    瀏覽量

    7382
收藏 人收藏

    評論

    相關推薦

    數碼管驅動電路講解

    根據項目需求可以用I/O外部上拉,用來驅動數碼管;也可以74HC138(38譯碼器)+74HC245(8路信號收發(fā)器)驅動數碼管。本文會以后者為數碼
    的頭像 發(fā)表于 11-01 17:34 ?3054次閱讀
    <b class='flag-5'>數碼管</b><b class='flag-5'>驅動</b>電路講解

    數碼管驅動芯片的使用方法

    數碼管驅動芯片(也稱為LED驅動芯片)是一種用于控制數碼管顯示的集成電路。它可以將微控制器產生的數字信號轉換為適合
    的頭像 發(fā)表于 12-08 16:24 ?9206次閱讀

    數碼管驅動方式

    數碼管驅動方式   數碼管要正常顯示,就要用驅動電路來
    發(fā)表于 11-06 11:42 ?3917次閱讀

    LED數碼管顯示分類及其典型應用電路

    本文主要講述了LED數碼管顯示分類及其特點、LED數碼管典型應用電路。 一.LED數碼管顯示分類 LED
    發(fā)表于 07-31 11:09 ?1.1w次閱讀
    LED<b class='flag-5'>數碼管</b><b class='flag-5'>顯示</b>分類及其典型應用電路

    單片機驅動數碼管顯示設計

    單片機驅動數碼管顯示設計資料
    發(fā)表于 08-29 10:52 ?25次下載

    動態(tài)數碼管顯示程序

    動態(tài)數碼管顯示程序,動態(tài)數碼管顯示程序,動態(tài)數碼管顯示程序,動態(tài)
    發(fā)表于 01-12 14:55 ?60次下載

    數碼管顯示的多種方式

    1、 實現3*4按鍵數碼管顯示
    發(fā)表于 09-06 15:02 ?22次下載

    數碼管顯示原理與驅動方式

    數碼管,也稱作輝光,是一種可以顯示數字和其他信息的電子設備。玻璃中包括一個金屬絲網制成的陽極和多個陰極。大部分數碼管陰極的形狀為數字。
    的頭像 發(fā)表于 11-21 07:07 ?6307次閱讀

    七段數碼管驅動方式_七段數碼管怎么接

    本文首先介紹了七段數碼管驅動方式,其次介紹了七段數碼管引腳圖,最后介紹了七段數碼管引腳連接方法。
    發(fā)表于 10-09 11:16 ?1.7w次閱讀

    51匯編(六):數碼管顯示

    文章目錄數碼管驅動單位數碼管數碼管數碼管分為共陰數碼管和共陽
    發(fā)表于 11-22 09:06 ?10次下載
    51匯編(六):<b class='flag-5'>數碼管</b><b class='flag-5'>顯示</b>

    數碼管的四種驅動方式

    通過三極驅動方式,來點亮數碼管。
    的頭像 發(fā)表于 03-22 15:50 ?1.5w次閱讀
    <b class='flag-5'>數碼管</b>的四種<b class='flag-5'>驅動</b><b class='flag-5'>方式</b>

    LED數碼管顯示方式驅動方式

    LED數碼管,作為現代電子顯示技術中的重要組成部分,以其高亮度、長壽命和低功耗等特點,廣泛應用于各種數字顯示設備中。本文將詳細闡述LED數碼管顯示
    的頭像 發(fā)表于 05-30 17:37 ?2112次閱讀

    數碼管驅動芯片原理是什么

    數碼管驅動芯片是一種廣泛應用于數字顯示領域的電子元件,它能夠將數字信號轉換為可視的數字顯示。 一、數碼管
    的頭像 發(fā)表于 08-28 16:07 ?465次閱讀

    數碼管驅動芯片引腳功能

    數碼管驅動芯片是一種用于驅動數碼管顯示數字或字符的集成電路。數碼管
    的頭像 發(fā)表于 08-28 16:08 ?502次閱讀

    驅動數碼管顯示不良原因

    驅動數碼管顯示不良的原因可能有很多,涉及到硬件、軟件、環(huán)境等多個方面。 一、引言 驅動數碼管是一種廣泛應用于工業(yè)自動化、電子設備等領域的
    的頭像 發(fā)表于 08-28 16:38 ?383次閱讀