单片机原理及应用项目化教程-项目七 串行通信应用
项目七 串行通信应用
3.仿真效果 效果:当按下矩阵按键中的任意一个按键的时候,在右边的 数码管上面则会显示当前按下的按键的键值,例如图7-2中按下 了键值为4的按键,于是就能在数码管上面看到显示的值是4。 程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机 内,执行特效即为项目所需特效。
项目七 串行通信应用
2.仿真效果 程序编译通过后,生成 .hex文件导入仿真图AT89S51单片机 内,执行特效即为项目所需特效。 效果:甲单片机按键同时控制甲单片机本身和乙单片机3个 LED灯,分别实现四种效果:第一次按下并抬起,实现闪烁;第 二次按下并抬起,实现LED1亮;第三次按下并抬起,实现LED2 亮;第四次按下并抬起,实现流水显示。乙机按键每按下并抬 起一次,甲机数码管加1显示。
项目七 串行通信应用
当定时器T1用作波特率发生器时,通常选用定时初值自动重 装的工作方式2(注意:不要把定时器的工作方式与串行口的工 作方式搞混淆了)。其计数结构为8位,假定计数初值为Count, 单片机的机器周期为T,则定时时间为(256 - Count) × T。从 而在1 s内发生溢出的次数(即溢出率)可由公式(1)求得:
项目七 串行通信应用
任务3 两个单片机之间的双向通信应用
项目七 串行通信应用
任务要求: 甲单片机按键同时控制甲单片机本身和乙单片机3个LED灯, 分别实现四种效果;第一次按下并抬起,实现闪烁;第二次按 下并抬起,实现LED1亮;第三次按下并抬起,实现LED2亮;第 四次按下并抬起,实现流水显示。乙机按键每按下并抬起一次, 甲机数码管加1显示。 学习目的: (1) 了解51单片机串行口(UART)的结构和工作方式。 (2) 了解串行口通信的原理及数据交换过程。 (3) 掌握单片机之间进行串口通信的编程方法。 1.硬件电路设计 所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解 电容(CAP-ELEC)、单片机(AT89C51)、LED灯(LED-RED)、按键
项目七 串行通信应用
表中各位(从左至右为从高位到低位)含义如下。 SMOD :波特率加倍位。SMOD = 1,当串行口工作于方式1、 2、3时,波特率加倍。SMOD = 0,波特率不变。 GF1、GF0:通用标志位。 PD(PCON.1):掉电方式位。当PD = 1时,进入掉电方式。 IDL(PCON.0):待机方式位。当IDL = 1时,进入待机方式。 波特率计算:在了解了串行口相关的寄存器之后,我们可得 出其通信波特率的一些结论: (1) 方式0和方式2的波特率是固定的。 在方式0中,波特率为时钟频率的1/12,即fOSC/12,固定不 变。 在方式2中,波特率取决于PCON中的SMOD值,即波特率为
项目七 串行通信应用
项目七 串行通信应用
任务1 串行通信工作原理 任务2 两个单片机之间的单向通信应用 任务3 两个单片机之间的双向通信应用
项目七 串行通信应用
教学任务 任务1:串行通信工作原理。 任务2:两个单片机之间的单向通信应用。 任务3:两个单片机之间的双向通信应用。
教学目标 (1) 掌握串行通信的工作原理,串行通信的两种基本方式。 (2) 掌握同步通信和异步通信的实现方法。 (3) 掌握单片机控制系统之间的相互通信以及具体的实现方 法。 (4) 掌握实际项目中利用串行通信技术来解决实际问题的能 力。
项目七 串行通信应用
任务1 串行通信工作原理
项目七 串行通信应用
任务要求: 在本小节学习基础上简述串行通信工作原理及波特率、溢出 率的计算方式。 学习目标: (1) 掌握串行通信的工作原理。 (2) 掌握SCON寄存器的结构及串行口工作方式。 (3) 掌握PCON寄存器的结构及各种方式下波特率的计算方式。 串行接口是一种可以将接收的来自CPU的并行数据字符转换 为连续的串行数据流发送出去,同时可将接收的串行数据流转 换为并行的数据字符供给CPU的器件。一般完成这种功能的电路, 我们称为串行接口电路。 51单片机内部有一个全双工串行接口。一般来说,只能接收 或只能发送的串行口称为单工串行;既可接收又可发送,但不
从而波特率的计算公式由公式(2)求得:
在实际应用时,通常是先确定波特率,然后根据波特率求T1
项目七 串行通信应用
任务2 两个单片机之间的单向通信应用
项目七 串行通信应用
任务要求: 在某个控制系统中有U1、U2两个单片机,U1单片机首先将P1 端口指拨开关数据载入SBUF,然后经由TXD将数据传送给U2单片 机,U2单片机将接收数据存入。 学习目标: (1) 掌握51单片机单向通信的基本实现思路。 (2) 掌握C语言子函数的调用方法。 (3) 掌握按键延时消抖的代码实现。 1.硬件电路设计 所需元件:晶振(CRYSTAL)、电阻(RES)、电容(CAP)、电解 电容(CAP-ELEC)、单片机(AT89C51)、数码管(7SEG)、按键 (Button)、排阻(RES8PACK)。
项目七 串行通信应用
SM2:多机通信控制位。 REN:串行接收允许位:REN = 0时,禁止接收;REN = 1时, 允许接收。 TB8:在方式2、3中,TB8是发送机要发送的第9位数据。在 多机通信中它代表传输的地址或数据,TB8 = 0时为数据, TB8 = 1时为地址。 RB8:在方式2、3中,RB8是接收机接收到的第9位数据,该 数据正好来自发送机的TB8,从而识别接收到的数据特征。 TI:串行口发送中断请求标志。
07.项目七 单片机串行通信设计与实现
接 收 或 发送数 据 , 是通过 串 行 口对外 的 两 条独立 收 发信 号线 RXD (P3.0)、TXD(P3.1)来实现的,因此可以同时发送、接收数据,其 工作方式为全双工制式。
项目七 单片机串行通信设计与实现
计算机科学系
单片机应用技术项目教程(C语言版)
TTL与RS232
232电平或者说串口电平,有的甚至说计算机电平, 所有的这些说法,指得都是计算机9针串口 (RS232)得电平,采用负逻辑, -15v ~ -3v 代表1 +3v ~ +15v 代表0 TTL:Transistor-Transistor Logic 三极管结 构。 Vcc:5V;VOH>=2.4V;VOL<=0.5V;VIH>=2V; VIL<=0.8V。
项目七 单片机串行通信设计与实现
XTAL1
19
X2 CRYSTAL C5
30pF
XTAL2
18
R10
10k
RST
9
PSEN ALE EA
29 30 31
C6
10uF
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
1 2 3 4 5 6 7 8
项目七 单片机串行通信设计与实现
计算机科学系
单片机应用技术项目教程(C语言版)
T1计数率 = fosc /12 12 (256 X ) 溢出周期= T1溢出所需周期数/ T1计数率= f osc 溢出率为溢出周期的倒数
f osc 2 SMOD SMOD(T1溢出率)/32= 波特率 = 2 32 12(256 X)
fosc: 晶振的时钟频率
为了避免因溢出而产生不必要的中断,此时应禁 止T1中断。
单片机原理及应用.ppt
单片机原理及应用
30
方式1
10位数据异步通讯方式——用于双机通信
单片机原理及应用
31
方式1
单片机原理及应用
方式1
SM0、SM1=01
方式1一帧数据为10位,1个起始位(0),8个数据位, 1个停止位(1),其中起始位和停止位是自动插入 的。先发送或接收最低位。帧格式如下:
方式1波特率=(2SMOD/32)×定时器T1的溢出率 SMOD为PCON寄存器的最高位的值(0或1)。
扩展输出口
扩展输入口
数据传输波特率固定为fosc/12 由RXD引脚输入或输出数据(低位在前,高位在后)
由TXD引脚输出同步时钟信号
25
方式0
单片机原理及应用
实例1 利用74LS164扩展并行输出口,并实现发光二极管循环控制功能
26
方式0
74LS164为8位串并转换移位寄存器 能将串行输入数据转为并行输出
T1 溢出率 = fosc /{12×[256 -(TH1)]} 在单片机的应用中,常用的晶振频率为:12MHz和11.0592MHz。所 以,选用的波特率也相对固定。常用的串行口波特率以及各参数的关系 如表所示。
23
串行口初始化
单片机原理及应用
串行口初始化,主要是设置产生波特率的 定时器1、串行口控制和中断控制。具体步 骤如下:
4
单片机原理及应用
同步通讯数据格式——数据以块为单位连续传送。
在发一组数据时,只在开始用若干个同步字符作为双方的号令, 然后连续发送整组数据。 特点——数据是以数据块为单位连续传送的,结构紧凑, 传输效率高,但要求双方有准确的时钟,对硬件要求高。
5
单片机原理及应用
波特率为每秒钟发送二进制数码的位数,即b/S (位/秒)。
单片机原理及应用 蔡启仲 第7章 串行通信及应用
7.2.1 串行口的结构
(1) 发送部分与接收部分独立控制,分开操作。 (2) 发送中断标志位TI与接收中断标志位RI单独产生,但共用一个 中断申请。 (3) 需要依赖于额外的波特率发生器。一般由单片机内部的定时器 T1产生。 (4) 具备两个在物理上相互独立的数据缓冲器:发送SBUF和接收 SBUF,但是两者的特殊功能寄存器字节地址相同。 (5) 发送部分:并行数据转换成串行数据通过TXD(P3.1)引脚发送; 接收部分通过RXD(P3.0)引脚接收串行数据,并将串行数据转换为并 行数据进行处理。 (6) 工作状态受SCON和PCON两个寄存器的配置决定。
端向接收端的数据传输要求,实现真正意义上的两个方向的数据同时
传送。从本质上看,全双工通信就是两个单工通信的组合体。
12
7.2 51单片机串行口
51单片机内部有一个可编程的全双工串行通信接
口UART,可同时进行数据的发送和接收。 RXD端(P3.0):作为串行数据接收端 TXD端(P3.1):作为串行数据发送端
机器周期 写SBUF RXD 串行数据 TXD移位脉冲 TI中断标志位 D0 D1 D2 D3 D4 D5 D6 D7
S1~S6 S1~S6
方式0发送时序图
22
方式0接收 单片机的TXD引脚输出移位脉冲,RXD引脚输入串行数据。 串行口以固定的波特率(fOSC/12)采样RXD引脚的电平信息,执 行指令MOV A, SBUF读入数据。
17
(4) TB8 — 发送的第9位数据 方式0和方式1中不使用TB8。 方式2和方式3中的TB8由软件置1或清0。发送的字符帧中,TB8即发送 的第9位数据。通信过程中,该位既可以作为奇偶校验位使用,也可以在多机 通信中作为声明地址帧/数据帧使用。 (5) RB8 — 接收到的第9位数据 方式0:不使用RB8。 方式1:如果SM2=0,则RB8存放的是已接收的停止位。 方式2和方式3:由接收到的第9位来决定RB8是“1”还是“0”。 (6) TI — 发送中断标志位 方式0:串行发送完第8位数据时TI由硬件置1。 方式1、2 、3:发送停止位开始时由硬件置1。 TI必须通过软件清0。 (7) RI — 接收中断标志位 方式0:串行接收完第8位数据时RI由硬件置1。 方式1、2 、3:接收停止位中间时刻由硬件置1。 RI必须通过软件清0。
《单片机原理及应用教程》第7章:单片机的串行通信及接口
单片机的串行接口基本概念、工作原理和应用编程
1. 定时器T1作波特率发生器,改变计数初值就可 以改变串行通信的速率,称为可变波特率。
2. 以内部时钟的分频器作波特率发生器,因内部时 钟频率一定,称为固定波特率
T1IN T2IN R2O
UT
MAX232引脚图
图8-5 MAX232 引脚和连线图
MCS—51之间的双机通信
RXD
TXD
GND 8xx51
MCS—51和PC机的双机通信 MCS—51和PC机的双机通信见下图
TXD GND 8xx51
+5V
Vcc
EA 10μF
RST
TXD RXD
C1
89C51/ 89S51
PC机上的COM1-COM4口使用的是RS-232C串行通信标准接口, 本章仅介绍RS-232C接口,其它接口可参考有关资料。
以上标准都有专用芯片实现通信协议,这些接口芯片称为收发 器。
串行扩展接口是设备内部器件之间的互连接口,常用的串行扩 展接口规范有SPI、I2C等。串行接口扩展的芯片很多,可以根据需 要选择。
2、RS-449 (RS422 RS423 RS485)
3、20mA电流环
这里重点介绍RS-232
RS-232C:速率:20Kbit/S,
最大通信距离 : 15m
RS422: 10Mbit/s,
: 300m
90Kbit/s,
:1200m
抗干扰能力
采用标准的通信接口,本身具有一定的抗干扰能力, 但是工业现场的情况往往很恶劣,因而要根据具体情况进 行选择。 RS232C:一般场合 RS422: 共模信号比较强 光纤: 电磁干扰较强
单片机原理及应用串行通信解析
15
2) 电源控制寄存器PCON (波特率倍增控制寄存器)
字节地址:87H
位序
7
6
5
4
3
2
1
0
位符号 SMOD /
/
/
GF1
12
4)RB8 接收数据的第9位。 在方式2、方式3时,存放接收到的第9位数据,代 表接收数据的某些特征。
13
5)SM2—多机通信控制位
当串行口在方式2或方式3下进行数据接收时,如果 SM2=1(允许多机通信),REN=1,则从机处于只 有接收到RB8=1(地址帧)时,激发中断请求标志 位RI,否则将接收到的前8位数据丢弃。
3)所有从机均接收主机发送的地址,进入中断进行 地址比较; 4)确认寻址从机,自身SM2清0,向主机返回地址 供主机核对; 5)核对无误,主机向被寻址从机发送命令,通知 从机进行一对一数据通信
38
8-4-2 RS232串行通信总线标准
美国电子工业协会公布的串行通信总线标准(EIA)
RS232(电压型总线标准)电平逻辑:负逻辑 带负载时:逻辑1:-5V~-12V;
逻辑0:+5V~+12V 不带负载:输出电平,-25V~+25V
输入电压,-25V~+25V
39
RS232串行信息格式
"1"12V
D0 D1 D2 D3 D4 D5 D6 D7
"0"12V 起
校
始
验
Байду номын сангаас
周国运单片机原理及应用(C语言版)7
VCC 时钟禁止 D C 并 B 入 A 串入 QH串出
并入/串出
7.3.2 串行口方式1
方式1真正用于串行发送或接收。TXD与RXD 分别用于发送、接收数据。 帧格式:1位起始位、8位数据位(低位在前)、 1位停止位,共10位。 在接收时,停止位进入SCON的RB8 此方式的波特率可调,由T1控制。 SCON=0101 0000b=0x50
方式1发送
只要写SBUF就启动发送
方式1接收 1)接收条件:SCON中的REN置1 2)接收过程: REN置1后,串行口对接收引脚 RXD检测,当RXD由高变低时开始移位接收;接收 完后将停止位装入RB8中。 3)接收的数据有效的条件: a、RI=0; b、SM2=0,或者SM2=1并且RB8=1 满足以上2条,则将8位数据装入SBUF,且RI置1。 有以下情况之一则数据无效: a) RI=1; b) SM2=1并且RB8=0 注意:除了方式2、3的多机通信之外,SM2应清0
GND
图7-1 并行通信示意图
图7-2 串行通信示意图
两种通信特点: 并行通信连线多,速度快,适合近距离通信; 图7-1 并行通信示意图 串行通信连线少,速度慢,适合远距离通信。
7.1.2 异步通信和同步通信
1.异步通信
异步通信中,传送的数据可以是一个字符代码或 一个字节数据,数据以帧的形式一帧一帧传送。
+5V
SH/LD
接收电路
7.3.1 串行口方式0
串入/并出
串 A 入 B QA QB QC QD
GND
74LS164 1 14 2 13 3 12 4 11 5 10 6 9 7 8
SH/LD CLK E 并 F 入 G H 串出 Q
GND
nj单片机原理及应用(C语言版)第7章
单片机原理及应用(C语言版)第7章MCS-51单片机串行口主编:周国运中国水利水电出版社本章要点本章主要讲述MCS-51单片机串行口的结构、工作原理以及应用。
主要内容包括串行通信基本知识、MCS-51单片机串行口结构、串行口工作方式以及单片机与PC机通信的接口电路。
7.1 串行通信基本知识主要内容7.1.1 数据通信7.1.2 异步通信和同步通信7.1.3 波特率7.1.4 通信方向7.1.5 串行通信接口种类7.1.1 数据通信计算机与外界的信息交换称为通信。
基本的通信方法有并行通信和串行通信两种。
1.并行通信单位信息(通常指一个字节)的各位数据同时传送的通信方法称为并行通信。
优点:传送速度快;缺点:数据有多少位,就需要多少根传送线。
适合近距离通信7.1.1 数据通信2.串行通信单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信。
优点:只需一对传输线,大大降低了传送成本,特别适用于远距离通信;缺点:传送速度较低。
适合远距离通信1.异步通信异步通信中,传送的数据可以是一个字符代码或一个字节数据,数据以帧的形式一帧一帧传送。
7.1.2异步通信和同步通信图7-3 异步通信的一帧数据格式1、异步通信起始位(0):信号只占用一位,用来通知接收设备一个待接收的字符开始到达。
线路上在不传送字符时应保持为1。
接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道发来一个新字符,应马上准备接收。
数据位:紧接着起始位后面,它可以是5位(D0--D4)、6位、7位或8位(D0--D7)。
1、异步通信奇偶校验:只占一位,但也可以规定不使用奇偶校验位,这一位就可省去。
也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等)。
停止位:用来表征字符的结束,它一定是高电位(逻辑1)。
停止位可以是1位、1.5位或2位。
接收端收到停止位后,知道上一字符已传送完毕,同时,也为接收下一个字符做好准备--只要再接收到0,就是新的字符的起始位。
7第七章 串行通信接口《单片机原理与项目实践——基于C语言》课件
7.2 串行接口寄存器
串行口的发送和接收都是以特殊功 能寄存器SBUF的名义进行读或写的,当 向SBUF发“写”命令时(执行SBUF= 数据;)即是向发送缓冲器SBUF装载并 开始由TXD引脚向外发送的一帧数据, 发送完便使发送中断标志位TI=1。
7.2 串行接口寄存器
7.2.2 串行口控制寄存器
2 电路图 3 程序
7.7 串口应用实例
例7.3 甲乙两个单片机进行通信,要求: (1)甲机通过按键K1可以控制乙机的 LED1、
LED2的亮灭; (2)乙机通过按键K2可以向甲机发送数字,
1 并程显序示分在析甲机的数码管上;
2 电路图
3 程序
7.8 小 结
1.以字符或字节为单位组成数据帧进行的 传送称为异步通信,以数据块为单位连续 进行的传送称为同步通信。 2.在串行通信的编程中,如果是方式1和方 式3,初始化程序中必须对定时计数器T1 进行初始化编程以选择波特率。
控制MCS-51单片机串行口控制寄存器 共有两个:特殊功能寄存器SCON和PCON。 SCON和PCON选口地址分别为98H和87H, SCON用于控制和监视串行口的工作状态, 可以位寻址。MCS-51单片机串行通信的方 式选择、接收与发送控制及串行口的标志均 由SCON控制和指示,PCON为电源控制寄 存器,没有位寻址功能。
第七章 串行通信接口
7.1 串行通信简介
2. 同步通信
同步通信是一种连续串行传送数据的 通信方式,一次通信只传送一帧信息。这 里的信息帧与异步通信中的字符帧不同, 通常含有若干个数据字符。它们均由同步 字符、数据字符和校验字符(CRC)组成。
7.2 串行接口寄存器 7.2.1 串行口内部结构
7.4 RS-232标准及其应用 MAX232连线图与引脚图
《单片机原理及应用教程》第7章:单片机的串行通信及接口PPT教学课件
例1 利用74LS164扩展并行口,构成8位静态显示数码管接口。设计 电路图并编写相应的显示驱动程序。显示缓存为40H~47H单元,存 放被显示数字的共阴极代码。 解:根据题目要求,硬件电路如图7.14所示。图中只画了2位数码 管,剩余6位数码管电路与前两位类似。
图7.14 串行口扩展数码管显示接口
F4H 所以:(TH1)=(TL1)=F4H
初始化程序为:
INI:
MOV MOV MOV MOV
TMOD,#20H ;T1定时方式,模式2 PCON,#00H ;SMOD=0 TH1,#0F4H TL1,#0F4H
SETB
MOV 许接收
TR1 SCON,#50H ;串行口方式1,允
……
7.4 串行口的应用
其帧格式为:
方式2和方式3的发送、接收时序与方式1类似,只是 增加了一位第九位。发送和接收时序可参考图7.13。
7.3.4 波特率设计
1. 方式0的波特率 方式0波特率=fosc/12
2. 方式2的波特率
方式2波特率取决于PCON中 SMOD位的值;当SMOD=0时, 波特率为fosc的1/64;若 SMOD=1,则波特率为fosc的 1/32。
3. 方式1和方式3的波特率 (1)方式1、方式3波特率=
(2)方式1、方式3波特率=
2SMOD(T1溢出率) 32
2SMOD
fOSC
32 12(256X)
例1 8051单片机时钟振荡频率为11.0592MHz,选用定时器T1工作模 式2作为波特率发生器,波特率为2400b/s,求初值。并编写初始化 程序。 解:设置波特率控制位(SMOD)=0
7.3 串行接口的工作方式 7.3.1 )方式0接收电路
