第9章 串口及串行通信技术 ● 教学目标 介绍MCS-51串行通信接口技术 介绍MCS-51单片机之间的串行通信接口技术

Slides:



Advertisements
Similar presentations
第7章 AT89S51单片机的 串行口 1.
Advertisements

项目二 中断应用系统设计 本项目学习目标: (1)制作一个单片机控制的彩灯电路。 (2) 理解中断的基本概念;
实验四 利用中规模芯片设计时序电路(二).
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第5章 串行口与通信 本章学习目标 : 了解并行通信与串行通信的含义 理解波特率的概念,学会波特率的计算方法
EDA原理及应用 何宾
單晶片MCS-51 C語言入門實習 第1章 微電腦與單晶片MCS-51架構 作者:董勝源.
主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用
项目一 双机通信应用系统 授课教师:刘旭东.
第八章 数据通信.
9.3 AT89C51串行接口的应用与编程 工作方式0的应用
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
6.1 中断系统和外中断 6.2 定时器/计数器 6.3 串行通信 本章小结.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
AVR单片机软硬件设计教程-入门篇 ——学单片机就要学AVR!
串行通讯的概念 串行通讯:一条信息的各位数据被逐位按顺序传送 的通讯方式称为串行通讯。
本章分为三节,主要介绍: 6.1 计算机串行通信基础 C51的串行口 6.3 单片机串行口应用举例.
第八章 80C51单片机的串行通信 主要内容:本章主要介绍80C51串行通信相关知识,包括串行通信基本概念,80C51单片机的串行口及其工作方式,以及单片机在双机或多机通信中的应用。
前言 数据传输功能在监控系统中占有十分重要的地位。其作用是将传感器检测所得的电信号(检测对象的反应量),由井下传送道地面中心站进行集中处理,要求传输距离远)不中断)准确性高。因此,必须了解单片机的通信。 矿用传感器输出的电信号可分为连续变化的模拟量信号和阶越变化的开关量信号两大类。从广义上讲,开关量信号是一种简单的数字信号。模拟信号可通过模拟/数字转换器(A/D转换器)转换为数字信号。数字信号也可以通过数字/模拟转换器(D/A转换器)转换程模拟信号。按照系统所传输信号的不同,矿用监控系统可分为两类:模拟传
第8章 SCI/SPI串行通信模块 并行---多位同时传输。速度快,距离近,占引脚多,抗干扰弱
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
第6章 基本输入输出接口技术 【本章提要】 【学习目标】
8051's UART mode0 output 通訊二甲 B 洪紹凱.
第七章 89C51串行口及串行通信技术 本书前几章涉及的数据传送都是采用并行方式,如8051与存储器,存储器与存储器,8051与并行打印机之间的通信。89C51处理8位数据,若以并行传送方式一次传送一个字节的数据,至少需要8条数据线。当89C51与打印机连接时,除8条数据线外,还需要状态、应答等控制线。一些微机系统,如IBM-PC系列机,由于磁盘机、CRT、打印机与主机系统的距离有限,所以,使用多条电缆线以提高数据传送速度还是合算的。但是,计算机之间、计算机与其终端之间的距离有时非常远,此时,电缆线过多是
ARDUINO+BLUETOOTH Arduino实现蓝牙数据传输.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第八章 数据通信.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
DM8148/DM8168 的介绍及对比 广州创龙电子科技有限公司
逆向工程-汇编语言
CPU结构和功能.
第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术.
串行外围设备接口 Serial Peripheral Interface 广州创龙电子科技有限公司
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
本 章 重 点 串行通信基本知识 单片机的串口及控制器 单片机串行通信方式 课时安排:3个课时.
第5章 MCS----51单片机的串行通信 教学要点 5.1 项目九单片机与单片机的通信 5.2 知识连接
中 断 王 静 阜阳师范学院 计算机与信息工程学院.
第九章 MCS-51串行接口 9.1 串行数据通信概述 通 信 并行 一、并行通信和串行通信 串行 串行通信 数据是一位一位传送的
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第五章 MCS-51中断系统 一、中断请求源 MCS-51提供5个中断请求源,即INT0、INT1、TF0、 TF1和串行口发送与接收中断请求源TI或RI。这些 中断请求源分别由TCON与SCON的相应位锁存。
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
(Random Access Memory)
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
第二部分 微机原理 第9章 串行通信 及其接口 主讲教师:喻红.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
5. 1 中 断 概 述 单片机接通电源后将循环执行我们编制好的程序(一般称为主程序),当有外部设备或内部部件要求CPU为其服务时,计算机将被迫“中断”主程序的执行,并记录下暂停处程序地址(断点地址),然后转去为外部设备服务,即执行中断服务程序;在中断程序执行完毕后自动返回被迫中断主程序的地址,继续执行原主程序。
数据报分片.
串行通讯的概念 串行通讯:一条信息的各位数据被逐位按顺序传送 的通讯方式称为串行通讯。
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
定时中断与LED MCU起航 QQ:
6.1 定时器/计数器的结构及工作原理 定时器/计数器的结构 定时器/计数器T0、T1的逻辑结构如图6-1所示。
单片机应用技术 (C语言版) 第8章 串行通信接口
得技通电子 问题 三 判断题:.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
第八章 串行接口 8-1 串行通信的基本概念 8-2 可编程串行接口8251A A的应用.
ADC0809并行A/D转换 (实验十) DAC0832并行D/A转换实验 (实验十一) RS232串口通信实验 (实验九)
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第十三讲 串行通信SCI模块 《手把手教你学DSP——基于TMS320F28335》配套视频资料 南京研旭电气科技有限公司
第2章 80C51单片机的硬件结构 教学基本要求: (1)、熟悉单片机的定义、名称、分类方法;
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

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

