1、74HC595是一个8位串行输入、并行/串行輸出移位寄存器具有可控3态输出。本文主要使用595的级联功能
74HC595锁存功能:串行输入后,8位锁存可以一直保持输出的8位不变,等待新的8位就位连同级联的其他74HC595一起更新,然后再次锁存依次循环。
74HC595的级联功能:例如串行输入16位前8位会被挤出,从9脚Q7S同样串行输出至下一級芯片后8位留在本身的Q0-Q7中。
74HC595的使能功能:将每一个74HC595芯片的使能脚一起接受CPU同一个管脚控制以达到收到新数据的所有74HC595同时输出8位数据,顯示一种效果
2、下面是74HC595使用实例原理图:
图中只用3个CPU管脚控制多个4位数码显示,UM1为一级芯片即发出数据的最后8位,用于选择所有4位数碼管的第N位显示UM2-UM5用于控制每一个4位数码管8段。
当发出0x9F、0x9F、0x9F、0x9F、0x08使能后,由于0x08片选所有每个4位数码管的第一位会显示1。
当发出0x25、0x25、0x25、0x25、0x04使能后,由于0x04片选所有每个4位数码管的第二位会显示2。
当发出0x0D、0x0D、0x0D、0x0D、0x02使能后,由于0x02片选所有每个4位数码管的第三位会显示3。
當发出0x99、0x99、0x99、0x99、0x01使能后,由于0x01片选所有每个4位数码管的第四位会显示4。
依次循环显示每位显示时长为四分之一周期。
定时程序选择2-5毫秒为宜也可自己根据自己程序的运行效果尝试着设置。循环显示4位数码管每位显示时长为四分之一周期。
上图为显示第一位的子程序其他类似。
在定时器(2-5ms)程序中加入下图语句
5.1 举例中UM1只用到了Q4-Q7四位可将Q0-Q3一起用上,添加4组74HC595+数码管可得到8x4=32位数码管显示。
5.2 将其中一位数碼管变成8个二极管可显示8个运行状态,其中4位数码管可变32个指示灯
5.3 CPU加一个IO,可以最多增加8个使用sTm32实现按键的控制UM1输出Q0-Q7分别加一个使鼡sTm32实现按键的控制,使用sTm32实现按键的控制另一端共同接在IO上在分时复用显示每位数码管时,检测IO是否被按下类似扫描使用sTm32实现按键的控制程序。
欢迎拍砖欢迎指正,欢迎私信