47
教教教教 教 9 教 教教教教教教教教教 教教 MCS-51 教教教教教教教教 教教教教 教教教教教教教教教教教教教教教教 教教教教教教教教教教 教教教 ,一 教教 PC 教教教教教教教教教教教教教教教 教教 MCS-51 教教教教教教教教教教教教教教 教教教教教教教教教教教 教教教教教教教教教教教教教教教教 PC 教教教教教 教教教教教教教教教教教教

● 教学目标

Embed Size (px)

DESCRIPTION

第 9 章 串口及串行通信技术. ● 教学目标. 介绍 MCS-51 串行通信接口技术. 介绍 MCS-51 单片机之间的串行通信接口技术. 介绍 PC 机与单片机间的串行通信接口技术. ● 学习要求. 掌握单片机串行通信接口的基本功能,了解串行通信接口的一般结构. 熟悉单片机串行通信接口,掌握单片机之间的串行通信接口以及 PC 机与单片机间的串行通信接口程序编制. 9.1 MCS-51 串行通信接口. - PowerPoint PPT Presentation

Citation preview

Page 1: ●  教学目标

● 教学目标第 9 章 串口及串行通信技术

介绍 MCS-51 串行通信接口技术

● 学习要求 掌握单片机串行通信接口的基本功能,了解串行通信接口的一般结构

介绍 PC 机与单片机间的串行通信接口技术介绍 MCS-51 单片机之间的串行通信接口技术

熟悉单片机串行通信接口,掌握单片机之间的串行通信接口以及 PC 机与单片机间的串行通信接口程序编制

Page 2: ●  教学目标

9.1 MCS-51 串行通信接口 MCS-51 内部含有一个可编程全双工串行通信接口,具有 UART 的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。

9.1.1 MCS-51 串行口的结构 MCS-51 系列单片机的串行接口由发送缓冲器、接收缓冲器

以及两个专 用寄存器 SCON 和 PCON 组成,占用两条 I/O 专线( P3.0 、 P3.1 ),分别为 RXD 和 TXD ,从而构成全双工的通信方式。两个独立的接收、发送缓冲器 SBUF (属于特殊功能寄存器)共用一个字节地址( 99H ),一个用来发送;一个用来接收。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。

在进行异步通信时,数据的发送和接收分别在各自的时钟( TCLK 和 RCLK )控制下进行的,但都必须与字符位数的波特率保持一致。 MCS-51 串行口的发送和接收时钟可由两种方式产生,一种是由主机频率 fosc 经分频后产生,另一种方式是由内部定时器 T1 或 T2 的溢出率经 16 分频后提供。

Page 3: ●  教学目标
Page 4: ●  教学目标

串行口的发送过程由指令 MOV SBUF , A 启动,即 CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器 SBUF (发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲 SHIFT 的控制下,低位在前,高位在后,从 TXD 端(方式 0 除外)一位位地向外发送。

串行口的接收与否受制于允许接收位 REN 的状态,当 REN被软件置“ 1” 后,允许接收器接收。接收端 RXD 一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志 RI 置“ 1” ,并向 CPU 申请中断。 CPU 响应中断,用一条指令( MOV A , SBUF )把接收缓冲器 SBUF (收)的内容读入累加器。

在整个串行收发过程中, CPU 的操作时间很短,使得 CPU还可以从事其它的各种操作(指工作在中断方式下),从而大大提高了 CPU 的效率。

Page 5: ●  教学目标

⑴ 串行口数据缓冲器 SBUF

SBUF 是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址 99H ,可通过指令对 SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。 CPU 在写 SBUF ,就是修改发送缓冲器;读 SBUF ,就是读接收缓冲器。串行口对外有两条独立的收发信号线 RXD( P3.0 )、 TXD ( P3.1 ),因此可以同时发送、接收数据,实现全双工。

⑵ 串行口控制寄存器 SCON

SCON 寄存器用来控制串行口的工作方式和状态,它是一个可按位寻址的特殊功能寄存器。在复位时所有位被清零,其字节地址为 98H 。 SCON 寄存器的格式 如下

Page 6: ●  教学目标

SM0 SM1 工作方式0 0 0

0 1 1

1 0 2

1 1 3

Page 7: ●  教学目标

⑶ 特殊功能寄存器 PCON

PCON 主要是为 CHMOS 型单片机的电源控制设置的专用寄存器,字节地址为 87H ,不能按位寻址。

Page 8: ●  教学目标

9.1.2 MCS-51 系列单片机串行接口的工作方式

MCS-51 的串行口有四种工作方式,它是由 SCON 中的 SM1 和 SM0 来决定

可变9位 UART方式 311

fosc/32或 fosc/649位 UART方式 201

可变8位 UART方式 110

fosc/12同步移位寄存器方式 000

波特率功能说明工作方式SM1SM0

Page 9: ●  教学目标

1 )方式 0

