at89s51单片机串行口的内部结构如下图所示。它有两个物理上独立的接收、发送缓冲器sbuf(属于特殊功能寄存器),可同时发送、接收数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,两个缓冲器共用一个特殊功能寄存器字节地址(99h)。
串行口的控制寄存器共有两个:特殊功能寄存器scon和pcon。下面介绍这两个特殊功能寄存器各位的功能。
1、串行口控制寄存器scon
串行口控制寄存器scon,字节地址988h,可位寻址,位地址为98h~9fh。scon的格式如下图所示。
下面介绍scon中各位的功能。
(1) sm0、sml:串行口4种工作方式选择位。
sm0、sm1两位的编码所对应的4种工作方式见下表。
表 串行口的4种工作方式
(2) sm2:多机通信控制位。
因为多机通信是在方式2和方式3下进行的,因此sm2位主要用于方式2或方式3中。当串行口以方式2或方式3接收时,如果sm2=1,则只有当接收到的第9位数据(rb8)为1时,才使ri置l,产生中断请求,并将接收到的前8位数据送人sbuf;当接收到的第9位数据(rb8)为0时,则将接收到的前8位数据丢弃。而当sm2=0时,则不论第9位数据是l还是0,都将前8位数据送入sbuf中,并使ri置1,产生中断请求。
在方式1时,如果sm2=1,则只有收到有效的停止位时才会激活ri。
在方式0时,sm2必须为0。
(3)ren:允许串行接收位。
由软件置1或清0。
ren=1,允许串行口接收数据。
ren=o,禁止串行口接收数据。
(4)tb8:发送的第9位数据。
在方式2和方式3时,tb8是要发送的第9位数据,其值由软件置l或清o。在双机串行通信时,tb8一般作为奇偶校验位使用;在多机串行通信中用来表示主机发送的是地址帧还是数据帧,tb8=1为地址帧,tb8=0为数据帧。
(5) rb8:接收的第9位数据。
工作在方式2和方式3时,rb8存放接收到的第9位数据。在方式1,如果sm2=0,rb8是接收到的停止位。在方式0,不使用rb8。
(6)ti:发送中断标志位。
串行口工作在方式0时,串行发送的第8位数据结束时ti由硬件置1,在其他工作方式中,串行口发送停止位的开始时置ti为1。ti=1,表示一帧数据发送结束。ti位的状态可供软件查询,也可申请中断。cpu响应中断后,在中断服务程序中向sbuf写入要发送的下一帧数据。ti必须由软件清0。
(7) ri:接收中断标志位。
串行口工作在方式0时,接收完第8位数据时,ri由硬件置1。在其他工作方式中,串行接收到停止位时,该位置l。ri=1,表示一帧数据接收完毕,并申请中断,要求cpu从接收sbuf取走数据。该位的状态也可供软件查询。ri必须由软件清0。
scon的所有位都可进行位操作清0或置1。
2、特殊功能寄存器pcon
特殊功能寄存器pcon字节地址为87h,不能位寻址。pcon的格式如下图所示。
下面介绍pcon中各个位的功能。其中,仅仅是最高位smod与串行口有关。
smod位:波特率选择位。
例如,方式1的波特率计算公式为
当smod=1时,要比smod=o时的波特率加倍,所以也称smod位为波特率倍增位。
采用热成像读取技术提高自动驾驶的安全性详细资料概述
采用STC89C52单片机实现智能电子热量称的设计
智能家居产品的作用:帮助白领预防不良坐姿
数字机顶盒字幕解码显示系统设计
CSI-Z230空气过滤器阻力计数效率和 PM净化效率测试仪
AT89S51单片机串行口的内部结构解析
照度计Gossen MAVOLUX系列在光学测量中的应用
一文看懂触摸屏和显示屏的区别
在线式和离线式X射线检测设备有哪些区别?
耐立电气与涂鸦智能达成合作,让家庭用户的能源管理更智能
需要了解的Linux模块编程框架
一文详解51单片机的存储器组织结构
人工智能在教育行业的应用
区块之间是如何相互链接
烙铁头由哪些材料组成
2021什么蓝牙耳机好用平价?性价比高的无线蓝牙耳机推荐
当奥迪、百达翡丽、兰蔻大牌遇上新媒体艺术,会碰撞出怎样的火花
基于DSP器件TMS320F2812实现同步采样模块的方案设计
在LTspice仿真软件中如何使用FFT进行频谱分析
基于FPGA器件的内块存储器资源功能验证方法设计详解