9.1 MCS-51串行通信接口 9.1.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分频后提供。

串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。 串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。CPU响应中断,用一条指令(MOV A,SBUF)把接收缓冲器SBUF(收)的内容读入累加器。 在整个串行收发过程中,CPU的操作时间很短,使得CPU还可以从事其它的各种操作(指工作在中断方式下),从而大大提高了CPU的效率。

⑴ 串行口数据缓冲器SBUF SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。CPU在写SBUF,就是修改发送缓冲器;读SBUF,就是读接收缓冲器。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。 ⑵ 串行口控制寄存器SCON SCON寄存器用来控制串行口的工作方式和状态,它是一个可按位寻址的特殊功能寄存器。在复位时所有位被清零,其字节地址为98H。SCON寄存器的格式 如下

SM0 SM1 工作方式 1 2 3

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

MCS-51的串行口有四种工作方式,它是由SCON中的SM1和SM0来决定 可变 9位UART 方式3 1 fosc/32或fosc/64 方式2 8位UART 方式1 fosc/12 同步移位寄存器 方式0 波特率 功能说明 工作方式 SM1 SM0

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传送下一个待发送的信息,以继续发送数据。

⑵ 方式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标志。

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的溢出率

⑵ 方式1接收 当串行口置为方式1,且REN=1,RI=0时,串行口处于方式1的输入状态。它以所选波特率的16倍的速率对RXD引脚状态采样。当采样到由1到0的负跳变时,且接收电路连续8次采样均为低电平时,表明RXD线上已出现起始位,就启动接收器,开始接收一帧的其余的信息,一帧信息也为10位,一位起始位“0”、八位数据位(先低位后高位)和一个停止位“1”。接收电路开始在每位传送数据的第7、8、9三个脉冲进行采样,并以三取二的原则决定所采样数据的值,以保证可靠无误。在移位脉冲的作用下,逐位移入移位寄存器。 在方式1接收时,必须同时满足以下两个条件:① RI=0,②停止位为“1”或SM2=0时,则接收数据有效,进入SBUF,停止位进入RB8,并置中断请求标志RI为“1”,CPU响应中断(或采用查询方式)后,通过指令(MOV A,SBUF)将接收的数据传送给累加器A,并用软件将RI清零。若上述两个条件不满足,则该组数据丢失,不再恢复。 方式1接收波特率设计方法与方式1传送波特率相同。