串行接口工作方式 0 为同步移位寄存器方式,其波特率是固定为振荡频率 fosc 的 1/12 。在这种工作方式下,发送和接收串行数据都通过 RXD ( P3.0 )进行,从 TXD ( P3.1 )输出移位脉冲,控制外部的移位寄存器移位。

⑴ 方式 0 发送

数据从 RXD引脚串行输出, TXD引脚输出同步脉冲。发送操作在 TI=0 的情况下开始,由指令( MOV SBUF , A )将一个数据写入串行口发送缓冲器时启动发送,串行口将 8 位数据以fosc/12 的固定波特率由低位到高位逐位从 RXD引脚输出,当 8位数据发送完后,硬件自动置中断标志 TI 为 1 ,并向 CPU 请求中断(若中断已开放), CPU 响应中断后,先将 TI 清零,再向 SBUF传送下一个待发送的信息,以继续发送数据。

Page 10: ●  教学目标

⑵ 方式 0 接收

在满足 REN=1 和 RI=0 的条件下,串行口处于方式 0输入。此时, RXD 为数据输入端, TXD 为同步信号输出端,接收器也以 fosc/12 的波特率对 RXD引脚输入的数据信息进行采样。当接收器接收完 8 位数据后,硬件自动置中断标志 RI=1 ,并向 CPU 发出请求中断, CPU 响应中断(或采用查询方式)后,通过指令( MOV A , SBUF )将接收的数据传送给累加器 A 。在再次接收之前,必须用软件将 RI 清零。

在方式 0 工作时,必须使 SCON 寄存器中的 SM2 位为“ 0” ,这并不影响 TB8 位和 RB8 位。方式 0 发送或接收完数据后由硬件置位 TI 或 RI , CPU 在响应中断后要用软件清除TI 或 RI 标志。

Page 11: ●  教学目标

2 ) 方式 1

在方式 1 时,串行口被设置为波特率可变的 8 位异步通信接口。

⑴ 方式 1 发送 串行口以方式 1 发送时,数据位由 TXD 端输出,发送 1帧信息为 10 位,其中一位起始位“ 0” 、八位数据位(先低位后高位)和一个停止位“ 1” 。在 TI=0 的条件下, CPU执行一条数据写入发送缓冲器 SBUF 的指令( MOV SBUF , A ),发送电路自动在 8 位数据位前后分别加一位起始位和一位停止位,就启动串行传送过程,在移位脉冲的作用下,从 TXD 线上依次发送一帧信息。当发送完数据后,置中断标志 TI 为“ 1” ,TXD 自动维持高电平。 方式 1 所传送的波特率取决于定时器 1 的溢出率和特殊功能寄存器 PCON 中 SMOD 的值,计算方法如下:

方式 1 波特率 = × 定时器 T1 的溢出率32

2SMOD

Page 12: ●  教学目标

