74hc595级联c语言程序,MSP430 G2553 实现用两块 74HC595 级联控制4位LED

最近喜欢上了单片机,课程设计做的是STM32的触屏版的万年历。之前一直在专注的学习C语言还有Java,话说这Java居然是在学完Android之后才去深入学的,自己也是醉了。课程设计做起了跟硬件搭点边的东西,真是深感其牛(*)之处(自动屏蔽不雅用词)。此处请各位玩儿硬件长大的,模电电路工程师,数电工程师接下我的各种崇拜。。。你们太牛(*)了。。。

好了,言归正传:

手里有一套别人送给我的 MSP430 LanchPad,总是想着不能就那么浪费了,从某宝买来了一些外设,先拿个LED开刀了。

0818b9ca8b590ca3270a3433284dd417.png

盗张图,无意做宣传,请忽略

串行输入4位LED。输入:Vcc,GND就不说了;SCLK,更新显示。RCLK,数据移位。DIO,数据位。

也看到了,真正的数据线只有三根。

硬件原理图如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

U1与U2都是74HC595芯片,U2作为段选(用于选择当前是哪一个数码管显示),U1作为片选(用于控制数码管

上的LED显示数字)。

工作原理:

1)首先读入8位的数字字模数据,依次移位,现在U2已经保存了数字数据。

2)再次录入8位的段选数据,用来控制当前数字由几号数码管显示。

此时,U2保存的是段选数据,而刚刚的片选数据已经通过U2的Q7‘依次传到了U1上。

3)更新显示数据。

例程:

RCLK上升沿触发,将DIO口数据向寄存器中移位。

SCLK上升沿触发,将寄存器中数据读入锁存器,也就是更新显示内容了。

每次只显示一个数码管上的数字,多次遍历刷新。我们就看到了四位不变的数字。

下面的程序代码我已经实现了一个时钟功能,但是还没有添加调整时间的功能,大家可以自己研究一下。

更新:目前已经实现了通过一个按键的长按与短按来调整时间。由于本文主要是让大家理解串行LED屏的工作原理,故不再上传更新后的代码。有需要的亲联系我吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值