增强型8051单片机的串行口

上传人:hs****ma 文档编号:591904595 上传时间:2024-09-18 格式:PPT 页数:59 大小:4.08MB
返回 下载 相关 举报
增强型8051单片机的串行口_第1页
第1页 / 共59页
增强型8051单片机的串行口_第2页
第2页 / 共59页
增强型8051单片机的串行口_第3页
第3页 / 共59页
增强型8051单片机的串行口_第4页
第4页 / 共59页
增强型8051单片机的串行口_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《增强型8051单片机的串行口》由会员分享,可在线阅读,更多相关《增强型8051单片机的串行口(59页珍藏版)》请在金锄头文库上搜索。

1、增强型8051单片机原理与应用增强型8051单片机的串行口单片机的串行口增强型8051单片机原理与应用目 录1 串行通信基础串行通信基础2 STC11F08XE单片机的串行接口单片机的串行接口 3 STC11F08XE单片机与单片机与PC机的通信机的通信4 STC11F08XE单片机串行口的扩展功能单片机串行口的扩展功能增强型8051单片机原理与应用1 串行通信基础 通信是人们传递信息的方式。计算机通信是将计算机计术和通信通信是人们传递信息的方式。计算机通信是将计算机计术和通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息交技术相结合,完成计算机与外部设备或计算机与计算机之间的信息

2、交换。这种信息交换可分为两种方式:并行通信与串行通信。换。这种信息交换可分为两种方式:并行通信与串行通信。 并行通信是将数据字节的各位用多条数据限同时进行传送,如图并行通信是将数据字节的各位用多条数据限同时进行传送,如图1(a)所示。并行通信的特点是:控制简单,传送速度快。但由于传输所示。并行通信的特点是:控制简单,传送速度快。但由于传输线较多,长距离传送时成本较高,因此仅适用于短距离传送线较多,长距离传送时成本较高,因此仅适用于短距离传送 。 串行通信是将数据字节分成一位一位的形式在一条传输线上逐个串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送,如图地传送,如图8.1(b)所

3、示。并行通信的特点是:传送速度慢。但传输所示。并行通信的特点是:传送速度慢。但传输线少,长距离传送时成本较低,因此,串行通信适用于长距离传送。线少,长距离传送时成本较低,因此,串行通信适用于长距离传送。 增强型8051单片机原理与应用1 串行通信基础 1. 串行通信的分类串行通信的分类(1)异步通信()异步通信(Asynchronous Communication) 在异步通信中,数据通常是以字符(或字节)为单位组成字符帧传送的。字符帧由发在异步通信中,数据通常是以字符(或字节)为单位组成字符帧传送的。字符帧由发送送端一帧一帧地发送,通过传输线为接收设备一帧一帧地接收。发送端和接收端可以有端一

4、帧一帧地发送,通过传输线为接收设备一帧一帧地接收。发送端和接收端可以有各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。在异步通各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。在异步通信中,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来信中,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位。作为分隔位。1)字符帧()字符帧(Character Frame)字符帧也叫数据帧,由起始位、数据位(纯数据或数据加校验位)和停止位等三部分字符帧也叫数据帧,由起始位、数据位(纯数据或数据加校验位)和停止位等三部分组成组成

5、 增强型8051单片机原理与应用1 串行通信基础 2)波特率()波特率(baud rate)异步通信的另一个重要指标为波特率。异步通信的另一个重要指标为波特率。 波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为bit/s,即位,即位/秒。波特率用于表征数据传输的速度,波特率越高,数秒。波特率用于表征数据传输的速度,波特率越高,数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,而波特率和字符帧格式有关。传输速率是每秒内所传字符帧的帧

6、数,而波特率和字符帧格式有关。例如,波特率为例如,波特率为1200bps的通信系统,若采用图的通信系统,若采用图8.2(a)的字符帧)的字符帧(每一字符帧包含数据位(每一字符帧包含数据位11位),则字符的实际传输速率为位),则字符的实际传输速率为 120011=109.09帧秒;若改用图帧秒;若改用图8.2(b)的字符帧(每一字符帧包含数)的字符帧(每一字符帧包含数据位据位14位),则字符的实际传输速率为位),则字符的实际传输速率为120014=85.71帧秒。帧秒。 增强型8051单片机原理与应用1 串行通信基础 (2) 同步通信(同步通信(Synchronous Communication

7、) 同步通信是一种连续串行传送数据的通信方式,一次同步通信是一种连续串行传送数据的通信方式,一次通信传输一组数据(包含若干个字符数据)。同步通信时通信传输一组数据(包含若干个字符数据)。同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。在发送数据前先要发送同步字符,再连续地发完全同步。在发送数据前先要发送同步字符,再连续地发送数据。有单同步字符和双同步字符字符帧之分,如图送数据。有单同步字符和双同步字符字符帧之分,如图8.3 (a)和图)和图8.3 (b)所示。同步通信的字符帧结构,)所示。同步通信的字符帧结构,是由同步字符

