STC89C52单片机开发板芯片74HC595的SCK、RCK以及SI之间的关系是什么怎么用(做一个8位电子钟)

STC89C52单片机开发板芯片74HC595的SCK、RCK以及SI之间的关系是什么怎么用(做一个8位电子钟),第1张

SI是数据输入端口,SCK是移位脉冲输入端口,RCK是锁存端口,DH是数据输出端口,可以多个芯片级联。按照你这个图纸,假设U7的DA-DH接数码管的段选端,U8的DA-DH接数码管的位选端,需要在某个位显示一个数据,设需要显示的段码的数据为dat,显示位码的数据为w,则程序如下:

char i;

for(i = 0;i < 8;i ++)

{

SI = w & 0x80; //先送出段码,高位在前

SCK = 0;

w <<= 1;

SCK = 1;

}

for(i = 0;i < 8;i ++)

{

SI = dat & 0x80;

SCK = 0;

dat <<= 1;

SCK = 1;

}

RCK = 0;

RCK = 1;

74HC595同单片机教材里的74LS164一样,是串入并出移位寄存器,只是驱动能力更大些。14脚为串行输入脚,第一片接单片机的P01,后面的依次接前一片的Q7'11脚是移位时序引脚,所有的都并接在P00引脚,同时移位。每一片595都并行输出Q1-Q7,输出段码,分别接A-G,由于你这里不用小数点,所以Q7(DP位)没接。

由于是静态显示,所以位选线不用控制,直接接地(共阴极)。

74HC595有4个端口很重要:串行输入端、时钟输入端、使能端和串行输出端。如果要级联,那么就是上一级的输出端接下一级的输入端,时钟和使能端分别共用。这样就可以多个级联在一起了。那么点阵显示就是8个位的数据端+n个公共端。如果是两个74HC595级联就是8×8点阵,如果是3个级联就可以是8×16点阵,也就是说一个74HC595做数据端,其他74HC595做公共端控制。然后就是点阵显示,可以串行输出数据接着再串行输出公共端控制(具体看点阵的接法),关键是先数据和公共端都输出后再做使能控制,这样就可以防止串行动作时出现显影。

首先你的2片595级联是吗?然后你像控制8号脚亮,你相当于发送了8个数据然后显示一次,这样你的第一片的数据也会被移入第二片,上电后595一般是低电平,这样就会造成9也亮了,程序上处理的方法是 发送16个数据,先送第二片的数据,再送第一片的8个数据,然后显示,这样就不会产生这个问题了,如果是IAR的程序我可以给你 要是keil的话 你就自己改下吧 也不是很难的

以上就是关于STC89C52单片机开发板芯片74HC595的SCK、RCK以及SI之间的关系是什么怎么用(做一个8位电子钟)全部的内容,包括:STC89C52单片机开发板芯片74HC595的SCK、RCK以及SI之间的关系是什么怎么用(做一个8位电子钟)、51 单片机 74HC595 级联 动态显示 多位数码管 怎么实现的、51 单片机 74HC595 级联 点阵是怎样实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9278232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存