74HC164怎样实现32位流水灯。用串行口方式 0 输出,用级联的 4 个 74HC164 扩展出 4 个 8 位并行输出口,

74HC164怎样实现32位流水灯。用串行口方式 0 输出,用级联的 4 个 74HC164 扩展出 4 个 8 位并行输出口,,第1张

用串行口方式 0 输出,用级联的4个74HC164 扩展出 4 个 8 位并行输出口,接32个LED流水灯。串口的方式0时,级联的芯片过多时,在串口输入数据的时候,每个164的输出端的状态在快速变化,所以,效果并不是很理想,特别是仿真时,流水灯的效果不是很流畅。改换成74HC595就可以,因为,在输入数据时,输出端的锁存器可以并闭,等数据全部输入结束后再同时锁存数据,就可以避免了输出端的快速变化的缺陷了。如下是仿真图,要是在实物开发板上测试会好些,可以避免仿真的缺陷。

按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统。8051单片机是Intel公司生产的,除无片内ROM外,其余特性与MCS-51单片机基本一样。8051单片机都采用40引脚的直插封装(DIP方式),在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出(I/O)引脚。8051单片机的引脚除了电源、复位、时钟接入,用户I/O口外,其余管脚是为实现系统扩展而设置的。

因此,本流水灯实际上就是一个带有8个发光二极管的单片机最小应用系统,即为由单片机8051、发光二极管和必要的软件组成的单个单片机系统。此系统利用单片机的P10-P17作为8段显示LED的段控码输入,当位控线输入高电平时对应的LED点亮。再利用单片机内部的定时器对每一个输出口的电平做时间控制,实现每一个接口出现循环的高低电平,从而实现对每一个接口所接灯的循环控制,使32盏灯各依次亮灭。

(1)、单片机的选择

选用8031单片机,配备110592MHz晶振,复位电路采用上电复位

(2)、显示电路选择

采用软件译码动态显示,P00-P07作发光二极管的位选口。码管的段选口。考虑直接用单片机I/O口作位选时可能驱动功率不够,可采用三极管9012作驱动,共阳极数码管显示。 (3)、电源选择 采用直流5V电源供电。

(仅供参考)由于你设置推挽输出,也就是说没有上下拉(8中模式里输入有上下拉),在《数据手册》里的解释推挽输出初始化时,输出0或1,其实是0,这样的话,你的开始红灯都全部亮下,就不难理解了。所以你若想在开始的时候不想让他都亮(按照你的思路走),你可以对你的几个引脚进行拉高,即对ODR或者BSRR进行 *** 作即可。

GPIO_SetBits(GPIOE,

GPIO_Pin_1);//Init函数把几个脚都添加进去即可

以上就是关于74HC164怎样实现32位流水灯。用串行口方式 0 输出,用级联的 4 个 74HC164 扩展出 4 个 8 位并行输出口,全部的内容,包括:74HC164怎样实现32位流水灯。用串行口方式 0 输出,用级联的 4 个 74HC164 扩展出 4 个 8 位并行输出口,、单片机控制32盏灯循环显示、STM32 的GPIO流水灯,程序下进去后,4个LED先全部都亮,然后才逐个点亮;我不太明白,怎么开始会全部都亮等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9430650.html

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

发表评论

登录后才能评论

评论列表(0条)

保存