第7章单片机的IO扩展及应用_第1页
第7章单片机的IO扩展及应用_第2页
第7章单片机的IO扩展及应用_第3页
第7章单片机的IO扩展及应用_第4页
第7章单片机的IO扩展及应用_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7 7章章 单片机单片机I/O扩展及应用扩展及应用第第7 7章章 单片机单片机I/OI/O扩展及应用扩展及应用 7.1 7.1 单片机为什么需要单片机为什么需要I/OI/O扩展扩展7.2 7.2 单片机简单单片机简单I/OI/O扩展扩展7.7.3 3 8255A 8255A可编程通用并行接口芯片可编程通用并行接口芯片7.4 7.4 81558155带带RAMRAM和定时器和定时器/ /计数器的可编程并行计数器的可编程并行 接口芯片接口芯片7.5 82797.5 8279可编程键盘可编程键盘/ /显示器接口芯片显示器接口芯片7.7.6 6 MCS-51 MCS-51单片机键盘接口技术单片机键

2、盘接口技术7.7.7 7 MCS-51 MCS-51单片机显示器接口技术单片机显示器接口技术7.7.8 8 MCS-51 MCS-51单片机打印机接口技术单片机打印机接口技术思考题思考题第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.1 7.1 单片机为什么需要单片机为什么需要I/OI/O扩展扩展7.1.1 I/O7.1.1 I/O口的直接使用口的直接使用 7.1.2 7.1.2 为什么要扩展为什么要扩展I/OI/O接口接口 7.1.3 I/O7.1.3 I/O扩展的相关技术扩展的相关技术 7.1.4 7.1.4 单片机单片机I/OI/O控制方式控制方式 第第7 7章章 单片机单片机

3、I/O扩展及应用扩展及应用7.1.1 I/O7.1.1 I/O口的直接使用口的直接使用 1.1.无条件传送无条件传送 P1.0 P1.0P1.3P1.3输入开关状态,输入开关状态,经经P1.4P1.4P1.7P1.7驱驱动发光二极管,动发光二极管,使发光二极管显使发光二极管显示开关的状态。示开关的状态。P1.0P1.3P1.4P1.7开关开关发光二极管发光二极管K0 K1 K2 K3L3 L2 L1 L0图图7-1 7-1 简单简单I/OI/O应用电路连接应用电路连接 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用2.2.中断方式数据传送中断方式数据传送 中断方式中断方式实现上述同样实

4、现上述同样的功能。由开的功能。由开关关K在在INT0端端口处产生外部口处产生外部中断请求中断请求0 0,脉,脉冲边沿触发。冲边沿触发。只要拨动开关只要拨动开关K,就读取,就读取K0K3的状态,的状态,驱动驱动L0L3的的亮灭。亮灭。P1.0P1.3P1.4P1.7开关开关K0 K1 K2 K3发光二极管发光二极管L3 L2 L1 L0INT0+5VK图图7-2 7-2 中断方式的简单中断方式的简单I/OI/O电路连接电路连接 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 ORG 8000HSTART: AJMP MAIN ORG 8003H AJMP EXTR ORG 8030HMA

5、IN: SETB IT0 SETB EX0 SETB EAHERE: AJMP HERE ORG 8200H P1 EQU 90HEXTR: MOV A, #0FH MOV P1, A MOV A, P1 CPL A ANL A, #0FH SWAP A MOV P1, A RETI第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.1.2 7.1.2 为什么要扩展为什么要扩展I/OI/O接口接口 1.1.单片机本身接口功能有限单片机本身接口功能有限 2.2.单片机控制应用中的复杂接口要求单片机控制应用中的复杂接口要求 例如速度差异大、设备种类繁多、数据信号形式多种多例如速度差异大、设备

6、种类繁多、数据信号形式多种多样。样。 3.3.扩展扩展I/OI/O接口电路的功能接口电路的功能 例如速度协调、输出数据锁存、输入数据三态缓冲、数例如速度协调、输出数据锁存、输入数据三态缓冲、数据转换。据转换。 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.1.3 I/O7.1.3 I/O扩展的相关技术扩展的相关技术 1.1.接口与端口接口与端口 接口接口是指计算机与外设之间在数据传送方面的联系,是指计算机与外设之间在数据传送方面的联系,因为其功能是通过电路实现的,因此称为接口电路。因为其功能是通过电路实现的,因此称为接口电路。 在接口电路中,通常包含有数据寄存器、状态寄存器、在接口

7、电路中,通常包含有数据寄存器、状态寄存器、命令寄存器等,使得接口电路实现数据命令寄存器等,使得接口电路实现数据I/O传送过程中的界传送过程中的界面功能。面功能。 端口端口通常把接口电路中那些可编址并能进行读或写通常把接口电路中那些可编址并能进行读或写操作的寄存器称为端口(操作的寄存器称为端口(Port )。)。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用2.2.数据总线隔离技术数据总线隔离技术 数据总线连接着多个数据输入设备和多个数据输出设备,数据总线连接着多个数据输入设备和多个数据输出设备,但是在任一时刻,只能进行一个源和负载的数据传送,其它但是在任一时刻,只能进行一个源和负载的数

