在使用單片機開發(fā)項目的時候,經(jīng)常會使用到7段顯示器。7段顯示器可以顯示字母和數(shù)字,它內(nèi)部是其實是發(fā)光LED燈,通過控制不同的接口點亮內(nèi)部LED燈,從而顯示出數(shù)字。目前,它在許多電子產(chǎn)品中用于顯示信息,比如:充電寶、直發(fā)器等。
7段顯示器由8個LED構(gòu)成,這些LED以順序方式連接,以方便在打開某些LED組合時顯示0到9的數(shù)字。點亮?xí)r,它一次只顯示一位數(shù)字。
使用8051單片機在7段顯示器上顯示數(shù)字的原理圖:
在7段顯示器上顯示從“0到F”的數(shù)字的程序是:
#include< reg51.h >
sbit a= P3^0;
sbit x= P3^1;
sbit y= P3^2;
sbit z= P3^3;
void main()
{
unsigned char m[10]={0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10};
unsigned int i,j;
a=x=y=z=1;
while(1)
{
for(i=0;i< 10;i++)
{
P2=m[i];
for(j=0;j< 60000;j++);
}
}
}
在7段顯示器上顯示從“00到10”的數(shù)字的程序是:
#include< reg51.h >
sbit x= P3^0;
sbit y= P3^1;
void display1();
void display2();
void delay();
void main()
{
unsigned char m[10]={0x40,0xF9,0x24,0x30,0x19,0x12,0x02,0xF8,0xE00,0x10};
unsigned int i,j;
ds1=ds2=0;
while(1)
{
for(i=0,i< 20;i++)
display1();
display2();
}
}
void display1()
{
x=1;
y=0;
P2=m[ds1];
delay();
x=1;
y=0;
P2=m[ds1];
delay();
}
void display2()
{
ds1++;
if(ds1 >=10)
{
ds1=0;
ds2++;
if(ds2 >=10)
{
ds1=ds2=0;
}
}
}
void delay()
{
unsigned int k;
for(k=0;k< 30000;k++);
}
-
顯示器
+關(guān)注
關(guān)注
21文章
5059瀏覽量
141352 -
8051單片機
+關(guān)注
關(guān)注
5文章
153瀏覽量
25878
發(fā)布評論請先 登錄
手把手教你學(xué)單片機-LED數(shù)碼顯示器接口技術(shù)
單片機系統(tǒng)中常用的顯示器有哪些
單片機系統(tǒng)中常用的顯示器有哪些
基于增強型8051單片機的音樂頻譜顯示器的設(shè)計
基于8051單片機的數(shù)字電子秒表的設(shè)計

如何在液晶顯示器上顯示漢字、ASCII字符和彩色圖形

8051單片機C語言徹底應(yīng)用PDF電子書免費下載

評論