如何使用8051单片机在7段显示器上显示数字?

描述

  在使用单片机开发项目的时候,经常会使用到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++);
}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分