8、据传送,其它不参与的设备在电性能上必须同数据总线隔开,这就需要解不参与的设备在电性能上必须同数据总线隔开,这就需要解决数据总线的隔离问题。决数据总线的隔离问题。 对于输出设备的接口电路:对于输出设备的接口电路:要提供要提供锁存器锁存器,当允许接收,当允许接收输出数据时闩锁打开,当不允许接收输出数据时闩锁关闭。输出数据时闩锁打开,当不允许接收输出数据时闩锁关闭。 对于输入设备的接口电路:对于输入设备的接口电路:要使用要使用三态(高电平、低电三态(高电平、低电平、高阻抗)缓冲电路平、高阻抗)缓冲电路,当三态缓冲器的输出为高或低电平,当三态缓冲器的输出为高或低电平时,就是对数据总线的驱动状态;当三态

9、缓冲器的输出为高时,就是对数据总线的驱动状态;当三态缓冲器的输出为高阻抗时,就是对总线的隔离状态。在隔离状态下,缓冲器对阻抗时,就是对总线的隔离状态。在隔离状态下,缓冲器对数据总线不产生影响。数据总线不产生影响。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用3.3.单片机单片机I/OI/O编址技编址技术术 在计算机中,凡是需要进行读在计算机中,凡是需要进行读/写操作的设备都存在编址写操作的设备都存在编址问题。在单片机中,有两个需要编址的子系统问题。在单片机中,有两个需要编址的子系统即存储器和即存储器和接口电路。常用的编址方式有两种:独立编址、统一编址。接口电路。常用的编址方式有两种:独

10、立编址、统一编址。 独立编址:独立编址:即把即把I/O和存储器分开进行编址。这样在一个和存储器分开进行编址。这样在一个单片机系统中就形成了两个独立的地址空间(存储器空间和单片机系统中就形成了两个独立的地址空间(存储器空间和I/O地址空间),从而使存储器读地址空间),从而使存储器读/写操作和写操作和I/O操作是针对两操作是针对两个不同的存储空间的数据操作。个不同的存储空间的数据操作。 统一编址:统一编址:即把即把I/O接口中的寄存器和存储器中的存储单接口中的寄存器和存储器中的存储单元同等对待。即统一的地址空间既供存储器使用,又供元同等对待。即统一的地址空间既供存储器使用,又供I/O使使用。用。M

11、CS-51单片机使用的就是统一编址方式。单片机使用的就是统一编址方式。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.1.4 7.1.4 单片机单片机I/OI/O控制方式控制方式 一个计算机系统的组成,除了一个计算机系统的组成,除了CPU、存储器、存储器外,还必须有外部设备。计算机通过输入外,还必须有外部设备。计算机通过输入/输出设输出设备和外界进行通信。计算机所用的数据以及现场备和外界进行通信。计算机所用的数据以及现场采集的各种信息都要通过输入设备送到计算机;采集的各种信息都要通过输入设备送到计算机;而计算的结果和计算机产生的各种控制信号又需而计算的结果和计算机产生的各种控制信号又

12、需通过输出设备输出到外通过输出设备输出到外部设备。部设备。 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 1. 1. 无条件传送无条件传送 又称同步传送,又称同步传送,CPU和外设之间没有控制联络,传送比和外设之间没有控制联络,传送比较简单,但可靠性差。当外设任何时候都处于较简单,但可靠性差。当外设任何时候都处于“准备好准备好”状状态态时就可以采用这种传送方式。时就可以采用这种传送方式。公共汽车方式公共汽车方式 2. 2. 查询式传送查询式传送 又称异步传送,又称异步传送,CPU不断查询外设,得到不断查询外设,得到“准备好准备好”的的信信息再进行数据传送,否则就等待。优点是可以很好地

13、解决息再进行数据传送,否则就等待。优点是可以很好地解决CPU和外设地速度匹配问题。和外设地速度匹配问题。专车方式专车方式第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 3. 3. 中断传送中断传送 利用利用CPU的中断功能,外设可以通过的中断功能,外设可以通过I/O端口提出中断请端口提出中断请求求, 得到响应后在中断服务子程序中完成与得到响应后在中断服务子程序中完成与CPU的数据交换。的数据交换。中断方式可以使中断方式可以使CPU和多个外设各自并行工作,避免了和多个外设各自并行工作,避免了CPU不必要的等待和查询,大大提高了不必要的等待和查询,大大提高了CPU的工作效率。且该方的工作效

14、率。且该方式的实时性较好,适合于实时控制系统。式的实时性较好,适合于实时控制系统。TAXI方式方式 4. DMA4. DMA传送传送 DMA的含义是直接存储器存取,是以数据块为单位进行的含义是直接存储器存取,是以数据块为单位进行数据传送,数据传送过程由数据传送,数据传送过程由DMA控制器控制完成,控制器控制完成,CPU不进不进行干预,并且此时行干预,并且此时CPU让出三总线,当数据传送完成后,让出三总线,当数据传送完成后,CPU再接管三总线。再接管三总线。专列方式专列方式第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.2 7.2 单片机简单单片机简单I/OI/O扩展扩展 1.1.简单

