WX07_微型计算机控制技术_第七章补-串行通讯

合集下载

微机原理与接口技术第7章串并行接口1

微机原理与接口技术第7章串并行接口1
2)同步通信方式及协议 是指在传送的信息流中每个二进制位都需时钟同步。
① 在通信的信息流中,以数据块为单位进行传送,数据块 包含多个字节(字符),数据块内各位间同步;
② 同步通信总是以同步字符作为数据块帧传送的开始,收 发双方以相同的速率进行数据位的收发;
③ 通信双方也必须约定相同的数据帧格式和传输速率。
② 将 对 方 定 义 为 接 收 方 , 接 收 方 CPU 查 询 到 RxRDY有效时,则从8251A输入一个已接收到的字 节数据,直到全部数据传送完毕为止。
发送程序如下:
START:MOV DX,3F9H
MOV AL,7FH ;异步方式,8位数据,一停止位,偶校验
OUT DX,AL ;波特率因子为64,允许发送
L2:MOV DX,3F9H IN AL,DX ;读取状态字
ERR: L3:
TEST AL,38H
;查询接收器是否有错。
JNZ ERR
;有错则转错误处理
AND AL,02H JZ L2
;无误则查状态位D1(RxRDY) ;接收未准备好则等待
MOV DX,3F8H
IN AL,DX
;接受准备好,则接收1个字节数据
MOV AL,11H ;操作命令字
OUT DX,AL
MOV DI,1000H ;设置地址指针
MOV CX,40H ;设置计数器初值
L1: MOV DX,3F9H
IN AL,DX
AND AL,01H ;查询TxRDY是否有效
JZ L1
;无效等待
MOV DX,3F8H
MOV AL,[DI] ;向8251A输出一个字节数据
微机原理与接口技术第7章串并行接口1
7.3.1 串行通信概述

技能训练7-串行通信

技能训练7-串行通信

7.5.2 Proteus串口调试
7.5.3 试验板串口调试
图7-21 STC软件自带旳串口调试助手
7.6 基于VB旳PC机通信应用程序
在Visual Basic平台开发PCБайду номын сангаас旳串行口通 讯程序,能够利用WIN32 API或 MSComm控件进行程序编写。
这里简介利用MSComm控件编写程序旳 要点。
实现PC机与单片机通信
编程实现单片机与PC旳通信,由PC机发送ASCII码, 单片机显示接受到旳字符旳ASCII编码(以十六进制显 示)。PC端程序用VB编写,单片机程序用汇编程序编 写。
提醒:
1.硬件电路参照图“7-18 RS-232电平转换接口”。 2.PC端应用程序参照“7.6基于VB旳PC机通信应用程序”。 3.单片机程序编写参照“波特率与串行口初始化”和“串行口
– 串行口旳工作由2个特殊功能寄存器SCON和PCON 控制,定时器T1用作波特率发生器(51系列也能够 用T2作为波特率发生器)。
串行口构造
图7-9 串行口构造
PCON、SCON
波特率选择寄存器PCON、串行口工作方 式寄存器SCON
串行口工作方式
波特率与串行口初始化
1.常用波特率与定时器初始值旳相应关系见表7-3。 2.串行口初始化 串行口初始化主要是对SCON、PCON以及定时器T1
旳服务程序”。 4.单片机串行口配置旳波特率与PC机设置旳波特率要相同。
小结
1. 掌握串行通信旳基本知识。 2. 掌握MCS51串行口有关旳特殊寄存器功能及配置技
术。 3. 掌握单片机发送程序旳编写。 4. 掌握单片机接受程序旳编写。 5. 掌握波特率概念。 6. 掌握单工、半双工、全双工三种通信方式旳概念。 7. 了解常用串行通信RS232、RS422、RS485旳原则。 8. 了解单片机与PC机通信旳硬件电平转换电路。 9. 了解VB利用MSComm控件编写PC端程序。

单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06