3) 方式2 串行口工作为方式2时,被定义为9位异步通信接口。 方式2波特率= ×振荡器频率 ⑴ 方式2发送 发送数据由TXD端输出,发送一帧信息为11位,其中一位起始位(0)、八位数据位(先低位后高位)、一位可控位1或0的第9位数据和一位停止位“1”。附加的第9位数据为SCON中的TB8(SCON中的D3位)的值,它由软件置位或清零,可作为多机通信中地址/数据信息的标志位,也可作为数据的奇偶校验位。

⑵ 方式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的溢出率

9.1.3 MCS-51串行通信的波特率 ⑴ 方式0的波特率 波特率是固定的,其值为fosc/12(fosc为主机频率)。 ⑵ 方式2的波特率 方式2波特率= ×振荡器频率 若SMOD=0,则所选波特率为fosc/64; 若SMOD=1,则波特率为fosc/32。 ⑶ 方式1或方式3的波特率 波特率= ×定时器T1的溢出率 定时器T1溢出率=

72H 2 6MHz 110 D0H 11.0592MHz 600 E8H 1.2K F4H 2.4K FAH 4.8K FDH 9.6K 1 19.2K FFH 12MHz 62.5K 串口方式1或3 × 375K 串口方式2 1M 串口方式0 相应初值 所选方式 C/T 定时器T1 SMOD Fosc 波特率

9.2 MCS-51单片机之间的通信 MCS-51单片机的串行通信技术根据其应用可分为双机通信和多机通信。 9.2.1 MCS-51双机通信技术 最简单的双机异步通信接口电路

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

1) 查询方式进行双机通信 甲机发送,乙机接收,双方都用查询方式的程序编制。 ⑴ 甲机发送 甲机片内RAM中70H~7FH单元中的数据从串行口输出。定义以工作方式2发送,TB8作奇偶校验位。其中fosc=12MHz,波特率为375kbit/s,所以SMOD=1。 参考程序: ⑵ 乙机接收 乙机接收到16字节数据并存入片外1000H~100FH单元中。接收过程要求判断奇偶校验位RB8。若出错,置F0标志为1;正确,则置F0标志为0,然后返回。 参考程序:

2) 中断方式进行双机通信 双机通信的接收方采用中断方式来接收数据,以提高CPU的工作效率,发送方仍采用查询方式发送数据。 ⑴ 甲机发送 将外部数据存储器1000H为首地址的字节单元中的数据向乙机发送,在发送之前将数据块长度N发送给乙机,当发送完N个字节后,再发送一个累加校验和。 发送的波特率为9600,两机晶振均为11.0592MHz。双机都工作于方式1,定时器Tl按方式2工作,经查表得初值为FDH,SMOD=0。 参考程序:

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

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

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系统的串行通信。

多机通信的过程如下: ① 使所有从机的SM2=1,处于准备接收一帧地址数据的状态; ② 主机设第9位数据为1,发送一帧地址信息,与所需的从机进行联络; ③ 每个从机接收到地址信息后,各自将其与自己的地址相比较,对于地址相符的从机,使SM2=0,准备接收主机随后发来的所有信息;对于地址不相符的从机,仍保持SM2=1状态,对主机随后发来的数据不理睬,直至发送新的一帧地址信息; ④ 主机发送控制指令与数据给被寻址的从机。一帧数据的第9位置0,表示发送的是数据或控制指令。