15、输入口扩展简单输入口扩展 简单输入口扩展功能单一,只用于简单输入口扩展功能单一,只用于解决数据输入的缓冲解决数据输入的缓冲问题,实际就是一个三态缓冲器问题,实际就是一个三态缓冲器,以达到当输入设备被选通,以达到当输入设备被选通时,使数据源能与数据总线直接连通;而当输入设备处于非时,使数据源能与数据总线直接连通;而当输入设备处于非选通状态时,则把数据源与数据总线隔离,缓冲器输出呈高选通状态时,则把数据源与数据总线隔离,缓冲器输出呈高阻抗状态。阻抗状态。 通常使用芯片如通常使用芯片如74LS244来实现对输入数据的三态缓冲。来实现对输入数据的三态缓冲。74LS244内部有内部有2个个4位的三态缓冲

16、器,因此一片位的三态缓冲器,因此一片74LS244可以可以扩展一个扩展一个8位输入口(教材位输入口(教材P175 图图7.9)。)。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用2.2.简单输出口扩展简单输出口扩展 输出口的主要功能是进行数据保持,或者说是输出口的主要功能是进行数据保持,或者说是数据锁存。所以简单输出口扩展应使用锁存器芯片数据锁存。所以简单输出口扩展应使用锁存器芯片实现。实现。 通常使用芯片通常使用芯片74LS377,该芯片是一个具有,该芯片是一个具有“使使能能”控制端的控制端的8D锁存器(教材锁存器(教材P177 图图7.13)。)。第第7 7章章 单片机单片机I/O

17、扩展及应用扩展及应用7.3 8255A7.3 8255A可编程通用并行接口芯片可编程通用并行接口芯片7.3.1 8255A 7.3.1 8255A 的内部结构与引脚的内部结构与引脚7.3.2 8255A7.3.2 8255A的工作方式的工作方式7.3.3 8255A7.3.3 8255A的控制字及初始化的控制字及初始化7.3.4 8255A7.3.4 8255A与系统的连接与系统的连接7.3.5 8255A7.3.5 8255A应用举例应用举例思考题思考题第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.3.1 8255A 7.3.1 8255A 的内部结构与引脚的内部结构与引脚 82

18、55A可编程并行输入可编程并行输入/输出接口芯片是输出接口芯片是Intel公公司生产的标准外围接口电路。具有司生产的标准外围接口电路。具有40条引脚,采用条引脚,采用双列直插式封装。它有双列直插式封装。它有A、B、C 三个端口,可以三个端口,可以通过编程的方法来设定端口的各种通过编程的方法来设定端口的各种I/O功能。由于功能。由于它功能强,又能方便地与各种微机系统相接,而且它功能强,又能方便地与各种微机系统相接,而且在连接外部设备时,通常不需要再附加外部电路,在连接外部设备时,通常不需要再附加外部电路,所以得到了广泛的应用。所以得到了广泛的应用。第第7 7章章 单片机单片机I/O扩展及应用扩展

19、及应用 1 1)数据端口数据端口A、B、C:这是这是3个个8位数据端口,编程人员位数据端口,编程人员可以通过软件将它们分别作为输入端口或输出端口,不过这可以通过软件将它们分别作为输入端口或输出端口,不过这3个端口在不同的工作方式下有不同的功能及特点(如个端口在不同的工作方式下有不同的功能及特点(如表表7-2)。)。1. 8255A1. 8255A的内部结构(如的内部结构(如图图7-7-1515) 2) A2) A组和组和B B组控制电路:组控制电路:这是两组根据这是两组根据CPU的命令字控的命令字控制制8255A工作方式的电路。分别决定两组的工作方式,也可根工作方式的电路。分别决定两组的工作方