8、、数据字符和校验字符是由同步字符、数据字符和校验字符CRC三部分组成。三部分组成。在同步通信中,同步字符可以采用统一的标准格式,也可在同步通信中,同步字符可以采用统一的标准格式,也可以由用户约定。以由用户约定。 增强型8051单片机原理与应用1 串行通信基础 1. 串行通信的分类串行通信的分类2. 串行通信的传输方向串行通信的传输方向在串行通信中数据是在两个站之间进行传送的,按照数据传送方向及在串行通信中数据是在两个站之间进行传送的,按照数据传送方向及时间关系,串行通信可分为单工(时间关系,串行通信可分为单工(simplex)、半双工()、半双工(half duplex)和全双工()和全双工(

9、full duplex)三种制式,如图)三种制式,如图8.4所示。所示。增强型8051单片机原理与应用2 STC11F08XE单片机的串行接口2.1 串行口结构串行口结构2.2 串行口的控制寄存器串行口的控制寄存器2.3 串行口的工作方式串行口的工作方式2.4 串行口的波特率串行口的波特率2.5 串行口的应用举例串行口的应用举例增强型8051单片机原理与应用2.1 串行口结构 STC11F08XE单片机内部有两个独立的接收、发送缓冲单片机内部有两个独立的接收、发送缓冲器器SBUF,SBUF属于特殊功能寄存器。发送缓冲器只能属于特殊功能寄存器。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写

10、入,二者共用写入不能读出,接收缓冲器只能读出不能写入,二者共用一个字节地址(一个字节地址(99H)。串行口的结构如图)。串行口的结构如图8.5所示。所示。增强型8051单片机原理与应用2.2 串行口的控制寄存器 1. 串行控制寄存器串行控制寄存器SCON串行控制寄存器串行控制寄存器SCON用于设定串行口的工作方式、接用于设定串行口的工作方式、接收控制以及设置状态标志。字节地址为收控制以及设置状态标志。字节地址为98H,可进行位,可进行位寻址,单片机复位时,所有位全为寻址,单片机复位时,所有位全为0。 地址B7B6B5B4B3B2B1B0复位值SCON98HSM0/FESM1SM2RENTB8R

11、B8TIRI0000 0000增强型8051单片机原理与应用2.2 串行口的控制寄存器 2. 电源及波特率选择寄存器电源及波特率选择寄存器PCONPCON主要是单片机的电源控制而设置的专用寄存器,主要是单片机的电源控制而设置的专用寄存器,不可以位寻址,字节地址为不可以位寻址,字节地址为87H,复位值为,复位值为30H。其中。其中SMOD、SMOD0与串口控制有关与串口控制有关 。 PCON地址B7B6B5B4B3B2B1B0复位值87HSMODSMOD0LVDFPOFGF1GF0PDIDL0011 0000 增强型8051单片机原理与应用2.2 串行口的控制寄存器 3. 辅助寄存器辅助寄存器A

12、UXR的的UART_M0x6 辅助寄存器辅助寄存器AUXR的格式如下所示,其中只有的格式如下所示,其中只有UART_M0x6、T1x12与串口有关。与串口有关。地址B7B6B5B4B3B2B1B0复位值AUXR 8EHT0x12T1x12UART_M0x6BRTRBRTx12XRAMS1BRS0000 x000增强型8051单片机原理与应用2.3 串行口的工作方式 1. 方式方式0在方式在方式0下,串行口作同步移位寄存器用,其波特率为下,串行口作同步移位寄存器用,其波特率为fosc/12(UART_M0x6为为0时)或时)或fosc/2(UART_M0x6为为1时)。串时)。串行数据从行数据从

13、RXD(P3.0)端输入或输出)端输入或输出,同步移位脉冲由同步移位脉冲由TXD(P3.1)送出。送出。这种方式常用于扩展这种方式常用于扩展I/O口。口。 1)发送)发送当当TI=0,一个数据写入串行口发送缓冲器,一个数据写入串行口发送缓冲器SBUF时,串行口将时,串行口将8位数据位数据以以fosc/12或或fosc/2的波特率从的波特率从RXD引脚输出(低位在前),发送完毕引脚输出(低位在前),发送完毕置位中断标志置位中断标志TI,并向,并向CPU请求中断。在再次发送数据之前,必须由请求中断。在再次发送数据之前,必须由软件清零软件清零TI标志。方式标志。方式0发送时序如图发送时序如图8.6所

14、示。所示。 增强型8051单片机原理与应用2.3 串行口的工作方式 1. 方式方式01)发送)发送方式方式0发送时,串行口可以外接串行输入并行输出的移位寄存器,如发送时,串行口可以外接串行输入并行输出的移位寄存器,如74LS164、CD4094等芯片,用来扩展并行输出口,其逻辑电路如图等芯片,用来扩展并行输出口,其逻辑电路如图8.7所示。所示。 增强型8051单片机原理与应用2.3 串行口的工作方式 1. 方式方式02)接收)接收当当RI=0时,置位时,置位REN,串行口即开始从,串行口即开始从RXD端以端以fosc/12或或fosc/2的波特率输入数据(低位在前),当接收完的波特率输入数据(

15、低位在前),当接收完8位数据后,位数据后,置位中断标志置位中断标志RI,并向,并向CPU请求中断。在再次接收数据之前,请求中断。在再次接收数据之前,必须由软件清零必须由软件清零RI标志。方式标志。方式0接收时序如图接收时序如图8.8所示。所示。 增强型8051单片机原理与应用2.3 串行口的工作方式 1. 方式方式02)接收)接收方式方式0接收时,串行口可以外接并行输入串行输出的移位寄存器,接收时,串行口可以外接并行输入串行输出的移位寄存器,如如74LS165芯片,用来扩展并行输入口,其逻辑电路如图芯片,用来扩展并行输入口,其逻辑电路如图9.9所所示。示。 增强型8051单片机原理与应用2.3

