用一只引脚为微控制器输入并行数据

PL信号上升后,微控制器的I/O端口上的较短脉冲在移位寄存器的时钟输入端CP(不是在PL输入端)产生脉冲。这些时钟脉冲的持续时间必须足够长,应超过延时R1C1,但不能超过R2C2。这些时钟脉冲使数据移位,使得8比特在移位寄存器输出端QQ顺序出现。

如果微控制器的数据方向短暂地改变,以便借助高阻抗输入,那么上述移位寄存器数据会占支配地位,这是由于R1、R2、R3的相对值所致,R3值低得多。高阻抗状态存在的时间必须短于R1C1时间常数(图2)。微控制器现在读取单一数据比特。三个不同周期的作用产生了三种功能:加载、时钟、数据读取。微控制器改变端口方向、读取引脚数据、把引脚方向重设为输出所需的时间决定了时序。例如,1ms微控制器需要10ms。
为避免假CP脉冲,该时间常数必须低于0.33R1C1,因此R1C1可以是30ms,而R2C2可以是200ms。这些设置允许在大约1ms内完成一次8比特读取。为实现更快操作,可把RC继电器换成精密可再触发单稳多频振荡器(如NXP公司的74HC123)和逻辑门。可用更多移位寄存器扩充此方案,来读取数十个信号。
请注意:74HC165移位寄存器中的内部逻辑阻止CP信号在LD处于有效状态时使数据移位。电阻器R4确保LD和CP的正确顺序。二极管D1和D2使每个电容迅速放电,来“复位”R1C1和R2C2的延时功能。
评论