在我们的单片机应用系统中,常常会遇到I/O口不够的情况。譬如说接有外部RAM而且要求有16个以上的按键,8位数码管以上的显示。而且还不包括其它的外围器件。这时整个系统的I/O资源就很吃紧了。系统的扩展性也不好。这时我们就需要考虑对单片机的I/O进行扩展了。虽然专门的I/O扩展芯片市场上也有不少,但对于我们一般的应用,没有必要整的那么复杂。用一些简单的移位寄存器芯片一样可以实现我们的目标。下面我们首先来认识一下74HC164这款芯片。这款芯片的作用是把串行输入的数据并行输出。注意,它没有锁存功能,在允许输出的情况下,每一个时钟的上升沿,数据依次从最低位移向最高位。因此,在做数码管的输出显示的时候会出现拖影的想象,在设计此电路时要注意考虑此情况。