0
在互联网上有很多关于如何用微控制器控制移位寄存器的教程,但实际上是否可以通过微控制器实现移位寄存器功能?用AVR微控制器实现串行输入并行输出移位寄存器
在互联网上有很多关于如何用微控制器控制移位寄存器的教程,但实际上是否可以通过微控制器实现移位寄存器功能?用AVR微控制器实现串行输入并行输出移位寄存器
如果你有足够的引脚,我不明白为什么用简单的方式是行不通的......
对于寄存器的ň位转变,则需要ň +2引脚:
执行的伪代码:
var byte r := 0 // Assuming n=8, so 8 bits fit into a single byte
var byte i := 0
forever:
wait for clock-in = low
wait for clock-in = high
r := r << 0 | data-in
i := i + 1
if i = n:
data-out<1..n> := r
i = 0
如果你想确保data-out
是同步更新,确保您使用一个端口引脚:那么data-out<1..n> := r
声明确实可以是一个单端口寄存器分配。
如果您想与其他代码同时运行,您应该能够使用可触发中断的引脚clock-in
。
可能是一个额外的锁存输入 –