数码管介绍
LED数码管:数码管是一种简单、廉价的显示器,由多个发光二极管封装在一起组成“8”字型的器件
数码管引脚定义:
(共阴极)(3、8为共阴极,接地)
51单片机开发板
共阴极:0为灭,1为亮(共阳极与之相反)
第一个数码管模块从一到八变化,间隔0.5秒
如下:
#include <REGX52.H>
unsigned char Nixie[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
void delay(unsigned int xms)//延迟时间,单位:毫秒 //@12.000MHz
{
unsigned char i, j;
while(xms){
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void nixie(unsigned char location,number)
{
switch(location)
{
case 1: P2_4=1;P2_3=1;P2_2=1;break;
case 2: P2_4=1;P2_3=1;P2_2=0;break;
case 3: P2_4=1;P2_3=0;P2_2=1;break;
case 4: P2_4=1;P2_3=0;P2_2=1;break;
case 5: P2_4=0;P2_3=1;P2_2=1;break;
case 6: P2_4=0;P2_3=1;P2_2=0;break;
case 7: P2_4=0;P2_3=0;P2_2=1;break;
case 8: P2_4=0;P2_3=0;P2_2=0;break;
}
P0=Nixie[number];
}
void main()
{
int a=1;
while(1){
for(a=1;a<9;a++){
nixie(1,a);
delay(500);
}
}
}