20、式,也可根据据CPU的命令字对端口的命令字对端口C的每的每1位实现按位位实现按位“复位复位”或或“置置位位”。A组控制电路控制端口组控制电路控制端口A和端口和端口C的高半字节的高半字节(PC7PC4)。B组控制电路控制端口组控制电路控制端口B和端口和端口C的低半字节的低半字节(PC3PC0)。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用图图7-15 8255A的内部结构图的内部结构图 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用表表7-2 8255A端口功能表端口功能表 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 2. 8255A2. 8255A的芯片引脚(如的

21、芯片引脚(如图图7-167-16) (1) 与外设相连接的有:与外设相连接的有:PA7PA0:A口数据线口数据线 PB7PB0:B口数据线口数据线 PC7PC0:C口数据线口数据线 (2) 与与CPU相连接的有:相连接的有:D7D0:8255A的数据线的数据线 RESET:复位信号:复位信号 :片选信号:片选信号 :读信号:读信号 :写信号:写信号CSRDWRA1、A0:端口选择信号(:端口选择信号(表表7-3)第第7 7章章 单片机单片机I/O扩展及应用扩展及应用图图7-16 8255A的芯片引脚图的芯片引脚图 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用表表7-3 8255A端口

22、选择表端口选择表 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.3.2 8255A7.3.2 8255A的工作方式的工作方式 图图7-17 8255A的的3种工作方式种工作方式(a)方式方式0; (b)方式方式1; (c)方式方式2 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 这种工作方式不需要任何选通信号,这种工作方式不需要任何选通信号,A口、口、B口及口及C口的口的高高4位和低位和低4位都可以设定为输入或输出。位都可以设定为输入或输出。1. 1. 方式方式0 0(基本输入(基本输入/ /输出方式)输出方式) 在这种方式下,在这种方式下,A、B、C三个口将分为两组。三

23、个口将分为两组。A组包括组包括A口和口和C口的高口的高4位,位,A口可由编程设定为输入口或输出口,口可由编程设定为输入口或输出口,C口的高口的高4位则用来作为输入位则用来作为输入/输出操作的控制和同步信号;输出操作的控制和同步信号;B组组包括包括B口和口和C口的低口的低4位位, B口可由编程设定为输入口或输出口,口可由编程设定为输入口或输出口,C口的低口的低4位则用来作为输入位则用来作为输入/输出操作的控制和同步信号。输出操作的控制和同步信号。2. 2. 方式方式1 1(选通输入(选通输入/ /输出方式)输出方式)第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 图图7-18 方式方式1

24、下的信号定义下的信号定义(a)A口、口、B口均为输入时;口均为输入时;(b)A口、口、B口均为输出时口均为输出时第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 STB(Strobe):):选通信号选通信号n外设发出,送给外设发出,送给8255A。n作用是将外设送来的数据锁存到作用是将外设送来的数据锁存到8255A的输入端口。的输入端口。 IBF(Input Buffer Full):输入缓冲器满信号):输入缓冲器满信号n8255A 发出,送给单片机。发出,送给单片机。n当外设送来的数据送入输入端口后,当外设送来的数据送入输入端口后,8255A自动发出自动发出IBF,通知单片机可以来读取

25、数据了。,通知单片机可以来读取数据了。 INTR(Interrupt Request):中断请求信号):中断请求信号n8255A 发出,送给单片机。发出,送给单片机。n用来向用来向CPU发出中断申请发出中断申请。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 ACK:外设响应信号:外设响应信号n外设发出,送给外设发出,送给82558255A A。 n作用是通知作用是通知 8255A,输出端口的数据已被外设取走,输出端口的数据已被外设取走,可以传送下一个数据。可以传送下一个数据。n8255A8255A发出,送给外设发出,送给外设。n表示表示CPUCPU送来的数据已进入送来的数据已进入82

26、55A8255A输出端口,可用来通输出端口,可用来通知外设把数据取走。知外设把数据取走。OBF(Output Buffer Full):输出缓冲器满信号):输出缓冲器满信号第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 这种工作方式下,这种工作方式下,A口为口为8位双向数据口,位双向数据口,C口的口的PC3PC7用来作为输入用来作为输入/输出的控制同步信号。如下图所示,输出的控制同步信号。如下图所示,3. 3. 方式方式2 2(双向数据传送方式)(双向数据传送方式)图图 5 |19方方式式 2下下的的信信号号定定义义第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 1) 工作方式

27、控制字工作方式控制字:用于确定各口的工作方式及数据:用于确定各口的工作方式及数据传送方向,其格式如图传送方向,其格式如图7-20(a)所示。所示。7.3.3 8255A7.3.3 8255A的控制字及初始化的控制字及初始化1. 8255A1. 8255A的控制字的控制字 2) C口置位口置位/复位控制字复位控制字:可以很方便地使:可以很方便地使C口口8位中的位中的任一位清任一位清0或置或置1,该控制字的格式如图,该控制字的格式如图7-20(b)所示。所示。D7位位为该控制字的标志位,为该控制字的标志位,D7=0为为C口置位口置位/复位控制字。复位控制字。第第7 7章章 单片机单片机I/O扩展及

28、应用扩展及应用 图图7-20 8255A控制字格式控制字格式(a)工作方式控制字工作方式控制字; (b)C口置位口置位/复位控制字复位控制字第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 8255A初始化的内容就是向控制寄存器写入工作方式控初始化的内容就是向控制寄存器写入工作方式控制字或制字或C口置位口置位/复位控制字。这两个控制字可按同一地址写复位控制字。这两个控制字可按同一地址写入且不受先后顺序限制。入且不受先后顺序限制。由于两个控制字因标志位的状态不由于两个控制字因标志位的状态不同,因此同,因此8255A能加以区分。能加以区分。 2. 8255A2. 8255A的初始化的初始化

29、例:设置例:设置8255A8255A的的A A口为方式口为方式0 0输入,输入,B B口为方式口为方式0 0输出输出, , C C口高位部分为输出、低位部分为输入,设控口高位部分为输出、低位部分为输入,设控制寄存器的地址为制寄存器的地址为03FFH03FFH。编程对。编程对8255A8255A进行初始化。进行初始化。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用解:根据题意有,解:根据题意有,D0=1:C口低半部输入;口低半部输入; D1=0:B口输出;口输出; D2=0:B口方式口方式0; D3=0:C口高半部输出;口高半部输出; D4=1:A口输入;口输入; D6D5=00:A口方

