《单片机及应用_第七章_80c51单片机并行io扩展8概要》由会员分享,可在线阅读,更多相关《单片机及应用_第七章_80c51单片机并行io扩展8概要(93页珍藏版)》请在金锄头文库上搜索。
1、第7章 单片机并行I/O扩展,主要内容 7.1 单片机I/O扩展基础知识 7.2 可编程并行接口芯片8255 7.3 键盘接口技术 7.4 LED显示器接口技术 7.5 打印机接口技术 *7.6 键盘显示器接口8279,7.1 单片机I/O扩展基础知识,7.1.1 I/O接口电路的功能 1. 速度协调 面对各种设备的速度差异,单片机无法按固定的时序以同步方式进行I/O操作,只能以异步方式进行,也就是只有在确认设备已为数据传送做好准备的前提下才能进行I/O操作。为此需要接口电路产生状态信号或中断请求信号,表明设备是否做好准备。即通过接口电路来进行单片机与外部设备之间的速度协调。 2. 输出数据锁
2、存 由于CPU与外设速度的不一致,需要有接口电路把输出数据先锁存起来,待输出设备为接收数据做好准备后,再传送数据。这就是接口电路的数据锁存功能。,3. 数据总线隔离 总线上可能连接着多个数据源(输入设备)和多个数据负载(输出设备)。一对源和负载的数据传送正在进行时,所有其他不参与的设备在电性能上必须与总线隔开。这就是接口电路的总线隔离功能。 为了实现总线隔离,需要有接口电路提供具有三态缓冲功能的三态缓冲电路。 4. 数据转换 外部设备种类繁多,不同设备之间的性能差异很大,信号形式也多种多样。单片机只能使用数字信号,如果外部设备所提供或需要的不是电压形式的数字信号,就需要有接口电路进行转换,其中
3、包括模/数转换和数/模转换等。,7.1.1 I/O接口电路的功能,5. 增强驱动能力 通过接口电路为输出数据提供足够的驱动功率,以保证外部设备能正常、平稳地工作。,7.1.1 I/O接口电路的功能,7.1.2 关于接口电路的更多说明,1. 接口与接口电路 “接口” (Interface),具有界面、相互联系等含义,通过接口能使两个被连接的器件协同工作。单片机接口,则是研究单片机与外部设备之间的连接问题。单片机与外部设备之间接口界面的硬件电路称为接口电路,或称为I/O接口电路。 2. 口或端口 为了实现I/O接口电路的界面功能,在接口电路中应包含一些寄存器,通常把接口电路中这些已编址并能进行读或
4、(和)写操作的寄存器称为端口或简称口(Port)。,7.1 单片机I/O扩展基础知识,3. I/O接口的特点 异步性。平时单片机与外部设备按各自的时序并行工作,只有在需要时外部设备才通过接口电路接受单片机的控制。 实时性。单片机对外部设备的控制以查询或中断方式进行,以便最大限度地实现控制的实时化。 与设备无关性。接口芯片不一定是专用的,同一个接口芯片通过软件设置可为多种设备实现接口。,7.1.2 关于接口电路的更多说明,4. 并行接口与串行接口 按数据传输方式的不同,接口有并行与串行之分,即并行接口与串行接口。,7.1.3 I/O编址技术,两种I/O编址方式: 统一编址方式和独立编址方式。 统
5、一编址方式:把I/O接口中的寄存器与外扩展的数据存储器中的存储单元同等对待,合在一起使用同一个外扩展地址空间。 独立编址方式:把I/O与存储器分开进行编址。这样,在一个单片机系统中就形成了两个独立的地址空间: 存储器地址空间和I/O地址空间。 在80C51单片机系统中,采用统一编址方式。,7.1 单片机I/O扩展基础知识,7.1.4 单片机I/O控制方式,1. 无条件方式 无条件传送也称为同步程序传送。只有那些能一直为I/O操作作好准备的设备,才能使用无条件传送方式。在进行无条件I/O操作时,无需测试设备的状态,可以根据需要随时进行I/O操作。 无条件传送适用于两类设备的I/O操作。一类是具有
6、常驻的或变化缓慢的数据信号的设备。例如,机械开关、指示灯、发光二极管、数码管等,另一类则是工作速度非常快,足以和单片机同步工作的设备,例如数/模转换器(DAC)。,7.1 单片机I/O扩展基础知识,7.1.4 单片机I/O控制方式,2. 查询方式 查询方式又称为有条件传送方式,在I/O操作前,先要检测设备的状态,只有在确认设备已“准备好”的情况下,单片机才能执行I/O操作。检测也称为“查询”,所以就把这种有条件的I/O控制方式称为查询方式。 为实现查询方式的I/O控制,需要由接口电路提供设备状态,接口电路中的状态寄存器或状态位就是为此而准备的。查询方式只适用于规模比较小的单片机系统。,中断方式
7、与查询方式的主要区别在于如何知道外部设备是否为I/O操作做好准备。采用中断方式进行I/O控制时,当设备做好准备之后,就向单片机发出中断请求。单片机接收到中断请求之后作出响应,暂停正在执行的原程序,而转去执行中断服务程序,通过执行中断服务程序完成一次I/O操作,然后返回,再继续执行被中断的原程序。,7.1.4 单片机I/O控制方式,3. 中断方式,中断方式效率较高,所以在单片机系统中被广泛采用。但中断请求是一种不可预知的随机事件,所以实现起来对单片机系统的硬件和软件都有较高的要求。,I/O接口 数据存储器 速度协调 * 输出数据锁存 * 数据总线隔离 * * 数据转换 * 增强驱动能力 *,7.
8、1.5 并行I/O接口和数据存储器的比较,7.1 单片机I/O扩展基础知识,1、功能,2、控制方式 I/O接口 数据存储器 无条件方式 * * 查询方式 * 中断方式 *,7.1.5 I/O接口和数据存储器的比较,3、与单片机的连接信号 I/O接口 数据存储器 数据总线 * * 读写控制信号 * * 片选 * * 片内地址 选择I/O端口 选择存储单元,7.1.5 I/O接口和数据存储器的比较,7.1 单片机I/O扩展基础知识,7.1.6 小结 1. I/O接口电路的功能: 速度协调 输出数据锁存 数据总线隔离 数据转换 增强驱动能力 2. 一些术语: 接口和接口电路 口或端口 并行接口与串行
9、接口,7.1.6 小结,3. I/O接口的特点 异步性 实时性 与设备无关性 4. I/O编址方式: 统一编址 独立编址 80C51采用统一编址方式 5.单片机I/O的控制方式: 无条件方式 查询方式 中断方式,7.1.6 小结,6. 并行I/O接口和数据存储器的比较 功能多(5:1) 控制方式多样(3:1) 与单片机的连接信号基本相同,7.2 可编程并行接口芯片8255,7.2.1 8255的硬件逻辑结构 7.2.2 8255工作方式 7.2.3 8255的编程内容 7.2.4 8255接口的应用,7.2 可编程并行接口芯片8255,7.2.1 8255的硬件逻辑结构 8255的全称是“可编
10、程并行输入/输出接口芯片”,通用性强,使用灵活,可用于实现80C51系列单片机的并行I/O口扩展。 8255是一个40引脚的双列直插式集成电路芯片。,8255芯片引脚图,按功能可把8255的内部结构分为3个逻辑电路部分,分别为: 口电路、总线接口电路和控制逻辑电路。,1. 口电路 8255共有3个8位口,其中A口和B口是单纯的数据口,而C口则既可以作数据口使用,又可以作控制口使用,主要用于实现A口和B口的控制功能。在使用中常把C口分为两部分,即C口高位部分(PC7PC4)和C口低位部分(PC3PC0)。 把A口和C口高位部分合在一起称为A组;把B口和C口低位部分合在一起称为B组。,7.2.1
11、8255的硬件逻辑结构,2. 总线接口电路 总线接口电路用于实现8255和单片机的信号连接,包括: 数据总线缓冲器。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送的。 读/写控制逻辑。相关的控制信号有: /CS、A0、A1 /WR、/RD RESET,7.2.1 8255的硬件逻辑结构,3. 控制逻辑电路 A组和 B组控制电路:包括一个8位控制寄存器及其相关的控制电路,用于存放编程命令和实现各口操作控制。 中断控制电路:对应A、B两个口各有一个中断触发器,用于对中断的允许和禁止进行控制。置位为允许,复位为禁止。对两个触发器的置位和复位控制通过口C的有关位进行。,7.2.1 8
12、255的硬件逻辑结构,1. 方式0(基本输入/输出方式) 方式0适用于无条件数据传送。两个8位口(A口和B口)和两个4位口(C口高位部分和C口低位部分)都可以分别或同时设置为方式0。 2. 方式1(选通输入/输出方式) 8255的“选通”是通过信号的“问”与“答”,以联络方式(或称握手方式)实现的。所以这种数据传送方式是有条件的,适用于以查询或中断方式进行控制。 在方式1下,A口和B口是数据口,C口是控制口,用于传送和保存数据所需要的联络信号,具体的定义见下页表。,7.2.2 8255工作方式,7.2 可编程并行接口芯片8255,C口联络信号定义,IBF: Input Buffer Full
13、OBF: Output Buffer Full STB: STroBe ACK: ACKnowledge INTR: INTeRrupt,8255方式1的逻辑组态关系图,8255方式1下的输入时序,8255方式1下的输出时序,3. 方式2(双向数据传送方式) 方式2是在方式1的基础上加上双向传送功能,只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。如果把A口置于方式2下,则B口只能工作于方式0。方式2适用于查询或中断方式的双向数据传送。在这种方式下需使用C口的5位口线作控制线。,7.2.2 8255工作方式,8255方式2的逻辑组态关系图,8255方式2下的输出时序,7.2.3
14、 8255的编程内容,工作方式命令和C口位置位/复位命令。 1. 工作方式命令 工作方式命令用于设定各数据口的工作方式及数据传送方向。命令的最高位(D7)是标志位,其状态固定为1。命令格式如右图所示。,7.2 可编程并行接口芯片8255,7.2.3 8255的编程内容,1. 工作方式命令 对工作方式命令有如下两点说明: A口有3种工作方式,而B口只有两种工作方式; 在方式1和方式2下,对C口的定义(输入或输出)不影响作为联络信号使用的C口各位的功能。,7.2 可编程并行接口芯片8255,2. C口位置位/复位命令 C口的每一位都可以进行置位或复位。对C口各位的置位或复位由位置位/复位命令进行,
15、其格式如下。,7.2 可编程并行接口芯片8255,3. 初始化编程 初始化的内容就是向控制字寄存器写入命令。 例如,若对8255各口作如下设置: A口方式0输入,B口方式1输出,C口高位部分为输出低位部分为输入。设控制寄存器地址为8003H。按各口的设置要求,工作方式命令字为10010101,即95H。则初始化程序段应为: MOV DPTR, 8003H MOV A, 95H MOVX DPTR, A,7.2.3 8255的编程内容,7.2.4 8255接口的应用,1. 8255的I/O控制方式 (1)无条件方式 以方式0进行数据输入/输出,就是无条件传送方式。 (2)查询方式 在方式1和方式
16、2下,都可以使用查询方式进行数据传送。数据输入时,供查询的状态信号是IBF(对应A口为IBFA,B口为IBFB)。因为传送这些信号的口线分别为PC5和PC1,所以查询时就是对输入这些口线的状态进行测试。数据输出时,供查询的状态信号是OBF(对应A口为OBFA,B口为OBFB),被测试的口线为PC7和PC1。,7.2 可编程并行接口芯片8255,(3)中断方式 在方式1和方式2下,都可以使用中断方式进行数据传送。中断请求信号是INTR(对应A口为INTRA,B口为INTRB),传送中断请求信号的口线分别为PC3和PC0。,2. 端口选择及读/写控制 8255共有4个可寻址端口: A口、B口、C口和控制寄存器,由CS和地址A0、A1的状态组合进行选择,由读/写信号RD和WR进行端口操作控制,具体设置见下页表。,7.2.4 8255接口的应用,7.2.4 8255接口的应用,7.3.1 键扫描和键码生成 7.3.2 用8255实现键盘接口,7.3 键盘接口技术,7.3.1 键扫描和键码生成 1