51单片机数码管串行显示板制作

材料准备:共阴极SEG6个(小编做了4个)、SN74HC595N6个(小编用了4个)、插针、导线若干

51单片机数码管串行显示板制作

SEG数码管显示

51单片机数码管串行显示板制作

数码管串行显示原理图

74hc595管脚说明:单片机通过少量的端口串行控制多位数码管显示。

符号 引脚 描述
Q0--Q7

第15脚,第1-7脚

8位并行数据输出,
GND 第8脚
Q7’ 第9脚 串行数据输出
MR 第10脚 主复位(低电平)
SHCP 第11脚 数据输入时钟线 
STCP 第12脚 输出存储器锁存时钟线 
OE 第13脚 输出有效(低电平)
DS 第14脚 串行数据输入
VCC 第16脚 电源

51单片机数码管串行显示板制作

595结构图

595程序在单片机中的调用程序:

/****************595时序及显示函数************************/

void display(void) //显示6位数据www.dgzj.com

{

uchar i,dat;

char j; //p=Date;

for(j=5;j>-1;j--) //6位数据依次循环

{

dat=table[Date[j]];

if(j==0){dat=0;}

if(j==1){dat=0;}

if(j==2){dat=0;}

if(j==3){dat=0;} //6位数据分别赋值

for(i=0;i

{

if(dat&0x80)Data=1; //判断是1还是0

else Data=0;

dat

sck=0; //上升沿有效

sck=1;

}

}

rck=1; //打开锁存将6位数据发出数码管

rck=0; //关闭锁存等待下次输出显示

}

/*******************结束*****************************/

void calculate(unsigned long int a)

{

Date[0]=a/100000;

Date[1]=(a/10000)%10;

Date[2]=(a/1000)%10;

Date[3]=(a/100)%10;

Date[4]=(a/10)%10;

Date[5]=a%10;

}