C51微控制器數碼管動態顯示工作原理是什麼

2021-03-22 08:08:44 字數 3709 閱讀 1376

1樓:匿名使用者

數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。

2樓:匿名使用者

1:數碼管如果是8位的話,一般是由靜態工作方式與掃描工作方式

靜態工作方式 與led單燈工作一樣 只不過是把多個led燈泡放在一塊了,安裝位置組成了數碼形式

它引出了很多腳,有極性之分 ,把全部led的正極連線到一塊為共陽極,負極則為共陰極,

把他們各個管腳都同電源 則都亮,所有用微控制器管腳對應每一個數碼管管腳,然後進行 通斷的轉換 顯示出字元,

濰坊05368938908

2.掃描 是在靜態工作原理基礎上迴圈 8位的改變 人眼有餘光 看起來都亮,其實輪著亮的,掃描方式是為了節省 微控制器io口

3樓:匿名使用者

工作原理就是利用人眼的視覺暫留效應。

4樓:匿名使用者

多位數碼管按從左到右或從右到左順序分時顯示,顯示的重新整理速率不低於人的暫留視覺,讓人感覺不出數碼管的顯示有先後順序,就像所有的數碼管同時顯示一樣,這就是數碼管動態顯示的基本原理。

51微控制器控制的數碼管原理是什麼?

5樓:匿名使用者

數碼管其實是由發光二極體組成,有共陰極和共陽極之分,對於共陽極來說,一位數碼管由8個二極體組成,他們的陽極接在一起接+5v電源,而各個陰極與某個埠,如p1的8個引腳相連,當某個引腳輸出低電平的時候數碼管對應的二極體亮。

問題補充:

因為人的眼睛具有遲滯性,如果給一位數碼管接通0.3秒地時間,然後再給另一個接通0.3秒,不斷地給幾個數碼管輪流接通0.

3秒,因為人眼的遲滯,就顯示出您所要求顯示的數,當然具體接通時間,要看數碼管的位數等情況自己調節。

6樓:匿名使用者

利用引腳輸出高低電平來控制數碼管的8個子管的亮滅,達到數字和小數點顯示的效果,通常要給每個數字做一個轉換表,以便在程式設計的時候忽略轉換過程,達到快速程式設計的目的,轉換表一般採用列舉的方式,具體轉換數字和你電路里面的連線方式有關係,用二進位制寫出來,再換算成16進位制就好了。

7樓:

數碼管腳與微控制器px口相連,通過程式控制px口來顯示數字字元比如:一個px.0-a(數碼管顯示段)

px.1-b

……px.6-g

px.7-h 對應。

控制輸出數字0-9只要給px埠依次賦值:

c0h,f9h,a4h,b0h,99h,92h,82h,f8h,80h,90h(共陽極)

51微控制器數碼管動態顯示從右往左

8樓:匿名使用者

這是四位數碼管從右從左流動顯示,像滾動字幕一樣的。用不著矩陣按鍵哪版。

其實程式很簡單權,沒那麼複雜。程式如下

#include

#define uchar unsigned char#define uint  unsigned intuchar code tab=;//共陰段碼碼,0x00為滅void delay()//延時子程式

void main()}}

**結果

9樓:匿名使用者

#include

#define uchar unsigned char#define uint  unsigned intuchar data ds[4];

uchar code table=;

//位碼

code uchar wei=;

//code uchar wei=;

void display() //顯示子程式#define leng 6//長度

uchar hc[leng]=;//顯示的嫩榮uint jsbz=0;

uchar xsbz=0;

void xs()

}//主程式

void main() }

void time0(void) interrupt 1 using 1  //定時中斷子程式}

51微控制器控制2個數碼管動態實現0到99(c語言)

10樓:匿名使用者

#include

unsigned char code table=;

void show(unsigned char n);

void delay();

void main()

}void show(unsigned char n)void delay()

11樓:吉吉那裡

從99到0需要改什麼地方

數碼管動態顯示原理是什麼?

12樓:匿名使用者

就拿8位8段共陰極數碼管來說明

每一位都是將8個發光二極體(下面簡稱led)的負極接在一塊,就有8個負極,接上8個io口,這個就是位選,相應io口輸出低電平算是選通該位。

相同欄位led的正極連在一起,也有八根線,接上8個io口,這就是段選,相應io口輸出高電平算是選通該段。

一般情況下8個位選只有一個選通,8個段選如果是數字2,那麼選通的那一位數碼管就會顯示2,其它位數碼管都是黑的。延遲一段再熄滅它,再選通另一位顯示在那一位該顯示的數字,延遲一段再熄滅,如此迴圈,人眼有暫留效應,只要足夠快人眼看起來就是幾個數字穩定地顯示在8位數碼管上。

當然一般會在io上接三極體,控制三極體飽和或者截止,那分析就稍微複雜一點。

51微控制器數碼管動態顯示的過程中,怎麼實現讓最後一個閃爍,其他的不受影響?

13樓:匿名使用者

閃爍原理,別的數碼管都是反覆重新整理,需要閃爍的那一位則重新整理幾十次後再有幾十次不顯示

下例是20次亮 20次滅

uchar modtable[6][4]=,,,,, };

//有1的那一位數碼管不亮 不閃爍 4位全閃爍

uchar ia;

uchar bai,shi,ge;

uchar flag=0;

uint a=0;

//共陰數碼管七段碼,轉成共陽的需取反,程式中已這樣做了

uchar code table=;

void delay1ms(uint i) //1ms延時程式}}

void display(uint m,uchar mode )//4位顯示子程式 帶某位閃爍功能

//mode=0,都不閃爍 mode=1 千位閃爍 mode=2 百位閃爍 mode=3 十位閃爍 mode=4 個位閃爍

//mode=5 全部閃爍

else

dataport=~(table[a1]);

**1=modtable[modeaa][0]; delay1ms(2);**1=1;

dataport=~(table[a2]);

**2=modtable[modeaa][1]; delay1ms(2);**2=1;

dataport=~(table[a3]);

**3=modtable[modeaa][2]; delay1ms(2);**3=1;

dataport=~(table[a4]);

**4=modtable[modeaa][3]; delay1ms(2);**4=1;

ia++;

if(ia==40) ia=0;//40次一輪}

51微控制器如何利用七段數碼管採用動態顯示顯示4位數字,如

不停地利用人的視覺暫留,在一個合適的速度下依次顯示1個2,1個0,1個3,1個5.當顯示一個 專2 的時候,其他三位都屬 是空的,以此類推。但人眼是看不到短時間內這些變化的,假如這個行為不斷迴圈,那麼人看到的就是 2035 而不是單個的數字。比如說吧 p1 num 2 假設num 2 是0x5b,即...

c51微控制器數碼管顯示矩陣鍵盤對應數的立方值的程式

include define uchar unsigned char define uint unsigned int sbit beep p3 6 sbit elre p3 7 sbit k1 p1 4 sbit k2 p1 5 sbit k3 p1 6 sbit k4 p1 7 uchar co...

c51 微控制器 區域性變數 問題,C51 微控制器 區域性變數 問題

為了 整體的安全,還是初始化一下。有時會被編譯器初始化為0的,但不是總是。微控制器區域性變數定義 這個問題要回歸到區域性變數的定義,我翻下書給你看書上的定義 區域性變數也稱內部變數,是在函式內部定義。其作用越限於函式內,離開函式後在使用就屬於非法,因為記憶體已釋放。摘自 微控制器原理及應用設計 胡學...