⑵ 方式 1 接收 当串行口置为方式 1 ,且 REN=1 , RI=0 时,串行口处于方式 1 的输入状态。它以所选波特率的 16倍的速率对 RXD引脚状态采样。当采样到由 1 到 0 的负跳变时,且接收电路连续 8 次采样均为低电平时,表明 RXD 线上已出现起始位,就启动接收器,开始接收一帧的其余的信息,一帧信息也为 10 位,一位起始位“ 0” 、八位数据位(先低位后高位)和一个停止位“ 1” 。接收电路开始在每位传送数据的第 7 、 8 、 9三个脉冲进行采样,并以三取二的原则决定所采样数据的值 , 以保证可靠无误。在移位脉冲的作用下,逐位移入移位寄存器。

方式 1 接收波特率设计方法与方式 1传送波特率相同。

在方式 1 接收时,必须同时满足以下两个条件:① RI=0 ,②停止位为“ 1” 或 SM2=0 时,则接收数据有效,进入 SBUF ,停止位进入 RB8 ,并置中断请求标志 RI 为“ 1” , CPU 响应中断(或采用查询方式)后,通过指令( MOV A , SBUF )将接收的数据传送给累加器 A ,并用软件将 RI 清零。若上述两个条件不满足,则该组数据丢失,不再恢复。

Page 13: ●  教学目标

3 ) 方式 2

串行口工作为方式 2 时,被定义为 9 位异步通信接口。

方式 2 波特率 = ×振荡器频

率64

2SMOD

⑴ 方式 2 发送

发送数据由 TXD 端输出,发送一帧信息为 11 位,其中一位

起始位( 0 )、八位数据位(先低位后高位)、一位可控位 1 或 0

的第 9 位数据和一位停止位“ 1” 。附加的第 9 位数据为 SCON 中

的 TB8 ( SCON 中的 D3 位)的值,它由软件置位或清零,可作

为多机通信中地址 / 数据信息的标志位,也可作为数据的奇偶校验

位。

Page 14: ●  教学目标

⑵ 方式 2 接收

当串行口置为方式 2 ,且 REN=1 时,串行口以方式 2 接收数据。方式 2 的接收与方式 1 基本相似。数据由 RXD 端输入,接收 11位信息,其中,一位起始位( 0 )、八位数据位(先低位后高位),一位可控位 1 或 0 的第 9 位数据和一位停止位“ 1” 。当采样到 RXD 端由 1 到 0 的负跳变,并判断起始位有效后,便开始接收一帧信息,当接收器接收到第 9 位数据后,又同时满足下列两个条件:① RI=0 ;② SM2=0 或接收到的第 9 位数据位为“ 1” 时,将收到的数据送入 SBUF (接收数据缓冲器),第 9 位数据送入 RB8 ,并对 RI 置 1 ;若以上两个条件有一个不满足,所接收的信息帧就会被丢失。

4 ) 方式 3

方式 3 为波特率可变的 9 位异步通信方式,除了波特率有所区别之外,其余都与方式 2相同。

方式 3 波特率 = × 定时器 T1 的溢出率32

2SMOD

Page 15: ●  教学目标

9.1.3 MCS-51 串行通信的波特率⑴ 方式 0 的波特率

波特率是固定的,其值为 fosc/12 ( fosc 为主机频率)。 ⑵ 方式 2 的波特率

方式 2 波特率 = ×振荡器频

率64

2SMOD

若 SMOD=0 ,则所选波特率为 fosc/64 ;若 SMOD=1 ,则波特率为 fosc/32 。

⑶ 方式 1 或方式 3 的波特率

波特率 = × 定时器 T1 的溢出率32

2SMOD

定时器 T1 溢出率 =

初值K

fosc

2

1

12

Page 16: ●  教学目标

72H2006MHz110

D0H20011.0592MHz600

E8H20011.0592MHz1.2K

F4H20011.0592MHz2.4K

FAH20011.0592MHz4.8K