16、 串行口的工作方式 2 方式方式1串行口工作在方式串行口工作在方式1下时,串行口为波特率可调的下时,串行口为波特率可调的10位通用异步位通用异步接口接口UART,发送或接收一帧信息,包括,发送或接收一帧信息,包括1位起始位(位起始位(0),),8位位数据位和数据位和1位停止位(位停止位(1)。其帧格式如图)。其帧格式如图8.10所示所示 增强型8051单片机原理与应用2.3 串行口的工作方式 2 方式方式11)发送)发送 当(当(TI)=0时,数据写入发送缓冲器时,数据写入发送缓冲器SBUF后,就启动了串行口发送后,就启动了串行口发送过程。在发送移位时钟的同步下,从过程。在发送移位时钟的同步下

17、,从TXD引脚先送出起始位,然后是引脚先送出起始位,然后是8位数据位,最后是停止位。一帧位数据位,最后是停止位。一帧10位数据发送完后,中断标志位数据发送完后,中断标志TI置置1。方式方式1的发送时序如图的发送时序如图8.11所示。方式所示。方式1数据传输的波特率取决于定时数据传输的波特率取决于定时器器T1的溢出率和的溢出率和PCON中的中的SMOD位。位。 增强型8051单片机原理与应用2.3 串行口的工作方式 2 方式方式12)接收)接收 当当RI0时,置位时,置位REN,启动串行口接收过程。当检测到,启动串行口接收过程。当检测到RXD引脚输入电平发引脚输入电平发生负跳变时,接收器以所选择

18、波特率的生负跳变时,接收器以所选择波特率的16倍速率采样倍速率采样RXD引脚电平,以引脚电平,以16个脉个脉冲中的冲中的7、8、9三个脉冲为采样点,取两个或两个以上相同值为采样电平,若检三个脉冲为采样点,取两个或两个以上相同值为采样电平,若检测电平为低电平,则说明起始位有效,并以同样的检测方法接收这一帧信息的测电平为低电平,则说明起始位有效,并以同样的检测方法接收这一帧信息的其余位。接收过程中,其余位。接收过程中,8位数据装入接收位数据装入接收SBUF,接收到停止位时,置位接收到停止位时,置位RI,向,向CPU请求中断。方式请求中断。方式1的接收时序如图的接收时序如图8.12所示。所示。增强型

19、8051单片机原理与应用2.3 串行口的工作方式 (3)方式)方式2和方式和方式3串行口工作在方式串行口工作在方式2和方式和方式3时,串行口为时,串行口为11位位UART。一帧数。一帧数据包括据包括1位起始位(位起始位(0),8位数据位,位数据位,1位可编程位位可编程位(如用于奇偶如用于奇偶校验校验)和和1位停止位(位停止位(1),其帧格式如图),其帧格式如图8.13所示。方式所示。方式2与方与方式式3的区别在于波特率的设置方法不同,方式的区别在于波特率的设置方法不同,方式2的波特率为的波特率为fosc/64(SMOD为为0)或)或fosc/32(SMOD为为1);方式);方式3数据传数据传输

20、的波特率取决于定时器输的波特率取决于定时器T1的溢出率和的溢出率和SMOD控制位。控制位。 增强型8051单片机原理与应用2.3 串行口的工作方式 (3)方式)方式2和方式和方式31)发送)发送发送前,先根据通信协议由软件设置好发送前,先根据通信协议由软件设置好TB8。当(。当(TI)0时,用指令将要发送时,用指令将要发送的数据写入的数据写入SBUF,则启动发送器的发送过程。在发送移位时钟的同步下,从,则启动发送器的发送过程。在发送移位时钟的同步下,从TXD引脚先送出起始位,依次是引脚先送出起始位,依次是8位数据位和位数据位和TB8,最后是停止位。一帧,最后是停止位。一帧11位数位数据发送完毕

21、后,置位中断标志据发送完毕后,置位中断标志TI,并向,并向CPU发出中断请求。在发送下一帧信息发出中断请求。在发送下一帧信息之前,之前,TI必须由中断服务程序或查询程序清必须由中断服务程序或查询程序清0。方式方式2和方式和方式3的发送时序如图的发送时序如图8.14所示。所示。 增强型8051单片机原理与应用2.3 串行口的工作方式 (3)方式)方式2和方式和方式32)接收)接收 当当RI0时,置位时,置位REN,启动串行口接收过程。当检测到,启动串行口接收过程。当检测到RXD引脚输入电平发引脚输入电平发生负跳变时,接收器以所选择波特率的生负跳变时,接收器以所选择波特率的16倍速率采样倍速率采样

22、RXD引脚电平,以引脚电平,以16个脉个脉冲中的冲中的7、8、9三个脉冲为采样点,取两个或两个以上相同值为采样电平,若检三个脉冲为采样点,取两个或两个以上相同值为采样电平,若检测电平为低电平,则说明起始位有效,并以同样的检测方法接收这一帧信息的测电平为低电平,则说明起始位有效,并以同样的检测方法接收这一帧信息的其余位。接收过程中,其余位。接收过程中,8位数据装入接收位数据装入接收SBUF,第第9位数据装入位数据装入RB8,接收到停,接收到停止位时,若止位时,若SM20或或SM2、且接收到的、且接收到的RB81,则置位,则置位RI,向,向CPU请求中请求中断;否则不置位断;否则不置位RI标志,接

