51单片机驱动8位数码管(74HC595驱动)滚动显示
一、74HC595介绍
1、74HC595基本参数
主要关注下供电电压是3.0-5.0v(建议5V),请在规定范围内供电。
2、74HC595引脚定义
模块上芯片引出5个引脚,芯片引脚与模块引脚对应关系是:VCC-VCC
SCK-SCLK, RCK-RCLK,SER-DIO,GND-GND
3、逻辑图
4、74HC595通信时序
可以对比程序学习时序图,便于理解。
二、烧录后现象
三、主要程序
1.引脚定义
sbit DIO = P1^0; //串行数据输入
sbit RCK = P1^1; //时钟脉冲信号——上升沿有效
sbit SCLK = P1^2; //打入信号————上升沿有效
2.显示函数
/*****
Addr:起始位置
Long:显示长度
Dat:显示的数据
*****/
void Nixie_Display (uchar Addr,uchar Long,uchar Dat)
{
uchar i;
//显示第1位
for(i=0;i<Long;i++)
{
Write_Byte(LED_DIS[Dat]);
Write_Byte(1<<Addr+i);//显示第几位左移0位第1个显示,左移1位第2个显示,以此类推
RCK = 0;
RCK = 1;
}
}
3.主函数
// 主程序
void main (void)
{
uint i;
uchar n;
while(1)
{
for(i=0;i<500;i++)
{
for(n=0;n<8;n++)
{
Nixie_Display (n,1,disbuf[n]);
}
}
Left_Shift(disbuf,8);
}
}
四、注意事项
1.显示异常可排除接线是否有接触不良或者接线顺序错误
2.此程序是基于STC89C52RC单片机写的,其他单片机移植需要注意主频时钟与此单片机不同
3.需要完整工程的可以下方留言获取