首页 理论教育单片机I/O口扩展的基础知识-《单片机基础及应用》

单片机I/O口扩展的基础知识-《单片机基础及应用》

【摘要】:使用单片机本身的I/O口,可以实现一些简单的数据输入/输出传送,例如,从单片机P1.0~P1.3输入开关状态,再经P1.4~P1.7输出去驱动发光二极管,使发光二极管显示开关的状态。这时I/O口对信息的输入、输出可以直接操作。图8-7单片机I/O口直接使用方式图对于复杂的I/O操作,必须有接口电路的协调和控制才能进行。一般I/O接口电路主要完成以下基本功能。

使用单片机本身的I/O口,可以实现一些简单的数据输入/输出传送,例如,从单片机P1.0~P1.3输入开关状态,再经P1.4~P1.7输出去驱动发光二极管,使发光二极管显示开关的状态。这时I/O口对信息的输入、输出可以直接操作。如图8-7所示,可以采用查询或中断方式来实现此功能。

图8-7 单片机I/O口直接使用方式图

对于复杂的I/O操作,必须有接口电路的协调和控制才能进行。一般I/O接口电路主要完成以下基本功能。

1.速度协调

外部设备之间的速度差异很大。对于慢速设备,如开关、继电器机械传感器等,每秒产生不了一个数据;而对于高速采样设备,每秒要传送成千上万个数据,面对各种设备的速度差异,单片机无法按固定的时序以同步方式进行I/O操作,只能以异步方式进行,也就是只有在确认设备已为数据传送做好准备的前提下才能进行I/O操作。为此,需要接口电路产生状态信号或中断请求信号,表明设备是否做好准备,即通过接口电路来进行单片机与外部设备之间的速度协调。

2.输出数据锁存

CPU与外设速度的不一致,需要有接口电路把输出数据先锁存起来,待输出设备为接收数据做好准备后,再传送数据。这就是接口电路的数据锁存功能。(www.chuimin.cn)

3.数据总线隔离

总线上可能连接着多个数据源(输入设备)和多个数据负载(输出设备)。当一对源和负载的数据传送正在进行时,所有其他不参与的设备在电性能上必须与总线隔开。如何使这些设备在需要时与数据总线接通,而在不需要时又能及时断开,这就是接口电路的总线隔离功能。为了实现总线隔离,需要接口电路提供具有三态缓冲功能的三态缓冲电路。

4.数据转换

外部设备种类繁多,不同设备之间的性能差异很大,信号形式也多种多样。单片机只能使用数字信号,如果外部设备所提供或需要的不是电压形式的数字信号,就需要有接口电路进行转换,包括模/数转换和数/模转换等。

5.增强驱动能力

通过接口电路为输出数据提供足够的驱动功率,以保证外部设备能正常、平稳地工作。单片机应用系统中,所有系统扩展的外围设备工作时有输入电流、不工作时有漏电流存在,因此总线只能带动一定数量的电路。如MCS-51单片机作为数据总线和低8位地址总线的P0口可驱动8个TTL电路,而P2口等其他口只能驱动4个TTL电路。若应用系统规模过大,可能造成负载过重,致使驱动能力不够,系统不能可靠地工作,需要另设总线或接口驱动。