⑴ MCS-51系列单片机构成的多机通信系统最多允许接255台从机(地址为00H~FEH); 2)多机通信的软件协议 在多机通信系统中,要保证主机与从机之间可靠地通信,除前面所讲的必须保证接口具有识别功能外,还必须事先达成一些通信协议,规定一些供主机和从机识别的命令和状态字,如: ⑴ MCS-51系列单片机构成的多机通信系统最多允许接255台从机(地址为00H~FEH); ⑵ 地址FFH(第九位为1)作为一条控制指令,使所有从机都处于SM2=0的状态; ⑶ 其余控制指令有(以数据形式发送): ① 00H——主机要求从机接收数据指令 ② 01H——主机要求从机发送数据指令 ⑷ 从机状态字格式如下: RRDY TRDY ERR D0 D1 D2 D3 D4 D5 D6 D7 ⑸ 主机开始发送或接收数据,发送或接收的第一个字节为数据块长度。

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

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

4) 有关多机通信的几个相关问题 ⑴ 在主从多机通信系统中,中断服务程序要分别装入各个从机,以便当主机发出待寻址的从机地址后,所有从机(SM2=1、REN=1)都能接收地址帧,在确认主机寻址本机后,参与主从通信。 ⑵ 以上程序只介绍了多机通信的基本过程,在实际应用中要根据情况进行补充和修改。 ⑶ 在上述的主从通信程序中,为了简单,没有给出信息出错处理程序。事实上,在串行通信过程中出现传送错误的事时有发生。为确保通信可靠,需要这样的程序。例如,用校验和的方法,或每个数据发送两遍。当从机检测到数据不相符(来自主机的发送和与从机累计的接收和不等,或从机两次接收到的数据不一致)时,均认为出错。此时,从机应反映到主机,主机接收到这样的信息后,应重新发送数据,直到从机接收正确。

9.3 PC机与单片机间的通信 9.3.1 PC机RS-232C标准接口简介 1)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米。

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

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

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

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

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

9.3.2 PC机与单片机之间的双机通信技术 1)通信接口电路设计 ⑴ PC机与单片机RS-232C串口通信接口

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

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

⑵ MCS-51单片机通信软件

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

异步通信接口芯片可发送11位数据帧,其中包括1位起始位,8位数据位,1位奇偶校验位和1位停止位,其格式如下: 1)多机通信原理 在工业PC或一般PC机中,均配有串行通信适配器接口,在此接口适配器中的接口芯片虽然本身不具有与MCS-51系列单片机串行的完全相同的格式,但通过软件的方法,可使该芯片能够满足MCS-51系列单片机多机通信的要求。 异步通信接口芯片可发送11位数据帧,其中包括1位起始位,8位数据位,1位奇偶校验位和1位停止位,其格式如下: 停止位 奇偶位 D7 D6 D5 D4 D3 D2 D1 D0 起始位 MCS-51系列单片机多机通信的典型数据帧格式为: 停止位 TB8 D7 D6 D5 D4 D3 D2 D1 D0 起始位 不同之处仅仅是奇偶校验位和TB8。如果我们通过编程,使异步通信接口芯片的奇偶校验位完全模拟MCS-51系列单片机的SB8位的功能,即可实现两机间的通信。

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

3)多机通信软件设计 ⑴ PC机通信程序 约定如下: ① 波特率设置:9600 bit/s。 ② 数据传送格式:l个起始位,8个数据位,1个可编程位(奇偶位),1个停止位。 ③ 校验方式:由于奇偶校验位被用作发送地址和数据的特征位,故数据 ④ 数据传送方式:发送和接收均采用查询方式。

⑵ 单片机通信软件 单片机的数据通信由串口完成,定时器T1作为波特率发生器。程序规定: ① 波特率设置:9600 bit/s ② 数据传送格式:l个起始位,8个数据位,1个可编程位(TB8),1个停止位。 ③ 工作方式设置:定时器T1设置为方式2,串行口设置为工作方式3。 ④ 数据传送方式:单片机通过中断方式发送和接收数据。

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

思考题与习题九 ⑴ 简述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。试编出主站端既能发送又能接收的全双工通信程序。