第9章串口及串行通信技术



《第9章串口及串行通信技术》由会员分享,可在线阅读,更多相关《第9章串口及串行通信技术(47页珍藏版)》请在文档大全上搜索。
1、 教学目标教学目标第第9章章 串口及串行通信技术串口及串行通信技术 介绍介绍MCS-51串行通信接口技术串行通信接口技术 学习要求学习要求 掌握单片机串行通信接口的基本功能,了解串行通信接口的掌握单片机串行通信接口的基本功能,了解串行通信接口的一般结构一般结构介绍介绍PC机与单片机间的串行通信接口技术机与单片机间的串行通信接口技术介绍介绍MCS-51单片机之间的串行通信接口技术单片机之间的串行通信接口技术 熟悉单片机串行通信接口,掌握单片机之间的串行通信熟悉单片机串行通信接口,掌握单片机之间的串行通信接口以及接口以及 PC机与单片机间的串行通信接口程序编制机与单片机间的串行通信接口程序编制9.
2、1 MCS-51串行通信接口串行通信接口 MCS-51内部含有一个可编程全双工串行通信接口,具有内部含有一个可编程全双工串行通信接口,具有UART的全部的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。位寄存器使用。 9.1.1 MCS-51串行口的结构串行口的结构 MCS-51系列单片机的串行接口由发送缓冲器、接收缓冲器系列单片机的串行接口由发送缓冲器、接收缓冲器以及两个专以及两个专 用寄存器用寄存器SCON和和PCON组成,占用两条组成,占用两条I/O专线专线(P3.0、P3.1),分别为
3、),分别为RXD和和TXD,从而构成全双工的通信,从而构成全双工的通信方式。两个独立的接收、发送缓冲器方式。两个独立的接收、发送缓冲器SBUF(属于特殊功能寄存(属于特殊功能寄存器)共用一个字节地址(器)共用一个字节地址(99H),一个用来发送;一个用来接),一个用来发送;一个用来接收。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能收。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。写入。 在进行异步通信时,数据的发送和接收分别在各自的时钟在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和和RCLK)控制下进行的,但都必须与字符位数的波)控制下进行的,但都必须与字符位数
4、的波特率保持一致。特率保持一致。MCS-51串行口的发送和接收时钟可由两种方式串行口的发送和接收时钟可由两种方式产生,一种是由主机频率产生,一种是由主机频率fosc经分频后产生,另一种方式是由内经分频后产生,另一种方式是由内部定时器部定时器T1或或T2的溢出率经的溢出率经16分频后提供。分频后提供。 串行口的发送串行口的发送过程由指令过程由指令MOV SBUF,A启动,即启动,即CPU由一由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(发)中,再由硬件电路自动在字符的
5、始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从的控制下,低位在前,高位在后,从TXD端(方式端(方式0除外)一位位地向外发送。除外)一位位地向外发送。 串行口的接收串行口的接收与否受制于允许接收位与否受制于允许接收位REN的状态,当的状态,当REN被被软件置软件置“1”后,允许接收器接收。接收端后,允许接收器接收。接收端RXD一位位地接收数一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移据,直到收到一个完整的字符数据后,控
6、制电路进行最后一次移位,自动去掉启始位,使接收中断标志位,自动去掉启始位,使接收中断标志RI置置“1”,并向,并向CPU申申请中断。请中断。CPU响应中断,用一条指令(响应中断,用一条指令(MOV A,SBUF)把接)把接收缓冲器收缓冲器SBUF(收)的内容读入累加器。(收)的内容读入累加器。 在整个串行收发过程中,在整个串行收发过程中,CPU的操作时间很短,使得的操作时间很短,使得CPU还还可以从事其它的各种操作(指工作在中断方式下),从而大大提可以从事其它的各种操作(指工作在中断方式下),从而大大提高了高了CPU的效率。的效率。 串行口数据缓冲器串行口数据缓冲器SBUF SBUF是两个在物
7、理上独立的接收、发送缓冲器,可同时发是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令,可通过指令对对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。的操作。CPU在写在写SBUF,就是修改发送缓冲器;读,就是修改发送缓冲器;读SBUF,就是,就是读接收缓冲器。串行口对外有两条独立的收发信号线读接收缓冲器。串行口对外有两条独立的收发信号线RXD(P3.0)、)、TXD(P3.1),因此可以同时发送、接收数据,实现),因此可以同时发送、接收
8、数据,实现全双工。全双工。 串行口控制寄存器串行口控制寄存器SCON SCON寄存器用来控制串行口的工作方式和状态,它是一个寄存器用来控制串行口的工作方式和状态,它是一个可按位寻址的特殊功能寄存器。在复位时所有位被清零,其字节可按位寻址的特殊功能寄存器。在复位时所有位被清零,其字节地址为地址为98H。SCON寄存器的寄存器的格式 如下SM0SM1工作方式工作方式000011102113 特殊功能寄存器特殊功能寄存器PCON PCON主要是为主要是为CHMOS型单片机的电源控制设置的专用寄型单片机的电源控制设置的专用寄存器,字节地址为存器,字节地址为87H,不能按位寻址。,不能按位寻址。 9.1
9、.2 9.1.2 MCS-51系列单片机串行接口的工作方式系列单片机串行接口的工作方式 MCS-51的串行口有四种工作方式,它是由的串行口有四种工作方式,它是由SCON中的中的SM1和和SM0来决定来决定可变可变9位位UART方式方式311fosc/32或或fosc/649位位UART方式方式201可变可变8位位UART方式方式110fosc/12同步移位寄存器同步移位寄存器方式方式000波特率波特率功能说明功能说明工作方式工作方式SM1SM01)方式)方式0 串行接口工作方式串行接口工作方式0为同步移位寄存器方式,其波特率是固为同步移位寄存器方式,其波特率是固定为振荡频率定为振荡频率fosc
10、的的1/12。在这种工作方式下,发送和接收串行。在这种工作方式下,发送和接收串行数据都通过数据都通过RXD(P3.0)进行,从)进行,从TXD(P3.1)输出移位脉冲,)输出移位脉冲,控制外部的移位寄存器移位。控制外部的移位寄存器移位。 方式方式0发送发送 数据从数据从RXD引脚串行输出,引脚串行输出,TXD引脚输出同步脉冲。发送引脚输出同步脉冲。发送操作在操作在TI=0的情况下开始,由指令(的情况下开始,由指令(MOV SBUF,A)将一个)将一个数据写入串行口发送缓冲器时启动发送,串行口将数据写入串行口发送缓冲器时启动发送,串行口将8位数据以位数据以fosc/12的固定波特率由低位到高位逐
11、位从的固定波特率由低位到高位逐位从RXD引脚输出,当引脚输出,当8位位数据发送完后,硬件自动置中断标志数据发送完后,硬件自动置中断标志TI为为1,并向,并向CPU请求中断请求中断(若中断已开放),(若中断已开放),CPU响应中断后,先将响应中断后,先将TI清零,再向清零,再向SBUF传送下一个待发送的信息,以继续发送数据。传送下一个待发送的信息,以继续发送数据。 方式方式0接收接收 在满足在满足REN=1和和RI=0的条件下,串行口处于方式的条件下,串行口处于方式0输入。输入。此时,此时,RXD为数据输入端,为数据输入端,TXD为同步信号输出端,接收器也为同步信号输出端,接收器也以以fosc/