30、式口方式0; 因此因此8255A的的工作方式控制字为工作方式控制字为10010001B即即91H。初始化程序段为:初始化程序段为: MOV DPTR,03FFH MOV A,91H MOVX DPTR,A第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 8255A是是Intel公司专为其主机配套设计制造公司专为其主机配套设计制造的标准化外围接口芯片,它与的标准化外围接口芯片,它与MCS-51单片机的单片机的连接是比较简单方便的。连接是比较简单方便的。图图7-21所示为采用所示为采用线选线选法法在在8031单片机外围扩展单片机外围扩展8255A。7.3.4 8255A7.3.4 8255A

31、与系统的连接与系统的连接第第7 7章章 单片机单片机I/O扩展及应用扩展及应用图图7-21 8031与与8255A的连接的连接第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 上图中,上图中,P0口为地址口为地址/数据复用口。数据通过数据复用口。数据通过P0口直接传口直接传送,地址的低送,地址的低8位通过锁存器位通过锁存器74LS373得到,地址的高得到,地址的高8位则由位则由P2口传送。现采用线选法,地址线口传送。现采用线选法,地址线P2.7作为线选信号,直接与作为线选信号,直接与8255A的片选端的片选端 相连,而相连,而A1、A0则与地址的最末则与地址的最末2位相连。位相连。于是可

32、于是可得到得到8255A各个端口的地址如下表所示,各个端口的地址如下表所示, CS表表7-4 8255A各端口的地址各端口的地址 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 例例1:图图7-21中,中,8255A的的PA口接一组开关、口接一组开关、PB口接一口接一组指示灯,如果要将开关状态读入组指示灯,如果要将开关状态读入8031的累加器的累加器A,并送指,并送指示灯显示,试写出示灯显示,试写出8255A的初始化和输入输出程序。的初始化和输入输出程序。 7.3.5 8255A7.3.5 8255A应用举例应用举例 分析:由图可知,分析:由图可知,8255A的的PA口、口、PB口、口

33、、PC口、控制口、控制口的地址分别为口的地址分别为0000H、0001H、0002H、0003H(或(或7FFCH、7FFDH、7FFEH、7FFFH)。)。PA口选择方式口选择方式0,输入。,输入。PB口选择方式口选择方式0,输出。,输出。PC口没有作特别限制,故口没有作特别限制,故8255A的方的方式控制字为:式控制字为:10010000B,即,即98H。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用MOV DPTR, #7FFFHMOV A, #98HMOVX DPTR, AMOV DPTR, #7FFCH MOVX A, DPTR MOV DPTR, #7FFDHMOVX DP

34、TR, A; ; 指向指向8255A8255A控制字的地址控制字的地址; ; 把方式控制字写到累加器把方式控制字写到累加器A A中中; ; 给给8255A8255A送方式控制字送方式控制字; ; 指向指向8255A8255A的的PAPA口地址口地址; ; 从从PAPA口读入开关的状态口读入开关的状态; ; 指向指向8255A8255A的的PB PB 口地址口地址; ; 把开关的状态从把开关的状态从PBPB口输出口输出, , 给给; ; 指示灯显示指示灯显示第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 例例2:8255A作为连接打印机的接口。要求编制打印作为连接打印机的接口。要求编制打

35、印50个字符的程序,该数据存于片内个字符的程序,该数据存于片内RAM从从20H开始的开始的50个连个连续单元中。续单元中。分析:分析:图图7-227-22是通过是通过8255A8255A连接打印机的接口电路,数连接打印机的接口电路,数据传送采用据传送采用查询方式查询方式。8255A8255A的地址译码采用线选法,将的地址译码采用线选法,将P P0.70.7直接与直接与8255A8255A的的 端相连端相连( (通过地址锁存器通过地址锁存器) )。CS 8255A8255A的端口地址:的端口地址:A A口为口为7CH7CH,B B口为口为7DH7DH,C C口为口为7EH7EH,控制口为控制口为

36、7FH7FH(对悬空的地址线取对悬空的地址线取“1”1”)。)。由于由于A A口输出;口输出;C C口低字节输出、高字节输入;口低字节输出、高字节输入;B B口没有口没有使用。使用。A A口选择方式口选择方式0 0。故控制字为:。故控制字为:10001000B10001000B,即,即88H88H。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用图图7-22 8255A连接打印机的接口电路连接打印机的接口电路8255A第第7 7章章 单片机单片机I/O扩展及应用扩展及应用解:根据题意,编制解:根据题意,编制程序如下:程序如下: MOV R0, #7FH ; ;指向指向8255A8255A

37、的控制口的控制口 MOV A, #88H ; ; A A口输出口输出,C,C口低出高入口低出高入 MOVX R0, A ; ;送入方式字送入方式字 MOV R1, #20H ; ;R1R1指向数据区首址指向数据区首址 MOV R2, #50 ; ;送数据块长度送数据块长度 LP1:MOV R0, #7EH ; ;指向指向C C口口 注:打印机各信号线注:打印机各信号线 DB0DB0DB7DB7:数据线,单向传输,由单片机输入给打印机。:数据线,单向传输,由单片机输入给打印机。 STBSTB(STROBESTROBE):数据选通信号。在该信号的上升沿,数据线上的:数据选通信号。在该信号的上升沿,

