51单片机串行接口

合集下载

51单片机串行通信接口

51单片机串行通信接口

工 作 方 式 选 择 位
多允 机许 通接 信收 控控 制制 位位
发 接发接 送 收送收 数 数中中 据 据断断 第 第标标 九 九志志 位位
北京交通大学
18
各位功能说明如下: SM0 SM1:串口工作方式选择位
00 方式0: 同步移位寄存器 波特率=主振频率/12
01 方式1: 8位异步,波特率可变
⑵在双机通信中,该位作为奇偶校验位; ⑶在多机通信中用来表示D7-D0是地址帧或数据帧
即:
D8=0:表示数据帧; D8=1:表示地址帧
北京交通大学
20位是接收到的第9位数据。 方式1,SM2=0,停止位。方式0,不用。
⑵在多机通信中是地址帧(RB8=1)和数据帧 (RB8=0)的标识位。
北京交通大学
34
方式2、3的区别是:波特率设置不同 方式2的波特率是固定的。即:
波特率=fosc/32或fosc/64 方式3的波特率是可变的。即:
波特率 2smod
fosc
32 12 (256 X )
X
256
fosc (2s mod ) 384 波特率
北京交通大学
35
表1 波特率与时间常数
第6章 串行通信接口
本章主要内容 • 串行数据通信基本原理 • MCS-51单片机串行口 • 串行口应用举例
北京交通大学
1
一、串行数据通信基本原理
计算机的两种方式数据传送:并行和串行
并行传送的特点:
各数据位同时传送,传送速度快、效率高。
但需要的数据线多,因此传送成本高。并行数据
传送的距离通常小于30米。
3.直到停止位到来之后把它送入到RB8中,并 置位RI,通知CPU从SBUF取走接收到的一个字符。

51单片机模拟spi串行接口程序

