标题: 用74HC595D对单片机按键扩展的应用 [打印本页]

作者: 蓝色海阳    时间: 2023-12-16 15:26
标题: 用74HC595D对单片机按键扩展的应用
    自学习单片机开始就比较喜欢用引脚比较少的单片机,因为引脚少简单易用且不浪费资源,但有个问题是有时引脚不够用,怎么办呢?后来发现74HC595D这个非常好用的芯片,可以扩展单片机输出引脚,比如:控制8位数码管本来需要16个引脚,而用74HC595D,只需3个引脚就可以,通过级联可以将输出无限扩展下去。而关于按键输入却似乎没有发现有哪个比较好用的芯片,大多数人可能也认为74HC595D只能扩展输出,不能扩展按键输入,但最近发现74HC595D竟然也能扩展按键输入的,电路如下图所示:


    从上图电路可以看出控制8位数码管,用到两片595芯片,而扩展按键输入却并没有增加595芯片的数量,这是因为扩展的8个按键复用了一片595芯片,所以对于电路来说不用增加硬件器件就可以多出8个独立按键出来。如果想要更多的输出引脚和输入按键,只需再级联595芯片就可以,这样理论上可以不用增加单片机引脚就可以无限扩展下去。



附上原理图和PCB文件: 用74HC595D扩展8路按键输入.zip (515.93 KB, 下载次数: 38)


作者: 文凤轩    时间: 2023-12-17 15:02
调音台上用74HC595扩展输出的,用74HC165扩展按键输入的
作者: joyb    时间: 2023-12-17 17:59
需要学习按键程序
作者: 蓝色海阳    时间: 2023-12-19 17:15
文凤轩 发表于 2023-12-17 15:02
调音台上用74HC595扩展输出的,用74HC165扩展按键输入的

74HC165没有用过,不过用74HC595应该更简洁一些吧,起码输入输出一共只占用单片机4个IO口,就可以按键输入和控制输出的无限扩展了,并且按键可以是点动式和自锁式2种方式,可以看一下用74HC595D对单片机按键扩展的测试视频:v.douyin.com/i8ygWEAd/
作者: tyrl800    时间: 2023-12-22 11:41
请教如何读入按键状态??
作者: hhh402    时间: 2023-12-26 20:14
楼主这种方法的确可以检测按键,但是每次只能有一个按键按下,同时按下几个按键检测不了,最少需要4个IO口,没有什么实际意义,用AD只需要1个IO就可以检测多个按键,更省。正常需要多IO口直接选用相应封装的单片机就好,更便宜,程序也更好些。用595扩展IO是不得已的方法,除非是控制大量LED(数码管或点阵)才考虑用595扩展。
作者: jch352122    时间: 2024-4-11 19:45
tyrl800 发表于 2023-12-22 11:41
请教如何读入按键状态??

扫描595 8个口,只有一个口是低电平,当输入口为低电平时,扫到哪个口就是哪个按键?扩展十几个输入口以上还是有作用的。
作者: zhuls    时间: 2024-4-15 11:27
不如用TM系列自带键扫的IC,还能驱动LED。
作者: 焊武帝1    时间: 2024-4-15 15:05
如何读入按键状态?
作者: syjldz    时间: 2024-4-15 20:02
如果2个或2个以上按键同时按下会影响led数码的显示,应该在L0到L7每个端口上 ,串上隔离二极管,
不过这样增加的成本就与用74HC165芯片的方案的差不多了.
74HC165方案也可以无限级联.

作者: Aizlna    时间: 2024-4-19 12:23
用一片天微1688,你想做几个按键就几个按键




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1