在使用单片机开发项目的时候,经常会使用到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文章
4980浏览量
140018 -
8051单片机
+关注
关注
5文章
153浏览量
25509
发布评论请先 登录
相关推荐
单片机系统中常用的显示器有哪些
单片机系统中常用的显示器有:发光二极管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
•109次下载
评论