74HC165并入串出移位寄存器的读操作
关于IC的读操作,网上还是有许多现成的例子的。这里再做一个记录原因是为了强调时序的控制。
1.74HC165 简介
74HC165是8位并行输入串行输出移位寄存器,可在末级得到互斥的串行输出(Q0和Q7),当并行读取(PL)输入为低时,
从D0到D7口输入的并行数据将被异步地读取进寄存器内。
工作电压从2.0V到6.0V,可以和5V,3.3V器件直接对接的了。
2.读取时序
3.范例程序(程序没有注释,请对照时序图理解,谢谢^_^)
unsigned char Read_74HC165(void) { unsigned char i; unsigned char RetDat=0x00; Dev74HC165_CE = 1; Dev74HC165_CP = 1; Dev74HC165_PL = 0; delay_ms(1); Dev74HC165_PL = 1; Dev74HC165_CE = 0; delay_ms(3); if(Dev74HC165_Q7 == 1) RetDat = 0x01; for(i = 0; i < 7; i++) { RetDat <<= 1; Dev74HC165_CP = 0; delay_ms(1); Dev74HC165_CP = 1; delay_ms(1); if(Dev74HC165_Q7 == 1) { RetDat |= 0x01; } } Dev74HC165_CP = 0; Dev74HC165_CE = 1; return RetDat; }
注:程序中延时部分,请注意根据实际情况来定,开始调试时把时间设置长一点,数据正常后再调整时间。
凯特网版权声明:以上内容允许转载,但请注明出处,谢谢!