Arduino操作74HC595
74HC595是一个寄存器,他能够将串行的输入累积成一次并行的输出。要做的测试就是通过一个输入pin来控制多个输出pin的状态。
pin14就是接收arduino主板串行的输入,比如:
pin14输入1,且bitorder设置为MSBFIRST,则Q0输出为1,Q1 - Q7都输出为0
pin14输入3,且bitorder设置为MSBFIRST,则Q0、Q1输出为1,Q2 - Q7都输出为0
pin14输入255,且bitorder设置为MSBFIRST,Q0 - Q7都输出为0
可以说将pin14的输入转成一个二进制数,Q0 - Q7分别是他们的第1位 - 第8位。
操作74HC595,最简单的操作方法当然是使用shiftout,官方就有示例:http://arduino.cc/en/Tutorial/ShiftOut
当然,还可以使用更加高效的SPI库来操作:其实操作起来也很简单
pinMode(SS, OUTPUT)
SPI.begin()
SPI.setBitOrder(MSBFIRST)
然后是根据需要调用
digitalWrite(SS, LOW)
SPI.transfer(data)
digitalWrite(SS, HIGH)
需要注意的是几根pin的对应
SS Slave Select(默认arduino上的10) 就是 74HC595中的 pin12
MOSI(默认arduino上的11) 就是 74HC595中的 pin14
CLK(默认arduino上的13) 就是 74HC595中的 pin11
MISO 在本示例无需连接,如果要arduino接收数据,就是 74HC595中的 pin9
参考资料
http://arduino.tw/articlesindex/extend-io/213-74hc595.html