51单片机串口通信笔记.rtf
《51单片机串口通信笔记.rtf》由会员分享,可在线阅读,更多相关《51单片机串口通信笔记.rtf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、串行口控制寄存器 SCON 字节地址 98H,可位寻址,格式如图所示。scon 寄存器结构 scon d7 d6 d5 d4 d3 d2 d1 d0 sm0 sm1 sm2 ren tb8 rb8 ti ri 位地址 9fh 9eh 8dh 9ch 9bh 9ah 99h 98h(1)SM0、SM1串行口 4 种工作方式的选择位 表 串行口的 4 种工作方式SM0 SM1 方式 功 能 说 明 0 0 0 同步移位寄存器方式(用于扩展 I/O 口)0 1 1 8 位异步收发,波特率可变(由定时器控制)1 0 2 9 位异步收发,波特率为 fosc/64 或 fosc/32 1 1 3 9 位异
2、步收发,波特率可变(由定时器控制)(2)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 中,并置“1”RI,产生中断请求。在方式 1 时,如果 SM2=1,则只有收到停止位时才会激活 RI。在方式 0 时,SM2 必须为 0。(3)REN允许串行
3、接收位 由软件置“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发送中断标志位方式 0 时,串行发送第 8 位数据结束时由硬件置“1”,其它工作方式,串行口发送停止位的开始时置“1”。TI=1,表示一帧数据发送
4、结束,可供软件查询,也可申请中断。CPU 响应中断后,向 SBUF 写入要发送的下一帧数据。TI 必须由软件清 0。(7)RI接收中断标志位 方式 0 时,接收完第 8 位数据时,RI 由硬件置 1,其它工作方式,串行接收到停止位时,该位置“1”。RI=1,表示一帧数据接收完毕,并申请中断,CPU 从接收 SBUF 取走数据。该位状态也可软件查询。RI 必须由软件清“0”。特殊功能寄存器 PCON 字节地址为 87H,没有位寻址功能。spcon d7 d6 d5 d4 d3 d2 d1 d0 SMOD xx xx xx xx xx xx xxSMOD:波特率选择位。例如:方式 1 的波特率的计
5、算公式为:方式 1 波特率=(2SMOD/32)定时器 T1 的溢出率也称 SMOD 位为波特率倍增位。串行口的 4 种工作方式方式 0 同步移位寄存器输入/输出方式,常用于外接移位寄存器,以扩展并行 I/O 口。8 位数据为一帧,不设起始位和停止位,先发送或接收最低位。波特率固定为 fosc/12。帧格式如下:d0 d1 d2 d3 d4 d5 d6 d7.1.方式 0 发送 当 CPU 执行一条将数据写入发送缓冲器 SBUF 的指令时,产生一个正脉冲,串行口即把 SBUF中的 8 位数据以fosc/12 的固定波特率从 RXD 引脚串行输出,低位在先,TXD 引脚输出同步移位脉冲,发送完
6、8位数据置“1”中断标志位 TI。2.方式 0 接收 REN=1,接收数据,REN=0,禁止接收。REN=1,允许接收。向串口的 SCON 写入控制字(置为方式 0,并置“1”REN 位,同时 RI=0)时,产生一个正脉冲,串行口即开始接收数据。RXD 为数据输入端,TXD 为移位脉冲信号输出端,接收器也以 fosc/12 的固定波特率采样 RXD 引脚的数据信息,当收到 8 位数据时置“1”RI。表示一帧数据接收完.方式 0 下,SCON 中的 TB8、RB8 位没有用到,发送或接收完 8 位数据由硬件置“1”TI 或 RI,CPU 响应中断。TI 或 RI 须由用户软件清“0”,可用如下指
7、令:CLR TI;TI 位清“0”CLR RI;RI 位清“0”方式 0 时,SM2 位必须为 0。方式 1 SM0、SM1=01方式 1 一帧数据为 10 位,1 个起始位(0),8 个数据位,1 个停止位(1),先发送或接收最低位。帧格式如下:d0 d1 d2 d3 d4 d5 d6 d7.方式 1 波特率=(2SMOD/32)定时器 T1 的溢出率 SMOD 为 PCON 寄存器的最高位的值(0 或 1)。1方式 1 发送 方式 1 输出时,数据由 TXD 输出,一帧信息为 10 位,1 位起始位 0,8 位数据位(先低位)和 1 位停止位 1。当执行一条数据写发送缓冲器 SBUF 的指
8、令,就启动发送。发送开始时,内部发送控制信号变为有效。将起始位向 TXD 输出,此后,每经过一个 TX 时钟周期,便产生一个移位脉冲,并由 TXD 输出一个数据位。8 位数据位全部发送完毕后,置“1”TI。2方式 1 接收 数据从 RXD(P3.0)脚输入。当检测到起始位的负跳变时,开始接收数据。定时控制信号有两种):接收移位时钟(RX 时钟,频率和波特率相同)和位检测器采样脉冲(频率是 RX 时钟的 16 倍,1 位数据期间,有 16 个采样脉冲),当采样到 RXD 端从 1 到 0 的跳变时就启动检测器,接收的值是 3 次连续采样(第 7、8、9 个脉冲时采样)进行表决以确认是否是真正的起
9、始位(负跳变)的开始。当一帧数据接收完,须同时满足两个条件,接收才真正有效。RI=0,即上一帧数据接收完成时,RI=1 发出的中断请求已被响应,SBUF 中的数据已被取走,说明“接收 SBUF”已空。SM2=0 或收到的停止位=1(方式 1 时,停止位已进入 RB8),则收到的数据装入 SBUF 和 RB8(RB8 装入停止位),且置“1”中断标志 RI。若这两个条件不同时满足,收到的数据将丢失。方式 29 位异步通信接口。每帧数据均为 11 位,1 位起始位 0,8 位数据位(先低位),1 位可程控的第 9 位数据和 1 位停止位。帧格式如下。方式 2 波特率=(2SMOD/64)fosc
10、1方式 2 发送发送前,先根据通讯协议由软件设置 TB8(例如,双机通讯时的奇偶校验位或多机通讯时的地址/数据的标志位)。2方式 2 接收 SM0、SM1=10,且 REN=1。数据由 RXD 端输入,接收 11 位信息。当位检测到 RXD 从 1 到 0 的负跳变,并判断起始位有效后,开始收一帧信息。在接收器完第 9 位数据后,需满足两个条件,才能将接收到的数据送入 SBUF。(1)RI=0,意味着接收缓冲器为空。(2)SM2=0 或接收到的第 9 位数据位 RB8=1 时。当上述两个条件满足时,接收到的数据送入 SBUF(接收缓冲器),第 9 位数据送入 RB8,并置“1”RI。若不满足两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 串口 通信 笔记
限制150内