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;
}注:程序中延时部分,请注意根据实际情况来定,开始调试时把时间设置长一点,数据正常后再调整时间。
凯特网版权声明:以上内容允许转载,但请注明出处,谢谢!
