首页程序设计C51程序74HC165并入串出移位寄存器的读操作

74HC165并入串出移位寄存器的读操作

时间2016-04-20 13:47:16发布caterwang分类C51程序浏览8114

    关于IC的读操作,网上还是有许多现成的例子的。这里再做一个记录原因是为了强调时序的控制。

    1.74HC165 简介

    74HC165是8位并行输入串行输出移位寄存器,可在末级得到互斥的串行输出(Q0和Q7),当并行读取(PL)输入为低时,

从D0到D7口输入的并行数据将被异步地读取进寄存器内。

    工作电压从2.0V到6.0V,可以和5V,3.3V器件直接对接的了。

blob.png

    2.读取时序

blob.png

    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;
}

注:程序中延时部分,请注意根据实际情况来定,开始调试时把时间设置长一点,数据正常后再调整时间。

凯特网版权声明:以上内容允许转载,但请注明出处,谢谢!

展开全文READ MORE
stm3274HC165移位寄存器
ENC28J60不工作,指示灯常亮的原因 UIP1.0实现UDP通讯--方法2

游客 回复需填写必要信息