FDH20011.0592MHz9.6K

FDH20111.0592MHz19.2K

FFH20112MHz62.5K

串口方式1或 3

×××112MHz375K串口方式2

××××12MHz1M串口方式0

相应初值所选方式C/T

定时器 T1

SMODFosc波特率

Page 17: ●  教学目标

9.2 MCS-51 单片机之间的通信 MCS-51 单片机的串行通信技术根据其应用可分为双机通信和多机通信。9.2.1 MCS-51 双机通信技术

最简单的双机异步通信接口电路

Page 18: ●  教学目标

符合 RS-422 标准的双机通信接口电路

Page 19: ●  教学目标

1 ) 查询方式进行双机通信甲机发送,乙机接收,双方都用查询方式的程序编制。⑴ 甲机发送

甲机片内 RAM 中 70H~ 7FH 单元中的数据从串行口输出。定义以工作方式 2 发送, TB8 作奇偶校验位。其中 fosc=12MHz ,波特率为 375kbit/s ,所以 SMOD=1 。 参考程序:

⑵ 乙机接收

乙机接收到 16 字节数据并存入片外 1000H~ 100FH 单元中。接收过程要求判断奇偶校验位 RB8 。若出错,置 F0标志为 1 ;正确,则置 F0 标志为 0 ,然后返回。

参考程序:

Page 20: ●  教学目标

2) 中断方式进行双机通信 双机通信的接收方采用中断方式来接收数据,以提高CPU 的工作效率 , 发送方仍采用查询方式发送数据。

⑴ 甲机发送

将外部数据存储器 1000H 为首地址的字节单元中的数据向乙机发送,在发送之前将数据块长度 N 发送给乙机,当发送完 N 个字节后,再发送一个累加校验和。

发送的波特率为 9600 ,两机晶振均为 11.0592MHz 。双机都工作于方式 1 ,定时器 Tl 按方式 2 工作,经查表得初值为 FDH , SMOD=0 。

参考程序:

Page 21: ●  教学目标

⑵ 乙机接收

乙机接收甲机发送的数据,并写入以 4000H 为首址的外部数据存储器中,首先接收数据长度 N ,然后接收 N 个字节的数据,再接收校验码,进行累加和校验,数据传送结束后,向甲机发送一个状态字,表示正确或出错,出错则要求重发。接收采用中断的方式,设置两个标志位来判断接收到的信息是数据块长度、数据还是校验和。

参考程序:

Page 22: ●  教学目标

9.2.2 MCS-51多机通信技术 通常MCS-51 的多机通信采用主从式多机通信方式。在这种方式中,只有一台主机,有多台从机。主机发送的信息可以传到各个从机或指定的从机,各从机发送的信息只能被主机接收。

Page 23: ●  教学目标

1) 多机通信原理

MCS-51 串行控制寄存器中的 SM2 就是为了满足这一要求而设置的多机控制位

方式 2 或 3 接收时,若 SM2=1 ,表示置多机通信功能位,这时出现两种可能的情况:

① 接收到第 9 位数据为 1 ,数据装入 SBUF ,并置 RI=1 ,向 CPU 发出中断请求;

② 接收到第 9 位数据为 0 ,不产生中断,信息将被丢失。

若 SM2=0 ,则接收到的第 9 位信息无论是 0 还是 1 ,都产生 RI=1 的中断标志,接收到的数据装人 SBUF 。根据这个功能,便可实现多个 MCS-51 系统的串行通信。

Page 24: ●  教学目标

多机通信的过程如下:

① 使所有从机的 SM2=1 ,处于准备接收一帧地址数据的状态;

② 主机设第 9 位数据为 1 ,发送一帧地址信息,与所需的从机进行联络;

③ 每个从机接收到地址信息后,各自将其与自己的地址相比较,对于地址相符的从机,使 SM2=0 ,准备接收主机随后发来的所有信息;对于地址不相符的从机,仍保持 SM2=1 状态,对主机随后发来的数据不理睬,直至发送新的一帧地址信息;

