微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 用一只引脚为微控制器输入并行数据

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

时间: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的延时功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top