51单片机模拟spi串行接口程序
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter;
for(BitCounter=8; BiCounter!=0; BitCounter--)
{ CLK=0;
DataI=0; // write
if(val&0x80) DataI=1;
val<<=1;
CLK=1;
if(DataO)val|=1; // read
}
CLK=0;
return val;
}
sbit CLK= P1^5;
sbit DataI=P1^7;
sbiபைடு நூலகம் DataO=P1^6;
#define SD_Disable() CS=1 //片选关
#define SD_Enable() CS=0 //片选开
val<<=1;
CLK=1;
if(DataO)val|=1; // read
}
CLK=0;
return val;
}
sbit CLK= P1^5;
sbit DataI=P1^7;
sbit DataO=P1^6;
#define SD_Disable() CS=1 //片选关
#define SD_Enable() CS=0 //片选开
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter;
for(BitCounter=8; BiCounter!=0; BitCounter--)
{ CLK=0;

AT89C51单片机与PC机串行通信的接口实现

AT89C51单片机与PC机串行通信的接口实现

AT89C51单片机与PC机串行通信的接口实现[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。

在接口中采用MAX232作电平转换电路,简单的通信协议,PC 机用VB编程,AT89C51单片机采用中断收发方式。

文章给出了相应通信接口电路与程序。

[关键词] 通信协议RS232C 通信接口电路通信接口程序AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。

采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。

具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。

但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC 机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。

本文介绍单片机与PC机进行串行通信的一种接口实现。

一、接口电路的设计(一)接口逻辑电平的转换在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。

RS-232C 为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。

AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。

转换的方法有多种。

常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。

MAX232引脚排列与外围电路如图1所示。

图1MAX引脚及外围接口图(二)通信接口电路本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。

图2PC机与AT89C51通信接口图二、通信接口程序(一)通信协议PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信协议。

51单片机-串行口ppt课件

51单片机-串行口ppt课件

为发送时CPU是主动的,不会产生重叠错误。
最新课件
21
8.2.2 80C51串行口的控制寄存器
SCON 是一个特殊功能寄存器,用以设定串行口的工 作方式、接收/发送控制以及设置状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
最新课件
22
●SM2,多机通信控制位,主要用于方式2和方式3。 当接收机的SM2=1时可以利用收到的RB8来控制是否 激活RI(RB8=0时不激活RI,收到的信息丢弃; RB8=1时收到的数据进入SBUF,并激活RI,进而在 中断服务中将数据从SBUF读走)。当SM2=0时,不 论收到的RB8为0和1,均可以使收到的数据进入 SBUF,并激活RI(即此时RB8不具有控制RI激活的 功能)。通过控制SM2,可以实现多机通信。
起 空始 闲位
一个字符帧 数据位
校停 验止 位位
空 下一字符 闲 起始位
LSB
MSB
异步通信的特点:不要求收发双方时钟的
严格一致,实现容易,设备开销较小,但 每个字符要附加2~3位用于起止位,各帧 之间还有间隔,因此传输效率不高。
最新课件
9
2、同步通信
同步通信时要建立发送方时钟对接收方时钟的直接控制, 使双方达到完全同步。此时,传输数据的位之间的距离均 为“位间隔”的整数倍,同时传送的字符间不留间隙,即 保持位同步关系,也保持字符同步关系。发送方对接收方 的同步可以通过两种方法实现。
波特率=2SMOD/32×T1的溢出率 = 2SMOD × fosc/[ 32 × 12×(2K-初值)]
最新课件
19
回目录 上页 下页
3、传输距离与传输速率的关系
串行接口或终端直接传送串行信息位流的

51单片机串口工作方式0和1解析

51单片机串口工作方式0和1解析

RXD
7.1.1 串行口控制寄存器SCON b7 b6 b5 b4 b3 b2 b1 TI b0 RI
SM0 SM1 SM2 REN TB8 RB8
9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
SM0、SM1 —— 串行接口工作方式定义位
• SM0、SM1 = 00 —— 方式 0,8位同步移位寄存器 • SM0、SM1 = 01 —— 方式 1,10 位异步接收发送 • SM0、SM1 = 10 —— 方式 2,11 位异步接收发送 • SM0、SM1 = 11 —— 方式 3,11 位异步接收发送 注意: 方式 0 的特点,方式 2、方式 3 的差异
寄存器 SCON、PCON、SBUF
寄存器 IE、IP
• MCS-51 单片机串Fra bibliotek接口工作方式 方式 0 方式 2 方式 1 方式 3
有两个数据缓冲寄存器 SBUF,一个输入移位寄存器,一个 串行控制寄存器SCON和一个特殊功能寄存器PCON等组成。 8 位SBUF是全双工串行接口寄存器, 它是特殊功能寄存器, 地址为 99H,不可位寻址;串行输出时为发送数据缓冲器,发送
时钟振荡频率为6MHz或12 MHz时,产生的比特率偏差较大, 故用到串口通信时通常选用11.0592MHZ晶体振荡器。
串行口的结构
• MCS-51 单片机串行接口的硬件
P3.0 位的第二功能 —— 收端 RXD P3.1 位的第二功能 —— 发端 TXD
• MCS-51 单片机串行接口的控制
比特率 比特率
= /12
P.110
=
/32 计1次 计3次 计3次 计6次 计12次 计24次
=
/12/计次/16

MCS51的串行口PPT

MCS51的串行口PPT
其他工作方式,串行接受到停止位时,该位置“1”。 RI=1,表达一帧数据接受完毕,并申请中断, CPU从 接受SBUF取走数据。该位状态也可软件查询。RI必 须由软件清“0”。
6.1.2 特殊功能寄存器PCON
字节地址为87H,没有位寻址功能。
SMOD:波特率选择位。 例如:方式1旳波特率旳计算公式为: 方式1波特率=(2SMOD/32)×定时器T1旳溢出率
图6-14 流水灯显示电路图
ORG 0000H LJMP MAIN ORG 2023H MAIN: MOV SCON,#00H ;置串行口工作方式0 MOV A,#80H :最高位灯先亮 CLR P1.1 ;关闭并行输出(避象传播过程中,各 LED旳“暗红”现象) OUT0: MOV SBUF,A ;开始串行输出 OUT1: JNB TI,OUT1 ;输出完否? CLR TI ;完了,清TI标志,以备下次发送 SETB P1.1 ;打开并行口输出 ACALL DELAY ;延时一段时间 RR A ;循环右移 CLR P1.1;关闭并行输出 SJMP OUT0;循环 DELAY: …………;延时子程序,不再反复
假如SM2=0,则不论第9位数据是“1”还是“0”,都 将 前8位数据送入SBUF中,并置“1” RI,产生 中断祈求。
在方式1时,假如SM2=1,则只有收到停止位时才会激 活RI。
在方式0时,SM2必须为0。
(3)REN——允许串行接受位
由软件置“1”或清“0”。
REN=1 允许串行口接受数据。 REN=0 禁止串行口接受数据。 (4)TB8——发送旳第9位数据 方式2和3时,TB8是要发送旳第9位数据,可作为奇偶 校验位使用,也可作为地址帧或数据帧旳标志。 =1为地址帧, =0为数据帧 (5)RB8——接受到旳第9位数据 方式2和3时,RB8存储接受到旳第9位数据。在方式1 ,假如SM2=0,RB8是接受到旳停止位。在方式0, 不使用RB8。 (6)TI——发送中断标志位

51单片机三线串行总线的虚拟接口设计

51单片机三线串行总线的虚拟接口设计
矗乱
的时序 和运行状 态 ,在单片机 上构建 模拟 的 串行 口,亦 即严 格遵循 数据传输 时序设 计数据 传输子 程序 ,设计 时常用 到软
件延时方法 ,一 定要精确设计延 时时间 [ 2 1 。三线串行总线器件

般使 用时钟信 号线 、数据 I / O线 和片选/ 复位线 进行 半双工
是 常用的三线 串行总线器件 ,它们 都使 用时钟信 号线、数据 I / O线和片选/ 复位线进行半双工 同步 串行数据传输 ,但
数 据 传 输 时 序 各 不 相 同 ,在 单 片机 上 它 们 的 虚 拟 串行 接 口需 分 别 独 立 设 计 ,设 计 时要 严 格 遵 循 器 件 的 数 据 传 输 时 序。
用于单片机 的 C N和 U B标准 串行 总线 l A S l l ,另外 还 出现了一 些专用非标 准的三线 串行总线 。5 1系列单片 机的 串行 系统扩 展通常采用串行 同步传输方式 ,用几个 并行 I / O口虚拟 串行 口
() X1 2 3 、X :振 荡 源 ,外 接 3 . 8 Hz 2并行 扩展 和 串行 扩展 ,串行扩 展 占用 I 口少 、电路简单 ,从而能有效缩小硬件体 积 、降低功 / 0 耗 ,近 年来 得到 了广泛 应用 。除 了早 期传 统 的 U R A T串行 口 以外 ,后 来陆续出现了 IC、S I - R 2 P 、1WI E等标 准串行总线和
关键词 : 单片机 ;串行 总线 ; 拟接 口 ; S 3 2; L 5 1C T C 4 C 虚 D 1 0 T C 6 5 P; L 5 9 P
Vit a n e f c sg fTh e - i e S ra si M ir c n r l rUn t r u l t r a e De i n o r e W r e i l I Bu n 5 c o o t o l i 1 e

MCS-51单片机串行通信

MCS-51单片机串行通信

9.1 串行通信概述
• ④停止位 表示发送一个数据的结束,用高电平表示,占1 位、1.5 位或2 位。 • 线路空闲时,线路处于逻辑“1”等待状态,即空闲位为1。 空闲位是异步通信特征之一。异步通信中数据传送格式如 图9.1 所示。 • 图9.1 异步通信数据帧格式
图9.1 异步通信数据帧格式
9.1 串行通信概述
9.1 串行通信概述
• 3.波特率 • 波特率是数据传递的速率,指每秒传送二进制数据的位数, 单位为位/秒(bit/s)。 • 例9.1 假设微型打印机最快的传送速率为30 字符/秒,每 个字符为10 位,计算波特率。 • 解: • 波特率=10 b/字符×30字符/s=300 b/s • 每一位代码的传送时间Td 为波特率的倒数: • Td=1/300=3.3 ms • 异步通信的波特率一般在50~19 200 b/s 之间,常用于 计算机到终端机和打印机之间的通信、直通电报以及无线 电通信的数据发送等。
异步10位收发 异步11位收发 异步11位收发
9.2 串行口结构与工作原理
• SM2:多机通信控制位。 • a.用于方式2和方式3。若SM2=1,则允许多机通信。 多机通信协议规定,若第9位数据(RB8)为1,则表明本帧 数据为地址帧。否则,若第9位数据(RB8)为0,则表明本 帧数据为数据帧。 • 当一个8051(主机)与多个8051(从机)进行通信时,令所有 从机的SM2都置1。主机要与某个从机通信,首先发送一 个与该从机相一致的地址帧(每个从机的地址必须惟一), 且第9位为1,所有从机接收到数据后,将第9位送入RB8 中。 • 若RB8=1,说明是地址帧,将数据装入SBUF,且置RI =1,即中断所有从机,若从机判断出该地址帧数据与本 机号(地址)一致,则置SM2=0,准备接收主机发来的数 据。其他从机仍然保持SM2=1。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0
0

D4

1
1(
0 0
D5 D6 D7
0
或 外
0


1
1
控制或选通
状态







或 外 设

(a) 并行通信
(b) 串行通信
2020/2/28
1
2
第7章 51单片机串行接口
根据信息传送的方向,串行通信可以分为单工、半双 工和全双工
A
B
A
B
A
B
s
s
(a) 单工
(b) 半双工
(c) 全双工
2020/2/28
位数,单位为bps。 ቤተ መጻሕፍቲ ባይዱ 传输速度往往又可用每秒传送多少个字节来表示
(Bps)。 • 它与波特率的关系为:
波特率(bps)=一个字符的二进制位数×字符/秒(Bps)
2020/2/28
1
8
第7章 51单片机串行接口
7.2 51单片机串行口的功能与结构
7.2.1 串行口的功能
• 51单片机具有一个全双工的串行异步通信接口,可 以同时发送和接收数据。
2020/2/28
1
10
7.2.3 串行口控制寄存器SCON
第7章 51单片机串行接口
SCON D7
D6
D5
D4
D3
D2
D1
D0
98H SM0 SM1 SM2 REN TB8 RB8 TI
RI
SM0、SM1:串行口工作方式选择位
SM0 0 0 1 1
SM1 0 1 0 1
方式 方式0 方式1 方式2 方式3

发送

SBUF

线
门 TXD(P3.1)
发送控制器
波 特 率 发 生 器

串行口中断
TI
行 口
+


RI



接收控制器
接收 SBUF
输入移位寄存器
RXD(P3.0)
串行口数据寄存器 (SBUF),串行口控制寄存器SCON、电源控制寄存器 PCON以及定时/计数器和中断系统中的特殊功能寄存器组成。
• 有四种工作方式:方式0、方式1、方式2和方式3。 • 方式0为同步移位寄存器方式,一般用于外接移位
寄存器芯片扩展I/O接口。 • 方式1为8位的异步通信方式,通常用于双机通信。 • 方式2和方式3为9位的异步通信方式,通常用于多
机通信
2020/2/28
1
9
7.2.2 串行口的结构
第7章 51单片机串行接口
第 n 个字符
第 n+1 个字符
D0 D1 D2 D3 D4 D5 D6 D7
D0 D1 D2
1 1 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1 1 1 0 0/1 0/1 0/1 ……
空闲位 起始位
数据位
奇偶校验位
空闲位
停止位
下一个起始位
特点: 一次传送的位数比较少,对发送时钟和接收时钟的同 步性要求相对不高,线路简单。 传送速度较慢。
第7章 51单片机串行接口
7.3.2 方式1---- 8位异步通信方式
TXD:发送数据端 RXD:接收数据端。 数据格式: 1位起始位(0),SBUF中8位数据位(低位 在前)和1位停止位(1)。 波特率: 2SMOD×(T1的溢出率)/32
(1)发送 条件:TI=0 操作:MOV SBUF,A 结果:发送完毕,TI置“1”。
1
11
第7章 51单片机串行接口
• 7.2.4 电源控制寄存器PCON
PCON D7
D6
D5
D4
D3
D2
D1
D0
87H SMOD X
X
X
GF1 GF0 PD IDL
SMOD:波特率加倍位。当SMOD位为1,则串行口方式1、方 式2、方式3的波特率加倍。
GF1、GF0:通用标志位。由软件置位或复位 PD:掉电方式位。当PD=1时,进入掉电方式。
主要章节
第7章 51单片机串行接口
• 7.1 通信的基本概念 • 7.2 51单片机串行口的功能与结构 • 7.3 串行口的工作方式 • 7.4 串行口的应用
2020/2/28
1
1
7.1 通信的基本概念
第7章 51单片机串行接口
• 7.1.1 并行通信和串行通信
D0
0
0

D1

1
1
D2
算0
0算
D3
2020/2/28
1
6
第7章 51单片机串行接口
• 2. 串行同步通信方式
同步字符1 同步字符2
数据块
校验字符1 校验字符2
特点: 一次连续传送多个字符,传送的位数多,对发送时 钟和接收时钟同步性要求很高,控制线路复杂 传送速度快。
2020/2/28
1
7
第7章 51单片机串行接口
• 7.1.4 波特率 • 波特率是指串行通信中,单位时间传送的二进制
。 IDL:待机方式位。当IDL=1时,进入待机方式
2020/2/28
1
12
第7章 51单片机串行接口
7.3 串行口的工作方式
7.3.1 方式0----移位寄存器方式
方式0通常用来外接移位寄存器,用作扩展I/O口。 RXD:串行数据 TXD:同步时钟。 数据格式:低位在前,高位在后,长度8位,在SBUF中。 波特率:fosc /12。
功能 移位寄存器方式 8位异步通信方式 9位异步通信方式 9位异步通信方式
波特率
fosc/12 可变 fosc/32或fosc/64 可变
SM2:多机通信控制位。 TB8:发送数据的第9位。 TI:发送中断标志位。
REN:接收允许控制位。 RB8:接收数据的第9位。 RI:接收中断标志位。
2020/2/28
(1)发送
条件:TI=0 操作:MOV SBUF,A 结果:发送完毕,TI置“1”。
第7章 51单片机串行接口
(2)接收
条件:RI=0 操作:REN(SCON.4)置“1” 结果:8位数据接收数据缓冲器SBUF中,同时,RI置 “1” ,向CPU申请中断。 用户处理:MOV A,SBUF
1
3
7.1.2 串行通信的基本过程 • 1. 发送过程
发送时钟 数据线
第7章 51单片机串行接口
0
1
1
0
0
1
10
2020/2/28
1
4
第7章 51单片机串行接口
• 2. 接收过程
接收时钟
数据线
0
1
1
0
0
1
10
2020/2/28
1
5
7.1.3 串行通信的通信方式
第7章 51单片机串行接口
• 1. 串行异步通信方式
第7章 51单片机串行接口
(2)接收
条件:RI=0,REN(SCON.4)置“1”。 结果:8位数据接收数据缓冲器SBUF中,同时,RI置 “1” ,向CPU申请中断。 用户处理:MOV A,SBUF
7.3.3 方式2和方式3
第7章 51单片机串行接口
TXD:发送数据端 RXD:接收数据端 数据格式: 1位起始位(0),SBUF中8位数据位(低位 在前)第9位TB8和1位停止位(1) 波特率: 2SMOD×(T1的溢出率)/32
相关文档
最新文档