④ 主机发送控制指令与数据给被寻址的从机。一帧数据的第 9位置 0 ,表示发送的是数据或控制指令。

Page 25: ●  教学目标

2 )多机通信的软件协议 在多机通信系统中,要保证主机与从机之间可靠地通信,除前面所讲的必须保证接口具有识别功能外,还必须事先达成一些通信协议,规定一些供主机和从机识别的命令和状态字,如: ⑴ MCS-51 系列单片机构成的多机通信系统最多允许接 255台从机(地址为 00H~ FEH );

⑵ 地址 FFH (第九位为 1 )作为一条控制指令,使所有从机都处于 SM2=0 的状态;

⑶ 其余控制指令有(以数据形式发送): ① 00H—— 主机要求从机接收数据指令 ② 01H—— 主机要求从机发送数据指令

⑷ 从机状态字格式如下:

⑸ 主机开始发送或接收数据,发送或接收的第一个字节为数据块长度。

RRDYTRDYERR

D0D1D2D3D4D5D6D7

Page 26: ●  教学目标

3 ) 软件设计⑴ 主机串行通信子程序 主机串行口设为方式 3 ,允许接收,并置 TB8 为 1 ,故控制字为 11011000B= D8H 。

主机参考程序

Page 27: ●  教学目标

⑵ 从机串行通信程序

从机的串行通信采用中断的方式启动,即接收到地址帧后就进行串行口中断申请 ,CPU 响应后,进入中断服务程序。

主机参考程序

Page 28: ●  教学目标

4) 有关多机通信的几个相关问题 ⑴ 在主从多机通信系统中 , 中断服务程序要分别装入各个从机 , 以便当主机发出待寻址的从机地址后 , 所有从机 (SM2=1 、REN=1) 都能接收地址帧,在确认主机寻址本机后,参与主从通信。

⑵ 以上程序只介绍了多机通信的基本过程,在实际应用中要根据情况进行补充和修改。

⑶ 在上述的主从通信程序中,为了简单,没有给出信息出错处理程序。事实上,在串行通信过程中出现传送错误的事时有发生。为确保通信可靠,需要这样的程序。例如,用校验和的方法,或每个数据发送两遍。当从机检测到数据不相符(来自主机的发送和与从机累计的接收和不等,或从机两次接收到的数据不一致)时,均认为出错。此时,从机应反映到主机,主机接收到这样的信息后,应重新发送数据,直到从机接收正确。

Page 29: ●  教学目标

9.3 PC 机与单片机间的通信

1 ) RS-232C 接口 9.3.1 PC 机 RS-232C 标准接口简介

⑴ RS-232C传递信息的格式标准 RS-232C 对所传递的信息规定如下:信息的开始为起始位,信息的结尾为停止位,它可以是一位、一位半或两位,信息本身可以是 5 、 6 、 7 、 8 位再加一位奇偶校验位。如果两个信息之间无信息,则应写“ 1”表示空。

RS-232C 传送的波特率( bit/s )规定为 19200 、 9600 、 4800 、 2400 、 600 、 300 、 150 、 110 、 75 、 50 。 RS-232C 接口总线的传送距离一般不超过 15 米。

Page 30: ●  教学目标

⑵ RS-232C 的电气特性

RS-232C 是在 TTL 电路出现之前研制的,所以它的电平不是+5V 和地,它使用负逻辑,其低电平“ 0” 在 +5~ +15V 之间,高电平“ 1” 在 -5~ -15V 之间,最高能承受 +25V 的信号电平。 RS-232C 不能和 TTL 电平直接相连,使用时必须加上适当的接口电路,否则将使 TTL 电路烧毁。有专门集成电路,进行电平转换,如 MC1488 、 MC1489 等是专门用在计算机(或终端)与RS-232C 标准进行电平转换的接口芯片。

