精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

數碼管的工作原理是怎么樣的呢?如何點亮數碼管?

冬至子 ? 來源:落木青云 ? 作者:一顆糯米 ? 2023-07-28 16:20 ? 次閱讀

數碼管基礎知識

今天我們先來了解一種新的元器件--數碼管。數電教材中一般將他和譯碼一起講解。它是一種顯示器件,現在我們來看看它是一個什么樣的東西。

以上是最常見的一些數碼管,當然它的外觀樣式非常多,那它的工作原理是怎么樣的呢?

我們現在來看一下它內部結構應該就能知道它的顯示原理了。

圖片

其內部就是由一些LED電路構成,固定在其底面,然后表面通過注塑一些透明材料讓顯示部分在內部LED發光時能夠顯示出來,從而達到顯示信息的效果。這種顯示器是最簡單,也是最經濟的一種顯示工具。在我們日常生活中的電器中是非常常見的,相信大多數人都遇到過,只是在這之前你可能不會想到它叫數碼管顯示屏。正是因為它的這些特點所以市面上各種各樣的數碼管顯示屏都有,大家都可以定制一些特定顯示內容的屏用在自己的產品上,你若有意把自己的名字制作成屏都可以,哈哈哈……這也是我在電子元器件基礎知識中沒有介紹它的原因。再來看看它內部電路結構,剛學完點亮LED 的朋友是否能想到點亮它的辦法呢?

圖片

圖片

上圖中的共陰,共陽又是什么意思?從圖中很容易看出來,共陰型數碼管的所有LED的陰極是接在一起的,而共陽型數碼管剛好相反,這還是很好區分的吧。那這么做的目的是什么呢?把某一端接在一起,這樣制作時就內部可以省一些線路,又可以少引出幾個端口吧。如果使用的是共陽型數碼管,在使用時將公共端接到地,這時要點亮哪一段就將所在端的LED設置為高電平就好了。

看完以上說明你也會覺得數碼管也是很簡單的吧,但是也先別那么得以,任何簡單的應用原理背后都還隱藏很多復雜的事情,這只是顯示原理最基礎的一內容。當然,對于還不會使用單片機控制數碼管的朋友也不用擔心,接著看后面的內容你就可以入門了。如果你已經會使用數碼管了不妨再來看看下面這個圖中的數碼管,你會使用它嗎(沒基礎的朋友先跳過這個問題),注意它只有8個引腳!這應該是擴音器或藍牙音箱產品上用的顯示屏。

圖片

P0端口和排阻

根據以上原理分析,我設計如下的一個電路,接下來我們在這個電路上進行講解數碼管顯示控制的編程內容。

圖片

細心的朋友可能發現了數碼管連接的單片機P0端口每個引腳都接在了一個元件上,這是什么意思呢?這個元器件叫做排阻,簡單說它就是有一排電阻,也就是說它內部包含了一組參數相同的電阻,說白了它還是電阻。

我們為什么要使用這種電阻呢,看我們在接LED的電路中使用了8個一樣的電阻,為了話電路圖時方便或減少電路板的空間我們是不是也可以像數碼管一樣把公用的一端接一起呢,是吧?所以就出現了排阻這種器件。當然如果不考慮這兩問題的話我們也可以用單獨的電阻代替,

不過它內部結構不一定就剛剛好一個獨立引腳對應一個單獨的電阻,它可能有具體的一些內部電路,但是我們使用時把它等效成每個對應一個電阻就好了。

圖片

現在的排阻大多都是貼片的了,像下面這樣:

圖片

那我們電路中P0端口為何要接一組排阻到電源呢?這就涉及到P0端口特殊的結構了,在我們介紹單片機基礎是文章中我們提到了,現在再做一些具體的介紹。

P0端口是開漏設計的,我們查看芯片數據手冊來看一下。

圖片

官方手冊是這么說的,是不是看了還是很迷糊?

說到開漏一詞是不是有似曾相識的感覺,模電課程考及格的朋友應該都會有印象。看上面的圖也可以看出來,就是端口是直接接在一個nmos管漏極的,nmos管漏極沒有有電源電路連接,我們前面介紹三極管與mos管驅動LED的視頻中nmos管的漏極是要與電源連接才能驅動LED吧,這里也是是個道理。

開漏輸出端口是沒有能力輸出高電平驅動負載的,當控制其輸出低電平時其引腳將接地,控制其輸出高電平時引腳既不輸出高電平,也不輸出低電平,為高阻態狀態。所以現在知道我們為什么需要接一排阻到電源了吧?這個電阻我們也稱之為上拉電阻,就是將引腳接到電源端的電阻,與之對應的是下拉電阻,就是將引腳接到地端的電阻。

