单片机及接口技术2.5(串行口).ppt_第1页
单片机及接口技术2.5(串行口).ppt_第2页
单片机及接口技术2.5(串行口).ppt_第3页
单片机及接口技术2.5(串行口).ppt_第4页
单片机及接口技术2.5(串行口).ppt_第5页
已阅读5页,还剩18页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.5 串行接口,串 行 接 口,1. 串行通信概述,异步通信ASNC(Asynchronous Data Communication):一帧一帧地传送,按照约定的帧格式来发送和接收数据,硬件结构简单,还能用校验位检验错误。 同步通信SNC(Synchronous Data Communication):用同步字符来指示数据传输开始。与异步通信相比,没有帧开始和结束位,所以速度快。 单片机主要采用异步通信方式 通信协议:指在计算机之间进行数据传输时的一些约定,包括通信方式、波特率、应答的约定等。,2 80C51串行口,定 时 器 / 计 数 器,接收:从RxD逐位接收数据移位寄存器将接受到的位

2、逐次移位8位数据从移位寄存器送入SBUF,1)主要组成结构: 串行口缓冲器SBUF (只能与寄存器A进行数据传送) b. 串行口控制寄存器SCON(98H) c. 引脚TxD、RxD d.与波特率相关的结构 电源控制器PCON(87H)、定时/计数器T1,定 时 器 / 计 数 器,2)SCON,定 时 器 / 计 数 器,串 行 接 口,3)串行口工作方式,(1)方式0:用于串行扩展接口,通用波特率fOSC/12,(2)方式1 用于通用异步通信接口(Universal Asynchronous Receiver/Transmitter UART),波特率由定时/计数器T1的溢出率决定(T1工

3、作于方式2时作为波特率发生器),串 行 接 口,a.方式1的波特率计算 设T1的初始值为X,因为T1工作于方式2,所以是8位重装的定时/计数器,其溢出计数次数:,28-X=256-X,计数一次消耗一个机器周期,则溢出周期为:T=,波特率=,串 行 接 口,溢出16次或32次传输一个二进制位,则,其中SMOD为PCON的最高位,表2.5.1 定时器1产生的常用波特率表,串 行 接 口,b. PCON(注:不可位寻址),c. 方式1的帧格式,串 行 接 口,发送:TI=0的条件下,发送电路自动在8位数据前后分别添加起始位和停止位(共10位)用TxD线以波特率的速度逐位发送一帧信息发送完后自动维持T

4、xD线为高电平(空闲位),TI由硬件自动置位(TI须用指令复位)。 接收:RI=0、REN=1的条件下,接收电路自动对RxD采样,若RxD由高变低,则认为RxD线上有起始位,开始接收数据,接收到一帧后,将8位数据送入SBUF。,d.方式1的发送和接收操作,串 行 接 口,(3) 方式2和方式3 可用于多机通信,或可用奇偶校验,两种方式只是波特率不同。,帧格式,串 行 接 口,位9:单机单机通信可为奇偶校验位,多机通信(多个从机)则为数据/地址控制位。,串 行 接 口,若从机的SM2=1,则从机接受地址帧: a. 当从机的RI=0、REN=1时,从机从TxD引脚接收,将第9位(数据/地址控制位)

5、送入RB8。 b. 若第9位为0,表示该帧为数据帧,丢弃 c. 若第9位为1,表示该帧为地址帧, RI=1,产生中断请求。从机CPU将该帧地址与本从机地址比较,若一致,说明主机要和本从机通信,重新设置SM2=0,串 行 接 口,若从机的SM2=0,则主从机的数据通信: a. 发送:TI=0时,将发送的8位数据装入SBUF,第9位数据(奇偶校验位)装入SCON的RB8从TxD发送完一帧,TI自动硬件置1。 b. 接收:RI=0、REN=1时,从RxD接收完一帧,第9位送RB8,RI置1,方式2的波特率=,方式3的波特率与方式1相同,3 单片机串行口应用举例,例题6.1 用查询法编出串行口在方式2

6、下的数据发送程序。设单片机主频为6MHz,波特率为fOSC/32,发送字符块地址为TBLOCK(片内RAM),字符块长度为LEN。要求采用奇校验。,串 行 接 口,解:SCON的初始值:,TXD:MOV SCON,#80H ; 设置串行口工作方式 MOV PCON,#80H ; SMOD置1,以得到所需波特率 MOV R0,#TBLOCK ; 设指针 MOV R7,#LEN ; 设循环次数 LP :CLR TI MOV A,R0 CPL P ; 得到奇偶校验位 MOV C, P MOV TB8, C ; 设置TB8 MOV SBUF,A ; 启动发送 JNB TI,$ ; 等待发送完一个字节

7、INC R0 DJNZ R7,LP RET,串 行 接 口,例题6.2 利用80C51的串行口UART实现一个数据块的发送。设发送数据缓冲区首地址为片内RAM 50H,发送数据字节数为10H,串行口工作于方式1,选定波特率为1200,时钟频率为11.0529MHz。,串 行 接 口,解:1)设置工作方式字SCON:40H,串 行 接 口,2)设置波特率(即选择SMOD和定时器1的定时初值) 查教材P149 表5-10得:SMOD=0; TL1=TH1=E8H 设置定时器工作方式字(定时器1工作于方式2): TMOD=20H,TXD:MOV SCON,#40H ; 设置串行口工作方式 MOV P

8、CON,#00H ; SMOD清0 MOV TL1,#E8H MOV TH1, #E8H MOV TMOD, #20H MOV R0,#50H ; 设指针 MOV R7,#10H ; 设循环次数 SETB TR1 ; 启动定时 LP : MOV A,R0 MOV SBUF,A ; 启动发送 JNB TI,$ ; 等待发送结束 CLR TI INC R0 DJNZ R7,LP RET,串 行 接 口,3)编写代码,例题6.3 利用80C51的串行口UART实现一个数据块的接收。设接收数据缓冲区首地址为片内RAM 40H,接收数据字节数为10H,串行口工作于方式2,波特率为fOSC/32 。,串 行 接 口,解:1)设置工作方式字SCON:80H,2)设置波特率:SMOD=1;,课11,串 行 接 口,RXD:MOV SCON,#80H ; 设置串行口工作方式 MOV PCON,#80H ; SMOD置1 MOV R0,#40H ; 设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论