《第一章概述第七章输入和输出ppt课件.ppt》由会员分享,可在线阅读,更多相关《第一章概述第七章输入和输出ppt课件.ppt(54页珍藏版)》请在三一办公上搜索。
1、第一章 概述,第七章 输入和输出,7.1 并行I/O口的概念7.2 MCS-51内部并行I/O口7.3 MCS-51并行口的扩展,第一章 概述,7.1 并行I/O口的概念,输入/输出(I/O):计算机与外部设备(键盘、显示器、指示灯、打印机等)进行信息交换的过程。I/O接口电路:CPU与外部设备连接而专门设计的逻辑电路。,第一章 概述,为什么要采用I/O接口?,CPU和外设间数据传送有如下特点:1)外设种类繁多。机械式、机电式、电子式 2)外部设备工作速度差异很大。慢速设备:开关、键盘等;中速:打印机;高速:磁盘等。CPU无法按固定时序协调各方的工作。3)外设数据信号多样化。电压信号、电流信号
2、、数字量、模拟量等。,第一章 概述,1、I/O 接口的主要功能,1)地址译码 能根据CPU 给出的地址找到指定的外设。2)数据缓冲和锁存 实现CPU与外设的速度匹配。3)信息变换 CPU与外设的信息转换 如:模拟 数字,串行并行4)通信联络将外设的状态信息如:忙、闲、就绪、满、空 等状态提供给CPU,以便CPU对外设产生同步控制命令,。,第一章 概述,(1)CPU与I/O口的连接:通过系统总线连接的。数据总线:CPU与外设间的数据传送的双向总线。地址总线:传送CPU发出的地址信息的单向总线。控制总线:传送CPU发出的控制信息 或外设发回的状态信息的双向总线。,2、CPU与外设的连接,第一章 概
3、述,(2)I/O口与外设的连接:I/O口通过数据线、状态线和控制线直接与外部设备相连接。,连接框图,第一章 概述,I/O端口(port):简称I/O口,指具有端口地址的寄存器或缓冲器。I/O接口(Interface):是指单片机与外设间的I/O接口芯片。一个I/O接口芯片可以有多个I/O端口:(1)数据口(2)控制口(3)状态口I/O端口编址是给所有I/O接口中的寄存器编址。,3、I/O端口的编址,第一章 概述,I/O端口编址两种方式:独立编址与统一编址。,(1)独立编址,I/O寄存器地址空间和存储器地址空间分开编址,但需一套专门的读写I/O的指令和控制信号。,(2)统一编址,I/O寄存器与数
4、据存储器单元同等对待,统一编址。不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强。,第一章 概述,MCS-51使用统一编址的方式,每一端口都相当于一个RAM单元。有片内I/O接口和扩展I/O接口。片内I/O接口寄存器在SFR中,使用片内数据存储器空间。扩展I/O接口使用片外数据存储器地址空间。,输出指令 输入指令片外寻址:MOVX DPTR,A MOVX A,DPTR MOVX R0,A MOVX A,R0,第一章 概述,输出指令 输入指令片内寻址:MOV Px,A MOV A,Px(常用)MOV Px,Rn MOV Rn,PxMOV Px,Ri MOV
5、Ri,PxMOV Px,direct MOV direct,Px,其他:与、或、加1、减1等,第一章 概述,4、I/O数据的传送方式,为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。,I/O数据传送的几种传送方式:,(1)程序传送(2)中断传送(3)直接存储器存取(DMA)传送,第一章 概述,CPU与外设间的数据传送在程序控制下进行的一种方式,分为无条件传送和条件传送。,(1)程序传送,无条件传送方式认为外设时刻都处于“待命”状态,随时可以传送数据,适用于简单的I/O设备,如发光二极管、数码显示器等。条件传送(查询传送)传送前,CPU读取外设的状态,确认已
6、为输入输出做好准备,再进行数据传送。,第一章 概述,查询方式流程图,第一章 概述,(2)中断传送,CPU不对外设进行查询,当外设需要进行数据传送且已准备就绪时才告知CPU。这时CPU接到请求后,中断原有的程序,转去与外设传送数据。数据传送完毕后,CPU再回到原有的程序执行。优点:可以避免查询等待时间,提高CPU的利用率,应用价值极高。,第一章 概述,(3)直接存储器存取方式(DMA),(DMADirect Memory Access)由DMA控制器接管总线控制权,RAM与外设之间直接数据传输,不需CPU的介入。适用于高速外设大批量数据传送。,第一章 概述,第七章 输入和输出,7.1 并行I/O
7、口的概念7.2 MCS-51内部并行I/O口7.3 MCS-51并行口的扩展,第一章 概述,7.2 MCS-51内部并行I/O口,51单片机内部有4个8位并行I/O接口。片外无存储器扩展时,都可做通用I/O口。片外有存储器扩展时,P0口:分时提供低8位地址线和双向数据总线。P1口:通用I/O口。P2口:提供高8位地址线。P3口:双功能口,第一功能做通用I/O口,多用于第二功能。,第一章 概述,由锁存器、三态缓冲器和驱动器组成。既可以作I/O用,也可以作为地址/数据线用。,1、P0口的结构,P0口某位结构,第一章 概述,(1)P0口作为I/O口,输出时 CPU发出控制电平“0”封锁“与”门,T1
8、截止,MUX把锁存器与T2接通。“写”信号有效,内部总线P0口,第一章 概述,(1)P0口作为I/O口,由于输出驱动器漏极开路,若输出高电平,需要外接上拉电阻。,第一章 概述,(1)P0口作为I/O口,输入时读引脚或读锁存器 读引脚信号有效 读锁存器信号有效,第一章 概述,(1)P0口作为I/O口,读端口数据时,若T2导通,就会将输入的高电平拉成低电平,产生误读。所以在输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。,-准双向口,第一章 概述,(2)P0口作地址/数据线,CPU发出控制电平“1”,打开“与”门,MUX把CPU的地址/数据总线与T2反相接通,输
9、出地址或数据。,第一章 概述,(2)P0口作地址/数据线,输入信号时,CPU自动使MUX向下,向P0口写“1”,“读引脚”控制信号有效,外部数据读入内部总线。,-真正的双向口,第一章 概述,2、P2的内部结构,(1)P2口作为I/O口,CPU发出控制电平“0”,使多路开关MUX倒向锁存器输出Q端,功能同P0。,-准双向口,第一章 概述,片外扩展存储器时,CPU发出控制电平“1”,多路开关MUX向上,输出高8位地址。,(2)P2口作为地址总线,第一章 概述,3、P1的内部结构,通用I/O口-准双向口。,第一章 概述,4、P3的内部结构,(1)通用I/O口与P1口类似-准双向口(W=1),第一章
10、概述,(2)P3第二功能(Q=1),第一章 概述,第一章 概述,例:用4个发光二极管对应显示4个开关的开合状态。如P1.0合则P1.4亮,P1.1合则P1.5亮,ORG 0000H AJMP MAIN ORG 0100HMAIN:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A SJMP MAIN END,第一章 概述,总 结(1)当P0作为I/O口时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果输出转输入时,必须先向相应的锁存器写“1”,才不会影响输入电平。当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,
11、无法再作为I/O口使用了。,第一章 概述,(2)P1、P2 和P3 口为准双向口,在内部差别不大,但使用功能有所不同。P1口是用户专用 8 位准双向I/O口,每一位都能独立地设定为输入或输出。P2口是 8 位准双向I/O口。可作为扩展系统的地址总线,输出高8位地址,与P0 口一起组成 16 位地址总线。P3口主要用作第二功能。,第一章 概述,第七章 输入和输出,7.1 并行I/O口的概念7.2 MCS-51内部并行I/O口7.3 MCS-51并行口的扩展,第一章 概述,7.3 MCS-51并行口的扩展,在多数应用系统中,MCS-51单片机都需要外扩I/O接口电路。I/O口扩展芯片主要有两种:不
12、可编程接口芯片(TTL或CMOS锁存器、缓冲器电路等)可编程接口芯片,第一章 概述,7.3.1 用TTL芯片扩展并行I/O口,利用74LS273和74LS244,将P0口扩展成简单的输入、输出口的电路。,第一章 概述,第一章 概述,当P2.0=0,WR信号有效时,51单片机通过P0口输出数据到74LS273。,当P2.0=0,RD信号有效时,通过244输入按键数据。,第一章 概述,设扩展输入口和输出口的端口地址为FEFFH。试编写程序把开关状态通过对应的发光二极管显示出来。,程序段:MOV DPTR,#0FEFFH;输入口地址DPTRLP:MOVX A,DPTR;输入开关状态 MOVX DPT
13、R,A;输出开关信息 SJMP LP;反复连续执行,第一章 概述,7.3.2 用串行口扩展并行口,利用74LS164(8位串入并出移位寄存器。)扩展1个8位并行输出口,第一章 概述,作为连接CPU和外设的接口,可编程器件可以通过软件设置不同的工作方式。典型芯片:8255A,8155。8255A有三个8位I/O口,3种工作方式。A、B、C都可作为独立的I/O口。C也可配合A口和B口使用。其中C7-4控制A口,合称A组;C3-0控制B口,合称B组。,7.3.3 8255A可编程并行I/O口扩展芯片,第一章 概述,数据线 D7-D0,PA7-PA0,PB7-PB0,PC7-PC0。寻址线 片选信号C
14、S A1和A0四种组合分别选择A、B、C和控制寄存器。控制线 读信号(CPU对8255A读操作)写信号(CPU对8255A写操作)RESET(复位)电源线和地线 VCC和GND。,第一章 概述,表:控制信号与传输动作的对应关系,第一章 概述,1、8255A的工作方式,方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式(A口和B口)适用于查询和中断方式的接口电路方式2:双向选通传送方式(仅A口)适用于双向传送数据的外设适用于查询和中断方式的接口电路,第一章 概述,2、8255A的编程,初始化编程:方式控制字和C口置位/复位控制字控制寄存器地址:A1A011工作过
15、程:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次为00、01、10,第一章 概述,(1)方式控制字,格式如下:,第一章 概述,例,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出初始化:方式控制字为10110001B或B1H 初始化程序段:MOV DPTR,#0D003H;假设控制口地址为D003H MOV A,#0B1h;方式控制字 MOVX DPTR,A,第一章 概述,(2)C口置位/复位控制字,可对C口的任一位置“1”或清“0”。,第一章 概述,8255A与8031的连接,8255A与8031的接口电路,3、8255A的
16、应用,第一章 概述,例:下图是 8031 扩展 8255A 与打印机接口的电路。8255A 的片选线为P0.7,打印机与 8031 采用查询方式交换数据。打印机的状态信号输入给PC7,打印机忙时BUSY=1,打印机的数据输入采用选通控制,当STB上出现负跳变时数据被打入,要求编写向打印机输出 80 个数据的程序。设 8255A 的A、B、C和控制寄存器的口地址分别为:7CH、7DH、7EH和7FH。,第一章 概述,图:8031扩展打印机接口8255A,第一章 概述,分析:8255A采用方式0,由PC0 模拟产生STB信号。因PC7输入,PC0输出,则方式选择命令字为:10001110B=8EH
17、。自内部RAM 20H单元开始向打印机输出80个数据的程序:,MOV R0,7FH;R0 指向控制口MOV A,8EH;方式控制字为8EHMOV R0,A;送方式控制字MOV R1,20H;送内部RAM数据块首地址至指针R1MOV R2,50H;置数据块长度,第一章 概述,LP:MOV R0,7EH;R0指向C口LP1:MOVX A,R0;读PC7连接BUSY状态 JB ACC.7,LP1;查询等待打印机 MOV R0,7CH;指向A口 MOV A,R1;取RAM 数据 MOVX R0,A;数据输出到A口锁存 INC R1;RAM地址加1 MOV R0,7FH;R0指向控制口 MOV A,00H;PC0复位控制字 MOVX R0,A;PC0=0,产生STB的下降沿 MOV A,01H;PC0置位控制字 MOVX R0,A;PC0=1,产生STB的上升沿 DJNZ R2,LP;未完,则反复,第一章 概述,理解并掌握I/O相关概念掌握MCS-51内部4个并行I/O口的功能及其应用。了解I/O口的扩展方法,熟悉8255A的基本特性及其应用等。,本章总结,