版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/7/7,MCS-51单片机原理与应用,1,本章导读 本章主要介绍串行通信的基本概念以及相关的串行接口标准,详细讲述了MCS-51单片机串口的结构、组成、特点和应用,以及通过模拟I2C总线接口时序对I2C器件进行读写。通过相关的程序实例,使读者对于单片机之间以及单片机与PC机之间的通信架构和程序编写有初步的理解和掌握。,第7章 MCS-51串行接口与I2C总线,2020/7/7,MCS-51单片机原理与应用,2,通信:在计算机系统中主机与外设之间及主机系统与主机系统之间的数据交换。通信有并行通信和串行通信两种基本方式。 单片机经常作为下位机,被广泛地应用于测控系统中。单片机将采集和检测
2、到的各种数据,通过通信接口传递给上位机PC,再通过通信接口将各种指令和控制信息下达到单片机中。 单片机通信目的就是要将多个远程的单片机、计算机以及各种外围设备进行互联,通过通信协议和通信方式,传输和处理交换的信息。既可通过一台计算机来控制和监视多台单片机系统,也可实现多台单片机之间的互联,组成不同的控制系统,适应不同的应用场合。,7.1串行通信的基本概念,2020/7/7,MCS-51单片机原理与应用,3,并行通信的特点:就是将多个数据位同时进行传输,传输的数据有多少位,就相应地有多少根传输线,较适合于短距离的数据通信。 串行通信的特点:就是只用一根数据线进行传输,多位数据必须在一根数据线上顺
3、序地进行传送。适合于多数位、长距离通信的场合。从图7.1中可看到,传送一个8位的二进制数10110011B,对于发送设备来说,需要,7.1.1 通信方式 1,2020/7/7,MCS-51单片机原理与应用,4,首先将其做并行到串行的转换,然后用8个时钟周期(T1T8)将其全部发送至接收设备;接收设备每个时钟周期接收到1位数据,需要8个时钟周期才能全部接收完毕,然后再经过串行到并行的转换,才算最终完成了这个8位数据的传输。 串行通信中要解决好发送设备与接收设备之间的同步问题,否则会造成某些数据位的丢失而通信失败。根据采用的同步方式的不同, 将串行通信进一步分为同步串行通信和异步串行通信两种。 异
4、步串行通信方式:是将传输的数据按照某种位数进行分组(通常以8位的字节为单位),在每组数据的前面和后面分别加上一位起始位和一位停止位,根据需,7.1.1 通信方式 2,2020/7/7,MCS-51单片机原理与应用,5,要还可以在停止位前加一位校验位,并且停止位的长度还可以增加。这样组合而成的一组数据被称为一帧。图7.2是异步串行通信的数据传送格式。 异步串行通信方式的结构简单,但是数据的传送量增加很多,导致传输效率不高,一般用在对传输速率要求不高的应用中。 同步串行通信方式不再以字节为单位,而是以数据块,7.1.1 通信方式 3,2020/7/7,MCS-51单片机原理与应用,6,为单位,每个
5、数据块可以有多个字节构成,只在每个数据块的前后加上起始位和停止位,这样减少了需要额外传输的控制数据的长度,自然也就提高了传输的效率。同步通信方式的软硬件的复杂程度也随之上升,价格比较昂贵,一般只在传输速率要求较高系统使用。 串行通信按照信息在设备间的传输方向,还可分为单工、半双工和全双工三种方式。分别如图7.3。 单工方式:通信双方在任一时刻,只能单方向的传送数据。如图7.3(a),通信方A只能作为发送方,而通信方,7.1.1 通信方式 4,2020/7/7,MCS-51单片机原理与应用,7,B只能作为接收方,不能互换。 半双工方式:通信双方可通过传输线交替地进行双向传输,每个通信方都可以作为
6、发送方或接收方,但在任一时刻,不能同时作为发送方和接收方。如图7.3(b)。全双工方式:通信双方通过两条传输线进行互连,两者之间的数据可以同时进行发送和接收。MCS-51单片机在硬件上具有全双工的结构。 波特率:单位时间里传输的二进制代码的位数,单位是b/s或bps(位/秒)。例如:每秒钟传输120个字符,每个字符由10个二进制位(其中1个起始位、8个数据位和一个停止位),其波特率为:120字符/秒10位/字符=1200位/秒。,7.1.2 波特率 1,2020/7/7,MCS-51单片机原理与应用,8,同步通信中数据传输的波特率就是同步时钟的频率;而异步通信的时钟频率可以是波特率的整数倍。
7、UART通用异步收发器:能完成异步串行通信的器件。 异步串行通信接口有RS-232、RS-422和RS-485接口等。 1. RS-232C标准 RS-232C标准是常用的一种 串行通信接口标准,它定义 了数据终端设备DTE和数据通信设备DCE间接口规范。 RS-232C接口标准采用的是标准的25针D型连接器,如图7.4, RS-232C连接器的引脚定义如表7.1。在使用时, 经常采用9针连接器,9针D型连接器的引脚定义如表7.1中第1列括号内所示,其外观如图7.5所示。,7.1.3 串行通信总线标准及其接口 1,2020/7/7,MCS-51单片机原理与应用,9,RS-232C电平范围: 逻
8、辑“1”:-5V -15V之间;逻辑“0”:+5V+15V之间。 由于逻辑“1”和逻辑“0”电平的范围相差很大,因此在传输中的抗干扰能力较强。 RS-232C是一种串行通信的接口标准,它以位为单位进行串行传输。规定了波特率作为传输的速度单位。波特率有300、600、1200、2400、9600、19200bps等。 分图(a)是用于计算机方的公插外观,分图(b)是用于通信设备方的母插的外观。,7.1.3 串行通信总线标准及其接口 2,2020/7/7,MCS-51单片机原理与应用,10,7.1.3 串行通信总线标准及其接口 3,2020/7/7,MCS-51单片机原理与应用,11,2RS-42
9、2A接口标准 RS-422A的接口标准是在RS-232C的25个引脚的基础上,增加到了37个引脚,从而在功能上比RS-232C多了10种新功能。它仅使用+5V作为工作电压,同时采用了差动收发方式。差动收发需要一对平衡差分信号线,逻辑“1”和逻辑“0”是由两根信号线之间的电位差来表示的。因此,相比RS-232C的单端收发方式来说,RS-422A在抗干扰性方面得到了明显的增强。 3RS-485A接口标准 RS-485A接口标准跟RS-422A基本上一样,只是RS-485A工作方式是半双工,而RS-422A则是全双工。所以,RS-485A只需要一对平衡差分信号线。RS-485A也采用差动收发的方式,
10、 输出阻抗低,无接地回路,所以抗,7.1.3 串行通信总线标准及其接口 3,2020/7/7,MCS-51单片机原理与应用,12,干扰性也相当好,传输速率可以达到10Mbps。 MCS-51型单片机的接收缓冲器和发送缓冲器在物理上是分开的,可通过访问特殊功能寄存器SBUF来访问UART。接收缓冲器具有双缓冲的功能,即它在接收第一个数据字节后,能接 收笫二个数据字节。 但在接收完第二个字 节后,若笫一个数据字 节还未取走,那么该数 据字节将丢失。MCS- 51型单片机串行口的 结构示意如图7.6。,7.2 串行口的结构与控制7.2.1 串行口的结构 1,2020/7/7,MCS-51单片机原理与
11、应用,13,波特率发生器:提供发送和接收所需的时钟信号,主要由T1、T2及内部一些控制开关和分频器组成。 SBUF:串行口缓冲寄存器,包括发送寄存器和接收寄存器。在逻辑上,SBUF只有一个,同时代表发送和接收寄存器,且具有相同的单元地址99H。在物理上,SBUF其实有两个,通过读写控制访问不同的物理空间。 SCON:串行口控制寄存器,主要用于设置串行口的工作方式和参数。 并-串转换电路:将发送数据转换成串行输出到发送端TXD上。 串-并转换电路:将串行接收到的数据打包成一个8位的并行数据,然后写入到接收缓冲寄存器中。,7.2.1 串行口的结构 2,2020/7/7,MCS-51单片机原理与应用
12、,14,发送TI/接收RI标志:构成了中断请求信号。当串行口工作在中断模式时,该中断请求信号会触发串口中断,使用户程序进入到0023H的串口中断的入口处。 1. 串行口控制寄存器SCON SCON控制:串行通信的方式选择、接收和发送控制及串口标志,可位寻址,字节地址是98H,位地址为9FH98H,寄存器及位地址表示如表7.2所示:,7.2.2串行口的控制 1,2020/7/7,MCS-51单片机原理与应用,15,各位功能的具体说明如下: (1)SM0、SM1:串行口工作方式选择位,其不同组合所对应的工作方式如表7.3。 (2)SM2:多机通信控制位,主要用于方式2和方式3。 工作方式0时,必须
13、设置SM2 = 0。 工作方式1时,若SM2 = 1,则只有在接收到有效停止位时,才使RI置1,以便接收下一帧数据。,7.2.2串行口的控制 2,2020/7/7,MCS-51单片机原理与应用,16,工作方式2和3时,发送设置SM2=1,以发送第9位TB8=1作为地址帧标志,用来寻找从机;以TB8=0作为数据帧标志,进行数据通信。若SM2=0,接收到一帧数据后,不论RB8是0还是1, 都置位RI,接收到的数据装入SBUF中。 (3)REN:允许接收位。REN=1,允许串行接收;REN=0,禁止串行接收。该位由软件置位或复位。 (4)TB8:方式2和方式3中要发送的第9位数据。在多机通信中,该位
14、被用来区分数据帧和地址帧。 (5)RB8:方式2和3中接收到的第9位数据。RB8存放的是接收到的第9位,方式1中接收到的是停止位,方式0不使用该位。,7.2.2串行口的控制 3,2020/7/7,MCS-51单片机原理与应用,17,(6)TI:发送中断标志位。方式0中,发送完第8位后,由硬件置位。在其他方式处于发送停止位时,由硬件置位。TI=1表示该帧发送结束,可通过软件查询TI标志位,或请求中断。TI为必须由软件清零。 (7)RI:接收中断标志位。方式0中,接收完第8位后,由硬件置位。在其他方式接收到停止位时,由硬件置位。RI=1表示该帧接收完毕,可通过软件查询RI标志位,或请求中断。RI必
15、须由软件清零。 系统复位后,SCON寄存器的所有位都被清除。 2. 电源控制寄存器PCON PCON的最高位SMOD与串行口控制有关,其它位与掉电方式有关。PCON寄存器的字节地址为87H,没有位,7.2.2串行口的控制 4,2020/7/7,MCS-51单片机原理与应用,18,地址,其内容如表7.4。在HMOS的单片机中,该寄存器除最高位SMOD外,其他都是虚设的。,7.2.2串行口的控制 5,2020/7/7,MCS-51单片机原理与应用,19,7.3 串行口的工作方式 1,SMOD:串行通信波特率系数控制位。SMOD=1:波特率加倍; SMOD=0:波特率和2SMOD成正比。 系统复位后
16、,SMOD=0。PCON寄存器不能进行位寻址。 MCS-51系列单片机的串行接口有4种工作方式可供选择,由SM0和SM1决定,可通过编程进行设置。 1. 工作方式0 SM0、SM1均为0,为方式0移位寄存器方式。数据的接收和发送都通过RXD引脚进行,TXD引脚输出同步时钟脉冲作为移位寄存器的工作时钟。单片机还可外接移位寄存器来扩展I/O口,也可外接同步输入输出设备。 方式0的数据格式为8位,低位在前,高位在后,波特率是 。,2020/7/7,MCS-51单片机原理与应用,20,方式0的发送过程:首先将数据写入发送SBUF,单片机会自动将数据串行地从RXD引脚发送,每发送1位数据,TXD引脚就会
17、相应地发出一个脉冲信号,频率为晶振频率的1/12,起到一个同步的作用。发送结束时,置位标志位TI,若串口中断是开放的,将向CPU发中断请求。用户可将TI作为发送是否结束的标志。 方式0的接收过程:接收前必须预先设置REN=1(允许,7.3 串行口的工作方式 2,2020/7/7,MCS-51单片机原理与应用,21,接收),此时引脚RXD被设置成数据输入端,接收移位寄存器会将RXD上的数据一位一位的写入串行缓冲器。当8位数据接收完成后,RI被置位1,若中断是开放的,会同时向CPU发中断请求。用户可将RI作为接收是否结束的标志。 2. 工作方式1 SM0=0、SM1=1为方式1。方式1为异步通信方
18、式,数据帧的格式为1个起始位,8个数据位和1个停止位,共10位。,7.3 串行口的工作方式 3,2020/7/7,MCS-51单片机原理与应用,22,7.3 串行口的工作方式 4,起始位为低电平,停止位为高电平, 发送时自动插入。 方式1时TXD引脚为数据发送端,RXD引脚为数据接收端,由定时器T1提供串行通信所需的时钟信号。方式1的波特率与定时器T1的溢出率有关,是波特率可变的工作方式。其计算公式如下: 方式1波特率= 的溢出率= 式中,C0表示定时器T1的计数初值,可以通过给定的波特率计算得到。 方式1的发送时序如图7.8(a)。发送过程:首先执行写SBUF的指令,串行控制器将启动发送进程
19、,依次从TXD引脚发送1位起始位,8位数据位和1位停止位。发,2020/7/7,MCS-51单片机原理与应用,23,送完毕后,置位TI标志,同时向CPU发中断请求。 方式1的接收时序如图7.8(b)。接收过程:当SCON中的REN被设置成1时,CPU会监视RXD引脚状态。当检测到RXD有1变0时,表明收到的是起始位,将启动接收的进程。为了保证接收的准确性,CPU会以波特率16倍的采样频率对RXD引脚进行采样,以保证对每一位的数据采样3次。当至少2次采样的值都相同时,才会被认为是有效数据而移入移位寄存器中。当收到停,7.3 串行口的工作方式 5,2020/7/7,MCS-51单片机原理与应用,2
20、4,止位时,之前收到的8位数据被送入接收SBUF中,停止位被写入RB8位,并置位RI标志。8位数据能否被送入接收SBUF与停止位能否被写入RB8,还要看是否满足: (1)RI = 0,(2)SM2 = 0,或者停止位为1。 上述条件中的任何一个没有得到满足,则接收到的数据会被丢弃,同时RI也不会被置位。 3. 工作方式2,7.3 串行口的工作方式 6,2020/7/7,MCS-51单片机原理与应用,25,7.3 串行口的工作方式 7,SM0 = 1、SM1 = 0为方式2,11位异步通信方式。数据帧的格式为1位起始位(低电平),8位数据位,1位停止位(高电平)组成。发送时的第9位由SCON的T
21、B8提供,接收到的第9位数据写入SCON的RB8位。方式2时: 波特率= 当SMOD=0,波特率= ,当SMOD=1,波特率= 方式2的发送时序如图7.9(a)。发送过程是:当CPU向SBUF写入一数据时,发送过程被启动。8位数据装入SBUF, TB8被写入输出移位寄存器的第9位,从TXD,2020/7/7,MCS-51单片机原理与应用,26,引脚输出1位起始位,8位数据位,1位TB8和1位停止位。发送完1帧数据,硬件置位TI, 向CPU发中断请求。 方式2的接收时序如图7.9(b)。接收过程是:由软件置位REN,启动接收。以所选频率的16倍速率开始采样RXD,当检测到RXD引脚由1到0的跳变
22、,认为收到了1位起始位,准备接收本帧的剩余数据位。当接收到第9位数据位后,接收到的8位数据被写入接收缓冲器SBUF,第9位数据被写入RB8,同时硬件置位RI,并向CPU发中断请求。,7.3 串行口的工作方式 8,2020/7/7,MCS-51单片机原理与应用,27,7.4 串行口的应用 1,同样,上述的接收过程能否完成还要满足以下的条件: (1)RI = 0 (2)SM2 = 0,或者接收到的第9位为1。 上述条件中的任何一个没有得到满足,则接收到的数据会被丢弃,同时RI也不会被置位。 4. 工作方式3 SM0 = 1、SM1 = 1为方式3波特率可变的11位异步通信方式。方式3与方式2相同,
23、仅仅波特率不同。其波特率的计算公式同工作方式1。 波特率= 的溢出率= 1. 扩展I/O口 串口工作方式0是移位寄存器方式,工作在此方式下的,2020/7/7,MCS-51单片机原理与应用,28,串口可以用来实现串行到并行的输出,以及并行到串行的输入,相当于对CPU的I/O口进行了扩展。 串行到并行转换电路如图7.10(a)。将串口设置成方式0,外接一片串入并出的8位同步移位寄存器CD4094。将串行输出引脚RXD接到CD4094的数据串行输入端DATA,移位时钟脉冲的输出引脚TXD接到,7.4 串行口的应用 2,2020/7/7,MCS-51单片机原理与应用,29,CD4094的时钟输入端C
24、LK,用来提供移位脉冲,将数据移入到CD4094中。P1.0引脚接到CD4094的STB引脚,通过软件控制并行口的输出。 并行到串行转换电路如图7.10(b)。将串口设置成方式0,外接一片并入串出8位同步移位寄存器CD4014。将串行输入引脚RXD接到CD4014的数据串行输出端Q8,移位时钟脉冲输出引脚TXD接到CD4014的时钟端CLK,作为移位脉冲,将数据移入到CPU中。P1.0引脚接到CD4014的预置/移位控制端 。当 =1时,数据被并行写入CD4014中,同时串行输出被关闭;当 =0时,串行输出被打开,并行输入被关闭。通过P1.0引脚输出合适的预置/移位控制脉冲,可将数据串行读入。
25、,7.4 串行口的应用 3,2020/7/7,MCS-51单片机原理与应用,30,2. 单片机双机通信 串口方式13都是异步串行通信方式,可用来进行单片机间双机或多机通信、单片机与PC机之间通信。 单片机双机通信一般采用串口工作方式1。方式1数据帧的格式为1个起始位,8个数据位和1个停止位,波特率可变。除了选择串口的工作方式之外,双机通信还要考虑硬件接口电路、软件通信协议、程序设计等环节。 根据双机通信距离的不同,可以选择相应的硬件接口电路。如图7.11(a),对于距 离不超过5米的通信双方可以 利用单片机本身TTL电平将它 们的串口直接连接。,7.4 串行口的应用 4,2020/7/7,MC
26、S-51单片机原理与应用,31,如果通信双方的距离较远,通常采用RS-232C标准电平进行通信连接。通信双方信号需要通过RS-232C电平转换芯片进行转换连接。如图7.11(b),通信双方各使用了一片MAX232A作为RS-232C的电平转换芯片。 构建好硬件连接之后,还需要制定软件通信的协议。通信协议规定了通信双方软件握手的规范,规定了通信波特率,命令帧和数据帧的格式定义。命令帧包括命令定义字、命令长度、命令内容和校验码组成,其中校验 码为命 令字、 命令长,7.4 串行口的应用 5,2020/7/7,MCS-51单片机原理与应用,32,度和命令数据的二进制数的和。表7.5给出了命令帧的格式
27、示例。其中,要给不同的命令帧分配不同的命令字编码。命令内容字段可以根据实际需要进行设置。例如,对于发送请求的命令帧,可以在命令内容字段填入00H;对于通信应答的命令帧,可以填入00H或FFH,用00H代表接收正常,FFH则代表接收出错。发送方在看到应答内容为FFH后,可以重新发送前一帧的数据,直到收到的应答内容为00H。,7.4 串行口的应用 6,2020/7/7,MCS-51单片机原理与应用,33,数据帧的定义与命令帧类似,所不同的是数据帧的字节数一般都是可变的。如表7.6所示,可以根据实际情况来设置数据长度字节。示例程序见教材P.145P.149。 3. 单片机多机通信 单片机的多机通信就
28、是主机与从机间的通信。如图7.12是单片多机系统中最常用的总线型主从式结构。若直接采用TTL电平进行互连,则主机与从机之间的连接距离最好不要超过1米。如果采用不同的通信标,7.4 串行口的应用 7,2020/7/7,MCS-51单片机原理与应用,34,准,还需要进行电平转换,或对信号进行光电隔离。在实际应用中,多机通信常采用RS-422A或RS-485A串行标准总线进行通信。 多机通信时,串口都是工作在方式2或方式3,接收数据会受到SM2位的控制。这是因为在多机通信中,主机向从机发送的信息分地址帧和数据帧两类。地址帧和数据帧通过第9位数据为来区分,该位为0时,表示接收到的是数据帧;反之,则是地
29、址帧。,7.4 串行口的应用 8,2020/7/7,MCS-51单片机原理与应用,35,准,还需要进行电平转换,或对信号进行光电隔离。在实际应用中,多机通信常采用RS-422A或RS-485A串行标准总线进行通信。 多机通信时,串口都是工作在方式2或方式3,接收数据会受到SM2位的控制。这是因为在多机通信中,主机向从机发送的信息分地址帧和数据帧两类。地址帧和数据帧通过第9位数据为来区分,该位为0时,表示接收到的是数据帧;反之,则是地址帧。 当SM2=1时,只有接收到的第9位数据为1时,才将数据送入SBUF中,置位RI,同时申请接收中断。此时接收到的数据将被当作从机的地址,各从机会将此地址与本机
30、地址进行比较,若相符,则将本机的SM2清零,准备接收数据;反之,则保持SM2=1的状态,继续监听主机发 。,7.4 串行口的应用 9,2020/7/7,MCS-51单片机原理与应用,36,送的地址帧。因此,在所有的从机中,只会有一个从机的SM2=0,其他从机的SM2都等于1。 当主机发送数据帧,需要将TB8置为0,以表示该帧为数据帧。虽然所有的从机都能收到主机发送的数据帧,但是只有SM2=0的那台从机才会将数据送入SBUF,与主机进行一对一的通信,其余的从机由于其SM2=1并且RB8=0,而将数据丢弃。由此可见,在任意时刻,只能由主机与某台从机发生通信,从机之间的通信必须通过主机进行中转。 示例程序见教材P.149P.150。 4. 单片机与PC机通信 单片机作为下位机采集所需要数据,而PC机则作为上位机进行数据处理和相应的控制,两者间通过串口通,7.4 串行口的应用 10,2020/7/7,MCS-51单片机原理与应用,37,信来交换信息。单片机与PC机的通信连接多采用RS-232C串行标准。如图7.13给出了采用MC145407芯片作为RS-232C电平转换的单片机与PC机的串行通信接口电路。单片机的TXD和RXD引脚通过电平转换之后,连接到9芯的标准插座,9芯的标准插座则与PC机相连。,7.4 串行口的应用 11,2020/7/7,MCS-5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年滁州职业技术学院单招职业适应性测试题库有答案详细解析
- 2026年云南省保山市高职单招职业技能考试题库及答案详细解析
- 2026年芯片买卖合同
- 2026年养老院管理软件合同
- 2026年度体育场馆环境创造高人一报废合同
- 2025-2026学年春节教案结束环节
- 2025-2026学年初二政治的教学设计
- 2025-2026学年失意的拼音教学设计
- 2025-2026学年散步教学设计简案
- 2025-2026学年多元智力教学设计
- 2025年辽宁卷历史高考试卷(原卷+答案)
- 2025年大兴机场准入考试题库
- 2025年税务局上海面试题及答案
- 二方审核管理办法
- 工厂能耗管理办法
- 2025年城市燃气项目立项申请报告模板
- 北京政务云管理办法
- 残疾等级评定培训课件
- 瑜伽康复墙培训课件
- 学堂在线 雨课堂 学堂云 工程伦理2.0 章节测试答案
- 2025年高中生物学知识竞赛试题及答案
评论
0/150
提交评论