单片机代码74HC595代码问题

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

(1)之所以用IO口扩展,是因为节省IO引脚(设想假如控制LED就需要八个引脚那么如果需要很多功能实现的话,IO引脚定是不够的).

大家都知道74HC165与74HC595两个芯片的基本作用,在这里只讲595芯片因为这里会遇到。
74HC595此芯片是串入并出即串行的输入数据,并行的输出数据(一个输入端SER八个输出端QA~QH)。
(1)595芯片读取一个字节的数据(可以通过函数调用实现);
(2)由於一个字节是八位由于引脚14(SER)只能输入一位的数据,可以知道对于该芯片读取的八位数据(一个字节)进行移位依次输入如下图
(3)并行的输出数据通过QA~QH引脚,进而控制LED
其中写GND的,VCC的可以忽略不管(用最简洁的语言教大家如何理解595芯片以及写出流水灯程序)。
其Φ①引脚11SRCLK)是移位寄存器时钟(提醒你开始移动数据了)。
②引脚12RCLK)是存储寄存器时钟即数据将从移位寄存器移到存储寄存器中。(提醒你开始存储移动好的数据了)
③引脚9可以用作级联作为下一个595芯片的输入。

SER=dat>>7;//比如数据右移七位则成为则最后一位就是SER所取的位最高位 dat<<=1;//左移一位是为了取得刚刚所读取位的紧挨着的位 CLK=1;//一个上升沿(如若不知道可以看此文章的图一)

何为上升沿,上升沿是一个瞬间电平从0到1的瞬间。
以上为IO口扩展用595芯片控制LED的情况。若对于该芯片还不了解可以百度其详细资料引脚功能若有不懂或者错误的地方,欢迎留言_

}

我要回帖

更多关于 单片机代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信