任何顯示具體數據

現在問題來了,如我們上面設計的電路所示,我們要怎么做才能讓數碼管上顯示出我們需要顯示的內容(比如數字0,1……9)呢?這時就需要根據其內部電路分布推算出顯示信息對應的控制位的數據了,以我們使用的圖為例,比如要顯示“0”這個符號就需要點亮a,b,c,d,e,f這六段,在我們的單片機中與這六段相連的引腳都要輸出高電平才能點亮。使用這時我們就將P0端口輸出數據數值為0x3f,同樣的方法我們可以推斷出顯示其他數據時P0端口對應輸出的數據。把它計算出來做成一個真值表,以后使用時就很方便了,當然這其中需要你根據具體的電路接線圖來確定數據的。實際做項目時肯定會遇到不是同一組端口中連接數碼管各段的情況,所以現在掌握好基礎知識后遇到其他情況就需要靈魂處理了。

數組與數據顯示

現在我們來看看顯示一個數的程序要怎么實現。

#include

#include

sbit com1 = P2^0; //定義數碼管com1引腳

sbit com2 = P2^1; //定義數碼管com2引腳

typedef unsigned char u8;

typedef unsigned int u16;

u8 code num_codelist[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(u8 ms);

void main()

{

u8 i;

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

{

	P0 = num_codelist[i];

	delay(100);

}

}

void delay(u8 ms) //定義函數

{

u8 i,j;



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

{

	for(j=0;j< 100;j++)

	{

		;

	}

}

}

com1,com2是聲明連接數碼管兩個公共端的,只使用一位數碼管時可以不用定義,將其公共端直接接地就行,后面的程序中我們會使用到這兩端口。

程序中出現了我們之前沒有介紹的內容--u8 code num_codelist[10],這種數據結構叫數組,在C語言中它用來有序存儲一組相同類型的數據,"[n]"中的n就是它的序號,也稱它為下標。它的基礎定義方式為:

數據類型 數組名 [數組元素總數N];

例如:unsigned char code[10];

它的意思是定義了一個有十位數據的數組。

它的下標計數規則是從0開始計數的,即以上數組中第一位數據為code[0]。

如果我們定義時沒對其進行賦值,編譯器一般會將其中所有內容初始化為0(但不一定所有編譯器都是默認這么處理的,所有定義時最好還是初始化一下比較安全)。我們也可以在定義時對其中內容進行賦值,且賦值時不一定全都要賦值,可以只賦前面一位或幾位部分,未賦值的內容還是會被初始化為0。

有時我們定義時也可以省略其數組元素總數N,比如:

unsigned char code[] = {1,2,3,4};

這時編譯器將自動識別出數組元素總數N為4。

數組元素總數N是定義后就不能變的,即在后面的程序中不能對數組添加內容,但改變其中的數據是可以的。

剛才講的數組,我們稱為一維數組,當然數組也可以是二維或多維的,就和我們排隊一樣,可以排成一排,也可以排成多行,比如定義二維數組:

unsigned char code[2][5];

這里的意思就是D定義了一個有2行5列的二維數組。

使用時行列下標都要包含,比如code[0][2]就是第一行第三列的數據。

其他多維數組以此類推。

關于數組我們先介紹這些基礎內容,更多知識內容后面遇到時再詳細講解。

那為什么在C51單片機編程時使用的是code table[]格式呢,這里我們添加了一個關鍵詞code,是編譯器決定的,和前面的sfr 和sbit情況類似 ,這些是要記住的內容,如果換其他編譯器也要視情況而定,每種編譯器使用的規則各有不同。

后面的main函數內容就是讓數碼管從0~9依次切換顯示數字了。

任何實現動態數字顯示

上面只是顯示一位數據,在實際情況中要顯示二位甚至多位該怎么處理呢?接下來我們看看顯示兩位時要怎么編程。

#include

#include

sbit com1 = P2^0; //定義數碼管com1引腳

sbit com2 = P2^1; //定義數碼管com2引腳

typedef unsigned char u8;

typedef unsigned int u16;

u8 code num_codelist[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(u8 ms);

void main()

{

//顯示第一位數字0

com1 = 0;//將第一位的com端設置為低電平

com2 = 1;

P0 = num_codelist[0];

delay(1);

P0 = 0x00;



com1 = 1;

com2 = 0;//將第二位的com端設置為低電平

P0 = num_codelist[1];

delay(1);

P0 = 0x00;

}

void delay(u8 ms) //定義函數

{

u8 i,j;



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

{

	for(j=0;j< 100;j++)

	{

		;

	}

}

}

這段代碼中main函數外的程序段跟前面的一樣,現在主要看main函數內部的程序。

首先我們要了解的是兩位或以上的數碼管同時顯示不一樣的內容應用的原理是人眼視覺暫留的特點。其實顯示器都是根據這一原理來設計的。

那什么是視覺暫留呢?視覺暫留(英文:Persistence of vision)也稱為正片后像,是光對視網膜所產生的視覺,在光停止作用后,仍然保留一段時間的現象,其具體應用是電影的拍攝和放映。原因是由視神經的反應速度造成的,其時值約是1/16秒,對于不同頻率的光有不同的暫留時間。比如:我們日常使用的日光燈每秒大約熄滅100余次,但我們基本感覺不到日光燈的閃動,這就是因為視覺暫留的作用。我們平時說的某動畫片,電影是30幀每秒的,電腦顯示屏是75fps的,手機顯示屏是120fps的,都是指屏幕刷新率,屏幕就是不停閃爍的,只是什么看不到它的閃爍而已。如果哪天外星人來了,或許它們就能看出吧。

視覺暫留現象首先是咱們中國人發現的,走馬燈便是據歷史記載中最早的視覺暫留運用。宋時已有走馬燈,當時稱“馬騎燈”。隨后法國人保羅·羅蓋在1828年發明了留影盤,它是一個被繩子在兩面穿過的圓盤。盤的一個面畫了一只鳥,另一面畫了一個空籠子。當圓盤旋轉時,鳥在籠子里出現了。這證明了當眼睛看到一系列圖像時,它一次保留一個圖像。再后來就有了電影,最后又了顯示屏。

現在回來我們正題,我們讓數碼管同時顯示兩位不一樣的數字該怎么操作呢?是不是先顯示第一位,然后馬上又顯示第二位,后面再這么一直循環往復就形成了視覺暫留效果,數碼管上的數據看起來就成了靜態不變的數據了。現在看注釋是不是就能看明白了?

當然這種做法知識最基礎辦法,當我們在復雜應用中這么使用時不合理的,至于為什么呢,我們后面介紹其他內容時再詳細講解。另外這個應用電路圖僅僅也是適用于仿真用,實際使用時還是需要進一步優化的,因為數碼管中每個LED燈點亮需要耗費的電流都是比較大的了,如果同時亮很多燈,對于驅動能力若的單片機可能會遇到的問題是:你把邏輯正確的程序下載進去,結果沒有任何顯示,或顯示不正常。這種情況可能真的不是你的程序問題,而是單片機帶不動它,就像你是一個100斤的瘦子去背一個300斤的胖子一樣,要么你瞬間被壓第地上,如果你很堅強那就還能走走停停動兩步吧。

在進化設計電路時要參考單片機數據手冊中的電流參數來確定你的電路是否合理。遇到可能使電路工作不正常的情況我們需要借助一些外部芯片來驅動它,比如使用鎖存器或專用驅動芯片,鎖存器一是可以幫助單片機鍵顯示數據暫時鎖存利于減少單片機內部CPU資源消耗,二是可以它可以加大驅動電流,使得顯示電路不影響單片機內部工作的穩定。

做過項目的朋友應該對電路中電流的波動對產品性能的影響非常有印象吧。因為我在我創業之前我的本職工作一直都是做醫療器械。因電流電路中變化產品出現的大小問題基本都是能看的出來(雖然我主要職責是軟件開發的,電路整改由硬件工程師負責)。因為醫療電子行業是國家限制最嚴格的一個行業,人命關天,即使是萬分之一概率事故發生你都承擔不了。不過這個行業薪資還是很不錯的,不比互聯網差多少(具體差不差也還看個人能力哈),有興趣的朋友這是一個很好的選擇。但做這行你要沉得住氣,做好一個產品2~3年,甚至更久都不能上市的準備,也就是你至少要熬出一款產品來。過程會比較枯燥,但程序員不都是自樂其中嗎,干啥不是干呢,有錢就行,對吧?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 三極管
    +關注

    關注

    142

    文章

    3603

    瀏覽量

    121677
  • MOS管
    +關注

    關注

    108

    文章

    2397

    瀏覽量

    66627
  • 數碼管
    +關注

    關注

    32

    文章

    1876

    瀏覽量

    90970
  • 單片機控制
    +關注

    關注

    0

    文章

    59

    瀏覽量

    18706
  • LED發光
    +關注

    關注

    0

    文章

    23

    瀏覽量

    8246
收藏 人收藏

    評論

    相關推薦

    數碼管工作原理

    數碼管在我們的整個設計中,我們輸入的數據與計算的結果都需要用數碼管來顯示,所以說數碼管還是扮演著很重要的角色的。1.1簡析數碼管工作原理
    發表于 04-02 06:35

    數碼管工作原理

    昨天我們學習了按鍵的基本操作,今天我們來學習一下數碼管工作原理,如果覺得我博客更新的太快,沒有關系,大家可以回顧我往期的博客,利用課下時間到社團補習,如果我博客哪里有寫的不好的地方,大家也不用想
    發表于 11-17 08:04

    數碼管的分類

    數碼管的分類     數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管
    發表于 11-06 11:41 ?7440次閱讀

    點亮數碼管電路

    Pl口輸出到雙向驅動芯片74LS245的輸入端,同相驅動數碼管各段,根據Pl口輸出的信息,在數碼管形成字符,達到用數碼管顯示字符的目的。
    發表于 12-13 10:35 ?9769次閱讀
    <b class='flag-5'>點亮</b><b class='flag-5'>數碼管</b>電路

    靜態數碼管

    靜態數碼管靜態數碼管靜態數碼管靜態數碼管
    發表于 05-13 15:39 ?6次下載

    數碼管工作原理與編碼顯示接口分析

    數碼管的一種是半導體發光器件,數碼管工作原理是通過單片機的I/O端口進行驅動數碼管的各個段碼,點亮不同的段碼從而形成字符顯示出我們要的數字
    發表于 07-29 17:40 ?10.4w次閱讀

    共陰數碼管與共陽數碼管工作原理有什么不同

    本文主要介紹了數碼管分類、數碼管應用范圍、數碼管工作原理以及共陰數碼管與共陽數碼管的定義介紹,
    發表于 12-27 13:56 ?3.3w次閱讀

    數碼管怎么測量_如何使用萬用表判斷數碼管的好壞

    本文介紹了什么是數碼管數碼管分類以及數碼管的結構,其次介紹了數碼管工作原理與應用范圍,最后介紹了怎么用萬用表判斷數碼管是共陰極還是共陽極以
    發表于 01-13 11:03 ?6.7w次閱讀

    數碼管的用途

    本文首先介紹了數碼管的分類,其次介紹了數碼管的驅動方式,最后介紹了數碼管的用途及應用范圍。
    的頭像 發表于 08-21 18:46 ?1.5w次閱讀

    LED數碼管工作原理詳細資料說明

    數碼管是比較常見的一種電子元件,通常用以顯示數字等,用單個的發光器件,按照8字形、米字形或者其他形狀,組成1位或者多位。顯示數字和簡單的圖案等。右圖是比較常見的數碼管。某些產品比如計算器等,那是整體液晶顯示,跟數碼管操作方式一
    發表于 12-18 17:20 ?15次下載
    LED<b class='flag-5'>數碼管</b>的<b class='flag-5'>工作原理</b>詳細資料說明

    數碼管工作原理是什么

    數碼管由8個發光二極構成的,是一種可以顯示數字和其他信息的電子設備。 數碼管工作原理 ? ? 數碼管按段數分為七段和八段數碼管,八段
    的頭像 發表于 08-20 17:40 ?2.3w次閱讀

    STC51-數碼管顯示

    原理都是一的,都是靠點亮內部的發光二極來發光,下面就來我們講解一個數碼管是如何亮起來的。數碼管內部電路如下圖所示,從圖(a)可看出,一位
    發表于 11-25 09:06 ?77次下載
    STC51-<b class='flag-5'>數碼管</b>顯示

    藍橋杯單片機 數碼管的使用

    、原理分析數碼管是如何點亮的?我們可以將數碼管看成8個LED燈組合成的,8個LED燈的不同組合就形成了數字或字母。數碼管和LED燈一分為共
    發表于 12-20 19:14 ?1次下載
    藍橋杯單片機 <b class='flag-5'>數碼管</b>的使用

    靜態數碼管和動態數碼管

    (1位)、聯排(2位、4位、8位)2、工作原理(1)亮滅原理(其實就是內部的照明LED)(2)顯示數字(甚至文字)原理:利用內部的LED的亮和滅讓外部的組成數字的筆畫顯示或者不顯示,人看到的就是不同的數字。3、共陽極和共陰極數碼管(1)驅動方法的差異。必須清楚一個
    發表于 01-12 18:31 ?40次下載
    靜態<b class='flag-5'>數碼管</b>和動態<b class='flag-5'>數碼管</b>

    數碼管工作原理和使用方法解析

    數碼管是一種常見的顯示元件,用于以數字形式顯示數字、字母和特殊符號。它具有簡單、可靠、易讀等特點,在很多電子設備中應用廣泛。本文將對數碼管工作原理和使用方法進行細致的解析。 一、數碼管
    的頭像 發表于 12-18 17:31 ?5941次閱讀