導航:首頁 > 操作系統 > 單片機怎麼顯示四位

單片機怎麼顯示四位

發布時間:2022-07-28 23:38:56

Ⅰ 4位或3位數碼管顯示,用單片機如何實現

4位或3位數碼管顯示,用單片機如何實現?這是單片機最基本的最典型的應用了,不論模擬還是實物,都離不開數碼管顯示呀,別說3,4位,再多也沒問題,太簡單太容易了。
下圖是4位數碼管顯示電路。

Ⅱ 如何利用單片機讓4位數碼管顯示

程序如下(用的是STC89C52晶元):

#include<reg52.h>//52系列單片機頭文件

#defineucharunsignedchar

#defineuintunsignedint

uintx,y;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};//共陰極數碼管編碼

voiddisplay(uchar,uchar,uchar,uchar);//聲明子函數

voiddelay(int);//聲明子函數

voidmain()

{

while(1)

{

display(1,2,3,4);//主程序始終調用數碼管顯示子程序

}

}

voiddisplay(uchara,ucharb,ucharc,uchard)

{

P2=0xef;

P0=table[a];//給第一個數碼管送"a"

delay(1);//延時1ms

P2=0xdf;

P0=table[b];//給第二個數碼管送"b"

delay(1);//延時1ms

P2=0xbf;

P0=table[c];//給第三個數碼管送"c"

delay(1);//延時1ms

P2=0x7f;

P0=table[d];//給第三個數碼管送"d"

delay(1);//延時1ms

}

voiddelay(uintz)//延時子函數

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(2)單片機怎麼顯示四位擴展閱讀

led數碼管是由多個發光二極體封裝在一起組成「8」字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加一個小數點,還有一種是類似於3位「+1」型。

位數有半位,1,2,3,4,5,6,8,10位等等,led數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬體電路有差異外,編程方法也是不同的。

Ⅲ 如何讓單片機四位數碼管顯示相同數字

摘要 每一次只能讓一個數碼管位選,其他的關閉,給數碼管賦值。重復4次就可以了。

Ⅳ C51單片機如何讓四位數碼管分別顯示四位不同的數字

每一次只能讓一個數碼管位選,其他的關閉,給數碼管賦值。重復4次就可以了。
假設要顯示「1234」:

#include<reg52.h>
sbit k1 = P1^1;
sbit k2 = P1^2;
sbit k3 = P1^3;
sbit k4 = P1^4;//k1-k4 4個位選開關,我假設你的電路是低電平有效

uchar code table[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8;
0x80,0x98};//共陽極1-9
void delay( char t )//延時函數
{
char x,y;

for( x = t;x > 0;x-- )

{
for( y = 100;y > 0;y-- );

}
}

void main()//主函數
{
int i = 1234;

int temp;

while(1)
{
temp = i;//temp = 1234;
//顯示第4位
k1 = k2 = k3 = k4 = 1;//關閉所有未選
k4 = 0;//打開第4位位選
P2 = table( temp%10 );//假設P2口控制數碼管
temp = temp / 10;//temp = 123

delay( 5 );

//顯示第3位
k1 = k2 = k3 = k4 = 1;//關閉所有未選
k3 = 0;//打開第3位位選
P2 = table( temp%10 );//,假設P2口控制數碼管
temp = temp / 10;//temp = 12
delay( 5 );

//顯示第2位
k1 = k2 = k3 = k4 = 1;//關閉所有未選
k4 = 0;//打開第4位位選
P2 = table( temp%10 );//,假設P2口控制數碼管
temp = temp / 10;//temp = 1;
delay( 5 );
//顯示第1位
k1 = k2 = k3 = k4 = 1;//關閉所有未選
k4 = 0;//打開第1位位選
P2 = table( temp%10 );//假設P2口控制數碼管
delay( 5 );

}

}

Ⅳ 51單片機 四位數碼管如何顯示4位不同的數字

動態顯示。就是先單獨顯示完一位後,然後關閉這一位(也就是熄滅這一位的led),然後再單獨顯示下一位。由於人眼反應慢,隨意看起來就像4位數碼管都在同時顯示

Ⅵ 單片機控制四位數碼管,怎麼控制顯示四位數每位都不同,按道理顯示四位的話,每位顯示應該相同的吧!

有段選和位選。
有共陰共陽這么一說。
共陰舉例:共陰數碼管,陰極是位選,陽極是段選。陰極是低電平,陽極是高電平,數碼管點亮。
位選是選擇讓那個數碼管導通,段選就是具體顯示某個數字了。
自己動手做一下就很清楚了。

Ⅶ 在c51單片機的顯示管上顯示四個數字的c語言程序怎麼寫

