历史上的今天
今天是:2024年09月04日(星期三)
2019年09月04日 | 51单片机系列知识10--串行通信(1)
2019-09-04 来源:eefocus
一、 基本知识
1、 与串口有关的寄存器
2、 串口的四种工作方式
3、 波特率
几个相关的概念
① 串行通信有两种基本方式:异步通信方式和同步通信方式
异步:按字符传送,字符前加一个起始位0,字符后加一个停止位1,字符之间没有固定的间隔,51单片机就要这种传送方式。
△ *1以下两个操作由硬件协助完成,不需要软件操控,一个是加起始位和停止位,以便封装成一个帧,一个是计数传输8个数据位。
异步通信的优点:可靠性高、能及时发现错误(原因)
缺点:通信频率低(原因)
△*1自己加上的诠释,理解 ①
异步通信中,通信双方必须遵守两项基本约定。
⑴字符格式—即字符的编码形式,通信机之间必须有相同的字符格式才能通信。
⑵波特率—即通信的速率。实际上,允许有一定的误差。(误差<5%)在实际通信中,只有上述两项基本约定是不够的。比如说,被传送的字符是命令,地址还是数据信息呢?发送或接收多少信息?发送方是否需要发送联络信息?接收方是否需要应答?通信双方是否需要对传送信息进行检验,进行何种检验?
△ 通信协议便可以回答以上问题。
1、 与串行口有关的寄存器
串行口控制寄存器SCON
特殊功能寄存器PCON
数据接收缓冲器,数据发送缓冲器,这两个数据缓冲器都用符号SBUF表示,地址都是99H
SBUF:当CPU对特殊功能寄存器SBUF执行写操作,将数据写入发送缓冲器,当对SBUF读操作,就是读出接收缓冲器的内容。
SCON的格式:

SM0 、SM1:选择工作方式
SM2:方式2、3的多机通信控制位
方式1,如SM2=1,则只有接收到有效的停止位时才会激活RI?
方式0,SM2应该为0
REN:允许接收
TB8:方式2、3时,发送的第9位数据,需要时由软件置位,复位。
RB8:方式2、3时,接收的第9位数据,需要时由软件置位,复位。
方式1时,如SM2=0,RB8是接收到的停止位
方式0时,不使用RB8。
TI:发送中断标志:方式0,发送第8位结束时置位,硬件完成
其他,发送停止位开始时置位。。。。。。。③
RI:接收中断标志:方式0,接收到第8位结束时置位,由硬件置位
其他,接收到停止位的中间时。。。。。。。
PCON,特殊功能寄存器
D7
SMOD
SMOD:串行口波特率系数控制位SMOD,当SMOD=1时,波特率加倍。
○*1SBUF:在物理上SBUF对应着两个寄存器,一个是发送寄存器,另一个是接收寄存器,二者共用一个地址99H.CPU写SBUF实质是修改发送寄存器,CPU读SBUF实质是接收寄存器,因此二者共用一个第十而不产生混乱。接收寄存器具有双重缓冲,可在CPU读入一个数据字节前就开始接收下一个字节。但是如果在第二个字节接收完而第一个字节尚未读,则将丢失一个字节。对于发送则不需要双重缓冲,因为发送时CPU是主动的不会产生写重问题。
△ 前者解释了为什么接收寄存器与发送寄存器共用一个地址,却没有发生冲突的原因,后者介绍了接收寄存器具有双重缓冲,目的是提高串口的传输速度。CPU读SBUF移入新数据同时进行,提高速度。做单片机设计时用不到以上知识。
○*1其他教材、资料补充的内容。
史海拾趣
|
电路设计技术与技巧(第二版)国外牛人Tim Williams著 国际电子大侠Tim Williams(蒂姆·威廉斯)著 内容简介 本书较全面和系统地讲述了在实际电子电路设计中常见问题和容易忽视的方方面面, 涵盖了设计产品所需是的全面知识,包括印制电路板布线和接地、有源和无源器件、模拟和数字集成电路、电源、电 ...… 查看全部问答> |
|
WINCE6.0操作系统在三星6410开发板上完美展现!--基于立宇泰ARMSYS6410开发板 精彩测评实例图片说明:1,WINCE6.0系统启动画面(进度条动态显示内核加载进程,LOGO图片可以根据客户需要免费更换);2,WINCE6.0桌面效果;3,800x480液晶屏全屏播放H.264视频流文件(采用硬件解码)4,800x480液晶屏全屏播放MPEG4(avi后缀)音视 ...… 查看全部问答> |
|
本人在一个项目中运用Ecan进行通信,在通信过程中会碰到中断故障(具体原因说不上来)。我是将Ecan设置成中断接收的(邮箱0-15设置成接收邮箱,16邮箱设置成发送邮箱),若接收到一个合理的读写命令,则返回 ...… 查看全部问答> |




