免费预览已结束,剩余74页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章串行接口技术,9-1串行通讯的基本概念9-2MCS-51的片内串行口9-3串行方式的系统扩展技术,9-1串行通讯的基本概念,一、通讯的一般概念二、串行通讯的数据传送方式三、串行通讯的类型四、波特率与传输速率五、出错校验,一、通讯的一般概念,1、通讯的定义:计算机与计算机之间、计算机主机与外界(I/O设备)之间的信息交换称作通讯。2、通讯的方法:并行通讯:一条信息的多位二进制数据同时被传送的通讯方式;串行通讯:一条信息的多位二进制数据被逐位按顺序传送的通讯方式。,二、串行通讯的数据传送方式(1),串行通讯是将二进制数按时间顺序在单根导线上一位一位传送的通讯方式,与并行通讯相比,虽然传送效率较低,但在远距离传送时可节省大量线路成本,固得到广泛应用。串行通讯有下述三种基本传送方式:1、单工传送方式:2、半双工传送方式:3、全双工传送方式:,二、串行通讯的数据传送方式(2),1、单工传送方式:即单通道工作方式,是一种数据只沿一个方向传送的通讯方式;如下图所示,A只能作发送器,B只能作为接收器,数据只能从A送往B,此时只需用一根传输线即可实现数据传送。例:只发通道:主机对于输出设备;只收通道:主机对于输入设备。,A发送器,B接收器,数据流,二、串行通讯的数据传送方式(3),2、半双工传送方式:即虽然是数据能够在两个方向上传送数据流的双通道工作方式,但在同一时刻却只能由一台发送、另一台接收;如下图所示,虽然仅用一根传输线,接收器B发送器发送器A接收器但能交替进行双向传送数据。即在某一时刻,A只能作发送器,B只能作接收器,数据只能从A送往B;但在另一时刻则可以反之。,发送器A接收器,接收器B发送器,数据流,数据流,二、串行通讯的数据传送方式(4),3、全双工传送方式:两台计算机在同一时刻既能接收数据又能发送数据的通讯方式。如下图所示,采用二根传输线,能够在同一时刻进行双向传送数据。即A、B双方都必须有独立的接收器和发送器硬件结构,从而A、B双方在任何时刻都同时是一个发送器,也是一个接收器。,发送器A接收器,接收器B发送器,数据流,数据流,三、串行通讯的类型(1),串行通讯过程中,按数据的同步方式不同,又可分为同步通讯与异步通讯两种工作方式。1、同步通讯方式:同步通讯时数据的传送随同步信息的节拍进行。2、异步通讯方式:异步通讯的数据格式以字节为单位,发送方与接收方各自有自己的时钟,通讯时只要传送数据就可以了,无须传送同步信息。,三、串行通讯的类型(2),1、同步通讯方式:数据格式:特征是数据以“块”为单位,若干个字节组成一个数据块,一个数据“块”往往包括以下三项内容:A)同步字符:最先发送的是标志数据传送开始的同步字符,按约定为0至若干字节;B)数据本身:接着发送的是数据本身,一个一个字节依次序被按约定的从低位到高位或从高位到低位连续一位一位传送;C)校验字符:最后发送的是为了提高数据传送可靠性的校验字符,也是按约定为0至若干字节;通讯连线:由于传送过程中每传送一位数据都需有一个同步时钟,所谓同步通讯指的是位传送的同步,因此通常是三线制:A)SDA:一根传送数据信息的信号线;B)SCL:一根传送时钟同步信息的时钟线;C)GND:一根公共线。通讯优点:由于同步通讯的数据格式以数据块为单位,因此在相同速率下其传输速度相对要比以字节为单位的异步通讯高。,三、串行通讯的类型(3),2、异步通讯方式数据格式:特征是数据以“帧”为单位,一个数据“帧”包括以下四项:A)先传送的是以一个起始位(通常为“0”)表征传送字符的开始;B)接着传送78位的数据本身;C)再接着传送奇偶校验位(一位或无);D)最后以一个停止位(通常为“1”)表示表达1“帧”传送的结束。通讯连线:异步通讯时发送、接收的双方速率一致,无须同步脉冲的传送,因此,除去公共线之外,半双工时只须一根连线,分时用于接收和发送;只有全双工时才须用2根连线,一根用于接收、一根用于发送。,三、串行通讯的类型(4),通讯协议:异步通讯必须遵循以下协议:A)发送、接收的双方通讯速率必须一致;B)不传送数据时,即“空闲”时,传输线必须保持为“1”,称之为标志状态;C)发送数据时,必须预先发送1位虚拟位,该位必为“0”,称之为“起始”位;D)起始位之后紧跟的是78的数据位及01位的校验位;E)1帧发送完成时,以12位指定为“1”的虚拟位表示结束,称之为“停止”位。,三、串行通讯的类型(5),通讯过程:异步通讯过程中为了区别各位数据,发送端和接收端各设置一个时钟。由于所采用的2个时钟的相位、频率不可能完全一样,存在一定的误差。通常时钟频率取为每秒传送位数的整数倍。异步通讯的数据传送过程为:发送端的时钟频率若取为每秒发送位数的16倍,则发送时每间隔时钟16分频发出一位串行数据;接收端的时钟频率若为发送端的1/2,则当接收端搜索到起始位(即第一个下降沿)时,以此为起点,相隔4个时钟周期时(即近于串行数据起始位的中点)对串行数据进行取样,以后每隔8个时钟周期对串行数据取样一次(近于中点),直至结束。我们之所以说“近于中点”,这是由于接收端与发送端的频率、相位难于一致,但由于频率通常较高,而接收的一帧数据只有10位或11位,误差积累有限,所以对于发送、接收双方的时钟频率误差要求并不很高。通讯优点:由于异步通讯传送数据以字节为单位,每一个字节都要附加起始位、结束位等,效率较低,但异步传送设备要求简单,除少用一根传输线外,还无须用硬件分离时钟与数据。,四、波特率与传输速率(1),1、传输速率:异步串行通讯过程中,双方规定好相同的速率,以实现通讯过程中的同步问题。串行通讯过程中每秒钟传送二进制数据的位数称之为传输速率或传输率。2、波特率:异步通讯中双方的通讯速率通常以波特率来约定。单位时间内串行通讯过程中传输的二进制数据的位数称之为波特率,与一位二进制数据持续时间有关。即:波特率=1位二进制数据位持续时间的倒数,四、波特率与传输速率(2),国际上,波特率规定为:110、300、600、1200、1800、2400、4800、9600、19200等。通常异步通讯的波特率取19200以下。3、传输率与波特率的关系:在不加调制的异步数据通讯中,波特率与传输速率相等。加调制时则两者不相等。,五、出错校验(1),采用串行通讯时一般要检测传输过程中是否有错误出现,检测错误的过程称之为校验。串行通讯中通常使用以下两种校验方式:1、奇偶校验:奇偶校验以字符为单位进行,每传输一个字符过程中加入一个校验位,该位为“0”或者“1”,则能够保证被传送的字符中的1的个数是奇数个(称奇校验)或偶数个(称偶校验)。51单片机中,对于累加器A中的数据,在PSW.0位P中表示该数据的奇偶性,P=1表示奇,P=0表示偶。,五、出错校验(2),累加和校验对数据块的n个字节求和运算,把累加和附数据块后一起发送。接收端同样进行求和并比较。CRC校验把数据块看成一个长2进制数,然后用特定的数去除它,所得到的余数作为校验码发送。,9-2MCS-51串行口,一、MCS-51串行口概述二、MCS-51串行通讯口结构三、MCS-51串行口的四种工作方式四、多机通讯的工作过程五、MCS-51串行通讯口的应用编程六、相关芯片,一、MCS-51串行口概述,MCS51系列有一个全双工的异步串行通信接口,可以作为通用异步接收器和发送器UART(UniversalAsynchronousReceiverandTransmitter),也可作为同步移位寄存器。为了实现全双工异步通信,MCS-51串行接口内部采用两个独立的缓冲器结构。一个是专用于发送数据的发送缓冲器,只能写入不能读出;另一个是专门用来接收数据的接收缓冲器,只能读出不能写入。,二、MCS-51串行口结构(1),1、MCS-51串行通讯口的组成结构:MCS-51串行通讯口由发送数据缓冲器SBUF(地址为99H,只写)、发送控制器、输出控制门、接收数据缓冲器SBUF(地址为99H,只读)、接收控制器、输入移位寄存器等组成。,EAES,SM0SM1SM2RENTB8RB8TIRI,波特率发生器,串行口控制逻辑,发送SBUF,接收SBUF,TIRI,串行口中断,TXCLK,RXCLK,内部总线,内部总线,TXD,RXD,MCS-51串行口结构框图,SCON,IE,返回,二、MCS-51串行口结构(2),2、MCS-51串行通讯口的端口寄存器:两个特殊功能寄存器SCON(地址为98H)、PCON(地址为97H)分别用于控制串行口的工作方式和波特率,波特率用定时器T1或52子系列的T2产生。串行口控制寄存器SCON(地址为98H):各位构成见下图:,D7D6D5D4D3D2D1D0,二、MCS-51串行口结构(3),SM0、SM1:串行口工作方式选择位,由软件置位或复位。其四种状态0011对应于串行通讯口的03四种工作方式。SM2:多机通讯控制位,由软件置位或复位。当选择SM2=0时,只要接收到一帧数据,不管第9位数据为0或1,都将发生硬件置位接收中断标志位,即使RI=1。当选择SM2=1时,接收到的一帧数据的第9位为1,且原有的接收中断标志位RI为0则发生硬件将RI置为1;如果第9位数据为0,则RI不置1,且所接收的数据无效。因此:多机通讯时,SM2必须置1;双机通讯时,一般使SM2=0;工作方式0时SM2必须为0。,二、MCS-51串行口结构(4),REN:允许接收控制位,由软件置位或复位。当REN=1时,允许接收;REN=0时,禁止接收。TB8:发送数据的第9位(D8位),方式0、方式1时不用,方式2、方式3时,须发送的第9位数据是0还是1必须事先用软件写入该位。RB8:接收数据的第9位(D8位),方式2、方式3时,硬件接收到的第9位数据将被送入该位;方式1时停止位将被送入该位。TI:发送中断标志位,发送完一帧数据硬件将使TI=1。TI由软件清0。RI:接收中断标志位,接收到一帧数据时,根据SM2的值决定是否由硬件置1。该位也须由软件清0。,二、MCS-51串行口结构(5),电源控制寄存器PCON(地址为97H):该特殊寄存器仅最高位D7位的SMOD位是串行口波特率系数控制位,其余的7位与串行口无关。当SMOD=1时,波特率将增大一倍。,三、串行口的四种工作方式(1),1、工作方式0:此时SM1=0、SM0=0该工作方式为同步通讯方式,或称移位寄存器工作方式。参见图此时:RXD引脚用于发送或接收数据,一帧数据由8位组成,低位在前;TXD引脚用于同步移位脉冲的输出。波特率:该方式下,波特率固定为fosc/12(相当于一个机器周期),图例,三、串行口的四种工作方式(2),发送过程:启动:CPU执行一条写发送数据缓冲器SBUF的指令来启动:MOVSBUF,A写脉冲信号一方面打开三态门,将A中的数据送入发送数据缓冲器SBUF,同时写脉冲信号也将启动发送控制器,一个机器周期后SEND信号有效,该信号同时去打开与门允许从RXD引脚上送出串行数据和打开与门允许从TXD引脚上送出同步时钟信号。结束:8位数据(一帧)发送完毕后,SEND恢复低电平而停止发送,且置TI=1而向CPU申请中断。,图例,三、串行口的四种工作方式(3),接收过程:启动:在RI=0条件下,将SCON.4的REN位置位(如用指令:SETBREN)REN=1后启动接收控制器,经一个机器周期之后RECV成为高电平有效,打开与门允许从TXD引脚上送出同步时钟信号,该信号控制外部部件从RXD引脚向串行口逐位输入数据,其数据传送的波特率即串行口送出的同步脉冲速率,固定为fosc/12。结束:从RXD引脚输入的一帧8位数据全部移入移位寄存器后接收控制器使得RECV信号变成低电平无效,停止从TXD引脚上同步时钟信号的输出;同时接收控制器发出SBUF的装载信号,打开三态缓冲门将移位寄存器中的数据送入接收数据缓冲器SBUF;此时,接收控制器还置位接收中断标志RI,向CPU申请中断。,图例,三、串行口的四种工作方式(4),2、工作方式1:此时SM0=0、SM1=1该工作方式为8位异步通讯方式,参见图此时:RXD引脚用于接收数据,一帧信息由包括8位数据的10位组成,低位在前;TXD引脚用于发送数据的输出。波特率:可变,由定时器T1或T2的溢出速率及特殊寄存器PCON中的D7位SMOD来决定;发送波特率与接收波特率可以不同。,图例,三、串行口的四种工作方式(5),发送过程:启动:CPU执行一条写发送数据缓冲器SBUF的指令来启动:MOVSBUF,A写脉冲信号一方面打开三态门,将A中的数据送入发送数据缓冲器SBUF,同时写脉冲信号也将启动发送控制器,一个机器周期后SEND、DATA信号相继有效,经输出控制门由TXD引脚上逐位输出一帧10位信息。结束:10位一帧信息发送完毕后,SEND、DATA失效而停止发送数据,同时发送控制器硬件置位发送中断标志TI,向CPU申请中断。,图例,三、串行口的四种工作方式(6),接收过程:启动:允许接收位REN被软件置位(如用指令:SETBREN)后,接收器即开始工作,工作内容如下:A)数据采样:跳变检测器以16倍于波特率的速率采样RXD引脚上的电平,并在中间7、8、9这三点上各采样一次;B)数据确定:三次采样的数据三次中至少2次以上相同的值确定为有效数据;C)数据开始:若第一个有效数据非0,则复位接收电路而重新采样;D)数据移入:采样到“0”后,连续采样10个数据作为一帧,中间的8位作为接收数据移入移位寄存器。结束:当8位数据及停止位全部移入后,产生下述4种结果:A)RI=0、SM2=0,接收控制器发出“SBUF的装载信号”,8位数据装入接收数据缓冲器SBUF;停止位装入SCON寄存器的RB8位;并硬件使SCON寄存器的RI位置位而向CPU申请中断;B)RI=0、SM2=1、停止位为1时,发生上述相同动作;C)RI=0、SM2=1、停止位为0时,应为干扰严重所致,接收数据无效而丢失不用;D)RI=1,此时,接收到的数据必定丢失。,三、串行口的四种工作方式(7),3、工作方式2:此时SM0=1、SM1=0该工作方式为9位异步通讯方式,参见图。波特率:固定为fosc/32(SMOD=1时)或固定为fosc/64(SMOD=0时),图例,三、串行口的四种工作方式(8),发送过程:与工作方式1相仿,差异仅为本方式时一帧数据为11位,第9位数据由SCOM中的TB8位提供。接收过程:与工作方式1相似,当接收到的第9位数据移入移位寄存器后,将8位数据装入接收数据缓冲器SBUF,第9位数据装入RB8且接收时也有上述四种判断能力。,三、串行口的四种工作方式(9),4、工作方式3:该工作方式为9位数据的异步通讯方式,参见图。波特率:可变,由定时器T1或T2的溢出速率及特殊寄存器PCON中的D7位SMOD来决定;发送过程:同工作方式2。接收过程:同工作方式2。,图例,四、多机通讯的工作过程(1),1、多机通讯时的工作方式:采用工作方式2或工作方式3。2、多机通讯时的工作过程:设有1台主机和n(1255)台从机,则:预先约定给n台从机分配序号(即地址);主机先发地址帧,此时发出的第9位数据TB8=1;各从机置SM2=1时去接收主机所发的地址帧,因为接收的RB8=1,所以所有从机接收信息均为有效,各自送入接收数据缓冲器SUBF,并且硬件置RI=1;各从机接收结束后,CPU响应中断,通过软件判断主机送来的是否本从机的地址,是软件使SM2=0,否则保持SM2=1;接着主机发送的是数据帧,此时第9位数据TB8=0;从机接收到的数据因RB8=0,所以只有SM2=0的从机才能将8位数据送入接收数据缓冲器SBUF,其余从机因SM2=1而将接收到的数据丢失。,四、多机通讯的工作过程(2),3、多机通讯时的特殊情况:即双机通讯。此时第9位数据可作奇偶校验位而且通常使SM2=0。,五、串行通讯口的应用编程(1),1、使用定时器T1时波特率的计算:串行口工作方式0的波特率是固定的,为fosc/12,与定时器无关;串行口工作方式2的波特率由SMOD(PCON.7)位决定,SMOD=1时为fosc/32,SMOD=0时为fosc/64,也与定时器无关;串行口工作方式1、工作方式3的波特率既与SMOD有关,又与定时器T1的的溢出速率有关,并由下式决定:波特率=2SMODT1溢出速率/32波特率发生器通常采用T1工作于方式2自动重装模式。,五、串行通讯口的应用编程(2),2、使用定时器T2时波特率的计算:只有52子系列的芯片才有定时器/计数器T2,当使用定时器/计数器T2构成波特率发生器时,波特率与SMOD位无关。若T2工作在定时器状态,即C/T2=0,加法计数器对时钟脉冲fosc/2进行计数,所以波特率计算公式为:波特率=fosc/21665536-设置的初值若T2工作在计数器状态,即C/T2=1,加法计数器对外部时钟脉冲进行计数,外部时钟的最高频率必须限定为fosc/24,其波特率计算公式为:波特率=外部时钟频率/1665536-设置的初值,五、串行通讯口的应用编程(3),3、编程实例:通讯程序一般分为3个部分1波特率计算及设置2控制字设置3通讯程序串行口工作方式1例9-19-2串行口工作方式2,3例9-3,五、串行通讯口的应用编程(4),多机通讯规定通讯协议从机地址编号发送地址发送命令数据传输,五、串行通讯口的应用编程(4),主机,判断是否0CCH,五、串行通讯口的应用编程(5),从机,MOVR3,AXRLA,#01HJZSETBSM2SJMPTM0,RB8=0,命令RB8=1,地址,六、相关芯片,1、可编程串行异步通讯接口芯片8250:特点:片内波特率发生器、四类中断源、带调制解调;2、可编程串行接口芯片8251:特点:可同步或异步方式工作、带调制解调和出错检测。,9-3串行方式的系统扩展技术,一、系统扩展的串行接口方式二、串行方式存储器扩展三、串行方式输入输出接口扩展,一、系统扩展的串行接口方式(1),1、SPI串行外设接口SPI是MOTOROLA公司推出的串行扩展接口,由时钟线SCLK、主发从收数据线MOSI和主收从发数据线MISO三线组成。SPI接口具有较高的传送速度,主机的最高传送速率为1.05Mb/s。SPI三总线结构是一个同步外围接口,允许MCU与各外围设备以串行方式进行通信。,一、系统扩展的串行接口方式(2),SPI总线的基本特性有:以主从方式工作,可以实现全双工、三线同步传送;可程控主机的位传送频率、时钟极性和相位;可以发送完成中断标志以及写冲突保护标志。,一、系统扩展的串行接口方式(3),MCS-51单片机的串行口方式0具有简化的SPI同步串行通信功能,也可以用来作为SPI接口控制和扩展带SPI接口的外围器件。串行口方式0与SPI的主要区别是:MCS-51输出固定频率的TXD同步脉冲替代SPI极性和相位可变的串行时钟SCLK;MCS-51的RXD既作为数据发送线,又作为数据接收线;MCS-51串口输出的数据位是低位在前高位在后,与SPI接口的约定相反。,一、系统扩展的串行接口方式(4),2、I2C总线接口I2C总线由串行数据线SDA和串行时钟线SCL构成。在I2C总线上可以挂接多个外围器件。由于I2C总线接口内部采用开漏结构,所以I2C总线必须外接上拉电阻。所有挂接在I2C总线上的器件及接口都必须通过总线寻址。挂接在I2C总线上的单片机有主控器件和从控器件之分。I2C总线必须由一个主控器件或称为主器件控制。主控器件控制总线的收发,产生串行时钟信号,产生并启动传送及结束传送的命令。从控器件也称为从器件,在总线上受主控器件的控制,接收主控器件发送的命令,并做出相应的应答和数据回传。,一、系统扩展的串行接口方式(5),I2C总线的单片机系统结构是一个允许多主系统。在由多个MCP和外围器件组成的I2C总线结构系统中,可能存在多个主控器件,但是,在任意时刻,只允许一个主控器件存在。对于系统中的某个器件而言,最多有四种可能的工作方式:主发送方式、主接收方式、从发送方式、从接收方式。但在任意时刻,一个器件只能有其中的某一种工作方式。,二、串行方式存储器扩展(1),近年来出现许多带SPI接口、I2C总线接口的串行口外围芯片。如带SPI或I2C总线接口的ADC、DAC、存储器芯片以及并行I/O口扩展芯片。由于电可擦写存储器E2PROM能在掉电情况保存数据,又能方便地进行改写,因此广泛应用在微处理机系统之中。,二、串行方式存储器扩展(2),24C32芯片的扩展:24C系列E2PROM是带I2C接口的电可擦写可编程只读存储器。该系列产品包括24C01、24C02、24C04、24C08、24C16、24C32等,其容量分别为1288、2568、5128、1K8、2K8、4K8。,二、串行方式存储器扩展(3),24C32的封装形式有双列直插式DIP8和DIP14两种形式,DIP8封装形式如右,873645,直插式DIP8和DIP14两种SCL为串行时钟脚;SDA为串行数据/地址输入输出端;A0、A1、A2是芯片地址选择输入端,根据A0、A1、A2所接高、低电平不同,芯片地址不同,因此,在I2C总线上最多可以挂8片24C32芯片。,A0VCCA1WPA2SCLVSSSDA,二、串行方式存储器扩展(4),(2)I2C总线时序1起始位(S)SCL=1,SDA由高到低2数据位(D)高位MSB在前,低位LSB在后3应答位(A)8个时钟周期对应一个传输字节,第9位为应答位4数据/应答循环5停止位(P)SCL=1,SDA由低到高,二、串行方式存储器扩展(5),(3)I2C总线接口通讯的启动和数据传输的结束:I2C总线在空闲(不传输数据)之时,SCL与SDA均由上拉电阻拉为高电平,数据传输时序:从上图可看出,当SCL保持高而SDA由高变低时作为通讯的启动;当SCL保持高而SDA由低变高时作为通讯的结束。数据传输过程中,SDA线只能在SCL为低电平时产生高低电平的变化。,启动数据数据结束通讯变化变化通讯,SDASCL,二、串行方式存储器扩展(6),I2C总线接口的虚拟:为了将I2C总线器件应用到不带I2C总线接口的MCU系统中,常采用虚拟的I2C总线接口方法。I2C总线在进行数据传输方面,对于不同的I2C器件具有相同的操作模式,遵循相同的规范,这就为I2C总线的软件虚拟提供了实现的可能性。所谓的虚拟I2C总线是指借用MCU的2根通用I/O口线来虚拟I2C总线接口,采用软件来实现I2C协议的一种总线虚拟方式。,二、串行方式存储器扩展(7),24C32芯片与M51系列单片机的一种应用连接方法:图中1、2、3这三条引脚A0、A1、A2是三条地址线,用于确定芯片的硬件地址,这里均为0。图中上拉电阻通常取值为10K。,8031P1.1P1.0,87645,+5V,三、I2C总线应用,I2C总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号,应答的器件在第9个时钟周期时将SDA线拉低表示其已收到一个8位数据;24C32在接收到起始信号和从器件地址之后,响应一个应答信号。如果是写操作则在每接收一个8位字节之后响应一个应答信号24C32工作于读模式时,在发送一个8位数据后,释放SDA线并监视一个应答信号,一旦接收到应答信号,24C32继续发送数据。如主器件没有发送应答信号,器件停止传送数据且等待一个停止信号,三、I2C总线应用,例9-6:发送启始子程序:SCL=1,SDA由高到低例9-7:发送停止位子程序:SCL=1,SDA由低到高例9-8:发送应答位子程序(ACK=0)例9-9:检查应答位子程序(ACK=0?),三、I2C总线应用,例9-10:写8bit数据SCL=0时,SDA根据RAM中8bit数据变化SCL=1时,数据写入例9-11:读8bit数据SCL=1时,数据由CPU读入,SCL=0时,数据由24C32输出,SDA数据更新,三、I2C总线应用,Start();WRB(SlaveAddr);ack=Chack();if(ack)returnFALSE;WRB(ByteAddrHigh);ack=Chack();if(ack)returnFALSE;,WRB(ByteAddrLow);ack=Chack();if(ack)returnFALSE;WRB(data);ack=Chack();if(ack)returnFALSE;Stop();,SlaveAddr格式:1010A2A1A0R/W(10100000),写操作根据不同存储容量的RAM,ByteAddr有单字节和双字节的区别,24C32/64为双字节,三、I2C总线应用,Start();WRB(SlaveAddr);ack=Chack();if(ack)returnFALSE;WRB(ByteAddrHigh);ack=Chack();if(ack)returnFALSE;WRB(ByteAddrLow);ack=Chack();if(ack)returnFALSE;,for(i=0;in;i+)WRB(data);ack=Chack();if(ack)returnFALSE;Stop();,四、串行方式输入输出接口扩展,原则上来讲,利用I2C总线或SPI总线方式均可以实现串行方式输入、输出接口的扩展,对于无I2C总线或SPI总线的单片机,可利用普通I/O口实现,其硬件连接方法简单,主要是软件模拟总线工作时序的实现。MCS-51系列单片机串行口的工作方式0也可用于串行方式输入输出接口的扩展。,五、串行口工作方式0的应用(1),串行口工作方式0主要用于I/O口的扩展,包括并行输入口和并行输出口的扩展。可以有:1、用串行口扩展并行输出口2、用串行口扩展并行输入口3、用串行口扩展并行输入、输出口,五、串行口工作方式0的应用(2),1、扩展并行输出口利用串行输入/并行输出8位移位寄存器74LS164、CD4094等芯片与MCS-51的串行口相连接,让串行口工作于模式0下,可实现用串行口扩展并行输出口的目的。使用2片74LS164及三根MCS-51口线扩展16根并行输出口线的电路原理图如下所示:,五、串行口工作方式0的应用(3),串行输入/并行输出8位移位寄存器74LS164,扩展并行输出口的扩展原理图,8051P3.0P3.1P1.0,Q7Q6Q5Q4Q3Q2Q1Q0A、B74LS164CLRCK,Q7Q6Q5Q4Q3Q2Q1Q0A、B74LS164CLRCK,五、串行口工作方式0的应用(4),扩展软件接口:若利用以上并行输出口扩展电路作为二位LED七段数码管静态显示,则相应显示子程序可编为:DJSP:MOVR7,#02H;设置显示位数MOVR0,#30H;设置显示数据的指针MOVSCON,#00H;设置串行口为工作方式0DISP0:MOVA,R0;取显示的数据ADDA,#0DH;设置近程查表的偏移值MOVCA,A+PC;近程查表获七段显示码MOVSBUF,A;显示码送入串行口;启动发送过程JNBTI,;等待一帧数据发送结束CLRTI;清除串口发送中断标志INCR0;指针指向下一显示数据DJNZR7,DISP0;二位未显示完再送一次RET;二位送完则结束返回,五、串行口工作方式0的应用(5),DISTAB:DBC0H,F9H;0、1的显示码DBA4H,B0H;2、3的显示码DB99H,92H;4、5的显示码DB82H,F8H;6、7的显示码DB80H,98H;8、9的显示码,五、串行口工作方式0的应用(6),1、扩展并行输入口利用并行输入/串行输出8位移位寄存器74LS165、CD4014等芯片与MCS-51的串行口相连接,让串行口工作于模式0下,可实现用串行口扩展并行输入口的目的。使用2片74LS165及三根MCS-51口线扩展16根并行输入口线的电路原理图如下:,五、串行口工作方式0的应用(7),并行输入/串行输出8位移位寄存器74LS165,扩展并行输入口的扩展原理图,8051P3.0P3.1P1.0,I7I6I5I4I3I2I1I0QSIN74LS165QCLRCLOCK,I7I6I5I4I3I2I1I0QSIN74LS165QS/LCLOCK,五、串行口工作方式0的应用(8),扩展软件接口:若利用上述扩展电路输入2个字节数据存放于30H与31H单元之中,则可编程如下:MOVR0,#30H;设置数据存放单元指针MOVR7,#02H;接收2个字节数据CLRP1.0;允许并行输入数据SETBP1.0;允许数据串行移位SRV1:MOVSCON,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年考研临床医学外科学病例分析试卷(含答案)
- 2025年流量优化专员招聘面试题库及参考答案
- 2025年行销技术专员招聘面试参考题库及答案
- 2025年金融经理招聘面试题库及参考答案
- 漳州教师模拟题库及答案
- 2025年数据管理员招聘面试题库及参考答案
- 考试题消防知识题库及答案
- 2025年钻探工程师招聘面试参考题库及答案
- 2025年智能家居技术员招聘面试题库及参考答案
- 2025年财经写作专员招聘面试题库及参考答案
- 丙型肝炎防治指南
- 2025年基层党支部书记述职报告
- 中国稀土镁合金治炼项目投资可行性研究报告
- GB/T 30340-2025机动车驾驶员培训机构业务条件
- 传统文化经典教案范例分享
- 2025艺术品买卖合同范本
- 新保密教育线上培训考试试题及答案
- 2025年幼师考编真题及答案
- 科技企业员工绩效考核管理办法
- 2025年潜水泵行业分析报告及未来发展趋势预测
- 2025低空经济无人机网络安全事件案例分析报告
评论
0/150
提交评论