单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06
“波特率”表示每秒种传输离散信号事件的个数,或每 秒信号电平的变化次数,单位为band(波特)。“比特 率”是指每秒传送二进制数据的位数,单位为比特/秒, 记作bits/s或b/s或bps。
在二进制的情况下,波特率与比特率数值相等。
串行通信常用的标准波特率在RS-232C标准中已有规定,如波
特率为600、1200、2400、4800、9600、19200等等。
80C51中的串行口是一个全双工的异步串行通信接口,它 可作UART(通用异步接收和发送器)用,也可作同步移位寄存 器用。
口内的接收缓冲器和发送缓冲器在物理上是隔离的。
可以通过访问特殊功能寄存器SBUF,来访问接收缓冲器 和发送缓冲器。接收缓冲器具有双缓冲的功能,即它在接收第一 个数据字节后,能接收笫二个数据字节。但是在接收完第二个字 节后,若笫一个数据字节还未取走,那么该数据字节将丢失。
开始发送后的一个位周期,发送信号有效,开始将起始 位送TXD引脚。一位时间后,数据信号有效。发送移位寄存器 将数据由低位到高位顺序输出至TXD引脚。一位时间后,第一 个移位脉冲出现将最低数据位从右边移出,同时0从左边挤入。 当最高数据位移至发送移位寄存器的出端时,先前装入的第9位 的l,正好在最高数据位的左边,而它的右边全部为0。这种状 态被零检测器检测到,在第10个位周期(16分频计数器回0时), 发送控制器进行最后一次移位,清除发送信号,同时使SCON 寄存器中TI置位,完成了一帧数据发送的全过程。
单片微型计算机原理与接口技术第二版第7章80C51单片微机的串行口原理及应用06
第七章
80C51单片微机的串行口 原理及应用
通信:计算机与外界的数据传送。
单台仪器仪表或控制器往往会带有不止一个的单片 微机,

第7章 串行通信接口(SCI)

第7章 串行通信接口(SCI)

第7章串行通信接口(SCI)目前几乎所有的台式电脑都带有9芯的异步串行通信口,简称串行口或COM口。

有的台式电脑带有两个串行口,分别称为COM1、COM2口。

大部分的笔记本电脑也带有串行口。

随着USB接口的普及,串行口的地位逐渐变低了。

但是,作为设备间的一种简便的通信方式,在相当长的时间内,串行口还不会消失。

因为简单且常用的串行通信只需要三根线(发送线、接收线和地线),所以,串行通信可以作为MCU与外界通信的简便方式之一。

大部分嵌入式MCU都具有串行通信接口(Serial Communication Interface,SCI),掌握SCI的编程是学习MCU的重要内容之一。

本章从掌握规范的SCI基本编程角度讨论串行通信编程,把与芯片型号相关内容和与芯片型号无关内容区别开来,便于读者融会贯通与实际应用。

本章7.1、7.2节是与芯片无关的有关串行通信的通用基础知识,只有理解这些基础知识,才能进行串行通信的应用。

7.3、7.4节阐述GP32芯片的SCI模块的编程方法,在此基础上,重点掌握7.5节给出的编程实例。

注意,在汇编程序中,只有初始化子程序与GP32相关,收发程序在整个08系列中是通用的,在C程序中,只有初始化子程序与GP32相关,收发程序对任何芯片是通用的。

当然,要注意头文件SCI.h相关位的定义。

关于串口程序的测试,最好利用教学资料中提供的PC机方的高级语言源程序进行。

根据自己对高级语言的熟悉程度选用VB、C#、VC或其他高级语言。

实际上,掌握一门PC机方的高级语言编程对嵌入式系统开发是必要的。

7.1异步串行通信的基础知识本节简要概括了串行通信中的通常使用的相关基本概念,为学习MCU的串行接口编程做准备。

对于已经了解这方面知识的读者,可以略读本节。

7.1.1基本概念“位”(bit)是单个二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。

在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte)。

第7章串行口

第7章串行口
串行口在中断方式工作时,要进行中断设置(编程 IE、IP寄存器)。
一、 89C51串行口 1、结 构
图7-7 串行口内部结构示意简图
☞ 2、串行口控制字及控制寄存器
串行口控制寄存器SCON(98H)
• ①SM0和SM1(SCON.7,SCON.6)——串行
口工作方式选择位。两个选择位对应4种通信方式,
如表7-1所示。其中,fosc是振荡频率。
3、串行通信工作方式
2 SMOD f osc 16 / 2 初值 串行方式1、方式3波特率≌ 32 12


