用一只引脚为微控制器输入并行数据
时间:07-31
来源:互联网
点击:
与UART的复杂相比,用微控制器的单一输入引脚来输入多个信息比特更简单,事实证明这很有用。这种方案允许扫描键盘、模式开关或任何变化较慢的数字数据。参考文献1详细说明了一种用单一引脚输出信号的方法。来自开关组S1的数据首先到达IC3,后者是NXP Semiconductors公司的74HC165并串转换器(图1)。把数据加载到移位寄存器中,这需要PL线路上的一个脉冲(引脚1)。线路CK在微控制器引脚线路上把一个长脉冲作为输出发送出去,由此完成上述脉冲。R2和C2引入延时,并且一旦脉冲超过该延时,PL线路就变为低电平,数据被加载。
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的延时功能。
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的延时功能。
- 基于ARM的数控算法图示仪设计(08-07)
- 基于总线的分布式水下航行器控制器设计(01-13)
- NFC芯片能否借助北京地铁而走红?就看这些应用了(07-22)
- TI在微控制器市场中奋战(05-29)
- 基于Blackfin的图像处理,及其性能与CMOS传感器中ISP的比较(08-25)
- ARM与TLV5637的模拟SPI接口设计(01-26)