版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章分为三节,主要介绍:7.1 串行口的结构7.0 计算机串行通信基础7.2 串行口的四种工作方式第 7 章 MCS-51的串行口7.3 多机通信7.4 波特率的制定方法1本章分为三节,主要介绍:7.1 串行口的结构7.0 计算7.1 计算机串行通信基础 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。有并行通信和串行通信两种方式。 MCS-51单片机内部有一个功能强大的全双工的异步通信串行口。所谓全双工就是双机之间串行接收、发送数据可同时进行。所谓异步通信,就是收、发双方没有同步时钟来控制收、发双方的同步传送,而是靠双方各自的时钟来控制数据的异步传送。27.1 计算机串行通信基
2、础 计算机通信是指计算机与异步通信的数据格式 : 异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加23位用于起止位,各帧之间还有间隔,因此传输效率不高。3异步通信的数据格式 : 异步通信的特点:不要求收发双方2、同步通信 同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。 42、同步通信4 要传送的串行数据在发方是以数据帧形式一帧一帧地发送,通过传输线由收方一帧一帧地接收。 MCS
3、-51的串行口有4种工作方式,波特率可由软件设置片内的定时器计数器来控制。每当串行口接收或发送1B完毕,均可发出中断请求。 MCS-51的串行口除了可以用于串行数据通信之外,还可以非常方便地用来扩展并行1/0 口。5 要传送的串行数据在发方是以数据帧形式一帧一帧地发送,7.1 串行口的结构 有两个物理上独立的接收、发送缓冲器SBUF,可同时发送、接收数据,两个缓冲器共用一个特殊功能寄存器字节地址(99H)。67.1 串行口的结构6 字节地址98H,可位寻址,位地址为98H9FH。7.1.1串行口控制寄存器 SCON(1) SM0、SM1:4种工作方式的选择位7 字节地址98H,可位寻址,位地址
4、为98H9FH。7(2) SM2:多机通信控制位 SM2位主要用于方式2或方式3。当串行口以方式2或方式3接收时,如果SM2=1,则只有当接收到的第9位数据(RB8)为1时,才将接收到的前8位数据送入SBUF ,并置1 RI, 产生中断请求;当接收到的第9位数据(RB8)为0时,则将接收到的前8位数据丢弃。 SM2=0时,则不论第9位数据是1还是0,都将前8位数据送入SBUF中,并置1RI,产生中断请求。方式1时,如果SM2=1 ,则只有收到有效的停止位时才会激活RI。在方式0时, SM2必须为 0 。8(2) SM2:多机通信控制位方式1时,如果SM2=1 ,则(3)REN:允许串行接收位
5、由软件置 1 或清 0 。 REN=1 允许串行口接收数据。 REN=0 禁止串行口接收数据。(4)TB8: 发送的第9位数据 在方式 2 和 3 时, TB8 是要发送的第 9 位数据。其值由软件置 1 或清0。 在双机通信时, TB8 一般作为奇偶校验位使用;在多机通信中用来表示主机发送的是地址帧还是数据帧, TB8=1 为地址帧, TB8=0 为数据帧。9(3)REN:允许串行接收位(4)TB8: 发送的第9位数据(5) RB8:接收到的第 9 位数据 工作在方式2和3时,RB8存放接收到的第9位数据。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。(6) TI
6、:发送中断标志位 在方式0时,串行发送第 8 位数据结束时由硬件置 1 ,在其它工作方式,串行口发送停止位的开始时置1。TI=1 ,表示一帧数据发送结束,可供软件查询,也可申请中断。 CPU 响应中断后,在中断服务程序中向 SBUF 写入要发送的下一帧数据。 TI 必须由软件清 0 。10(5) RB8:接收到的第 9 位数据(6) TI:发送中断(5) RI:接收中断标志位 串行口工作在方式0时,接收完第8位数据时, RI由硬件置1。在其它工作方式中,串行口接收到停止位时,该位置1。 RI=1 ,表示一帧数据接收完毕,并申请中断,要求CPU从接收SBUF取走数据。该位的状态也可供软件查询。
7、RI必须由软件清 0 。 SCON的所有位都可进行位操作清0或置1。11(5) RI:接收中断标志位11SMOD:波特率选择位。例如:方式 1 的波特率的计算公式为: 当SMOD=1时,要比SOMD=0时的波特率加倍,所以也称SMOD位为波特率倍增位。7.1.2 特殊功能寄存器PCON PCON字节地址为87H,没有位寻址功能。12SMOD:波特率选择位。 当SMOD=1时,要比SOM7.2.1 方式 0 串行口的工作方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/0 口。这种方式不适用于两个MCS-51之间的串行通信。 以8位数据为1帧,不设起始位和停止位,先发送或接
8、收最低位。波特率固定为fosc/12 。7.2 串行口的 4 种工作方式137.2.1 方式 0 以8位数据为1帧,不设起始位和停1.方式0发送 当CPU执行1条将数据写入SBUF的指令时,产生1个正脉冲,串行口开始即把SBUF中的8位数据以fosc12的固定波特率从RXD引脚串行输出,低位在先,TXD引脚输出同步移位脉冲,发送完8位数据置1中断标志位TI。141.方式0发送141.方式0接收 接收时,REN为串行口允许接收控制位,REN=0 ,禁止接收;REN=1 ,允许接收。 当CPU向串行口的SCON寄存器写入控制字(方式0,并置1REN位,同时RI=0)时,产生1个正脉冲,串行口即开始
9、接收数据。引脚RXD为数据输入端,TXD为移位脉冲信号输出端,接收器也以fosc/12的固定波特率采样RXD引脚的数据信息,当接收器接收到8位数据时置1中断标志RI,表示1帧数据接收完毕,可进行下一帧数据的接收。151.方式0接收15 上面介绍了方式0的发送和接收。在方式0下, SCON 中的 TB8 、 RB8 位没有用到,发送或接收完 8 位数据由硬件置 ITI 或 RI 中断标志位, CPU 响应 TI 或 RI 中断。 TI或 RI标志位必须由用户软件清 0 ,可采用如下指令: CLR TI; TI 位清 0 CLR Rl ; RI位清 0 清0 TI 或 RI。方式0时, SM2位(
10、多机通信控制位)必须为 0 。16 上面介绍了方式0的发送和接收。在方式0下, SCON7.2.2 方式1 SM0、SM1两位为 01 时,串行口以方式1工作。方式1真正用于数据的串行发送和接收。 TXD 引脚和 RXD 引脚分别用于发送和接收数据。方式 1 收发1帧的数据为10位,1个起始位(0), 8个数据位,1 个停止位(1) ,先发送或接收最低位。 方式1串行口为波特率可变的8位异步通信接口。方式1的波特率由下式确定:177.2.2 方式1 方式1串行口为波特率可变的8位异步通1.方式1发送 方式1输出时,数据位由TXD端输出,发送1帧信息为10位,1位起始位0, 8位数据位(先低位)
11、和1位停止位1 ,当CPU执行1条数据写发送缓冲器SBUF的指令,就启动发送。 TX时钟的频率就是发送的波特率。发送开始时,内部发送控制信号 变为有效,将起始位向TXD输出,每经过1个TX时钟周期,便产生1个移位脉冲,并由TXD输出1个数据位。8位数据位全部发送完毕后,置1中断标志位TI,然后 失效。181.方式1发送 TX时钟的频率就是发送的波特率。发送开1.方式1接收 以方式1接收(REN=1,SM0,SM1=01) 时,数据从RXD(P3.0)引脚输入。当检测到负跳变的起始位时,则开始接收。接收时,定时控制信号有2种,一种是接收移位时钟(RX时钟),它的频率和传送的波特率相同。191.方
12、式1接收19 另一种是位检测器采样脉冲,频率是RX时钟的16倍,以波特率的16倍的速率采样RXD引脚状态,当采样到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样(第7、8、9次)取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接收数据。 当确认起始位有效时,开始接收1帧信息。接收每一位数据时,也都进行3次连续采样(第 7 、 8 、 9 个脉冲时采样),接收的值是3次采样中至少2次相同的值,以保证接收到的数据位的准确性。20 另一种是位检测器采样脉冲,频率是RX时钟的16倍,以 当一帧数据接收完毕以后,必须同时满足以下两个条
13、件,这次接收才真正有效。(1) RI=0 ,即上一帧数据接收完成时, RI=1发出的中断请求已被响应,SBUF中的数据已被取走,说明“接收SBUF”已空。(2) SM2=0或收到的停止位=1(方式1时,停止位已进入RB8) ,则将接收到的数据装入SBUF和RB8(RB8装入停止位),且置1中断标志RI。 若这两个条件不同时满足,收到的数据不能装入SBUF,这意味着该帧数据将丢失。21 当一帧数据接收完毕以后,必须同时满足以下两个条件,这7.2.3 方式2 SM0、SM1两位为10 时,串行口以方式2工作。方式2和方式3时,串行口被定义为9位异步通信接口。每帧数据均为11位,1位起始位0, 8位
14、数据位(先低位), 1位可程控为1或0的第9位数据和1位停止位1。227.2.3 方式2221.方式 2 发送 发送前,先根据通信协议由软件设置TB8 (例如,双机通信时的奇偶校验位或多机通信时的地址数据的标志位)。 然后将要发送的数据写入 SBUF ,即可启动发送过程。 串行口能自动把TB8取出,并装入到第 9 位数据位的位置,再逐一发送出去。 发送完毕,则把 TI位置 1 。231.方式 2 发送23例 7-1 方式 2 发送在双机通信中的应用。 下面的发送中断服务程序,是在双机通信中,以TB8作为奇偶校验位,处理方法为数据写入SBUF之前,先将数据的奇偶校验位写入 TB8(设第2组的工作
15、寄存器区的R0作为发送数据区地址指针)。 本程序采用奇偶校验发送。 程序如下: 24例 7-1 方式 2 发送在双机通信中的应用。242.方式2接收 当SCON的SM0、SM1两位为10,且REN=1时,允许串行口以方式2接收数据。 接收时,数据由RXD端输入,接收11位信息。当位检测逻辑采样到RXD引脚从1到0的负跳变,并判断起始位有效后,便开始接收1帧信息。 在接收完第9位数据后,需满足以下2个条件才能将接收到的数据送入SBUF接收缓冲器。(1) RI=0 ,意味着接收缓冲器为空 (2) SM2=0或接收到的第9位数据位RB8=1 当都满足时,接收到的数据送入SBUF ,第9位数据送入RB
16、8,并置1 RI 。若不满足这 2 个条件,接收的信息将被丢弃。252.方式2接收 在接收完第9位数据后,需满足以下2个条例 7-2 方式 2 接收在双机通信中的应用。 本例与例7-1是相对应的。若附加的第9位数据为校验位,在接收程序中应作奇偶校验处理,可采用如下程序(设1组寄存器区的R0 为数据缓冲器指针)。 程序如下:26例 7-2 方式 2 接收在双机通信中的应用。267.2.4 方式3 SM0、SM1两位为11 时,串行口以方式3工作。方式2和方式3时,串行口被定义为9位异步通信接口。除了波特率外,方式 3 和方式 2 相同。277.2.4 方式3277.4 波特率的制定方法 在串行通
17、信中,收发双方发送或接收的波特率必须一致。通过软件对MCS-51串行口可设定4种工作方式。其中方式0和方式2的波特率是固定的;方式1和方式3的波特率是可变的,由定时器T1的溢出率来确定(定时器T1的溢出率就是T1每秒溢出的次数)。7.4.1 波特率的定义 串行口每秒钟发送(或接收)的位数称为波特率。设发送1位所需要的时间为 T ,则波特率为1/T。287.4 波特率的制定方法7.4.1 波特率的定义287.4.2 定时器T1产生波特率的计算 波特率和串行口的工作方式有关:(1)方式0: 波特率固定为时钟频率fosc/12,且不受SMOD位的值的影响。(2)方式2: 波特率与 SMOD 位的值有关。若fosc=12MHz : SMOD=0, 波特率=187.5 kb/s ; SMOD=1, 波特率=375 kb / s 。297.4.2 定时器T1产生波特率的计算若fosc=12MHz7.4.2 定时器T1产生波特率的计算 波特率和串行口的工作方式有关:(1)方式1或方式3 : 常用定时器T1作为波特率发生器,其关系式为, T1的溢出率和SMOD值共同决定波特率。 在实际设定波特率时,T1常设置为方式 2 定时(自动装初值),即TL1作8位计数器,TH1存放备用初值。不仅可使操作方便,也可避免因软件重装初值而带
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44576-2024热塑性塑料阀门扭矩试验方法
- 2024年光纤熔接工程外包劳务合同
- 定向培养预就业协议书案例
- 2024年汽修厂转让简单合同
- 电视广告制作与播放合同
- 2024关于合作协议书模板
- 中原地产策划及销售代理服务合同2024年
- 参股住宅建设合同书模板
- 电力工程维修分包合同模板
- 股票买卖代持协议
- 辽宁省盘锦市第一完全中学2023-2024学年八年级上学期期中数学试卷
- DB13-T 5958-2024 金属非金属露天矿山采场边坡安全监测技术规范
- 2024《整治形式主义为基层减负若干规定》全文课件
- 北京市八中2023-2024学年高二上学期期中生物试题 含解析
- PCBA审核表实用模板
- 后进生转化课件
- 公务员录用审批表
- 北京富力爱丁堡广场项目机电方案设计报告
- 锅炉运行安全试题(附答案)
- 5篇XX街道乡镇扫黄打非工作总结汇报报告范文5篇
- 螺纹规中径及公差计算
评论
0/150
提交评论