導航:首頁 > 操作系統 > 單片機怎麼讓數碼顯字

單片機怎麼讓數碼顯字

發布時間:2022-09-18 15:05:20

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

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

那麼七段碼數據,低電平的位對應該筆畫的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();

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

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

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

#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,當某一欄位發光二極體的陰極為低電平時,相應欄位就點亮,當某一欄位的陰極為高電平時,相應欄位就不亮。

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

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

解決方法:
試驗數碼管上顯示數字( 單片機直接實現位選 共陰極) 。
解決方式:
連接方法: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);
}
}
}

㈤ 51單片機怎樣用鍵盤控制數碼管顯示

51單片機怎樣用鍵盤控制數碼管顯示的方法。

如下參考:

1.首先,編寫代碼並點亮數碼管。

㈥ 如何利用單片機讓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--);

}

(6)單片機怎麼讓數碼顯字擴展閱讀

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

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

㈦ 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);//程序不再執行其他步驟;

}

(7)單片機怎麼讓數碼顯字擴展閱讀:

數字0-9的對應段碼:

數字0 0x3f

數字1 0x06

數字2 0x5b

數字3 0x4f

數字4 0x66

數字5 0x6d

數字6 0x7d

數字7 0x07

數字8 0x7f

數字9 0x6f

㈧ 單片機按鍵控制數碼管顯示

你有原理圖沒?
設置三個標志位,全局變數,需要在倒計時中斷里改變狀態的。
程序流程是:
主程序流程:
上電初始化(設置LED狀態,設置定時器相關寄存器參數,設置三個標志位狀態)--->
死循環(判斷標志位是否容許按鍵有效,然後判斷是否有按鍵按下,轉入響應的子程序處理段)
定時器中斷任務:
判斷是否到15秒,到了就置位標志位。

㈨ 51單片機怎麼讓數碼管動態顯示1234動態顯示後通過按鍵變成靜態顯示

數碼管動態顯示就是按順序分配給每一個數碼管顯示一定時間(如10ms等),如此循環;
對於時間間隔的設定,常採用定時器中斷方式來得到,可以首先讓定時器1ms中斷,然後在中斷函數里對全局變數m計數,即10次中斷就是10ms,同理,計數800次就是8秒了;

要想讓顯示變成靜態顯示,那麼就只有一位數碼管在顯示了;
這個可以在想顯示的位中,停止定時器計數,或者在 m 未達到設定值前清0 即可;
另外,不要再採用delay()這樣的代碼延時函數;

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

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

閱讀全文

與單片機怎麼讓數碼顯字相關的資料

熱點內容
安卓手機如何錄制視頻長時間 瀏覽:283
安全問題app哪個好 瀏覽:445
壓縮水會變冰嗎 瀏覽:526
小說配音app哪個靠譜 瀏覽:820
編譯iso 瀏覽:944
照片生成pdf格式 瀏覽:194
病歷轉pdf 瀏覽:835
雲伺服器配硬體 瀏覽:978
伺服器10k什麼意思 瀏覽:21
pdfeditor漢化 瀏覽:884
新科學pdf 瀏覽:746
現在還有c語言編譯嗎 瀏覽:675
哪裡買到單片機 瀏覽:480
linux文件打開數量 瀏覽:510
編譯原理中什麼是l屬性文法 瀏覽:372
硬碟加密時出現的問題 瀏覽:61
如何退域命令 瀏覽:108
看書的app哪裡看 瀏覽:291
伺服器怎麼調大 瀏覽:3
android天氣apijson 瀏覽:984