一、功能介绍
在上一篇中介绍了在电路中,我们将采集的外部32个IO点通过74HC166转换成串行,经SPI的MISO线传送给Atmega162;使用TPIC6A595将MOSI串行输出的3个字节数据转换成并行输出。
二、74HC166使用方式介绍
74HC166是8-BIT的并行加载移位寄存器。它的功能表如下图2.1,逻辑图如图2.2所示。
图2.1: 74HC166功能表
图2.2: 74HC166逻辑图
15管脚的输入通过2个反相器控制2个与门的输入,从而实现控制74HC166的并行输入模式或者移位模式。在功能表中可以看出,当SH/!LD置0,在CLK的上升沿,并行口a~h的数据将写入D触发器。 SER管脚是串行输入口,当15管脚设置成1,74HC166出于移位模式,在CLK的上升沿SER的数据将写入D触发器,原先D触发器中的数据将移入下一个D触发器,最高位D触发器中的数据将输出。在8个时钟脉冲下完成8位D触发器数据的更新。 CLK INH用于关闭CLK相当于74HC166的使能控制,CLR用于清除D触发器中的数据。
三、TPIC6A595使用方式介绍
TPIC6A595是一个8-BIT的串行输入,并行输出移位寄存器。其逻辑图如图3.1所示。
图3.1
SER IN为串行输入,在SRCK的上升沿数据移位输入D触发器。移位完成后,RCK上升沿将数据并行输出。G为TPIC6A595并行输出使能。SRCLR将清除D触发器中的数据。
四、总结
74HC166和TPIC6A595的移位时钟信号都接在Atmega162的SPI接口的CLK时钟线上。当SPI发送数据时,就会产生时钟用于和外围设备数据的发送和接收。