23、收数据丢失。方式标志,接收数据丢失。方式2和方式和方式3的接收时序如图的接收时序如图8.15所所示。示。 增强型8051单片机原理与应用2.4 串行口的波特率(1) 方式方式0和方式和方式2在方式在方式0中,波特率为中,波特率为fSYS/12(UART_M0x6为为0时)或时)或fSYS/2(UART_M0x6为为1时)。时)。 在方式在方式2中,波特率取决于中,波特率取决于PCON中的中的SMOD值,当值,当(SMOD)=0时,波特率为时,波特率为fSYS/64;当(;当(SMOD)=1时,波时,波特率为特率为fSYS/32。 即波特率即波特率= 增强型8051单片机原理与应用2.4 串行口

24、的波特率(2)方式)方式1和方式和方式3 在方式在方式1和方式和方式3下,波特率由定时器下,波特率由定时器T1的溢出率和的溢出率和SMOD共同共同决定。决定。 即波特率即波特率= 溢出率溢出率增强型8051单片机原理与应用2.5 串行口的应用举例 1.方式方式0的编程和应用的编程和应用 例例8.2 使用使用2块块7474HC595芯片扩展芯片扩展16位并行口,外接位并行口,外接16只发只发光二极管,电路连接图见图光二极管,电路连接图见图8.16所示。利用它的串入并出功能,所示。利用它的串入并出功能,把发光二极管从右向左依次点亮,并不断循环之(把发光二极管从右向左依次点亮,并不断循环之(16位流

25、水灯)位流水灯) 增强型8051单片机原理与应用2.5 串行口的应用举例 1.方式方式0的编程和应用的编程和应用 设设16位流水灯数据存放在位流水灯数据存放在R2和和R3中,汇编参考程序如下:中,汇编参考程序如下:MOV SCON,#00H ;设置串行口为同步移位寄存器方式;设置串行口为同步移位寄存器方式 CLR ES ;禁止串口中断;禁止串口中断 CLR P1.0 SETB C MOV R2, #0FFH ;设置流水灯初始数据;设置流水灯初始数据 MOV R3,#0FEH ;设置最右边的;设置最右边的LED灯亮灯亮 MOV R4, #16 增强型8051单片机原理与应用2.5 串行口的应用举

26、例 LOOP: MOV A, R3 MOV SBUF,A ;启动串行发送;启动串行发送 JNB TI,$ ;等待发送结束信号;等待发送结束信号 CLR TI ;清除;清除TI标志,为下一字节发送做准备标志,为下一字节发送做准备 MOV A, R2 MOV SBUF,A ;启动串行发送;启动串行发送 JNB TI,$ ;等待发送结束信号;等待发送结束信号 CLR TI ;清除;清除TI标志,为下一次发送做准备标志,为下一次发送做准备 SETB P1.0 ;移位寄存器数据送存储锁存器;移位寄存器数据送存储锁存器增强型8051单片机原理与应用2.5 串行口的应用举例 NOP CLR P1.0 MOV

27、 A, R3 ;16位流水灯数据位流水灯数据 RLC A MOV R3, A MOV A, R2 RLC A MOV R2, A LCALL DELAY ;插入轮显间隔;插入轮显间隔 DJNZ R4, LOOP1 SETB C MOV R2, #0FFH ;设置流水灯初始数据;设置流水灯初始数据 MOV R3,#0FEH ;设置最右边的;设置最右边的LED灯亮灯亮 MOV R4, #16LOOP1: SJMP LOOP ;循环;循环增强型8051单片机原理与应用2.5 串行口的应用举例 1.方式方式0的编程和应用的编程和应用 例例8.2 使用使用2块块7474HC595芯片扩展芯片扩展16位并

28、行口,外接位并行口,外接16只发只发光二极管,电路连接图见图光二极管,电路连接图见图8.16所示。利用它的串入并出功能,所示。利用它的串入并出功能,把发光二极管从右向左依次点亮,并不断循环之(把发光二极管从右向左依次点亮,并不断循环之(16位流水灯)位流水灯) 增强型8051单片机原理与应用2.5 串行口的应用举例 2. 双机通信双机通信例例8.3 编制程序,使甲、乙双方单片机能够进行通信。要求:编制程序,使甲、乙双方单片机能够进行通信。要求:将甲机内部将甲机内部RAM20H27H单元的数据依次发送给乙机,并实单元的数据依次发送给乙机,并实时显示发送数据;乙机接收后存放在内部时显示发送数据;乙

29、机接收后存放在内部RAM70H77H中,中,并实时显示接收到的数据。发送、接收双方均采用并实时显示接收到的数据。发送、接收双方均采用LED灯显示,灯显示,低电平驱动。低电平驱动。(1)甲机发送程序)甲机发送程序 汇编语言参考程序如下:汇编语言参考程序如下: ORG 0000H MOV TMOD,#20H ;设置定时器;设置定时器T1,设置串行口的波特率,设置串行口的波特率 MOV TL1,#0F4H MOV TH1,#0F4H SETB TR1 增强型8051单片机原理与应用2.5 串行口的应用举例 MOV SCON,#40H ;设置串行口工作在方式;设置串行口工作在方式1 MOV R0,#2

30、0H ;设置串行发送缓冲区首址;设置串行发送缓冲区首址 MOV R7,#08H ;设置串行发送的字节数;设置串行发送的字节数START: MOV A,R0 ;取发送数据;取发送数据 MOV SBUF, A ;启动串行发送;启动串行发送 MOV P1,A ;实时显示发送数据;实时显示发送数据Check_TI: JBC TI, UART_Byte_Send_End ;查询串行发送结束标志;查询串行发送结束标志 AJMP Check_TI UART_Byte_Send_End : INC R0 ;数据指针指向下一个发送数据;数据指针指向下一个发送数据 MOV R3, #05H ;设置串行发送间隔;设

