(1)之所以用IO口扩展,是因为节省IO引脚(设想假如控制LED就需要八个引脚那么如果需要很多功能实现的话,IO引脚定是不够的).
大家都知道74HC165与74HC595两个芯片的基本作用,在这里只讲595芯片因为这里会遇到。
74HC595此芯片是串入并出即串行的输入数据,并行的输出数据(一个输入端SER八个输出端QA~QH)。
(1)595芯片读取一个字节的数据(可以通过函数调用实现);
(2)由於一个字节是八位由于引脚14(SER)只能输入一位的数据,可以知道对于该芯片读取的八位数据(一个字节)进行移位依次输入如下图
(3)并行的输出数据通过QA~QH引脚,进而控制LED
其中写GND的,VCC的可以忽略不管(用最简洁的语言教大家如何理解595芯片以及写出流水灯程序)。
其Φ①引脚11(SRCLK)是移位寄存器时钟(提醒你开始移动数据了)。
②引脚12(RCLK)是存储寄存器时钟即数据将从移位寄存器移到存储寄存器中。(提醒你开始存储移动好的数据了)
③引脚9可以用作级联作为下一个595芯片的输入。
何为上升沿,上升沿是一个瞬间电平从0到1的瞬间。
以上为IO口扩展用595芯片控制LED的情况。若对于该芯片还不了解可以百度其详细资料引脚功能若有不懂或者错误的地方,欢迎留言_