4、波特率设计
• 定时器T1用作波特率发生器时,通常选用定时器模 式2(自动重装初值定时器)比较实用。每过“28-X” 个机器周期,定时器T1就会产生一次溢出。
• T1溢出速率为 T1溢出速率≌(fosc/12)/(28-X)
移位时钟来源不同,因此,各种方式的波特率计算公式也
不同。
4、波特率设计
• (1)方式0的波特率 由图7-14可见,方式0时,发送或接收一位数据的移位 时钟脉冲由S6(即第6个状态周期,第12个节拍)给出, 即每个机器周期产生一个移位时钟,发送或接收一位数据。
因此,波特率固定为振荡频率的1/12,并不受PCON寄存
TxD输出移位时钟,频率=fosc1/12;
每接收 8位数据RI就自动置1;
需要用软件清零 RI。
☞经常配合“串入并出”“并入串出”移位 寄存器一起使用扩展接口
☞方式0工作时,多用查询方式编程: 发送:MOV SBUF,A 接收:JNB RI,$ JNB TI,$ CLR RI CLR TI MOV A, SBUF ☞复位时,SCON 已经被清零,缺省值: 方式0。 ☞接收前,务必先置位 REN=1 允许接收数据。

串行通信数据格式课件

串行通信数据格式课件

QQ中的同步和异步通信:
我们用的文件传输功能可以看成是同步通信的典范。首先传文 件的双方必须都说好一个传文件的时间,如果双方有一个不在 线上,就不能传送。其次,发送方发送文件命令后,接收方要 确认一下是否接收,这就是个建立文件传输连接的过程。一旦 传输开始,所有文件数据就必须连续的传输过去,任何中断都 将导致传输失败。
典型的面向位的同步协议如国际标准化组织(ISO)的高级数据 链路控制规程HDLC和IBM向 、面向 bit 的同步协议( ISO 的 HDLC )
一帧信息可以是任意位,用位组合标识 帧的开始和结 束。 帧格式为: 帧格式为:
F场 A场 C场 I场 FC 场 F场
STX:正文开始(Start of Text)。 数据块:正文(Text),由多个字符组成。 ETB:块传输结束(end of transmission block),标识本数据块结束。 ETX:全文结束(end of text),(全文分为若干块传输)。 块校验:对从SOH开始, 直到ETB/ETX字段的检验码。
串行通信数据格式PPT 讲座
1.异步(用于单片机)通信数 据格式.发送和接收时序。
2.同步(计算机内部)通信数 据格式.发送和接收时序。
异步通信数据格式一般为字符格式
一个字符一个字符地传输,每个字符一位一位 地传输,并且传输一个字符时,总是以“起始 位”开始,以“停止位”结束,字符之间没有固 定的时间间隔要求。每一个字符的前面都有一 位起始位(低电平,逻辑值),字符本身由5-7 位数据位组成,接着字符后面是一位校验位 (也可以没有校验位),最后是一位或一位半 或二位停止位,停止位后面是不定长的空闲位。 停止位和空闲位都规定为高电平(逻辑值1), 这样就保证起始位开始处一定有一个下跳沿。

第7章8051串行口及串行通讯技术

第7章8051串行口及串行通讯技术

