用74HC165实现扩展输入
0赞上一篇文章介绍了扩展输出的方法,这里再介绍一种扩展输入的方法。其实和74HC595对应的器件有个74HC597,但在市场上不太好买,有一种74HC165功能与之类似:
uchar ReadByte() //74HC165读函数
{
uchar dat;
uchar i;
hc165cp=1;
for(i=0;i<8;i++)
{
dat<<=1;
if(hc165Q7)
dat|=1;
hc165cp=0; //时钟
hc165cp=1;
}
return(dat);
}
上面是读一个的函数,读几个就调用几次该函数即可,读之前用
hc165pl=0;
hc165pl=1;
把数据锁住,之后就可以读了:
ReadByte();
ReadByte();
……
下面是74HC165的介绍:
74HC165是一款高速CMOS器件,74HC165遵循JEDEC标准no.7A。74HC165引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC165是8位并行读取或串行输入移位寄存器,可在末级得到互斥的串行输出(Q0和Q7),当并行读取(PL)输入为低时,从D0到D7口输入的并行数据将被异步地读取进寄存器内。而当PL为高时,数据将从DS输入端串行进入寄存器,在每个时钟脉冲的上升沿向右移动一位(Q0 → Q1 → Q2,等等)。利用这种特性,只要把Q7输出绑定到下一级的DS输入,即可实现并转串扩展。
74HC165的时钟输入是一个“门控或”结构,允许其中一个输入端作为低有效时钟使能(CE)输入。CP和CE的引脚分配是独立的并且在必要时,为了布线的方便可以互换。只有在CP为高时,才允许CE由低转高。在PL上升沿来临之前,不论是CP还是CE,都应当置高,以防止数据在PL的活动状态发生位移。
基本参数
电压:2.0~6.0V驱动电流:+/-5.2 mA
传输延迟:16ns@5V
最高频率:56 MHz
逻辑电平:CMOS
工作温度:-40~+85 ℃
封装:SO16, SSOP16, DIP16, TSSOP16
特性
异步8位并行读取同步串行输入
兼容JEDEC标准no.7A
ESD保护