38、数据线上的8 8位并行数据被打印机读入机内琐存。位并行数据被打印机读入机内琐存。 BUSYBUSY:打印机忙状态信号。当:打印机忙状态信号。当BUSY=1BUSY=1时,表示打印机正忙于处理数时,表示打印机正忙于处理数据,此时,打印机不得使据,此时,打印机不得使 STBSTB0 0。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用LP2:MOVX A, R0 ; ;读入读入C C口信息口信息 JB ACC.7, LP2 ; ;若若BUSY=1BUSY=1,继续查询,继续查询 MOV R0, #7CH ; ;指向指向A A口口 MOV A, R1 ; ;取取RAMRAM数据数据(片内到片外

39、的数据传送)(片内到片外的数据传送) MOVX R0, A ; ;数据输出到数据输出到A A口口 INC R1 ; ;数据指针加数据指针加1 1 MOV R0, #7FH ; ;指向控制口指向控制口 MOV A, #00H ; C; C口置位口置位/ /复位命令字复位命令字(PC0=0(PC0=0) ) MOVX R0, A ; ;在在STBSTB引脚产生低电平引脚产生低电平 MOV A, #01H ; ; 改变改变C C口置位口置位/ /复位命令字复位命令字(PC0=1)(PC0=1) MOVX R0, A ; ;在在STBSTB引脚产生高电平引脚产生高电平 DJNZ R2, LP1 ; ;

40、未完未完, ,则反复则反复 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用7.4 7.4 81558155带带RAMRAM和定时器和定时器/ /计数器计数器 的可编程并行接口芯片的可编程并行接口芯片 Intel公司研制的公司研制的8155不仅具有两个不仅具有两个8位的位的I/O端口端口(A口、口、B口口)和一个和一个6位的位的I/O端口端口(C口口),而且,而且还可以提供还可以提供256B的静态的静态RAM存储器和一个存储器和一个14位的位的定时定时/计数器。计数器。8155和单片机的接口非常简单,目和单片机的接口非常简单,目前被广泛应用。前被广泛应用。第第7 7章章 单片机单片机I/

41、O扩展及应用扩展及应用 1. 81551. 8155的结构和引脚的结构和引脚 8155有有40个引脚,采用双列直插封装。个引脚,采用双列直插封装。 图图7-9 8155的引脚图和结构框图的引脚图和结构框图CBAAD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TIMEROUT6PC037PC138TIMERIN3PC239PC31PC42RESET4PC5581552

42、56字节静态RAM14位定时计数器TIMER INTIMER OUTVCC(5 V)VSS(GND)PA0PA7IO/MCEALERDWRRESETAD0AD7PB0PB7PC0PC7第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 我们对我们对8155的引脚分类说明如下:的引脚分类说明如下: (1) 地址地址/数据线数据线AD0AD7(8条):是低条):是低8位地址线和数位地址线和数据线的共用输入总线,常和据线的共用输入总线,常和51单片机的单片机的P0口相连,用于分时口相连,用于分时传送地址数据信息,当传送地址数据信息,当ALE=1时,传送的是地址。时,传送的是地址。 (2) I/O

43、口总线口总线(22条):条):PA0PA7、PB0PB7分别为分别为A、B口线,用于和外设之间传递数据;口线,用于和外设之间传递数据;PC0PC5为为C端口线,端口线,既可与外设传送数据,也可以作为既可与外设传送数据,也可以作为A、B口的控制联络线。口的控制联络线。 (3) 控制总线控制总线(8条)条) RESET:复位线,通常与单片机的复位端相连,复位后,:复位线,通常与单片机的复位端相连,复位后,8155的的3个端口都为输入方式。个端口都为输入方式。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 IO/M:RAM或或I/O口的选择线。当口的选择线。当=0时,选中时,选中8155的的

44、256B RAM;当;当=1时,选中时,选中8155片内片内3个个I/O端口以及命令端口以及命令/状状态寄存器和定时态寄存器和定时/计数器。计数器。 CE :片选线,低电平有效。:片选线,低电平有效。 RD, WR :读读/写线,控制写线,控制8155的读、写操作。的读、写操作。 ALE:地址锁存线,高电平有效。它常和单片机的:地址锁存线,高电平有效。它常和单片机的ALE端相连,在端相连,在ALE的下降沿将单片机的下降沿将单片机P0口输出的低口输出的低8位地址信息位地址信息锁存到锁存到8155内部的地址锁存器中。因此,内部的地址锁存器中。因此,单片机的单片机的P0口和口和8155连接时,无需外

45、接锁存器。连接时,无需外接锁存器。 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 TIMERIN、TIMEROUT:定时:定时/计数器的脉计数器的脉冲输入、输出线。冲输入、输出线。TIMERIN是脉冲输入线,其输是脉冲输入线,其输入脉冲对入脉冲对8155内部的内部的14位定时位定时/计数器减计数器减1; TIMEROUT是输出线,当计数器计满回是输出线,当计数器计满回0时,时,8155从该线输出脉冲或方波,波形形状由计数器从该线输出脉冲或方波,波形形状由计数器的工作方式决定。的工作方式决定。第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 2. 作片外作片外RAM使用使用 当当

