数码管的一种是半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point),其基本单元是发光二极管。
七段数码管是一类价格便宜使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。
在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。
七段数码管式数字仪表以其高精度、可设置等优点在医用设备的显示领域得到了广泛应用。
一般的七段数码管拥有七个发光二极管(三横四纵)用以显示十进制0至9的数字外加小数点,也可以显示英文字母,包括十六进制中的英文 A 至 F(b、d 为小写,其他为大写)。现时大部分的七段数码管会以斜体显示。
七段数码管是基于发光二极管(LED)封装的显示器件,分为共阳极和共阴极2种结构。
/*************SL-51B实验开发板例程(一个数码管显示0-F)*************
* 硬件平台:SL-51B单片机学习板
* 开发环境:keil uVision3
* 名称:一个数码管显示0-F
* 功能:一个数码管显示0-F
*************************************************************************/
#include<reg51.h>
void delay(int In,int Out);
unsigned char codemb_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,
0x7c,0x39,0x5e,0x79,0x71}; //0-F的码表
void delay(int In,int Out) //定义延时函数
{
int i,j;
for(i=0;i<In;i++)
{for(j=0;j<Out;j++){;}}
}
void main()
{
unsigned char num;
while(1)
{
for(num=0;num<16;num++)
{
P0=mb_table[num]; //显示数字
P3=0xef; //选中第一个数码管
delay(20,1000);
}
}
}