導航:首頁 > 操作系統 > 單片機數字顯示

單片機數字顯示

發布時間:2022-05-08 15:44:43

❶ 怎樣單獨控制51單片機中數碼管顯示數字

設置一個延時,一個while(1)循環,循環內讓每一個電子管依次打開位選,各自的斷選,並且每個電子管顯示延時1毫秒。
單片機,全稱單片微型計算機(英語:Single-Chip Microcomputer),又稱微控制器(Microcontroller),是把中央處理器、存儲器、定時/計數器(Timer/Counter)、各種輸入輸出介面等都集成在一塊集成電路晶元上的微型計算機。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出介面簡單,功能較低。由於其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器;由於單晶元微電腦常用於當控制器故又名single chip microcontroller,但是目前在中國大陸仍多沿用「單片機」的稱呼。

❷ 如何用51單片機用一位數碼管顯示對應數字

首先你要把0到9的數字對應的七段碼放在一個數組中,然後用一個變數計按鍵的次數或序號,把該序號的七段碼輸出到對應的埠即可。

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

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

❹ 51單片機的共陰數碼管怎麼顯示數字(c語言)

要讓51單片機共陰數碼管顯示數字,只需要將單片機的P2埠輸出數字對應的段碼即可。

以顯示數字「0」為例,c語言程序如下:

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

//數碼管的段碼編碼

Uchar table[10] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void main(){//主函數

P0 = table[0];//顯示0,大家可以修改裡面的數據。

while(1);//程序不再執行其他步驟;

}

(4)單片機數字顯示擴展閱讀:

數字0-9的對應段碼:

數字0 0x3f

數字1 0x06

數字2 0x5b

數字3 0x4f

數字4 0x66

數字5 0x6d

數字6 0x7d

數字7 0x07

數字8 0x7f

數字9 0x6f

❺ 單片機編程,從0到9的數字在LED上顯示

#include<reg51.h>
#define uchar unsigned char
uchar code ledtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共陽級數碼管碼表0-9
uchar time,dat;
bit flag=1;
sbit la=; //段和位控制位需要你自己填寫。
sbit wela=;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if(time>=20)
{
dat++;
dat%=10;
flag=1;
}
}
main()
{
TMOD0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(flag)
{
flag=0;
la=1;
P0=0xff;
la=0;
wela=1;
P0=0x01;
wela=0;
la=1;
P0=ledtab[dat];
la=0;
}
}
}

❻ 單片機兩位數碼管顯示數字

#include<reg51.h>

#define uchar unsigned char;

uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到f

uchar number,dat=29;

void t0isr() interrupt 1

case 0:P2=0x02;P0=distab[dat/10];

break;

case 1:P2=0x01;P0=distab[dat%10];

TMOD=0x01;

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

TR0=1;

ET0=1;

EA=1;

while(1);

}

分類

數碼管也稱LED數碼管,不同行業人士對數碼管的稱呼不一樣,其實都是同樣的產品。按發光二極體單元連接方式可分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極體的陽極接到一起形成公共陽極(COM)的數碼管,共陽數碼管在應用時應將公共極COM接到+5V,當某一欄位發光二極體的陰極為低電平時,相應欄位就點亮,當某一欄位的陰極為高電平時,相應欄位就不亮。

以上內容參考:網路-數碼管

❼ 單片機數碼管如何顯示數字

從電路圖來看,是需要數碼管共陽極的,哪一位的三極體導通,則該位的數碼管就有被點亮的機會。

那麼七段碼數據,低電平的位對應該筆畫的LED亮。

大致代碼:

P2=0xff;

P0=s_code[1]; //0xF9

P2=0xfe;// P2.0=0

delay_ms();

P2=0xff;

P0=s_code[2]; //0xA4

P2=0xfd;// P2.1=0

delay_ms();

P2=0xff;

P0=s_code[3]; //0xB0

P2=0xfb;// P2.2=0

delay_ms();

P2=0xff;

P0=s_code[4]; //0x99

P2=0xf7;// P2.3=0

delay_ms();

❽ 單片機數字顯示

實際上,是一個秒錶。
在 P0 口,外接一個共陽數碼管,執行下列程序,即可。

ORG 0000H
MAIN:
MOV DPTR, #TAB
MOV TMOD, #01H
SETB TR0
LOP0:
MOV R3, #10
LOP1:
MOV A, R3
MOVC A, @A + DPTR
MOV P0, A
MOV R4, #20
LOP2:
MOV TH0, #3CH
MOV TL0, #0B0H
JNB TF0, $
CLR TF0
DJNZ R4, LOP2
DJNZ R3, LOP1
SJMP LOP0
TAB:;共陽極
DB 00H, 90H, 80H,0F8H, 82H, 92H
DB 99H, 0B0H,0A4H,0F9H,0C0H
END

❾ 用c語言單片機led燈顯示數字「28」,如何編程

摘要 給LED編個數組,控制IO口,或者直接控制IO口,不過要看顯示的28要多大,會佔用比較多的IO口,道理和矩陣鍵盤差不多。

❿ 單片機試驗數碼管上如何顯示數字

解決方法:
試驗數碼管上顯示數字( 單片機直接實現位選 共陰極) 。
解決方式:
連接方法:P0與J12 用8PIN排線連接 P1與JP16 用排線連接 。
代碼:

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=0;y<113;y++)
{
}
}
}
unsigned int code dbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};
unsigned int code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
void main()
{
while(1)
{
P1=dbit[4];
P0=num[9];
}
}

位定義
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=0;y<113;y++)
{
}
}
}
void main()
{
while(1)
{
LSA=0;
LSB=0;
LSC=0;
P0=num[6];
delay(2);
LSA=1;
LSB=0;
LSC=0;
P0=num[6];
delay(2);
}
}

//讓八個數碼管全部亮並且從0~9循環
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
uchar wnum=0x00;
uchar code dbit[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段選,選擇要顯示的數字
//uchar code wnum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};//八位數碼管
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
{
for(y=0;y<113;y++)
{
}
}
}
void main()
{
P1=wnum;
while(1)
{
for(num=0;num<10;num++)
{
P0=dbit[num];
delay(500);
}
}
}

閱讀全文

與單片機數字顯示相關的資料

熱點內容
電腦加速器伺服器地址 瀏覽:894
android默認啟動器 瀏覽:140
電腦上電子書如何傳到安卓手機上 瀏覽:757
美國科技招聘程序員 瀏覽:811
網頁轉pdf工具 瀏覽:640
rust怎麼載入不了伺服器 瀏覽:539
科普編程人的東西 瀏覽:471
為什麼無法驗證伺服器 瀏覽:365
壓縮報告不要面面俱到 瀏覽:860
php是哪國貨幣 瀏覽:859
什麼是合理解壓 瀏覽:155
javaoracle建表 瀏覽:924
延時的宏命令 瀏覽:58
視覺中國程序員 瀏覽:877
程序員性生活為什麼這么短 瀏覽:443
linux命令date 瀏覽:110
lync2013伺服器地址 瀏覽:786
無犯罪記錄從哪個app查 瀏覽:671
伺服器的私有ip是干什麼用的 瀏覽:846
c程序員面試秘笈pdf 瀏覽:845