46、CE=0,IO/M=0时,时,8155只能做片外只能做片外RAM使用,共使用,共256B。其寻址范围由。其寻址范围由AD0AD7的接法决的接法决定,这和前面讲到的片外定,这和前面讲到的片外RAM扩展时讨论的完全扩展时讨论的完全相同。当系统同时扩展片外相同。当系统同时扩展片外RAM芯片时,要注意芯片时,要注意二者的统一编址。对这二者的统一编址。对这256B RAM的操作使用片外的操作使用片外RAM的读的读/写指令写指令“MOVX”。 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 3. 3. 作扩展作扩展I/OI/O口使用口使用 当当 CE=0,IO/M=1时,此时可以对时,此时可以对8

47、155片内片内3个个I/O端口端口以及命令以及命令/状态寄存器和定时状态寄存器和定时/计数器进行操作。与计数器进行操作。与I/O端口和计端口和计数器使用有关的内部寄存器共有数器使用有关的内部寄存器共有6个,需要三位地址来区分,个,需要三位地址来区分,表表7-5为地址分配情况。为地址分配情况。 表表7-5 6个内部寄存器的地址分配表个内部寄存器的地址分配表 AD7AD0选中寄存器选中寄存器A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1内部命令内部命令/状态寄存器状态寄存器PA口口PB口口PC口口定时定时/计数器低计数器低8位

48、寄存器位寄存器定时定时/计数器高计数器高8位寄存器位寄存器第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 (1) (1) 命令寄存器命令寄存器 和接口芯片和接口芯片8255一样,芯片一样,芯片8155 I/O口的工作方式的确口的工作方式的确定也是通过对定也是通过对8155的命令寄存器写入控制字来实现的。的命令寄存器写入控制字来实现的。8155控制字的格式如图控制字的格式如图7-10所示。所示。 命令寄存器只能写入不能读出,也就是说,控制字只能命令寄存器只能写入不能读出,也就是说,控制字只能通过指令通过指令MOVX DPTR, A或或MOVX Ri, A写入命令寄存写入命令寄存器。器。

49、第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 图图7-10 8155的控制字的控制字 TM1TM2IEBIEAPC2 PC1PAPAPBA口方式B口方式B口A口计数器方式00:空操作01:停止计数10:计满后停止11:开始计数0:输入1:输出0:禁止中断1:允许中断00110110方式1:A、B 口基本 I/O ; C口输入方式2:A、B 口基本 I/O ; C口输出方式3:A口选通 I/O , B口基本 I/O方式4:A , B口选通 I/O第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 (2) (2) 状态寄存器状态寄存器:状态寄存器中存放有状态字,状态:状态寄存器中存放

50、有状态字,状态字反映了字反映了8155的工作情况,状态字的各位定义如图的工作情况,状态字的各位定义如图7-11所示所示. 图图7-11 8155的状态字的状态字A口中断请求标志:0:无;1:有A口缓冲器:0:空;1:满A口中断允许:0:禁止;1:允许B口中断请求标志:0:无;1:有B口缓冲器:0:空;1:满B口中断允许:0:禁止;1:允许定时器中断标志:1:有定时器溢出中断0:读状态字后或硬件复位后INTEBTIMERBBFINTRBINTEAINTRAABF第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 4. I/O4. I/O口的工作方式口的工作方式 当使用当使用8155的三个的三

51、个I/O端口时,它们可以工作于不同的方端口时,它们可以工作于不同的方式,工作方式的选择取决于写入的控制字,如图式,工作方式的选择取决于写入的控制字,如图7-10所示。所示。其中,其中,A、B口可以工作于基本口可以工作于基本I/O方式或选通方式或选通I/O方式,方式,C口口可工作于基本可工作于基本I/O方式,也可以作为方式,也可以作为A、B选通方式时的控制选通方式时的控制联络线。联络线。 方式方式1、2时时,A、B、C口都工作于基本口都工作于基本I/O方式,可以直方式,可以直接和外设相连,采用接和外设相连,采用“MOVX”类的指令进行输入类的指令进行输入/输出操作。输出操作。 方式方式3时时,A

52、口为选通口为选通I/O方式,由方式,由C口的低三位作联络线,口的低三位作联络线,其余位作其余位作I/O线;线;B口为基本口为基本I/O方式。方式。 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 方式方式4时时,A、B口均为选通口均为选通I/O方式,方式,C口作为口作为A、B口的联口的联络线。其逻辑组态如图络线。其逻辑组态如图7-12所示。所示。图图7-12 8155方式方式4时的逻辑结构时的逻辑结构 设备数据线设备数据线至中断请求输入线至设备来自设备至中断请求输入线至设备来自设备AINTRBINTRABFBBFASTBBSTBPAPB8155PC0PC1PC2PC3PC4PC5第第7

53、 7章章 单片机单片机I/O扩展及应用扩展及应用C口的工作方式和各位的关系见表口的工作方式和各位的关系见表7-6 。 方式方式1方式方式2方式方式3方式方式4PC0PC1PC2PC3PC4PC5全部为全部为输入输入全部为全部为输出输出A口中断请求口中断请求A口缓冲器满口缓冲器满A口选通口选通输出输出输出输出输出输出A口中断请求口中断请求A口缓冲器满口缓冲器满A口选通口选通B口中断请求口中断请求B口缓冲器满口缓冲器满B口选通口选通表7-6 C口的工作方式第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 8155的可编程定时的可编程定时/计数器是一个计数器是一个14位的位的减法减法计数器,在