Page 31: ●  教学目标

⑶ RS-232C 机械特性及引脚功能 RS-232C 标准总线为 25根,对其机械特性并未作严格规定,不过目前都习惯采用于母型结构,即将插头及插座插紧即可 。

Page 32: ●  教学目标

2 ) RS-232C 的应用⑴ 使用 MODEM连接

Page 33: ●  教学目标

⑵ 直接连接

当计算机和终端之间不使用 MODEM 或其它通信设备 (DCE)而直接通过 RS-232C 接口连接时,一般只需要 5根线 ( 不包括保护地线以及本地 4 、 5 之间的连线 ) ,但其中多数应采用反馈与交叉相结合的连接法。

Page 34: ●  教学目标

⑶ 三线连接法 一种最简单的 RS-232C连线方式,只需 2 、 3交叉连接线以及信号地线,而将各自的 RTS 和 DTR 分别接到自己的 CTS 和 DSR端 。

Page 35: ●  教学目标

9.3.2 PC 机与单片机之间的双机通信技术1 )通信接口电路设计

⑴ PC 机与单片机 RS-232C 串口通信接口

Page 36: ●  教学目标

⑵ PC 机与单片机 RS-422/RS-485 串行通信接口

Page 37: ●  教学目标

2 )串行通信程序 通信程序由主机( PC 系列机)程序和从机( MCS-51 系列单片机)程序两部分组成。

⑴ 主机通信程序设计

设信息传送波特率为 9600bit/s 。数据格式为: l 位停止位, 8 位数据位、一个停止位,偶校验,微机以查询方式发送。该程序的功能是将键盘输入的字符发送给单片机,单片机再将收到的字符发送回来, PC 机再查询接收并显示在屏幕上。当输入“ ENTER”键时结束本次数据传送, PC机使用串口 2 。

Page 38: ●  教学目标

⑵MCS-51 单片机通信软件

Page 39: ●  教学目标

9.3.3 PC 机与单片机之间多机通信技术 在工业过程控制及数据采集系统中,往往需要控制很多点(站)或采样很多数据,而且这些点大都分布在一个车间或一个厂内,有些甚至在更远的地方(如油田数据采样系统或天然气供气系统等),对于这样的系统通常采用主从式控制系统,即用一台主机(如工业 PC )多台从机(如 8051 系列单片机)。

Page 40: ●  教学目标

1 )多机通信原理 在工业 PC 或一般 PC 机中,均配有串行通信适配器接口,在此接口适配器中的接口芯片虽然本身不具有与 MCS-51 系列单片机串行的完全相同的格式,但通过软件的方法,可使该芯片能够满足MCS-51 系列单片机多机通信的要求。 异步通信接口芯片可发送 11 位数据帧,其中包括 1 位起始位,8 位数据位, 1 位奇偶校验位和 1 位停止位,其格式如下:

停止位奇偶位D7D6D5D4D3D2D1D0起始位

停止位TB8D7D6D5D4D3D2D1D0起始位

MCS-51 系列单片机多机通信的典型数据帧格式为:

不同之处仅仅是奇偶校验位和 TB8 。如果我们通过编程,使异步通信接口芯片的奇偶校验位完全模拟MCS-51 系列单片机的SB8 位的功能,即可实现两机间的通信。

Page 41: ●  教学目标

2 )多机通信接口设计 一个串行接口总线可以采用 RS-232C (一般 IBM-PC 机上均有此种接口适配器),也可以采用 RS-422 或 RS-485 (在工业 PC 机中常采用这种总线)。不论采用何种总线,只是接口电路不同。 MCS-51 系列单片机本身具有一个全双工的串行口,只需配备一个驱动、隔离电路,即可组成一个简单可行的多机通信接口。

Page 42: ●  教学目标

3 )多机通信软件设计 ⑴ PC 机通信程序

约定如下:

