单片机并行IO口的扩展.ppt
《单片机并行IO口的扩展.ppt》由会员分享,可在线阅读,更多相关《单片机并行IO口的扩展.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7 7章章 单片机并行单片机并行I/OI/O口的扩展口的扩展7.1 I/O7.1 I/O接口扩展概述接口扩展概述I/O(I/O(输入输入/输出输出)接口是接口是MCS-51MCS-51与外设与外设交换数字信交换数字信 息息的的桥梁桥梁。MCS-51MCS-51真正用作真正用作I/OI/O口线的口线的只有只有P1P1口的口的8 8位位I/OI/O线和线和 P3P3口的某些位线口的某些位线。在多数应用系统中,在多数应用系统中,MCS-51MCS-51单片机都需要外扩单片机都需要外扩I/OI/O接口电路。接口电路。7.1.1 I/O7.1.1 I/O口扩展的原因口扩展的原因1.I/O1.I/O信
2、息的组成信息的组成(1 1)数据信息)数据信息CPUCPU与外设交换的基本信息就是数据信息,数据的与外设交换的基本信息就是数据信息,数据的传送可采用并行传送(传送可采用并行传送(n n位同时传送)和串行传送位同时传送)和串行传送(一位一位地传送)两种形式。(一位一位地传送)两种形式。(2 2)状态信息)状态信息状态信息是指在状态信息是指在CPUCPU与外设之间交换数据时的联络与外设之间交换数据时的联络信息。信息。CPUCPU通过对外设状态信息的读取,可知其工通过对外设状态信息的读取,可知其工作状态。了解状态信息是作状态。了解状态信息是CPUCPU与与I/OI/O设备正确进行设备正确进行数据交换
3、的重要条件。数据交换的重要条件。(3 3)控制信息)控制信息控制信息指控制信息指CPUCPU发给外设命令信息,发给外设命令信息,CPUCPU通过发送通过发送控制信息控制外设的工作。控制信息控制外设的工作。2.I/O2.I/O口接口的作用口接口的作用 CPU CPU与与I/OI/O设备交换信息情况较为复杂,所以通常设备交换信息情况较为复杂,所以通常I/OI/O设备并不直接与设备并不直接与CPUCPU进行信息交换,而是通过相应进行信息交换,而是通过相应的输入的输入/输出接口(称为输出接口(称为I/OI/O接口)来进行的。接口)来进行的。I/OI/O接口接口是是CPUCPU和和I/OI/O设备之间进
4、行信息交换的中间环节,其主设备之间进行信息交换的中间环节,其主要功能如下:要功能如下:(1 1)对输入输出数据进行缓冲、隔离和锁存,实现速)对输入输出数据进行缓冲、隔离和锁存,实现速度匹配。度匹配。(2 2)完成信息格式的变换,如串并转换。)完成信息格式的变换,如串并转换。(3 3)实现电气特性的匹配。)实现电气特性的匹配。(4 4)选择设备或地址译码等。)选择设备或地址译码等。3.3.单片机单片机I/OI/O扩展的原因扩展的原因 I/O(I/O(输入输入/输出输出)接口是接口是MCS-51MCS-51与外设交换数字信息与外设交换数字信息的桥梁,的桥梁,MCS-51MCS-51系列单片机有系列
5、单片机有4 4个并行个并行I/OI/O口口(P0(P0,P1P1,P2P2,P3P3口口),但对一个稍微复杂的应用系统来说,由于,但对一个稍微复杂的应用系统来说,由于P0P0口和口和P2P2口配合使用用于系统扩展、口配合使用用于系统扩展、P3P3口是一个多功能口是一个多功能口每个引脚都具有第二功能,所以真正可供用户使用的口每个引脚都具有第二功能,所以真正可供用户使用的并行口,只有并行口,只有P1P1口,况且常常因扩展口,况且常常因扩展I2CI2C和和SPISPI等需占用等需占用P1P1口某些引脚,这使用户不得不扩展并行口以满足实际口某些引脚,这使用户不得不扩展并行口以满足实际的需要。因此,当在
6、的需要。因此,当在I/OI/O口线不够用的情况下我们需要口线不够用的情况下我们需要扩展并行扩展并行I/OI/O口。口。图7-1 并行接口连接CPU与外设示意图7.1.2 I/O7.1.2 I/O口数据的传递方式口数据的传递方式MCS-51MCS-51单片机为了实现数据的输入单片机为了实现数据的输入/输出传送,通常使输出传送,通常使用以下用以下4 4种方式传递数据。种方式传递数据。(1)(1)无无条条件件传传送送方方式式:当当外外设设和和单单片片机机能能够够同同步步工工作作时时,可可以以采采用用无无条条件件方方式式进进行行传传送送,即即数数据据可可以以随随时时进进行行传送。传送。(2)(2)查查
7、询询方方式式:查查询询方方式式又又称称为为有有条条件件传传送送方方式式,即即数数据据的的传传送送是是有有条条件件的的。在在进进行行I/OI/O操操作作之之前前,用用户户要要通通过过软软件件查查询询外外设设是是否否为为数数据据传传送送做做好好准准备备,只只有有确确认认外外设设为为数数据据传传送送做做好好准准备备。单单片片机机才才能能执执行行数数据据的的输输入入/输出(输出(I/OI/O)操作。)操作。(3)(3)中断方式:当外设和计算机进行数据交换时,中断方式:当外设和计算机进行数据交换时,外设向单片机发出中断请求。单片机接到中断请外设向单片机发出中断请求。单片机接到中断请求后,就作出响应,暂停
8、正在执行的程序,而转求后,就作出响应,暂停正在执行的程序,而转去为设备的数据输入去为设备的数据输入/输出服务。当服务完成后,输出服务。当服务完成后,程序返回,单片机再继续执行被中断的程序。程序返回,单片机再继续执行被中断的程序。(4)DMA(4)DMA方式:方式:DMA(Direct Memory AccessDMA(Direct Memory Access,直接,直接内存存取内存存取)中断方式虽提高了中断方式虽提高了CPUCPU的效率,但仍然的效率,但仍然是通过是通过CPUCPU执行程序来实现数据传送。其缺点是大执行程序来实现数据传送。其缺点是大量的数据在磁盘与内存间交换需大量的时间,高量的
9、数据在磁盘与内存间交换需大量的时间,高速速I/OI/O设备时或成组数据交换时,显得速度太慢。设备时或成组数据交换时,显得速度太慢。DMADMA方式就是在外设与内存间直接传送数据,方式就是在外设与内存间直接传送数据,DMADMA的速度取决于内存的工作速度。的速度取决于内存的工作速度。7.1.3 I/O7.1.3 I/O端口的编址方式端口的编址方式I/OI/O端口编址是给所有端口编址是给所有I/OI/O接口中的寄存器编址。接口中的寄存器编址。I/O I/O端口编址两种方式端口编址两种方式:独立编址独立编址与与统一编址统一编址。1 1独立编址方式独立编址方式 I/O I/O寄存器地址空间和存储器地址
10、空间寄存器地址空间和存储器地址空间分开编址分开编址,但需专门读写但需专门读写I/OI/O的指令和控制信号。的指令和控制信号。2 2统一编址方式统一编址方式 I/O I/O寄存器与数据存储器单元同等对待寄存器与数据存储器单元同等对待,统一编址。,统一编址。不需要专门的不需要专门的I/OI/O指令,直接使用访问数据存储器。指令,直接使用访问数据存储器。的指令进行的指令进行I/OI/O操作,简单、方便且功能强。操作,简单、方便且功能强。常用的外围常用的外围I/OI/O接口芯片有:接口芯片有:(1 1)82558255:可编程的通用并行接口电路(:可编程的通用并行接口电路(3 3个个8 8位位I/OI
11、/O口)。口)。(2 2)81558155:可编程的:可编程的IO/RAMIO/RAM扩展接口电路(扩展接口电路(2 2个个8 8位位I/OI/O口口,1,1个个6 6位位I/OI/O口口,256256个个RAMRAM字节单元,字节单元,1 1个个1414位的减法定时器位的减法定时器/计数器计数器)。)。可与可与MCS-51MCS-51单片机单片机直接连接直接连接,接口逻辑十分简单。,接口逻辑十分简单。此外,此外,74LS74LS系列的系列的TTLTTL电路电路也可以作为也可以作为MCS-51MCS-51的扩展的扩展I/OI/O口,如口,如74LS24474LS244、74LS273 74LS
12、273等。等。7.2 7.2 简单简单I/OI/O口的扩展口的扩展 简单简单I/O口的扩展是口的扩展是利用利用74LS27374LS273和和74LS24474LS244,将,将P0P0口扩展成简单的输入、输出口的电路口扩展成简单的输入、输出口的电路。如图如图7-27-2所示所示74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,发光二极管,以以显示显示8 8个按钮开关状态个按钮开关状态,某位低电平时二极管发光。,某位低电平时二极管发光。74LS244 74LS244是缓冲驱动器,扩展输入口,是缓冲驱动器,扩展输入口,接接8 8个按钮开个按钮开关。关。74LS273
13、74LS273和和74LS24474LS244的工作受的工作受80318031的的P2.0P2.0、RDRD*、WRWR*三条控制线控制。三条控制线控制。电路的工作原理如下电路的工作原理如下:当当P2.0=0,WRP2.0=0,WR*=0(RD=0(RD*=)选中写选中写74LS27374LS273,80318031通过通过P0P0口输出数据到口输出数据到74LS27374LS273,;,;当当P2.0=0,RDP2.0=0,RD*=0(WR=0(WR*=1)=1)时选中读时选中读74LS244,74LS244,某开关某开关按下时则对应位输入为按下时则对应位输入为“0”“0”。图图7-2 7-
14、2 简单简单I/OI/O扩展实例扩展实例输出程序段:输出程序段:(1 1)汇编语言)汇编语言MOV A,#data MOV A,#data;数据;数据AAMOV DPTR,#0FEFFHMOV DPTR,#0FEFFH;I/OI/O地址地址DPTRDPTRMOVX DPTR,A MOVX DPTR,A;WRWR*为低,数据经为低,数据经74LS27374LS273口输出口输出(2 2)C C语言语言#define PORT XBYTE0 xFEFF#define PORT XBYTE0 xFEFF;A=data A=data;PORT=A PORT=A;输入程序段:输入程序段:(1 1)汇编语
15、言)汇编语言 MOV DPTR,#0FEFFH;I/O地址地址DPTR MOVX A,DPTR;RD*为低,为低,74LS244口,数口,数据读入内部据读入内部RAM(2 2)C C语言语言#define PORT XBYTE0 xFEFF;A=PORT;【例题【例题7-17-1】编写程序把按钮开关状态通过图】编写程序把按钮开关状态通过图7-27-2中的发光中的发光二极管显示出来。二极管显示出来。(1 1)汇编语言)汇编语言DDIS:DDIS:MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH;输入口地址;输入口地址DPTRDPTRLP:LP:MOVX A,DPTR MOVX
16、A,DPTR ;按钮开关状态读入;按钮开关状态读入A A中中MOVX DPTR,AMOVX DPTR,A ;A A中数据送输出口中数据送输出口SJMP LP SJMP LP ;反复连续执行;反复连续执行(2 2)C C语言语言#define PORT XBYTE0 xFEFF#define PORT XBYTE0 xFEFF;whilewhile(1 1)A=PORTA=PORT;PORT=APORT=A;7.3 7.3 8255A可编程并行接口芯片扩展可编程并行接口芯片扩展I/OI/O口口8255A8255A芯片介绍:芯片介绍:8255A8255A是是IntelIntel公司生产的公司生产的
17、可编程可编程并行并行I/OI/O接口芯片,接口芯片,具有具有3 3个个8 8位位的的并行并行I/OI/O口口,3 3种工作方式种工作方式,可通过,可通过 编程改变其功能,因而编程改变其功能,因而使用灵活方便,通用性强使用灵活方便,通用性强。7.3.1.7.3.1.内部结构内部结构图7-3 8255A内部编程结构(1 1)端口)端口A A、B B、C C功能和结构上有些差异功能和结构上有些差异 PA PA口口:输出锁存和缓冲;输入锁存:输出锁存和缓冲;输入锁存 PB PB口口:输出锁存和缓冲;输入缓冲:输出锁存和缓冲;输入缓冲 PC PC口口:输出锁存;数据输入缓冲:输出锁存;数据输入缓冲 PC
18、 PC口可在软件的控制下,口可在软件的控制下,分为两个分为两个4 4位端口位端口,作为,作为PAPA口、口、PBPB口选通方式操作时的状态控制信号。口选通方式操作时的状态控制信号。(2)A(2)A组和组和B B组控制电路组控制电路A A组:组:PAPA口和口和PCPC口的上半部(口的上半部(PC7PC7PC4PC4););B B组:组:PBPB口和口和PCPC口的下半部(口的下半部(PC3PC3PC0PC0),可根据可根据“命命 令字令字”对对PCPC口口按位按位“置置1”1”或或“清清0”0”。(3)(3)数据总线缓冲器线线数据总线缓冲器线线 三态双向,作为三态双向,作为8255A8255A
19、与单片机数据线之间接口,与单片机数据线之间接口,传送数据、指令、控制命令及外部状态信息。传送数据、指令、控制命令及外部状态信息。(4)(4)读读/写控制逻辑电路线写控制逻辑电路线 该电路接收该电路接收CPUCPU发来的控制信号、发来的控制信号、RESETRESET、地址信、地址信号号A1A1、A0A0等。对端口进行读写。等。对端口进行读写。各端口的工作状态与控制信号的关系各端口的工作状态与控制信号的关系如表如表7-17-1所示。所示。表表7-1 8255A7-1 8255A端口工作状态选择端口工作状态选择A1A1A0A0RDRD*WRWR*CSCS*工作状态工作状态0 00 00 01 10
20、0读端口读端口A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线 读端口读端口C C:C C口数据口数据数据总线数据总线0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0写端口写端口A A:总线数据总线数据AA口口写端口写端口B B:总线数据总线数据BB口口写端口写端口C C:总线数据总线数据CC口口写控制字:写控制字:总线数据总线数据控制字寄控制字寄 存器存器0 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1数据总线为三态数据总线为三态1 11 10 01 10
21、 0非法状态非法状态1 11 10 0数据总线为三态数据总线为三态图7-4 8255A芯片引脚图7.3.2 7.3.2 引脚功能引脚功能D7D7D0D0:三态双向数据线,与单片机数据总线连接三态双向数据线,与单片机数据总线连接CSCS*:片选信号线,低电平有效,表示本芯片被选中片选信号线,低电平有效,表示本芯片被选中RDRD*:读出信号线,控制读出信号线,控制8255A8255A中数据的读出高中数据的读出高WRWR*:写入信号线,控制向写入信号线,控制向8255A8255A数据的写入。数据的写入。VccVcc:+5V+5V电源。电源。PA7PA7PA0PA0:A A口输入口输入/输出线。输出线
22、。PB7PB7PB0PB0:B B口输入口输入/输出线。输出线。PC7PC7PC0PC0:C C口输入口输入/输出线。输出线。A1A1、A0A0:地址线,用来选择地址线,用来选择8255A8255A内部的内部的4 4个端口。个端口。7.3.3 8255A7.3.3 8255A的三种工作方式的三种工作方式1.1.方式方式0 0基本的输入基本的输入/输出方式。输出方式。外设的外设的I/OI/O数据可在数据可在8255A8255A的各端口得到锁存和缓冲的各端口得到锁存和缓冲MCS-51MCS-51可对可对8255A8255A进行数据的进行数据的无条件传送。无条件传送。例如例如:从口线从口线读入一组开
23、关状态读入一组开关状态,向端口输出数字量,向端口输出数字量,控制一组指示灯的亮、灭。控制一组指示灯的亮、灭。不需要联络信号不需要联络信号,基本功能为:基本功能为:(1 1)具有两个)具有两个8 8位端口(位端口(A A、B B)和两个)和两个4 4位端口(位端口(C C的上半部分和下半部分)。的上半部分和下半部分)。(2 2)任一个端口都可以设定为输入或输出,各端口)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成的输入、输出可构成1616种组合。种组合。(3 3)数据输出锁存,输入不锁存。)数据输出锁存,输入不锁存。例例 假设假设8255A8255A的的控制字寄存器地址控制字寄存器
24、地址为为FF7FHFF7FH,则令,则令A A口口和和C C口的高口的高4 4位工作在方式位工作在方式0 0输出,输出,B B口和口和C C口的低口的低4 4位位工作于方式工作于方式0 0输入输入,初始化程序:初始化程序:MOV DPTRMOV DPTR,#0FF7FH#0FF7FH ;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H#83H ;方式控制字;方式控制字83H83H送送A AMOVX DPTRMOVX DPTR,A A ;83H83H送控制字寄存器送控制字寄存器2.2.方式方式1 1 选通输入选通输入/输出工作方式。输出工作方式。A A口和
25、口和B B口通常用于口通常用于I/OI/O数数据传送,据传送,C C口用作口用作A A口和口和B B口的联络线,以中断方式传口的联络线,以中断方式传送数据。送数据。(1)(1)方式方式1 1输入输入 控制联络信号如下图所示,控制联络信号如下图所示,STBSTB*与与IBFIBF构成了一构成了一对应答联络信号对应答联络信号,联络信号的功能如下图:联络信号的功能如下图:STBSTB*:选通输入,是由输入外设送来的输入信号。选通输入,是由输入外设送来的输入信号。IBFIBF:输入缓冲器满,高电平有效。表示数据已送入输入缓冲器满,高电平有效。表示数据已送入 8255A 8255A的输入锁存器,它由的输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 并行 IO 扩展
限制150内