31、置串行发送间隔 LCALL DELAY DJNZ R7,START ;判断串行发送是否结束;判断串行发送是否结束 SJMP $ 增强型8051单片机原理与应用2.5 串行口的应用举例 DELAY: MOV R4, #100 ;延时子程序,延时时间(;延时子程序,延时时间(R3)10msDELAY1: MOV R5, #200DELAY2: NOP NOP DJNZ R5, DELAY2 DJNZ R4, DELAY1 DJNZ R3, DELAY RET END增强型8051单片机原理与应用2.5 串行口的应用举例 C51参考程序如下:参考程序如下:#include unsigned char

32、 bdata inter_ram8=0,1,2,3,4,5,6,7; 设置发设置发送数据送数据/*-延时子函数延时子函数-*/void delay(unsigned char i) unsigned char x,y,z; /延时函数,大约延时函数,大约1ms for(z = i; z0; z-)for(y = 11; y0; y-)for(x = 195; x0; x-);增强型8051单片机原理与应用2.5 串行口的应用举例 /*-主函数主函数-*/void main(void)unsigned char count;serial_initial(); for(count = 0; cou

33、nt8; count+)/把指定片内把指定片内RAM数值发送数值发送到目标单片机到目标单片机 Send_Byte(inter_ramcount); delay(200); /发送间隔,以便看清楚数据发送间隔,以便看清楚数据while(1);增强型8051单片机原理与应用2.5 串行口的应用举例 2. 双机通信双机通信(2)乙机接收程序)乙机接收程序 汇编语言参考程序如下:汇编语言参考程序如下:ORG 0000H MOV TMOD,#20H ;设置定时器;设置定时器T1,设置串行口的波特率,设置串行口的波特率 MOV TL1,#0F4H MOV TH1,#0F4H SETB TR1 MOV SC

34、ON,#40H ;设置串行口的工作的工作方式;设置串行口的工作的工作方式 MOV R0,#70H ;设置串行接收缓冲区首址;设置串行接收缓冲区首址 MOV R7,#08H ;设置串行接收的字节数;设置串行接收的字节数 SETB REN ;启动串行接收;启动串行接收增强型8051单片机原理与应用2.5 串行口的应用举例 Check_RI: JBC RI, UART_Byte_Receive_End ;查询串行接收结;查询串行接收结束标志束标志 AJMP Check_RI UART_Byte_Receive_End : MOV A, SBUF ;取串行接收数据;取串行接收数据 MOV R0, A

35、;存串行接收数据;存串行接收数据 CPL A MOV P0, A ;串行接收数据送显示;串行接收数据送显示 INC R0 DJNZ R7, Check_RI ;判断串行发送是否结束;判断串行发送是否结束 SJMP $ END增强型8051单片机原理与应用2.5 串行口的应用举例 C51参考程序如下:参考程序如下:#include #include unsigned char xdata recdata8; /定义接收存储数组定义接收存储数组unsigned char *mydata;/*-串行口中断子函数串行口中断子函数-*/void serial_initial(void) /串口初始化程序

36、串口初始化程序TMOD=0x20; /实用实用8位定时器,自动重装计数值位定时器,自动重装计数值TH1=0xf4;TL1=0xf4; /设置设置TH1和和TL1为为0xf4,波特率是波特率是2400TR1=1;SCON=0x40; /设定串口为方式设定串口为方式1REN=1;/允许串行接收数据允许串行接收数据增强型8051单片机原理与应用2.5 串行口的应用举例 /*-主函数主函数-*/void main(void)unsigned char i; serial_initial(); /调用串口初始化函数调用串口初始化函数 mydata=recdata; for(i = 0; i8; i+)

37、while(RI=0); RI=0; /清空接收标志清空接收标志 *mydata=SBUF; /存储接收数据存储接收数据 P1=SBUF; /送往送往P1口显示口显示 mydata+ /指向下一个存储单元指向下一个存储单元 增强型8051单片机原理与应用2.5 串行口的应用举例 _nop_();_nop_();_nop_(); while(1);增强型8051单片机原理与应用2.5 串行口的应用举例 3. 多机通信多机通信MCS-51串行口的方式串行口的方式2和方式和方式3有一个专门的应用领域,即多有一个专门的应用领域,即多机通信。这一功能通常采用主从式多机通信方式,在这种方式机通信。这一功能

38、通常采用主从式多机通信方式,在这种方式中,用一台主机和多台从机。主机发送的信息可以传送到各个中,用一台主机和多台从机。主机发送的信息可以传送到各个从机或指定的从机,各从机发送的信息只能被主机接收,从机从机或指定的从机,各从机发送的信息只能被主机接收,从机与从机之间不能进行通信。图与从机之间不能进行通信。图8.19是多机通信的连接示意图。是多机通信的连接示意图。 增强型8051单片机原理与应用2.5 串行口的应用举例 3. 多机通信多机通信多机通信的实现,主要依靠主、从机之间正确地设置与判断多机通信的实现,主要依靠主、从机之间正确地设置与判断SM2和发送或接收的第和发送或接收的第9位数据来(位数

39、据来(TB8或或RB8)完成的。在单)完成的。在单片机串行口以方式片机串行口以方式2或方式或方式3接收时,有两种情况:接收时,有两种情况:(1)若)若SM2=1,表示置多机通信功能位,当接收到的第,表示置多机通信功能位,当接收到的第9位数位数据(据(RB8)为)为1时,会置位时,会置位RI=1标志,向标志,向CPU发中断请求;当发中断请求;当接收到第接收到第9位数据为位数据为0,即不会置位,即不会置位RI=1标志,不产生中断,信标志,不产生中断,信息将被丢失,即不能接收数据。息将被丢失,即不能接收数据。(2)若)若SM2=0,则接收到的第,则接收到的第9位信息无论是位信息无论是1还是还是0,都

