在使用單片機開發項目的時候,經常會使用到7段顯示器。7段顯示器可以顯示字母和數字,它內部是其實是發光LED燈,通過控制不同的接口點亮內部LED燈,從而顯示出數字。目前,它在許多電子產品中用于顯示信息,比如:充電寶、直發器等。
7段顯示器由8個LED構成,這些LED以順序方式連接,以方便在打開某些LED組合時顯示0到9的數字。點亮時,它一次只顯示一位數字。
使用8051單片機在7段顯示器上顯示數字的原理圖:
在7段顯示器上顯示從“0到F”的數字的程序是:
#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”的數字的程序是:
#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++);
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
顯示器
+關注
關注
21文章
5010瀏覽量
140406 -
8051單片機
+關注
關注
5文章
153瀏覽量
25575
發布評論請先 登錄
相關推薦
單片機系統中常用的顯示器有哪些
單片機系統中常用的顯示器有:發光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT
發表于 07-14 06:35
單片機系統中常用的顯示器有哪些
單片機系統中常用的顯示器有:發光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT
發表于 01-17 08:57
基于8051單片機的數字電子秒表的設計
數字電子秒表具有顯示直觀、讀取方便、精度高等優點,在計時中廣泛使用。本設計用單片機組成數字電子秒表,力求結構簡單、精度高為目標。 設計中包括硬件電路的設計和系統程序的設計。其硬件電路主
發表于 11-27 11:22
?22次下載
如何在液晶顯示器上顯示漢字、ASCII字符和彩色圖形
本文介紹了以高性能的8位單片機C8051F120作為核心處理器,接收和處理PC機鍵盤和觸摸屏的操作信息,并將其轉化成 液晶顯示器 (TFT)
發表于 04-10 09:27
?2w次閱讀
8051單片機C語言徹底應用PDF電子書免費下載
常見問題剖析。 《8051單片機C語言徹底應用》適合8051單片機應用設計人員參考 1,C語言基本概念 2,程序的開始 3,開機后的啟動流程 4,延時例程 5,基本輸入輸出 6,中斷的
發表于 10-30 16:58
?110次下載
評論