51单片机驱动8位数码管(74HC595驱动)滚动显示
51单片机驱动8位数码管(74HC595驱动)滚动显示
51单片机驱动8位数码管(74HC595驱动)滚动显示
原文链接:https://www.yourcee.com/newsinfo/2929591.html
一、74HC595介绍
1、74HC595基本参数
主要关注下供电电压是3.0-5.0v(建议5V),请在规定范围内供电。
2、74HC595引脚定义
模块上芯片引出5个引脚,芯片引脚与模块引脚对应关系是:VCC-VCC
SCK-SCLK, RCK-RCLK,SER-DIO,GND-GND
3、逻辑图![在这里插入图片描述](https://img-blog.csdnimg.cn/744c84e5dfeb43f781f0bc5d47dcd255.png)
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.需要完整工程的可以下方留言获取