版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、串口通信技术,89C51串口的基本概念,串口的四种工作模式,多机通信的原理,串口的编程和应用,什么是串口通信?串行通信和并行通信,并行通信:所有位数据同时传输;串行通信:数据按顺序逐位传输。1.串行通信的基本概念、分类:异步通信同步通信异步通信数据通常以字符(或字节)为单位在字符帧中传输。字符帧由发送方逐帧发送,由接收方逐帧接收。发射器和接收器由它们自己的时钟控制。两个时钟源可以是独立的,也可以是不同步的。同步通信同步通信时,有必要建立发送方时钟对接收方时钟的直接控制,以便双方能够实现完全同步。当发送一组数据时,只有12个同步字符被用作双方在开始时获得同步的命令,然后整个数据组被连续发送。与异
2、步通信不同,字符是逐个单独传输的。串行通信系统:单工(a)、半双工(b)和全双工(c);第二,89C51的串行接口,有一个可编程UART(通用异步收发机)引脚:TXD(P3.1)和RXD(P3.0)可以同时发送和接收数据。有四种工作模式,帧格式为8、10和11位。波特率:波特率可以设置:每秒传输的位数,也称为位数,单位为位/秒。MCS-51有两个独立的接收和发送缓冲器SBUF(属于特殊功能寄存器),一个用于发送,另一个用于接收。发送缓冲区只能写入,不能读取;接收缓冲器只能读而不能写,它们共享一个字节地址(99H)。发送时,中央处理器通过写发送缓冲区的指令将数据(字符)写入串口的发送缓冲区,然后
3、从TXD终端一点一点地发送出去。接收终端RXD也可以一点一点地接收数据,直到它在接收到一个完整的字符数据后通知中央处理器,然后用一条指令把接收缓冲区的内容读入累加器。可以看出,在整个串行发送和接收过程中,中央处理器的运行时间非常短,所以中央处理器也可以从事其他操作(指以中断方式工作),从而大大提高了中央处理器的效率。89C51串行接口寄存器、SBUF串行端口数据缓冲器SBUF是两个物理上独立的接收和发送缓冲器,可以同时发送和接收数据。两个缓冲器只使用一个字节地址99H,通过指令读写SBUF可以区分是操作接收缓冲器还是发送缓冲器。通过中央处理器写入SBUF意味着修改发送缓冲区;读取SBUF就是读
4、取接收缓冲区。串口也有两条独立的发送和接收信号线RxD(P3.0)和TxD(P3.1),因此可以同时发送和接收数据,实现全双工。SCON串行端口控制寄存器PCON电源和波特率选择寄存器,(1)控制寄存器SCON,串行接收允许位,接收数据的第9位,发送数据的第9位,传输中断标志,字节地址98H,位可寻址,位地址98H 9PHH,(1)SM0和SM1串行端口的选择位,用于四种工作模式,可以解释0 0 0 0同步移位寄存器模式(用于扩展I/O端口)具有0.118位异步收发器,可变波特率(由定时器控制)1.029位可变波特率(由定时器控制)、(2)SM2多机通信控制位因为多机通信在模式2和模式3下进行
5、,所以SM2主要用于模式2和模式3。当串行端口在模式2和模式3下接收数据时,SM2=1,那么只有当接收到的第9位数据(RB8)为1时,前8位数据才被发送到SBUF,并且RI被设置为产生中断请求;否则,接收的前8位数据将被丢弃。如果SM2=0,无论第9位数据是0还是1,前8位数据都将载入SBUF,并产生一个中断请求。在模式0下,SM2必须为0。在模式1中,如果SM2=1,ri将仅在接收到有效停止位时激活。ren:当接收控制位REN=0时,串行端口接收被禁止。当REN=1时,允许串行端口接收。注:该位由软件设置或复位。TB8:当传输数据位处于模式2或模式3时,TB8是传输数据的第9位,由软件根据传
6、输数据的需要进行设置或复位。它可以用作奇偶校验位(单机通信)。它可以用作多机通信中发送地址帧或数据帧的标志位。当与多台机器通信时,一般认为发送地址帧时应设置TB8=1。发送数据帧时,将TB8设置为0。在模式0和模式1下,该位未使用。RB8:当接收的数据位处于模式2和模式3时,存储接收数据的第9位。可能是约定的奇偶校验位。它可以是约定的地址/数据标志位,可以根据RB8的设置对接收到的数据做出一些判断。在多机通信中,如果RB8=1,则接收的数据是一个地址帧;RB8=0,表示接收的数据是一个数据帧。在模式1中,如果SM2=0,RB8用于存储接收到的停止位模式;在模式0下,该位未使用。传输中断标志位用
7、于指示一帧数据是否已经传输。在模式0中,当传输电路完成传输第8位数据时,由硬件设置t1。换句话说,当发送电路开始发送停止位时,TI被置位,这意味着TI必须在发送前由软件复位,在发送一帧后由硬件置位。因此,中央处理器可以通过查询ti状态来找出一帧信息是否已被完全发送。接收中断标志位用于指示是否接收到一帧信息。在模式0中,当接收电路接收到第8位数据时,由硬件设置RI。换句话说,当接收电路接收到停止位的中间位置时,设置RI,并且中央处理器还可以查询RI以决定中央处理器是否需要从“SBUF”中提取接收到的字符或数据。国际康复会也由软件重置。注意:在串行通信中,帧发送后,SCON的内容必须由软件设置。当
8、SCON的内容被指令改变时,改变的内容在下一个指令的第一个周期的S1P1状态期间被锁存到SCON寄存器中并变得有效。如果此时串行传输已经开始,TB8仍将发送原始值而不是新值。在串行通信中,传输一帧后,设置传输中断标志,并从中央处理器请求中断。当接收到帧时,设置接收中断标志,并从中央处理器请求中断。如果中央处理器允许中断,进入中断服务程序。事先,CPU无法区分RI请求中断和TI请求中断,只有进入中断服务程序后,才能通过查询来区分,然后进入相应的中断处理。串行通信只使用该位,当它为1时,波特率为2;为0时为常数。(2)电源和波特率选择寄存器PCON、87H、=1,进入待机模式、=1,进入掉电模式、
9、通用标志位和3。串行端口操作模式。模式选择由SCON串口控制寄存器中的SM1和SM0实现。SM0 SM1模式的功能表示0 0 0同步移位寄存器模式(用于扩展I/O端口)是0.118位可变波特率异步收发器(由定时器控制),1.029位可变波特率异步收发器(由fosc/64控制)或fosc/32113位可变波特率异步收发器(由定时器控制),模式0。在模式0下,串行端口用作固定波特率的同步移位寄存器,因为串行数据从RXD(P3.0)输入或输出,同步移位脉冲从TXD(P3.1)发送。这种方法通常用于扩展输入/输出端口。一帧有8位,没有起始位和终止位。首先发送或接收最低位。模式0用于扩展输入/输出端口7
10、4LS164的输出:串行输入、并行输出移位寄存器和传输。当中央处理器执行指令将数据写入传输缓冲器时,产生一个正脉冲。串行端口以固定波特率fosc/12从RXD引脚串行输出8位SBUF数据。低位优先,TXD引脚输出同步移位脉冲。传输后,8位数据设置为“1”,接收,REN=1,接收数据,REN=0,禁止接收。在满足REN=1和RI=0的条件下,串行端口以模式0输入。RXD是数据输入端,TXD是移位脉冲信号输出端。接收器还以fosc/12的固定波特率对RXD引脚的数据信息进行采样,并在接收8位数据时设置“1”ri。表示已收到一帧数据。注:(1)当模式0工作时,SCON寄存器中的SM2位必须设置为“0
11、”。(2)在模式0发送或接收数据后,由硬件设置优先级或优先级,在响应中断后,中央处理器应通过软件清除优先级或优先级标志。例如:根据下图编写程序,当开关k闭合时,收集8位开关值,根据开关的不同状态进行不同的处理。模式0输入示例,74LS165:并行输入,串行输出移位寄存器,程序如下:start 3360jbp1.0,$;开关k未闭合,等待CLR P1.1数据的平行放置,SETB 1.1;允许MOVSCON连续换班,10H串口模式0,开始接收回路:JNB回路;RI=0,等待CLR RI MOV A,SBUF输入数据处理不同的任务SJMP开始根据一个;为下次招待会做准备。模式1、10位帧格式、SM0
12、和SM1为01,串行端口是一个波特率可调的8位通用异步通信接口。每帧10位:8个数据位,1个起始位(0)和1个停止位(1)。RXD:接收数据终端。TXD:发送数据终端。波特率:用T1作为波特率发生器,b=(2s mod/32)T1的溢出率。波特率要注意两点:(1)当时钟振荡频率为12兆赫兹或6兆赫兹时,表中的初始值X与相应的波特率之间有一定的误差。例如,FDH的相应理论值是10416波特(时钟6兆赫)。与9600波特相比,相差816波特,通过调整时钟振荡频率fosc可以消除误差。例如,采用的时钟振荡频率为11.0592兆赫兹。(2)如果串行通信选择低波特率,例如波特率选择为55,定时器T1可以
13、设置为在模式1下计时。然而,在这种情况下,当T1溢出时,有必要在中断服务程序中重新加载初始值。中断响应时间和指令执行时间会导致波特率出现一定的误差,可以通过改变初始值进行调整。在模式1中,中央处理器执行一条指令,将数据写入发送缓冲区SBUF,并启动发送器发送数据:发送数据后,它将中断标志ti设置为1。在模式1下接收,REN=1,接收数据,REN=0,禁止接收。接收的数据进入SBUF,停止位进入RB8。当接收到一帧数据时,必须同时满足两个条件,这样接收才会真正有效。RI=0,即当接收到前一帧数据时,RI=1发送的中断请求已被响应,SBUF中的数据已被取走,表明“接收SBUF”为空。SM2=0或接
14、收停止位=1,频率为RX时钟的16倍,接收值连续采样3次,两次取相同值,以保证接收数据位的精度。消除干扰,接收与波特率频率相同的移位时钟。示例 ASCII码数据由内部随机存取存储器单元20H3FH取出,并在将奇偶校验位添加到最高位后通过串行端口输出。采用8位异步通信,波特率为1200位/秒,fosc=11.059MHz兆赫兹。解决方法:根据问题的含义,串口应设置为模式1;采用定时器T1,工作在模式2,以预设值(TH1)=0E8H作为波特率发生器。主程序,串口发送子程序,设置波特率。串口有两种波特率,即固定波特率和可变波特率。当使用可变波特率时,应首先计算T1的初始计数值,并初始化相应的定时器。
15、如果使用固定波特率(模式0,模式2),可以省略该步骤。填写控制字。即设置SCON寄存器的工作模式。如果是接收程序或双工通信模式,必须设置REN=1(允许接收),并清除ti和RI。串口通信软件编程,采用查询和中断两种方式。t1和RI是数据帧是否被发送或收集的标志,可用于中央处理器查询;如果允许,你也可以向中央处理器申请中断。这两种模式的编程方法如下:查询型发送器:发送一个数据查询TI发送下一个数据(先发送后检查)。查询接收程序:查询RI读取一个数据,查询RI读取下一个数据(先检查后接收)。中断发送器:在中断服务程序中发送一个数据并等待中断发送下一个数据。中断接收器:等待中断接收中断服务程序中的数
16、据。在这两种情况下,发送和接收数据后,请注意清除TI或RI。在示例7-4中,使用模式1中两台计算机之间的串行通信。接收器和发送器都使用波特率为2400位/秒的6兆赫晶体振荡器。每帧有10位信息,第0位为起始位,第18位为数据位,最后一位为停止位。发送方通过串行端口向接收方发送数据块,其中单元78H和77H的内容作为第一地址,单元76H和75H的内容减去1作为最后地址。发送方要发送的数据块的地址是2000H201FH。发送时,先发送地址帧,然后发送数据帧。接收时,接收器使用标志位来区分地址或数据是否被接收,然后将它们存储在指定的单元中。发送方可以通过查询或中断发送数据,接收方可以通过中断或查询接
17、收数据。(1)第一台计算机发送程序中断方式的发送程序如下:org 0000h ljmp main org 0023h ljmp com _ int org 1000h main : movsp,# 53h设置堆栈指针MOV 78H,# 20H设置要发送的数据块的第一个和最后一个地址mov77h,# 00hmov76h,# 20hmov75h,# 20h。在此调用发送子程序here:sjmp,trans:movtmod,# 20h。设置定时器工作模式movt1,# 0f4h设置初始计数器值MOV TL1,#0F4H MOV PCON,# 80H波特率加倍setbt1定时器工作MOV SCON,# 40H设置串口工作模式movoie,# 00h先关闭中断,通过查询发送地址帧CLR F0 MOV SBUF,78H发送第一个地址的高8位,wait1:jnbti,wait1chrti mov sbuf,77h发送第一个地址的低8位,wait2:jnbti,wait2chrti mov sbuf,76
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年吉林省榆树市高三生物上册期末考试模拟考试卷及答案1套
- 初中八年级历史《文明探源:古代印度的种姓制度、佛教兴起与历史回响》导学案
- 框架协议信息保密安全措施
- 2026年河北省安国市高三生物上册期末考试模拟检测卷及参考答案(巩固)
- 部编版初中历史九年级上册第一单元第2课《古代两河流域文明探微》教学设计
- 2025年江苏省昆山市高三生物上册期末考试模拟试卷附完整答案(网校专用)
- 初中八年级道德与法治《财产继承权》核心素养导学案
- 2026年广东省廉江市高三生物上册期末考试模拟试卷【考试直接用】附答案
- 2025年河北省河间市高三生物上册期末考试模拟考试卷及完整答案(名校卷)
- 2025年江西省樟树市高三生物上册期末考试模拟卷必考题附答案
- 小学中段语文习作教学中存在的问题及对策(定稿)
- 居民自建桩安装告知书回执
- 空调维保投标方案
- (完整版)韦氏儿童智力测试试题
- 我是爸妈的小帮手课件
- 部编版语文八年级下册第五单元游记散文阅读练习(含解析)
- x社区房屋修缮工程监理规划
- GB/T 6323-2014汽车操纵稳定性试验方法
- GB/T 20100-2016不锈钢纤维烧结滤毡
- GB/T 197-2018普通螺纹公差
- 国家开放大学《成本管理》形考任务(1-4)试题答案解析
评论
0/150
提交评论