例7-2 方式2接收在双机通讯中的应用。
单片机技术
第7章 8051串行口及串行通讯技术
本例与上例相对应。若附加的第9位数据为校验位,在接收程序中应作偶校验 处理,设1组寄存器区的R0为数据缓冲器指针。 PIRI: PUSH PSW PUSH Acc SETB RS0 ;选择1组寄存器区 CLR RS1 CLR RI MOV A,SBUF ;收到数据送A MOV C,P JNC L1 JNB RB8,ERP ;ERP为出错处理程序 AJMP L2 L1: JB RB8,ERP L2: MOV @R0,A INC R0 POP Acc POP PSW ERP: ……… ;出错处理程序段 RETI
单片机技术
第7章 8051串行口及串行通讯技术
若SM2=0,则接收的第9位数据不论是0还是1,都产生 RI=1中断标志,接收到的数据装入SBUF中。 应用上述特性,便可实现MCS-51的多机通讯。 设多机系统中有一主机和3个8031从机,如下图。 主机的RXD与所有从机的TXD端相连,TXD与所有从 机的RXD端相连。从机的地址分别为00H、01H和02H。
单片机技术
第7章 8051串行口及串行通讯技术
7.2.2 方式1 SM0、SM1=01。用于数据的串行发送和接收。TXD脚和 RXD脚分别用于发送和接收数据。 方式1收发一帧的数据为10位,1个起始位(0),8个数 据位,1个停止位(1),先发送或接收最低位。帧格 式如图所示。
`
波特率由下式确定: 方式1波特率= (2SMOD/32) ×定时器T1的溢出率 SMOD为PCON寄存器的最高位的值(0或1)。
第7章
7.1 概述
8051串行口及串行通讯技术
基本通讯方式有两种:并行通讯,串行通讯。

第7章 串行通信接口

第7章  串行通信接口

表7.2. 2 SCON各个位的定义和功能说明 各个位的定义和功能说明
(2)电源控制寄存器PCON )电源控制寄存器 对PCON来说只有最高位SMOD对串口通信 产生影响,那就是如果SMOD=0,波特率 为原值。SMOD=1,波特率提高一倍。该 寄存器不能进行位寻址,所以只能进行整 字节操作。PCON的结构见表
7.4 RS-232串口应用实例 7.4.1 设计要求
通过“串口调试助手”发送一个数据给 AT89C51,AT89C51接收数据后在数码管上 显示,并将该数据返发给“串口调试助手”。 要求:在proteus中RS-232的电平已经默认转 换成CMOS电平,所以在proteus仿真中可以 省略电平转换电路,因此在此例中笔者省略 了MAX232的电平转换电路,但在实际硬件 电路中电平转换电路必须有。
PCON的结构 的结构
Bit7 SMOD
Bit6 -
Bit5 -
Bit4 -
Bit3 GF1
Bit2 GF0
Bit1 PD
Bit0 IDL
表7.2.3 PCON的结构 的结构
7.2.3 串行口的工作方式
1、UART 方式0 、 方式 方式0 时,UART 作为一个8位的移位寄存器 使用,波特率为Fosc/12。数据由RXD 从低 位开始收发,TXD 用来发送同步移位脉冲。 因此,方式0不支持全双工。这种方式可用来 和某些具有8位串行口的EEPROM器件通讯。 当向SBUF 写入字节时,开始发送数据。数 据发送完毕时,TI位将置位。置位REN时, 将开始接收数据,接收完8位数据时,RI 位 将置位。方式0的输出时序图如图7.2.3所示。
RB8/T B8
图7.2.8 传送一帧数据的格式
7.2.4 波特率的计算
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微型计算机控制技术
微型计算机控制技术
RS-485标准是RS-422A的变形,适用于半双工
通信方式,收发双方共用一对导线进行通信。由
于RS-422A进行全双工通信需要两对线。所以, RS-485与RS-422A相比,降低了线路成本。它既可 以用于点与点之间的通信,也可以用于多个点之 间的通信。这样,当多个工作站互连时,采用RS-
离(大于2km)之间。 RS-449主要是关于
机械连接和功能方面的标准规范,而它的电
气特性则由RS-423A 和RS-422A规定。RS-
423A和RS-422A是RS-449的标准子集。
微型计算机控制技术
RS-449规定了两种接口标准连接器, 一种为37脚,另一种为9脚。在很多方面 RS-449可以代替RS-232C使用,两者的主要 差别在于信号的传输方法不同。 RS-232C是利用传输信号与公共地间的 电压差,而RS-449是利用信号线之间的电压 差。它与RS-232C相比,传输速率高,通信 距离长。
出租车计价器采用双CPU方案,一片CPU
的主要功能是设置单价、计程和计算金额等,
称之为甲机;另一片CPU的主要功能是记录
该台计价器的交税情况,同时负责显示甲机
发送来的单价、计程、金额等数据,称之为
乙机。甲机和乙机的数据传送是通过串行通
信完成的。
微型计算机控制技术
RS-232C采用单端驱动非差分接收电路,
接口电路原理图如图7-1所示。接收、送发
双方共用一条公共信号地线,抗干扰能力较
弱。RS-232C的最大传输距离为15m,最大
波特率为20Kbps。
微型计算机控制技术
微型计算机控制技术
二、RS-449
在分布式控制系统和工业局部网络中,
传输距离常介于近距离(小于20m)和远距
微型计算机控制技术
7.5 串行通信 (了解)
微型计算机控制技术
在有些情况下需要多个单片机或者计算 机来共同完成一个复杂系统的功能。这时, 单片机之间或者单片机与计算机之间就需 要进行数据的交换。由于串行通信接线少、 成本低,所以它们之间的数据交换通常采 用串行通信来完成。
微型计算机控制技术
7.5.1 串行通信的接口标准
485既可以节省信号线,又便于高速、远距离传送。
所以,许多智能仪器设备均配有RS-485总线接口, 以便于联网。
微型计算机控制技术
微型计算机控制技术
三、20mA电流环路串行接口
20mA电流环路串行接口的最大优点是传 输线路电阻低,对电气噪声不敏感,而且易 于实现发送器与接收器的光电隔离,抗干扰 能力强。因此,在长距离通信时要比RS232C优越得多。该串行接口由4根线组成, 其中2根组成输入电流回路,2根组成输出电 流回路。线路中存在20mA电流表示逻辑1, 不存在20mA电流表示逻辑0。
在设计通信接口时,必须根据需要选
择标准接口,并考虑传输介质、电平转换等
问题。串行通信接口标准主要有RS-232、
RS-449和20mA电流环路三大类,其中前两类
接口标准又包含几种接口标准。它们各自具
有不同的特点,适用于不同的工作场合。
微型计算机控制技术
一、RS-232
RS-232C的电气标准与TTL不同,它的电平不是
微型计算机控制技术
四、串行通信接口选择的原则 (1)通信速度和通信距离
(2)抗干扰能力
微型计算机控制技术
7.5.2 串行通信方式
一、89C51双机通信 1.接口方式 (1)直接互连通信 在双CPU系统中或者两个89C51单片机 系统距离很短时(相距小于1.5m),可以 将两个CPU的串行口直接相连,实现双机通 信。
微型计算机控制技术
TXD RXD 89C51 主机
TXD RXD 89C51 1#从机
TXD RXD 89C51 2#从机
TXD RXD 89C51 3#从机
在多机串行通信时,单片机的串行口必 须工作在方式2或方式3下(方式3除波特率可 变外,其余和方式2相同)。
微型计算机控制技术
7.5.3 串行通信实例
微型计算机控制技术
89C51
TXD
89C51 RXD TXD
RXD
微型计算机控制技术
(2)采用RS-232C总线通信 如果两个89C51单片机系统距离有一定 的距离(相距小于15m),那么为了增加通 信距离,减少通道和电源干扰,可以采用 RS-232C总线进行双机通信。 (3)采用RS-422A总线通信 如果两个89C51单片机系统距离较远 (相距小于1000m),那么可以采用RS-422 标准进行双机通信。
+5V和地,而是采用负逻辑,即:
逻辑“0”:+5V~+15V
逻辑“1”:-5V~-15V
因此,RS-232C不能和TTL电平直接相连,使用
时必须进行电平转换,否则将会使TTL电路损坏。
微型计算机控制技术
由于RS-232C不能和TTL电平直接相连。 所以,使用时必须进行电平转换。下面给出 两种常用的电平转换电路。一种电平转换电 路是采用MAX232芯片;另一种电平转换电路 是采用传输线驱动器MC1488和传输线接收器 MC1489。
微型计算机控制技术
二、89C51与PC机通信 在许多应用领域中,例如数据采集系 统、工业过程控制系统等,通常需要用一 台PC机来管理一台或若干台以单片机为核 心的智能仪表或控制装置。
微型计算机控制技术
微型计算机控制技术
三、89C51多机通信 串行通信既可以用于点与点的通信, 也可以用于多机通信。多机通信广泛应用 于集散式控制系统中。主从式多机通信是 多机通信系统中最常见、最简单的一种方 式。在主从式多机通信系统中,只有一台 主机,从机可以有多台。
微型计算机控制技术
微型计算机控制技术Fra bibliotekRS-422A采用无公共信号地的平衡传输技术, 电路为平衡驱动差分接收电路,它采用负逻辑, 即: 逻辑“0”:+2V~+6V; 逻辑“1”:-6V~-2V RS-422A使得通信双方因地电位不同而对通信 线路产生的干扰减至最小。它比RS-423A具有更高 的可靠性,数据传输的波特率更高,传输距离更 远。当采用普通双绞线时,RS-422A在1000m内, 波特率可达100Kbps;在200m内,波特率可达 200Kbps;在10m内,波特率可达10Mbps。
微型计算机控制技术
RS-232C有25条信号线,采用25芯D型 连接器,即DB-25,其最常用的9条引脚的定 义如表7-1所示。25个信号中的一些信号是 为通信业务联系或信息控制而定义的,在计 算机串行通信中常用的信号有9条,采用9芯 D型连接器,即DB-9。
微型计算机控制技术
在最简单的全双工系统中,仅用发送数 据、接收数据和信号地三根线即可,对于 MCS-51单片机,利用其RXD、TXD线和一根地 线,就可以构成符合RS-232C接口标准的全 双工通信口。
微型计算机控制技术
RS-423A采用有公共信号地的非平衡传 输技术,接口电路为单端驱动差分接收电路, 接收、送发双方无公共信号地线。它采用负 逻辑,即: 逻辑“0”:+4V~+6V; 逻辑“1”:-6V~-4V。 在传输距离为10m时,RS-423A的波特率 可达300Kbps;在传输距离为1000m时,其波 特率可达3Kbps。
相关文档
最新文档