40、会置,都会置位位RI中断标志,即接收数据。中断标志,即接收数据。 增强型8051单片机原理与应用2.5 串行口的应用举例 3. 多机通信多机通信多机通信的过程简述如下:多机通信的过程简述如下:(1)主机发送一帧地址信息,与所需的从机联络。主机应置)主机发送一帧地址信息,与所需的从机联络。主机应置TB8为为1,表示发送的是地址帧。例如:,表示发送的是地址帧。例如:MOV SCON,#0D8H ;设串行口为方式;设串行口为方式3,TB8=1,允许接,允许接收。收。(2)所有从机的)所有从机的SM2=1,处于准备接收一帧地址信息的状态。,处于准备接收一帧地址信息的状态。例如:例如:MOV SCON,

41、#0F0H ;设串行口为方式;设串行口为方式3,SM2=1,允许接,允许接收。收。增强型8051单片机原理与应用2.5 串行口的应用举例 3. 多机通信多机通信(3)各从机接收到地址信息,因为)各从机接收到地址信息,因为RB8=1,则置中断标志,则置中断标志RI。中断后,首先判断主机送过来的地址信息与自己的地址是否相中断后,首先判断主机送过来的地址信息与自己的地址是否相符。对于地址相符的从机,置符。对于地址相符的从机,置SM2=0,以接收主机随后发来的,以接收主机随后发来的所有信息。对于地址不相符的从机,保持所有信息。对于地址不相符的从机,保持SM2=1的状态,对主的状态,对主机随后发来的信息

42、不理睬,直到发送新的一帧地址信息。机随后发来的信息不理睬,直到发送新的一帧地址信息。(4)主机发送控制指令和数据信息给被寻址的从机。其中主机)主机发送控制指令和数据信息给被寻址的从机。其中主机置置TB8为为0,表示发送的是数据或控制指令。对于没选中的从机,表示发送的是数据或控制指令。对于没选中的从机,因为因为SM2=1,RB8=0,所以不会产生中断,对主机发送的信息,所以不会产生中断,对主机发送的信息不接收。不接收。增强型8051单片机原理与应用3 STC11F08XE单片机与PC机的通信 3.1 串行通信总线标准及其接口串行通信总线标准及其接口 3.2 单片机与单片机与PC机串行通信的接口设

