您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 电气技术 > 第5章 80C51单片机中的输入输出口资料
第5章80C51单片机的I/O口§5.180C51单片机并行I/O口思考与练习§5.280C51单片机的串行通信接口一、并行I/O口的功能结构二、产生接口控制信号的指令§5.180C51单片机并行I/O口80C51单片机有4个8位并行I/O口,共占了32根I/O引脚。单片机扩展时,这些I/O引脚又作为扩展总线用。P0口作为地址/数据总线,分时输出低8位地址和传送8位数据;P2口作为高8位地址总线;P3口也具有第二功能。一、并行I/O口的功能结构每一个口都包含:一个锁存器一个输出驱动器两个(P3口为3个)输入缓冲器各口的结构有些差异,下面分别介绍。一、并行I/O口的功能结构1、接口结构P1口一位的结构如下图所示:一、并行I/O口的功能结构(一)P1口1、接口结构锁存器起输出锁存作用,8位锁存器组成特殊功能寄存器P1;场效应管和上拉电阻组成输出驱动器,以增大负载能力;三态门1和三态门2分别用于控制输入引脚和锁存器的状态。一、并行I/O口的功能结构(一)P1口2、接口功能P1口只有一种功能——通用输入输出接口,有以下三种工作方式:输出、输入和端口操作。(1)输出方式:单片机执行MOVP1,#data指令时,数据data经内部总线送入锁存器锁存,经输出驱动器送到引脚。一、并行I/O口的功能结构(一)P1口2、接口功能(2)输入方式单片机执行MOVA,P1指令时,控制器发出读引脚信号,打开三态门1,引脚上的状态经三态门进入内部总线,并送入A中。由图可见,要使P1引脚上的高/低电平均可输入,必须使输出驱动器处于截止状态,所以要将P1作为输入口时,应先向口锁存器写“1”。因此P1口为准双向口。一、并行I/O口的功能结构(一)P1口2、接口功能(3)端口操作单片机中设置了一类直接对端口进行操作的指令,如INCP1ANLP1,AORLP1,#data一、并行I/O口的功能结构(一)P1口执行这些指令时,先是读锁存器信号有效,打开三态门2,将锁存器的内容读出,按指令要求修改后再写入锁存器中,称为“读——修改——写”指令。2、接口功能(3)端口操作一、并行I/O口的功能结构(一)P1口3、接口驱动能力P1口输出时能驱动3个LSTTL负载(输出电流要小于300μA)一、并行I/O口的功能结构(一)P1口P2口一位结构如下图所示,与P1相比,多了一个多路开关MUX,因此P2具有双重功能:通用I/O口和高8位地址总线口。1、接口结构一、并行I/O口的功能结构(二)P2口(1)地址总线单片机扩展时,“控制”信号使MUX打向右边,内部的地址线经反相器与输出驱动器相连,于是内部“地址”信号可以由P2口引脚输出。2、接口功能一、并行I/O口的功能结构(二)P2口(2)通用I/O接口作为通用I/O口时,“控制”信号使MUX打向左边,这时P2口电路结构与P1口相同,其功能和用法亦与P1口相同。2、接口功能一、并行I/O口的功能结构(二)P2口如果单片机无需扩展程序存储器,只需扩展少量外部RAM(≤256字节)时,可用@Ri间址,这时P2口仍可作为通用I/O口。2、接口功能(2)通用I/O接口P2口输出时能驱动4个LSTTL负载。一、并行I/O口的功能结构(二)P2口P3口一位的结构如下图所示,与P1口相比多了一个与非门和一个输入缓冲器,所以它除了可作为一般I/O口外,还具有第二功能。1、接口结构一、并行I/O口的功能结构(三)P3口(1)通用I/O接口作为通用I/O接口时,“第二功能输出”线为“1”,接口的电路结构与P1口相同,所以功能和用法均与P1相同。2、接口功能一、并行I/O口的功能结构(三)P3口(2)第二功能2、接口功能当P3作为第二功能使用时,各位定义如下:P3.0RXD(串行输入通道)P3.1TXD(串行输出通道)P3.2INT0(外中断0输入端)P3.3INT1(外中断1输入端)一、并行I/O口的功能结构(三)P3口这些信号有输出也有输入,为使第二功能信号能顺畅地输入或输出,该口锁存器的状态必须为“1”。P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存贮器写选通)P3.7RD(外部数据存贮器读选通)2、接口功能P3口输出时能驱动4个LSTTL负载。一、并行I/O口的功能结构(三)P3口1、接口结构P0口一位的结构如下,输出驱动电路由一对场效应管组成,其工作状态由输出控制电路控制。P0口可作通用I/O,也可作地址/数据总线口。一、并行I/O口的功能结构(四)P0口(四)P0口2、接口功能(1)地址/数据总线一、并行I/O口的功能结构这时“控制”信号为1,MUX向上,地址/数据信号反相后经多路开关送到下一个场效应管的栅极。若地址/数据信号为1,则下一个场效应管截止上一个场效应管导通,引脚为高电平;若地址/数据信号为0,则下一个场效应管导通上一个场效应管截止,引脚为低电平。即地址/数据信号可顺利的到达引脚。2、接口功能(2)通用I/O接口此时“控制”信号为“0”,MUX向下,输出驱动器处于开漏状态,故需外接上拉电阻,此时电路结构与P1相同,也是一个准双向口。当要作为输入时,必须先向口锁存器写“1”。P0口输出时能驱动8个LSTTL负载。一、并行I/O口的功能结构(四)P0口作为I/O口应用的一个实例,下面介绍80C31单片机的最小应用系统如下图所示:80C31一、并行I/O口的功能结构一、并行I/O口的功能结构80C51指令系统中能与接口打交道的指令大体可分两类:1、一般的输入/输出指令2、“读-修改-写”指令二、产生接口控制信号的指令1、一般的输入输出指令输入指令执行时,内部产生“读引脚”信号,直接从口线读入,亦称“读引脚”指令。见下面实例:MOVA,P1相当于输入指令,其它口也可(总线口不能用)MOV@R1,P1可以将P1输入的数据直接送到片内RAM的某单元。MOVXA,@Ri可从扩展的RAM或I/O口输入,高位地址由P2提供,@Ri只提供低8位地址。本指令产生RD信号。二、产生接口控制信号的指令1、一般的输入输出指令MOVP1,AMOVP1,@RiMOVX@Ri,AMOVX@DPTR,AMOVP3,P1直接从一个口输入,又向另一个口输出,这是较为特殊的一种用法。MOVXA,@DPTR作用同上一条指令。不过DPH由P2传送,DPL由P0传送。本指令产生信号。这四种相当于输出指令,与相应的“输入”指令对应,后两条指令产生信号。二、产生接口控制信号的指令RDWR2、“读-修改-写”指令指令执行时内部产生“读锁存器”信号,亦称读锁存器指令。它们并不是直接从口线读出,只是从接口锁存器读出,经修改后再写入锁存器,故又称为“读-修改-写”指令。例如:ANLP1,A;逻辑与ORLP2,A;逻辑或XRLP3,A;逻辑异或JBCP1.1,LOOP;如某位为1,跳转并清零该位CPLP3.0;对接口某位求反二、产生接口控制信号的指令2、“读-修改-写”指令INCP2;接口锁存器加1DECP1;接口锁存器内容减1DJNZP3,LOOP;减1后不为零则跳转还有三条虽不明显,但也属此列:MOVP1.1,C;将进位位送接口的某位CLRP1.1;清零接口的某一位SETBP1.1;置位接口的某一位二、产生接口控制信号的指令§5.280C51单片机的串行通信接口一、串行通信的基本概念三、80C51单片机串行口的应用二、80C51单片机的串行通信接口计算机通信有两种基本方式:——并行通信和串行通信并行通信:数据的各位同时进行传送,如图(a)所示。串行通信:数据的各位是一位位按顺序传送,如图(b)所示。一、串行通信的基本概念计算机通信有两种基本方式:一、串行通信的基本概念1、串行通信中数据传送方式1)异步传送方式(或称字符同步方式)传送一个字符时,用一个起始位(低电平0)表示字符的开始,接着从低到高依次传送数据位(5~8位,可插入奇偶校验位),最后是停止位(高电平1,可1或1.5或2位)表示字符的结束,构成一帧信息,如下图所示。一、串行通信的基本概念1、串行通信中数据传送方式异步通信中,双方必须约好字符格式和波特率。波特率——表示每秒钟传送二进制代码的位数(包括起始位和停止位)一、串行通信的基本概念2)同步传送方式(或称数据块同步方式)在数据块前加上同步字符,数据间没有间隔,以一个基本的单位时间传送一个数据,如下图所示。传送速率高,但硬件设备复杂。1、串行通信中数据传送方式一、串行通信的基本概念同步通信的数据格式同步字符1同步字符2数据块CRC字符#1CRC字符#2开始终了1、串行通信中数据传送方式≈≈一、串行通信的基本概念2、串行通信中数据传送方向1)单工通信:只允许向一个方向传送数据。2)半双工通信:允许双向传送数据,但某一时刻只能往某一个方向传送。3)全双工通信:允许向两个方向同时进行数据传送。一、串行通信的基本概念2、串行通信中数据传送方向如下图所示:一、串行通信的基本概念1、功能特点1)为全双工串行口,用P3.0和P3.1作为接收数据线RXD和发送数据线TXD。2)具有缓冲接收功能即在接收到的前一个字节未被CPU读走之前,就可以逐位接收下一个字节数据,直到下一个字节全部收齐为止,若前一个字节仍未取走,才被下一个字节取代。二、80C51单片机的串行通信接口发送缓冲器和接收缓冲器共用一个地址,但它们是独立的物理空间。1、功能特点3)可用程序控制内部有专用寄存器SCON(98H)和PCON(87H)用于控制串行通信,包括方式的选择、接收控制、多机通信控制、波特率是否加倍等;定时器T1可作为串行口的波特率发生器,可改变串行口通信的定时。二、80C51单片机的串行通信接口1、功能特点4)有四种工作方式能适应不同用途(1)方式0为移位寄存器I/O方式,数据从RXD端串行输入或输出,以8位为一帧,按先低位后高位依次传送;同步信号从TXD端输出,波特率固定为fosc/12。二、80C51单片机的串行通信接口1、功能特点(2)方式1为8位的异步通信接口,传送一帧信息为10位,其中,1位起始位(0),8位数据位(低位在前),1位停止位(1)。这时定时器T1作为波特率发生器(T1应关中断)。二、80C51单片机的串行通信接口4)有四种工作方式能适应不同用途(2)方式1(续)波特率=(T1的溢出率)/n所以波特率=(2SMOD/32)·(T1的溢出率)==)1(,16)0(,32SMODSMODn其中1、功能特点(T1的溢出率——T1定时时间的倒数)二、80C51单片机的串行通信接口4)有四种工作方式能适应不同用途1、功能特点T1的溢出率,即T1每秒钟溢出的次数,如果T1定时为TxfxTTTnoscnc2·12·112·111的溢出率则xfnosc2·12式中Tc为机器周期,n为计数器T1的位数,x为时间常数初值的补码。下表列出了常用波特率与T1参数的关系二、80C51单片机的串行通信接口(2)方式1(续)4)有四种工作方式能适应不同用途二、80C51单片机的串行通信接口波特率fosc(MHZ)SMOD定时器T1C/T方式定时器初值62.5K12102FFH19.2K11.059102FDH9.6K11.059002FDH4.8K11.059002FAH2.4K11.059002F4H1.2K11.059002E8H137.5K11.0590021DH110600272H11012001FEEBH1、功能特点(3)方式2为9位的异步通信接口,传送一帧信息为11位,其中1位起始位(0)、1位停止位(1)、9位数据位(8位再加上1位附加的可编程为0或1的第九位数据位—在RB8或TB8)。oscSMODf)642(波特率该方式特别适用于多机通信。二、80C51单片机的串行通信接口4)有四种工作方式能适应不同用途1、功能特点(4)方式3与方式2类似,唯一的区别是方式3的波特率可变。的溢出率波特率1)322(TSMOD该方式也适用于多机通信。(波特率的计算公式同方式1)二、80C51单片机的串行通信接口4)有四种工作
本文标题:第5章 80C51单片机中的输入输出口资料
链接地址:https://www.777doc.com/doc-3379872 .html