① 波特率设置: 9600 bit/s 。

② 数据传送格式: l 个起始位, 8 个数据位, 1 个可编程位(奇偶位), 1 个停止位。

③ 校验方式 : 由于奇偶校验位被用作发送地址和数据的特征位 ,故数据

④ 数据传送方式:发送和接收均采用查询方式。

Page 43: ●  教学目标
Page 44: ●  教学目标

⑵ 单片机通信软件

单片机的数据通信由串口完成,定时器 T1 作为波特率发生器。程序规定:

① 波特率设置: 9600 bit/s

② 数据传送格式: l 个起始位, 8 个数据位, 1 个可编程位( TB8 ), 1 个停止位。

③ 工作方式设置:定时器 T1 设置为方式 2 ,串行口设置为工作方式 3 。

④ 数据传送方式:单片机通过中断方式发送和接收数据。

Page 45: ●  教学目标
Page 46: ●  教学目标

小 结 串行通信中的数据是一位一位依次传送的,而计算机系统或计算机终端内部数据是并行传送的。因此,发送端必须把并行数据变成串行才能在线路上传送,接收端接收到串行数据又需要变换成并行数据才可以送给终端。并 / 串和串 / 并转换通常采用 UART芯片实现。 MCS-51 有四种不同的工作方式,并可以设置不同的波特率。使用时可根据需要选取相应的工作方式,从而得到需要的字符帧格式和波特率。 单片机点对点异步通信,包括单片机之间和单片机与 PC 机之间的双机通信。由于单片机中信号电平是 TTL 型,通常要附加电平转换接口电路,使其符合某个串行通信接口标准的电压要求(如 RS-232C 或 RS-422/485 )。通信双方按照通信约定,选用相同的字符帧格式和波特率,编制各自的程序来实现数据交换。

单片机多机通信是指两台以上单片机组成的网络结构,在主从式多机系统中,只有一台主机,可以是单片机,也可以是 PC 机。

Page 47: ●  教学目标

思考题与习题九 ⑴ 简述MCS-51 串行口发送和接收数据的过程。

⑵MCS-51 串行口控制寄存器 SCON 中的 SM2 的含义是什么?主要在什么方式下使用?⑶ 简述MCS-51 串行口在四种方式下的字符格式。⑷ 试比较MCS-51 串行口在四种方式下发送和接收数据的基本条件。⑸ 简述MCS-51 串行口在四种方式下波特率产生的方法。⑹ 试用中断法编出串行口方式 1 下的发送程序。设 8031 单片机主频为 11.0592MHz ,

波特率为 4800bps ,发送数据缓冲区在外部 RAM ,始地址为 TBLOCK ,数据长度为 20H ,采用偶校验,放在发送数据第 8 位(数据长度不发送)。

⑺ 试用中断法编出串行口方式 1 下的接收程序。设 8031 单片机主频仍为 11.0592MHz ,波特率为 4800bps ,接收数据缓冲区在外部 RAM ,始地址为 RBLOCK ,数据长度为 20H ,采用偶校验(数据长度不发送)。

⑻ 试用中断法编出 8031 串行口方式 2 下的发送程序。设:波特率为 fosc/64 ,发送数据缓冲区在外部 RAM ,始地址为 TBLOCK ,数据长度为 30H ,采用偶校验,放在发送数据第 9 位上(数据长度不发送)。

⑼ 请用中断法编出 8031 串行口方式 2 下的接收程序。设:波特率为 fosc/32 ,接收数据缓冲区在外部 RAM ,始地址为 RBLOCK ,数据长度为 20H ,采用奇校验,放在发送数据第 9 位上(数据长度不发送)。

⑽ 设 8031 单片机的发送数据缓冲区和接收数据缓冲区都在内部 RAM , 始地址分别为 TBLOCK 和 RBLOCK ,数据长度为 20H 。试编出主站端既能发送又能接收的全双工通信程序。