43、计机串行通信的接口设计3.3 单片机与单片机与PC机串行通信的程序设计机串行通信的程序设计 增强型8051单片机原理与应用3.1 串行通信总线标准及其接口 1. RS-232C接口接口 RS-232C是使用最早、应用最多的一种异步串行通信总线标准。是使用最早、应用最多的一种异步串行通信总线标准。它是美国电子工业协会(它是美国电子工业协会(EIA)1962年公布、年公布、1969年最后修定年最后修定而成的。其中而成的。其中RS表示表示Recommended Standard,232是该标是该标准的标识号,准的标识号,C表示最后一次修定。表示最后一次修定。 (1)RS-232C信息格式标准信息格式

44、标准RS-232C采用串行格式,如图采用串行格式,如图8.21所示。该标准规定所示。该标准规定:信息的开信息的开始为起始位始为起始位,信息的结束为停止位信息的结束为停止位;信息本身可以是信息本身可以是5、6、7、8位再加一位奇偶位。如果两个信息之间无信息,则写位再加一位奇偶位。如果两个信息之间无信息,则写“1”,表,表示空。示空。增强型8051单片机原理与应用3.1 串行通信总线标准及其接口 1. RS-232C接口接口 (2)RS-232C电平转换器电平转换器RS-232C规定了自己的电气标准,由于它是在规定了自己的电气标准,由于它是在TTL电路之前研电路之前研制的,所以它的电平不是制的,所

45、以它的电平不是+5V和地,而是采用负逻辑,即:和地,而是采用负逻辑,即:逻辑逻辑“0”:+5V+15V逻辑逻辑“1”:-5V-15V因此,因此,RS-232C不能和不能和TTL电平直接相连,使用时必须进行电电平直接相连,使用时必须进行电平转换,否则将使平转换,否则将使TTL电路烧坏,实际应用时必须注意!电路烧坏,实际应用时必须注意! 增强型8051单片机原理与应用3.1 串行通信总线标准及其接口 1. RS-232C接口接口 (3)RS-232C总线规定总线规定RS-232C标准总线为标准总线为25根,使用根,使用25个引脚的连接器,各信个引脚的连接器,各信号引脚的定义如表号引脚的定义如表8.

46、3所示。所示。增强型8051单片机原理与应用3.1 串行通信总线标准及其接口 2. RS-449、RS-422A、RS-423A、RS-485标准接口标准接口 (1)RS-449标准接口标准接口RS-449是是1977年公布的标准接口,在很多方面可以代替年公布的标准接口,在很多方面可以代替RS-232C使用,两者的主要差别在于信号在导线上的传输方法不同。使用,两者的主要差别在于信号在导线上的传输方法不同。RS-232C是利用传输信号与公共地的电压差,是利用传输信号与公共地的电压差,RS-449是利用信是利用信号导线之间的信号电压差,可在号导线之间的信号电压差,可在1219.2m的的24-AWG

47、双铰线上双铰线上进行数字通信。进行数字通信。RS-449规定了两种接口标准连接器,一种为规定了两种接口标准连接器,一种为37脚,一种为脚。脚,一种为脚。RS-449可以不使用调制解调器,它比可以不使用调制解调器,它比RS-232C传输速率高,通传输速率高,通信距离长,且由于信距离长,且由于RS-449系统用平衡信号差传输高速信号,所系统用平衡信号差传输高速信号,所以噪声低,又可以多点或者使用公共线通信,故以噪声低,又可以多点或者使用公共线通信,故RS-449通信电通信电缆可与多个设备并联。缆可与多个设备并联。 增强型8051单片机原理与应用3.1 串行通信总线标准及其接口 2. RS-449、

48、RS-422A、RS-423A、RS-485标准接口标准接口 (2)RS-422A、RS-423A标准接口标准接口RS-422A文本给出了文本给出了RS-449中对于通信电缆、驱动器和接收器中对于通信电缆、驱动器和接收器的要求,规定双端电气接口形式,其标准是双端线传送信号。的要求,规定双端电气接口形式,其标准是双端线传送信号。它具体通过传输线驱动器,将逻辑电平变换成电位差,完成发它具体通过传输线驱动器,将逻辑电平变换成电位差,完成发送端的信息传递;通过传输线接收器,把电位差变换成逻辑电送端的信息传递;通过传输线接收器,把电位差变换成逻辑电平,完成接收端的信息接收。平,完成接收端的信息接收。RS

49、-422A比比RS-232C传输距离长、传输距离长、速度快,传输速率最大可达速度快,传输速率最大可达10Mbit/s,在此速率下电缆的允许,在此速率下电缆的允许长度为长度为12m,如果采用低速率传输,最大距离可达,如果采用低速率传输,最大距离可达1200m。RS-422A和和TTL进行电平转换最常用的芯片是传输线驱动器进行电平转换最常用的芯片是传输线驱动器SN75174和传输线接收器和传输线接收器SN75175,这两种芯片的设计都符合,这两种芯片的设计都符合EIA标准标准RS-422A,采用,采用+5V电源供电。电源供电。 增强型8051单片机原理与应用3.1 串行通信总线标准及其接口 2.

50、RS-449、RS-422A、RS-423A、RS-485标准接口标准接口 (3)RS-485接口接口 RS-485接口是接口是RS-422A的变形:的变形:RS-422A用于全双工,而用于全双工,而RS-485用于半双工。用于半双工。RS-485是一种多发送器标准,在通信线是一种多发送器标准,在通信线路最多可以使用路最多可以使用32对差分驱动器对差分驱动器/接收器。接收器。 RS-485的信号传输采用两线间的电压来表示逻辑的信号传输采用两线间的电压来表示逻辑1和逻辑和逻辑0,RS485采用差分信号负逻辑,采用差分信号负逻辑,2V6V表示表示“0”,- 6V- 2V表示表示“1”。传输线采用差

51、动信道,抗干扰性好,又因为。传输线采用差动信道,抗干扰性好,又因为它的阻抗低,无接地问题,所以传输距离可达它的阻抗低,无接地问题,所以传输距离可达1200m,传输距,传输距离可达离可达1Mbps。增强型8051单片机原理与应用3.2 单片机与PC机串行通信的接口设计 PC机和单片机进行串行通信的硬件连接,最简单的连接是零调机和单片机进行串行通信的硬件连接,最简单的连接是零调制三线经济型,这是进行全双工通信所必须的最少线路,计算制三线经济型,这是进行全双工通信所必须的最少线路,计算机的机的9针串口只连接其中的三根线:第针串口只连接其中的三根线:第5脚的脚的GND,第,第5脚的脚的RXD,第,第5

52、脚的脚的TXD,如图,如图8.26所示。这也是所示。这也是STC11F08E单片单片机的程序下载电路。机的程序下载电路。 增强型8051单片机原理与应用3.3 单片机与PC机串行通信的程序设计 通信程序设计分为计算机(上位机)程序设计与单片机(下位机)程通信程序设计分为计算机(上位机)程序设计与单片机(下位机)程序设计。序设计。为了实现单片机与为了实现单片机与PC机的串口通信,机的串口通信,PC机端需要开发相应的串口通信机端需要开发相应的串口通信程序,这些程序通常是用各种高级语言来开发,比如程序,这些程序通常是用各种高级语言来开发,比如VC、VB等。在实等。在实际开发调试单片机端的串口通信程序

53、时,我们也可以使用际开发调试单片机端的串口通信程序时,我们也可以使用STC系列单系列单片机下载程序中内嵌的串口调试程序或其它串口调试软件(如串口调片机下载程序中内嵌的串口调试程序或其它串口调试软件(如串口调试精灵软件)来模拟试精灵软件)来模拟PC机端的串口通信程序。这也是在实际工程开发机端的串口通信程序。这也是在实际工程开发中,特别是团队开发时常用的办法。中,特别是团队开发时常用的办法。 串口调试程序,无需任何编程,既可实现串口调试程序,无需任何编程,既可实现RS-232C的串口通信,能有的串口通信,能有效提高工作效率,使串口调试能够方便透明的进行。它可以在线设置效提高工作效率,使串口调试能够

54、方便透明的进行。它可以在线设置各种通讯速率、奇偶校验、通讯口而无需重新启动程序。发送数据可各种通讯速率、奇偶校验、通讯口而无需重新启动程序。发送数据可发送十六进制发送十六进制(HEX)格式和格式和ASCII码,可以设置定时发送的数据以及时码,可以设置定时发送的数据以及时间间隔。可以自动显示接收到的数据,支持间间隔。可以自动显示接收到的数据,支持HEX或或ASCII码显示。是工码显示。是工程技术人员监视、调试串口程序的必备工具程技术人员监视、调试串口程序的必备工具 增强型8051单片机原理与应用3.3 单片机与PC机串行通信的程序设计 单片机程序设计:单片机程序设计:例例8.6 将将PC机键盘的

55、输入发送给单片机,单片机收到机键盘的输入发送给单片机,单片机收到PC机发来的数机发来的数据后,回送同一数据给据后,回送同一数据给PC机,并在屏幕上显示出来。机,并在屏幕上显示出来。PC端采端采用串口调试程序进行数据发送与接收数据并显示,请编写单片用串口调试程序进行数据发送与接收数据并显示,请编写单片机通信程序。机通信程序。 汇编语言参考程序如下:汇编语言参考程序如下: ORG 0000H LJMP MAIN ;转初始化程序;转初始化程序 ORG 0023H LJMP Sirial_ISR ;转串行口中断程序;转串行口中断程序 ORG 0050H增强型8051单片机原理与应用3.3 单片机与PC

56、机串行通信的程序设计 MAIN: MOV TMOD,#20H ;设置定时器;设置定时器1为方式为方式2定时模式定时模式 MOV TL1,#0F4H ;设置预置值;设置预置值 MOV TH1,#0F4H SETB TR1 ;启动定时器;启动定时器1 MOV SCON #50H ;设定串行口为方式;设定串行口为方式1,并启动,并启动 SETB ES SETB EA ;开放串行口中断;开放串行口中断 SJMP $ ;模拟主程序;模拟主程序 ;串口中断服务子程序;串口中断服务子程序Sirial_ISR : CLR EA ;关中断;关中断 CLR RI ;清串行口中断标志;清串行口中断标志 PUSH D

57、PL ;保护现场;保护现场 PUSH DPH PUSH A ; 增强型8051单片机原理与应用3.3 单片机与PC机串行通信的程序设计 MOV A,SBUF ;接收;接收PC机发送的数据机发送的数据 MOV SBUF,A ;将数据回送给;将数据回送给PC机机Check_TI: JNB TI,Check_TI ;等待发送结束;等待发送结束 CLR TI POP A ;发送完,恢复现场;发送完,恢复现场 POP DPH POP DPL SETB EA ;开中断;开中断 RETI ;返回;返回 END增强型8051单片机原理与应用3.3 单片机与PC机串行通信的程序设计 C51参考程序如下:参考程序

58、如下: #include unsigned char temp;/*-串口初始化子函数串口初始化子函数-*/void serial_initial(void)TMOD=0x20;/T1方式方式2定时,定时,SCON=0x50;/串行口为方式串行口为方式1,允许接收,允许接收(REN=1)TH1=0xf4; TL1=0xf4; /设置产生设置产生2400bit/s的波特率信号的初始值的波特率信号的初始值ES=1; /开串口中断开串口中断EA=1; TR1=1;/开启定时计数器开启定时计数器1,产生波特率信号,产生波特率信号增强型8051单片机原理与应用3.3 单片机与PC机串行通信的程序设计 /

59、*-中断服务子函数中断服务子函数-*/Void Serial_ISR(void) interrupt 4 RI=0; /清串行接收标志清串行接收标志 Temp = SBUF; /接收数据接收数据 SBUF = temp; /发送接收到的数据发送接收到的数据 While(TI=0); /等待发送结束等待发送结束 TI = 0; /清零清零TI/*-主函数主函数-*/void main(void)serial_initial(); /调用串口初始化函数调用串口初始化函数while(1); 增强型8051单片机原理与应用4 STC11F08XE单片机串行口的扩展功能 4.1 STC11F08XE单片

60、机串行口数据通道的切换 通过对特殊功能寄存器通过对特殊功能寄存器AUXR1中的中的UART_P1位的控制,位的控制,STC11F08XE单片机的串行口可分时复用为单片机的串行口可分时复用为2个串行口。个串行口。 地址D7D6D5D4D3D2D1D0复位值 AUXR1A2HUART_P1GF2DPS0xxx 0xx0 增强型8051单片机原理与应用4 STC11F08XE单片机串行口的扩展功能 4.2 STC11F08XE单片机的独立波特率发生器 STC11F08XE单片机内部有单片机内部有1个独立的波特率发生器(简称个独立的波特率发生器(简称BRT),),通过对特殊功能寄存器通过对特殊功能寄存器BRT进行计数器初始值的设置,可调整独立波进行计数器初始值的设置,可调整独立波特率发生器的输出频率,特率发生器的输出频率,BRT的地址是的地址是90H。通过对通过对AUXR寄存器中的寄存器中的S1BRS置位,串行口选择独立波特率发生器置位,串行口选择独立波特率发生器为波特率发生器。此时,定时为波特率发生器。此时,定时/计数器计数器1可以释放出来,作为定时器、可以释放出来,作为定时器、计数器或时钟输出使用。计数器或时钟输出使用。 地址D7D6D5D4D3D2D1D0复位值 AUXR8EHT0x12T1x12UART_M0x6BRTRBRTx12XRAMS1BRS0000 x000

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号