标题: 74hc595使用方法与单片机驱动源程序 [打印本页]
作者: xiaowuya07 时间: 2018-6-10 22:42
标题: 74hc595使用方法与单片机驱动源程序
虽然这玩意不复杂,但是在网上看了很多资料还是眼花,简单的说一下工作原理:
DS是数据传递数据口,DS传递一次后SH_CP进行一次上升沿串行数据发生位移,ST_CP发生一次上升沿完成数据发送,即串行转并行。下图中的Q7’可以接下一个595的DS口,也可以不接。当完成8次数据传输的话多出的数据就从Q7’就从传入下一个595。MR低电平清除数据,图中接正极。OE相当于开关,低电平输出有效,高电平并行口为高阻态,图中接负极。然后原理图和代码放在旁边,证明一下理论。
旁边的是实物图,比原理图多处两个引脚,原理图省略的是电源正负极。
-
1.jpg
(14.07 KB, 下载次数: 86)
-
2.jpg
(8 KB, 下载次数: 87)
-
3.jpg
(11.2 KB, 下载次数: 82)
作者: xiaowuya07 时间: 2018-6-10 22:45
-
-
74hc595.zip
138.52 KB, 下载次数: 78, 下载积分: 黑币 -5
作者: 51hei团团 时间: 2018-6-12 03:58
很有用,收藏
作者: KM民 时间: 2020-3-11 12:43
想了很久没想懂为什么上面传给第二个74HC595下面传给第一个
作者: 92pk 时间: 2020-3-12 11:35
这个级联仿真是有bug的,比如运行到这一步
send_data_74hc595(0x00);
send_data_74hc595(0xff);
show_74hc595();
应该是上面八个灯亮下面八个灯全部灭,但仿真的时候却是上面八个亮之外,下面的Q0输出的灯也是亮的。
解决办法
在电路上将
SH_CP1和SH_CP2直接相连
ST_CP1和 ST_CP2 直接相连
程序上
只用SH_CP1和ST_CP1来进行控制
作者: 完完全全 时间: 2020-3-14 10:52
赞一个,对头!多动手
作者: xuxinhd 时间: 2020-10-27 19:17
很通俗易懂 ,感谢
作者: xuxinhd 时间: 2020-10-27 19:18
多级扩展 ,比如LED显示屏
作者: dxfggggg 时间: 2021-2-19 13:35
如果只驱动一个74hc595呢
作者: 啤酒瓶子老大 时间: 2021-2-20 15:29
驱动一个595?你是要串转并吗?
作者: zhuming 时间: 2021-2-20 19:32
有更简洁的代码
void wttype(u8 v)
{
u8 x;
CLR=1;
RCK=0;
for (x=0x80;x!=0;x>>=1)
{
SCK=1;
SI=(v&x)? 1:0 ;
SCK=0;
}
RCK=1;
}
作者: NenPeng 时间: 2021-4-26 08:45
不是上升沿有效吗?
作者: NenPeng 时间: 2021-4-26 10:58
我想应该是上升沿有效吧?你这个如果我没搞错的话是下降沿哟
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |