新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 市場分析 > 將7段顯示連接到8051

將7段顯示連接到8051

作者: 時間:2023-04-14 來源:電子產(chǎn)品世界 收藏

七段顯示器是用來顯示數(shù)字信息的。七段顯示器可以顯示從0到9的數(shù)字,甚至我們可以顯示一些字符,如A, b, C, H, E, e, F等。這些都是非常流行的,并且有很多的應(yīng)用。因此,在這個項目中,我將向你展示一個是如何通過連接來工作的。

本文引用地址:http://2s4d.com/article/202304/445604.htm

在開始這個概念之前,先了解一下如何將LED與連接。

這篇文章描述了如何將七段顯示器連接到AT89C51。這個系統(tǒng)以預(yù)定的延遲連續(xù)顯示從0到9的數(shù)字。在這個過程中,我將設(shè)計兩個電路:一個是單數(shù)7段顯示的電路,另一個是由4位7段顯示的電路。 

電路原理

七段顯示器內(nèi)部由8個LED組成。在這些LED中,7個LED用于指示數(shù)字0至9,一個LED用于指示小數(shù)點。一般來說,七段顯示有兩種類型,一種是共陰極,另一種是共陽極。

在共陰極情況下,所有LED的陰極被綁在一起,并被標記為com.而陽極則被單獨留下。在共陽極情況下,七段顯示器的所有陽極被綁在一起,陰極則被自由放置。下圖顯示了七段式顯示器的內(nèi)部連接。

Internal connections of seven segment

七段式顯示器的內(nèi)部連接

在第一個電路中,我將把共陰極單數(shù)七段顯示器連接到,而在第二個電路中,我將把共陽極型四位七段顯示器連接到8051。

電路圖

電路1:將連接到8051(單數(shù) - CC)。

在第一個電路中,我將一個單數(shù)7段顯示器與8051連接起來。7段顯示器是共陰極類型的。

Interfacing 7 Segment Display to 8051 Single Digit Circuit

7段顯示器與8051單數(shù)電路的連接

電路2:7段顯示器與8051的接口(4位數(shù) - CA)。

在第二個電路中,我將一個4位的7段顯示器連接到8051,顯示類型為共陽極。

Interfacing 7 Segment Display to 8051 4-Digit Circuit

7段顯示器與8051 4位數(shù)電路的連接

電路元件

AT89C51單片機

AT89C51編程板

編程電纜

12V直流電池或適配器

共陰極7段顯示器

共陽極4位7段顯示器

電阻器 - 10KΩ X 2, 330Ω, 1KΩ X 8, 470Ω X 4

1KΩ X 8 電阻器包 

33pF 陶瓷電容 X 2 

11.0592 MHz晶體

10μF 電解電容

2N2222 NPN 晶體管 X 4

按鈕

連接線

電路設(shè)計

電路1

在這里,共陰極七段被用來顯示數(shù)字。在這個電路中,7段的a至h腳與微控制器的2號端口相連,com腳通過330歐姆的電阻與地相連。這個電阻是用來降低電壓的。由于我們使用的是共陰極七段,我們需要發(fā)送LOGIC 1到各段,使其發(fā)光。

圖中顯示了共陰極七段的結(jié)構(gòu)。這里用點來表示小數(shù)點。這里所有LED的陰極都連接到Gnd引腳。該LED的工作電壓為2-3V,但從控制器中我們將得到5V的電壓,因此為了降低剩余的電壓,我們必須通過電阻將a至g引腳連接到控制器。

Common cathode 7 segment Display

共陰極7段顯示器

電路2

由于第二個電路中使用的4位7段顯示器是共陽極類型的,我們需要通過公共終端來驅(qū)動LED段。我使用了4個NPN晶體管來驅(qū)動這4個共陽極,晶體管由8051控制。

對于a至h段,它們被連接到8051的PORT0引腳。

數(shù)字驅(qū)動模式

為了在7段上顯示數(shù)字,我們需要在各段上顯示不同的邏輯組合。例如,如果你想在7段上顯示數(shù)字3,那么你需要在a、b、c、d和g段上發(fā)光。下面的表格顯示了我們需要從PORT2發(fā)送的十六進制十進制數(shù)值,以顯示0到9的數(shù)字。

1681440913467909.png

注意:這些值只適用于共陰極顯示器。如果你想驅(qū)動共陽極顯示器,那么你必須取每一位的補碼,并替換代碼中的十六進制值(我已經(jīng)在第二個電路的代碼中做了)。

算法

對于電路1

首先,在一個數(shù)組中初始化所有段位的十六進制值。

unsigned char arr[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};

現(xiàn)在進行for循環(huán),將數(shù)組值分配給PORT2,并有一定的時間延遲。

for (i=0;i<10;i++)


                        {


                                    P2=arr[i];


                                    delay_ms(500);


                        }

對于電路2

首先在一個數(shù)組中初始化所有段位的十六進制值。

unsigned char ch[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}

2. 根據(jù)數(shù)值,切換數(shù)字。


void display (unsigned long int n)


      {


          led=ch[n/1000];


          sw1=1;


          sdelay(30);


          sw1=0;


          led=ch[(n/100)%10];


          sw2=1;


          sdelay(30);


          sw2=0;


          led=ch[(n/10)%10];


          sw3=1;



          sdelay(30);


          sw3=0;


          led=ch[n%10];


          sw4=1;


          sdelay(30);


          sw4=0;


     }

如何操作?

首先將程序刻錄到單片機上

按照電路圖的要求進行連接

 確保7段的a至g引腳分別連接到第一個電路的P2.0至P2.6和第二個電路的PORT0引腳。

打開電源,你可以觀察到在第一個電路中,數(shù)字0到9將連續(xù)顯示,并有一定的延遲,在第二個電路中,數(shù)字0到9999將顯示在4位7段顯示器上。

切換電源。

應(yīng)用

七段顯示器被廣泛用于數(shù)字鐘中,以顯示時間。

在電子儀表中用于顯示數(shù)字信息。

用在儀表盤中

用于數(shù)字讀出顯示器。

局限性

為了顯示大的信息,復(fù)雜性增加。

不可能在七段上顯示符號。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