54、计数器,在TIMERIN端输入计数脉冲,计满时由端输入计数脉冲,计满时由 输出脉冲或输出脉冲或方波,输出方式由定时器高方波,输出方式由定时器高8位寄存器中的位寄存器中的M2、M1两位来决两位来决定。当定。当TIMERIN接外脉冲时为计数方式,接系统时钟时为定接外脉冲时为计数方式,接系统时钟时为定时方式,实际使用时一定要注意芯片允许的最高计数频率!时方式,实际使用时一定要注意芯片允许的最高计数频率!TIMEROUT 5 5. . 作定时作定时/ /计数器使用计数器使用 定时定时/计数器的初始值和输出方式由高、低计数器的初始值和输出方式由高、低8位寄存器的内位寄存器的内容决定,初始值容决定,初始值

55、14位,其余两位定义输出方式。其中,低位,其余两位定义输出方式。其中,低8位位寄存器存放计数初始值的低寄存器存放计数初始值的低8位,高位,高8位寄存器的格式如下:位寄存器的格式如下: 输出方式 计数初始值高6位M2 M1第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 1) 定时定时/计数器的输出方式计数器的输出方式 定时器的输出方式见表定时器的输出方式见表77。 表表7-7 定时器的输出方式定时器的输出方式M2 M1方 式波 形0 00 11 01 1在一个计数周期输出单次方波连续方波在计满回0后输出的单个脉冲连续脉冲第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 2) 定时定

56、时/计数器的工作计数器的工作 8155对内部定时器的控制是由对内部定时器的控制是由8155控制字的控制字的D7、D6位决位决定的(见定的(见图图7-11),现总结如表),现总结如表7-8所示。所示。表表7-8 定时定时/计数器的工作情况计数器的工作情况8155的控制字的控制字定时定时/计数器工作情况计数器工作情况D7 D60 0无操作,即不影响定时器的工作无操作,即不影响定时器的工作0 11 0立即停止定时器的计数立即停止定时器的计数定时器计满回定时器计满回0后停止计数后停止计数1 1若定时器不工作,则开始计数;若定时器正在若定时器不工作,则开始计数;若定时器正在计数,则计满回计数,则计满回0

57、后按新输入的长度值开始计数后按新输入的长度值开始计数第第7 7章章 单片机单片机I/O扩展及应用扩展及应用【例【例7-1】编写编写8155定时器作定时器作100分频器的程序。设分频器的程序。设8155命令命令寄存器的地址为寄存器的地址为0000H,定时器低字节寄存器的地址为,定时器低字节寄存器的地址为0004H,定时器高字节寄存器的地址为定时器高字节寄存器的地址为0005H。编程如下:编程如下:ORG 1000HMOV DPTR,#0004H ;指向定时器低字节寄存器地址指向定时器低字节寄存器地址MOV A,#64H MOVX DPTR, A ;装入定时器初值低装入定时器初值低8位值位值INC

58、 DPTR ;指向定时器高字节寄存器地址指向定时器高字节寄存器地址MOV A, #40HMOVX DPTR,A ;设定时器输出方式为连续方波设定时器输出方式为连续方波MOV DPTR, #0000H ;指向命令寄存器地址指向命令寄存器地址MOV A, #0C0H MOVX DPTR, A ;装入命令字,开始计数装入命令字,开始计数SJMP $第第7 7章章 单片机单片机I/O扩展及应用扩展及应用 MCS-51和和8155的接口非常简单,因为的接口非常简单,因为8155内内部有一个部有一个8位地址锁存器,故位地址锁存器,故无需外接锁存器无需外接锁存器。在。在二者的连接中,二者的连接中,8155的

59、地址译码即片选端可以采用的地址译码即片选端可以采用线选法、全译码等方法,这和线选法、全译码等方法,这和8255类似。在整个单类似。在整个单片机应用系统中要考虑与片外片机应用系统中要考虑与片外RAM及其它接口芯及其它接口芯片的统一编址,确定片的统一编址,确定8155的相关地址。图的相关地址。图7-13为一为一个连接实例。个连接实例。 6. MCS-516. MCS-51单片机和单片机和81558155的接口的接口第第7 7章章 单片机单片机I/O扩展及应用扩展及应用图图7-13 8155和和8051的接口电路的接口电路80518155RSTRESETALEALERDRDWRWRP0AD0AD7C

60、EIO/MP2.1P2.25 VPAPBPC8第第7 7章章 单片机单片机I/O扩展及应用扩展及应用根据上述、的连接关系,可以确定地址如下:根据上述、的连接关系,可以确定地址如下:8051: A15 A14 A13 A12 A11 A10 A9 A8 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.08155的的 IO/M CERAM: 0 0 I/O口:口: 0 0 第第7 7章章 单片机单片机I/O扩展及应用扩展及应用8051: A7 A6 A5 A4 A3 A2 A1 A0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 815

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论