sbit la=P2^6;//段鎖存器鎖存湍
sbit wela=P2^7;;//位鎖存器鎖存湍
char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void display(shiwan_c,wan_c,qian_c,_c,shi_c,ge_c)//6位顯示子程序
{
P0=table[shiwan_c]; //顯示十萬位
la=1;
la=0;
P0=0xfe;
wela=1;
wela=0;
delay(2);
P0=table[wan_c]; //顯示萬位
la=1;
la=0;
P0=0xfd;
wela=1;
wela=0;
delay(2);
P0=table[qian_c]; //顯示千位
la=1;
la=0;
P0=0xfb;
wela=1;
wela=0;
delay(2);

P0=table[_c]; //顯示百位
la=1;
la=0;
P0=0xf7;
wela=1;
wela=0;
delay(2);
P0=table[shi_c]; //顯示十位
la=1;
la=0;
P0=0xef;
wela=1;
wela=0;
delay(2);
P0=table[ge_c]; //顯示個位
la=1;
la=0;
P0=0xdf;
wela=1;
wela=0;
delay(2);
P0=0xff; //顯示完畢後關閉最後一位顯示
wela=1;
wela=0;
}
以上程序需放在循環程序中,數碼管需反復顯示
如果其中兩位不需顯示,可賦值為16

Ⅷ 想在51單片機上用矩陣鍵盤實現四位數的顯示 可是鍵盤根本沒用 直接顯示的數

你提問過,四位數碼管的顯示程序,現在又增加了矩陣鍵盤。現在的功能增加了,可主程序卻沒有變,那怎麼可能行呢?你這些程序在編譯時,就沒有提示你有錯誤嗎?或者警告什麼的?
原來只是四位數碼管顯示固定的 數,可現在即有鍵盤了,又要隨時改變顯示的數了,主程序要重寫了。
void main()
{
while(1) //必須要這么寫了
{ //這才是主循環程序開始
DigDisplay(); //要把顯示程序放在第一行
qian=; //這樣,四位數碼管顯示的數,像計算器一樣,從右向左移動
=shi;
shi=ge;
ge=display();
//以後再增加程序功能,要在這下面增加
}//最後必須要有兩個大括弧
}
unsigned char display() //掃描次數,這數據類型要改
{
unsigned char i,b; //不要用int 型
for(i=0;i<4;i++)
{
b= keydown();
}

return b;
}

Ⅸ 用單片機控制4位LED數碼顯示,先從左到右慢速動態掃描顯示數字「1357」,「2468」,然後在從

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dis_code_[]={0xf9,0xb0,0x92,0xf8,0xa4,0x99,0x82,0x80,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0x8c};
void delay(uint t)
{
uchar i;
while (t--)
{
for(i=0;i<200;i++);
}
}
void main()
{
uchar i,j=0x80;
while(1)
{
for(i=0;i<4;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(200);
}
}
while(1)
{for(i=4;i<8;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(180);
}
}
while(1)
{for(i=8;i<12;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(100);
}
}
while(1)
{for(i=12;i<16;i++)
{j=_crol_(j,1);
P0=dis_code_[i];
P2=j;
delay(100);
}
}
}

Ⅹ 51單片機如何利用4個七段數碼管採用動態顯示顯示4位數字,如2035

不停地利用人的視覺暫留,在一個合適的速度下依次顯示1個2,1個0,1個3,1個5.

當顯示一個「2」的時候,其他三位都是空的,以此類推。

但人眼是看不到短時間內這些變化的,假如這個行為不斷循環,那麼人看到的就是「2035」,而不是單個的數字。

比如說吧:

...

P1=num[2];//假設num[2]是0x5b,即"2"
P20=1;//假設使能端是高有效,按實際情況來。
delay();//延長50ms應該可以把,不能太長(過0.1秒就能看出來了),最好也不要太短
P1=num[0];
P21=1;
delay();

...
閱讀全文

與單片機怎麼顯示四位相關的資料

熱點內容
str中python 瀏覽:89
java的equals用法 瀏覽:845
奧維雲伺服器怎麼開通 瀏覽:171
js取得伺服器地址 瀏覽:812
起點中文網小說緩存在哪個文件夾 瀏覽:216
java瘋狂講義pdf 瀏覽:299
推有錢app在哪裡 瀏覽:743
寧波鮑斯壓縮機 瀏覽:93
新建文件夾電影2完整版演員表 瀏覽:988
空調壓縮機為什麼不能放到冷庫用 瀏覽:89
江西雲伺服器節點虛擬主機 瀏覽:997
新氧app如何測試臉型 瀏覽:688
個稅app如何查詢社保 瀏覽:495
安卓設備快充什麼時候開啟的 瀏覽:13
ipad怎麼用安卓手機傳文件 瀏覽:584
編輯程序員視頻 瀏覽:633
極光app的雲助手在哪裡 瀏覽:777
信合有什麼ApP 瀏覽:958
android絕對位置 瀏覽:79
阿里巴巴校招程序員在哪個園區 瀏覽:905