版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章UART原理和应用何宾2023.09串口寄存器及收发器本节介绍串口1寄存器及收发器的原理串口寄存器组串口的发送和接收过程串口寄存器组本节介绍与串口1异步工作模式有关的寄存器串口控制寄存器数据寄存器电源控制寄存器辅助寄存器从机地址控制寄存器串口寄存器组
--串口控制寄存器(SCON)该寄存器位于SFR地址为0x98的位置。当复位后,该寄存器的值为“00000000”SM0/FE当PCON寄存器中的SMOD0位为“1”时,该位用于检测帧错误。当检测到一个无效的停止位时,通过UART接收器将该位置“1”。该位由软件清零当PCON寄存器中的SMOD0位为“0”时,该位和SM1位一起指定串口1的通信方式位索引76543210名字SM0/FESM1SM2RENTB8RB8TIRI串口寄存器组
--串口控制寄存器(SCON)SM0SM1工作模式功能说明00模式0同步移位串行方式:移位寄存器01模式18位UART,波特率可变10模式29位UART11模式39位UART,波特率可变SM2允许模式2或者模式3多机通信控制位。在模式2或者模式3时,如果SM2位为“1”且REN位为“1”时,则接收机处于地址帧筛选状态。此时可以利用接收到的第9位(即RB8)来筛选地址帧当RB8为“1”时,说明该帧为地址帧,地址信息可以进入SBUF,并将RI为设置为“1”,进而在中断服务程序中再比较地址号当RB8为“0”时,说明该帧不是地址帧,应丢掉并保持RI为“0”串口寄存器组
--串口控制寄存器(SCON)在模式2或者模式3中,如果SM2位为“0”且REN位为“1”,接收机处于禁止筛选地址帧状态。不论收到的RB8是否为“1”,均可使接收到的信息进入SBUF,并使得RI为“1”,此时RB8通常为校验位注:模式0和模式1为非多机通信方式。当处于这两种工作模式时,将SM2设置为“0”REN允许/禁止串行接收控制位。当REN位为“1”时,允许串行接收状态,可以启动串行接收器RxD,开始接收信息;当REN位为“0”时,禁止串行接收状态,禁止串行接收器RxD串口寄存器组
--串口控制寄存器(SCON)TB8当选择模式2或者模式3时,该位为要发送的第9位数据,按需要由软件设置为“1”或“0”例如:可用作数据的校验位或者多机通信中表示地址帧/数据帧的标志位注:在模式0和模式1时,不使用该位RB8当选择模式2或者模式3时,该位为接收到的第9位数据,作为奇偶校验位或者地址帧/数据帧的标志位注:在模式0和模式1时,不使用该位串口寄存器组
--串口控制寄存器(SCON)TI发送中断请求标志位。在模式0时,当发送串行数据第8位完成时,由硬件自动将该位设置为“1”,并向CPU发出中断请求。当CPU响应中断后,必须由软件将该位设置为”0“(清零)。在其他模式中,则在开始发送停止位时由硬件设置为”1”,并向CPU发出中断请求。同样的,在CPU响应中断后,必须由软件将该位设置为”0“(清零)RI接收中断请求标志位。在模式0时,当接收串行数据第8位完成时,由硬件自动将该位设置为“1”,向CPU发出中断请求。当CPU响应中断后,必须由软件将该位设置为“0”(清零)。在其他模式中,则在接收到停止位的中间时刻由内部硬件将该为置“1”,并向CPU发出中断请求。同样的,在CPU响应中断后,必须由软件将该位设置为“0”(清零)串口寄存器组
--串口控制寄存器(SCON)注:当发送完一帧数据后,向CPU发出中断请求;类似的,当接收到一帧数据后,也会向CPU发出中断请求。由于TI和RI以逻辑“或”关系向CPU发出中断请求,所以CPU响应中断时,不能确定是发送还是接收发出的中断请求。因此,必须在中断服务程序中通过查询TI和RI确定中断源。RI和TI必须由软件设置为“0”(清零)串口寄存器组
--数据寄存器(SBUF)该寄存器SFR地址为0x99的位置。当复位后,该寄存器的值为“00000000”DATA[7:0]当写该寄存器时,将数据写到发送缓冲区。当读该寄存器时,将读取接收缓冲区中的数据注:物理上该寄存器是两个独立的缓冲区,但是这两个缓冲区使用相同的地址位索引76543210名字DATA[7:0]串口寄存器组
--电源控制寄存器(PCON)该寄存器位于SFR地址为0x87的位置。当复位后,该寄存器的值为“00110000”(仅介绍与串口1有关的位)SMOD波特率选择位。当该位为“1”时,则使串行通信模式1、模式2和模式3的波特率加倍;当该位为“0”时,则各工作模式的波特率不加倍SMOD0帧错误检测有效控制位。当该位为“1”时,SCON寄存器中的SM0/FE比特位用于FE(帧错误检测)功能;当该位为“0”时,SCON寄存器中的SM0/FE位用于SM0功能,该位和SM1位一起确定串口的工作方式。位索引76543210名字SMODSMOD0LVDFPOFGF1GF0PDIDL串口寄存器组
--辅助寄存器(AUXR)该寄存器位于SFR地址为0x8E的位置。当复位后,该寄存器的值为“00000001”(仅介绍与串口1有关的位)UART_M0x6串口1模式0的通信速率控制位。当该位为“0”时,串口1模式0的速度是传统8051单片机串口的速度(即12分频);当该位为“1”时,串口1模式0的速度是传统8051单片机速度的6倍(即2分频)S1BRT串口1选择某个定时器作为波特率发生器的控制位。当该位为“0”时,选择定时器1作为串口1的波特率发生器;当该位为“1”时,选择定时器2作为串口1的波特率发生器位索引76543210名字T0x12T1x12UART_M0x6T2RT2_C/TT2x12EXTRAMS1BRT串口寄存器组
--从机地址控制寄存器在STC32G系列单片机的串口模块中设置了从机地址控制寄存器典型的,自动地址识别功能应用于多机通信方式,其主要原理是从机系统通过硬件比较功能识别来自主机串口数据流的地址信息,通过寄存器SADDR和SADEN设置的本机从机地址,硬件自动对从机地址进行过滤串口寄存器组
--从机地址控制寄存器从机地址屏蔽寄存器SADEN位于SFR地址为0xB9的位置。当复位后,该寄存器的值为“00000000”从机地址寄存器SADDR位于SFR地址为0xA9的位置。当复位后,该寄存器的值为“00000000”位索引76543210名字SADEN[7:0]位索引76543210名字SADDR[7:0]串口寄存器组
--从机地址控制寄存器要使用串口的自动地址识别功能,首先需要将参与通信的单片机的串口通信模式设置为模式2或模式3(通常选择波特率可变的模式3,这是因为模式2的波特率是固定的,不便于调节),并开启从机的SCON的SM2对于串行模式2或模式3的9位数据位中,第9位数据(存放在RB8中)为地址/数据的标志位。当数据的第9位为“1”时,表示前面的8位数据(存放在SBUF中)为地址信息。当把SM2为设置为“1”时,从机单片机会自动过滤掉非地址数据(第9位为0的数据),而对SBUF中的地址数据(第9位为”1“的数据)自动与SADDR和SADEN所设置的本机地址进行比较,若地址匹配,则会将RI设置为”1“,并产生中断;否则,不处理该次接收的串口数据串口寄存器组
--从机地址控制寄存器比如,当SADDR寄存器的内容为”11001010“,SADEN寄存器的内容为“10000001”时,匹配的地址为“1xxxxxx0”。即,只要主机送出的地址数据中的第0位为“0”且第7位为“1”时,就可以和本地地址相匹配串口寄存器及收发器
--串口的发送和接收过程前面已经提到串口1有四种工作模式,可以通过对SCON寄存器的SM0和SM1的设置进行选择其中模式1、模式2和模式3为异步通信方式,每个发送和接收的字符都带有1个起始位、1个停止位在模式0中,串口1作为1个简单的移位寄存器使用注:在本节中,只对最常用的模式1进行详细介绍。对于其余工作模式,读者可以参考STC数据手册相关部分的介绍串口寄存器及收发器
--串口的发送和接收过程串口的发送和接收过程
--串口1的发送过程当串口1发送数据时,数据从单片机的串行发送引脚TxD发送出去当主机执行一条写SBUF的指令时,就启动串口1的数据发送过程,写SBUF信号将逻辑“1“加载到发送移位寄存器的第9位,并通知Tx控制单元开始发送通过16分频计数器,同步发送串行比特流串口的发送和接收过程
--串口1的发送过程移位寄存器将数据不断地右移,送到TxD引脚。同时,在左边不断的用逻辑“0“填充。当数据的最高位移动到移位寄存器的输出位置,紧跟其后的是第9位”1“,在它的左侧各位全部都是”0“,这个条件状态,使得TX控制单元进行最后一次移位输出,然后使得发送允许信号SEND失效,结束一帧数据的发送过程,并将中断请求位TI设置为”1“,向CPU发出中断请求信号串口的发送和接收过程
--串口1的接收过程当软件将接收允许标志位REN设置为“1”后,接收器就用选定波特率的16分频速率采样串行接收引脚RxD当检测到RxD端口从逻辑“1”(高电平)到逻辑“0”(低电平)的下降沿跳变后,就启动接收器准备接收数据。同时,复位16分频计数器,将值0x1FF(以十六进制数表示)加载到移位寄存器中。复位16分频计数器使得它与输入位时间同步串口的发送和接收过程
--串口1的接收过程16分频计数器的16个状态是将每位接收的时间平均为16等份。在每位时间的第7个状态、第8个状态和第9个状态由检测器对RxD端口进行采样,所接收的值是这次采样值经过“三中取二”的值(即三次采样中,至少有两次相同的值)。采用“三中取二”的方法用于抵销干扰信号,提高接收数据的可靠性,如图11.8所示。在起始位,如果接收到的值不为逻辑”0“(低电平),则起始位无效,复位接收电路,并重新检测逻辑”1”(高电平)到逻辑“0”(低电平)的跳变。如果接收到的起始位有效,则将它输入移位寄存器,并接收本帧的其余信息串口的发送和接收过程
--串口1的接收过程接收的数据从接收移位寄存器的右边移入,将已装入的0x1FF向左边移出。当起始位“0”移动到移位寄存器的最左边时,使RX控制器做最后一次移位,完成一帧的接收。若同时满足以下两个条件时,RI=“0”;SM2=“0”或接收到的停止位为“1”时,则接收到的数据有效,实现加载到SBUF,停止位进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026九年级道德与法治上册 新时代历史使命
- 2026九年级道德与法治上册 全球治理体系
- 《和平年代》教案-2025-2026学年岭南版小学美术五年级下册
- 2026年浙教版小学信息技术四年级下册第三单元质量检测试卷附答案
- 2026年幼儿园德育活动
- 2026年投屏幼儿园课件
- 2026年幼儿园家教讲座
- 2026年幼儿园护蕾活动
- 2026年幼儿园体能方案汇报
- 深度解析(2026)《GBT 22534-2018保鲜人参分等质量》
- 2025-2026学年四川省德阳市中考物理模拟试题(含答案解析)
- TSG 92-2026 承压类特种设备安全附件安全技术规程
- 2026浙江建设职业技术学院招聘特殊专业技术岗位人员43人考试参考试题及答案解析
- (正式版)DB37∕T 4976-2025 《河湖生态产品价值核算技术规范》
- 幼儿园内部会计监督制度
- 企业安全环保管理体系及制度
- 2026校招:华勤技术试题及答案
- 2026年初级社工综合能力真题(试题及答案)
- 装配式住宅建筑检测技术标准JGJ-T485-2019
- 智慧供热培训
- DB11∕T 751-2025 住宅物业服务标准
评论
0/150
提交评论