转载


TMOD控制寄存器

TMOD是定时器、计数器模式控制寄存器,它是一个逐位定义的8为寄存器,但只能使用字节寻址。 
其各位是: 
 
由上图我们就可以看出,这个寄存器控制了两个定时器/计数器 
寄存器的高四位控制定时器1,低四位控制定时器0 
GATE:门控制 
GATE=0: 仅由TR0,TR1置位分别启动定时器T0、T1 
GATE=1:由外部中断引脚INT0、INT1来启动定时器T0、T1 
当INT0引脚为高电平时TR0置位,启动定时器T0; 
当INT1引脚为高电平时TR1置位,启动定时器T1 
C/T:功能选择位 
C/T=0:定时功能 
C/T=1:计数功能 
M1、M0:工作方式选择位


 
如果我们同时使用定时器1和定时器0的时候,一定要注意对他们初始化的时候,不能够相互影响,即当我们配置好TMOD的低四位之后,再去配值TMOD的高四位的时候,一定不能破坏低四位的数据。

SCON控制寄存器

串行口控制寄存器,它用于控制串行通信的方式选择、接收和发送,指示串口的状态。SCON既可以字节寻址,也可以位寻址。 
它的各位为:


 
SM0、SM1:串行口工作方式控制位 
其中我们在初始化串口通信的时候,最有用的就是SM0、SM1、SM0这三位了,具体配置如下:


 
一般情况下我们可以选择方式1。 
SM2:多机通信控制位 
多机通信是工作于方式2和方式3,即SM2主要用于方式2和方式3。当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接收到的数据放弃。当SM2=0时,就不管第9位数据是0还是1,都会将数据送入SBUF,并发出中断申请。 
REN:允许接受位(一般配置为1) 
REN=1:允许接收 
REN=0:禁止接收 
TB8:发送数据位8(一般配置为0) 
在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。 
RB8:接收数据位8(一般配置为0) 
在方式2和方式3中,RB8存放接收到的第9位数据,用以识别接收到的数据特征。 
TI:发送中断标志位 
可寻址标志位。方式0时,发送完第8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此,TI=1表示帧发送结束,TI可由软件清“0”。 
RI:接收中断标志位 
可寻址标志位。接收完第8位数据后,该位由硬件置位,在其他工作方式下,该位由硬件置位,RI=1表示帧接收完成。

在配置串口初始化程序的时候,我们一般只用配置高四位,如果我们选择工作方式1,那么就是SCON=0X50;(SM0=0,SM1=1,SM2=0,REN=1)

PCON控制寄存器 

PCON全称Power Control Register,即功率控制寄存器,我们在配置51单片机中的波特率的时候会用到它,其各位如下 
 
系统复位默认为SMOD=0。当用51单片机的定时器2产生波特率时,波特率不受SMOD的影响。 
各位的定义: 
SMOD: 
SMOD=0:串口方式1,2,3时,波特率正常 
SMOD=1:串口方式1,2,3时,波特率加倍 
LVDF:低电压检测标志位,同时也是低电压检测中断请求标志位 
GF1、GF0:两个通用工作标志位,用户可以自由使用 
PD:掉电模式设定位 
PD=0:单片机处于正常工作状态 
PD=1:单片机进入掉电模式可由外部中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振,CPU、定时器、串行口全部停止工作,只有外部中断工作。在该模式下,只有硬件复位和上电能够唤醒单片机。 
IDL:空闲模式设定位 
IDL=0:单片机处于正常工作状态 
IDL=1:单片机进入空闲(Idle)模式,除CPU不工作外,其余仍继续工作,在空闲模式下可由任一个中断或硬件复位唤醒。

一般我们只用到了SMOD这一位,当我们选择波特率加倍的时候,就配置为PCON=0X80;
————————————————
版权声明:本文为CSDN博主「逸凌123」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36554582/article/details/82695138

MOD、SCON、PCON寄存器的配置相关推荐

  1. 寄存器自动化配置通用案例

    本博文设计思想采用明德扬至简设计法.之前都是通过一些完整的案例来分享设计心得,而这篇文章以需要配置多个寄存器的场景讲述核心设计技巧. 在设计案例时发现,经常会配置比较复杂的IP核或驱动一些接口进而操作 ...

  2. stm32 usart的BRR寄存器的配置,程序是CMSIS中的,分析它是怎么实现的?(自己设置好波特率,库文件会根据波特率计算BRR的值,和以前STM8不一样,需要自己根据波特率计算BRR值再设置)

    stm32 usart的BRR寄存器的配置 stm32 专栏收录该内容 23 篇文章0 订阅 订阅专栏 程序是CMSIS中的,分析它是怎么实现的? 波特率由整数和分数两部分组成. RCC_GetClo ...

  3. MT9V034六个寄存器的配置

    前言 这是我一年前总结的,我也忘了为什么是这个公式了,但在默认模式下能用... 寄存器说明: 摄像头工作在默认模式下,好像只用对以下六个寄存器进行配置寄存器配置解读如下: Window_Width r ...

  4. Altera Rapidio IP IO 映射寄存器的配置

    RapidIO映射寄存器的配置 内存空间4M字节(0x40,0000字节),128bit地址:0x14,0000, 32bit,32bit地址:0x50,0000,字节地址:0x140,0000,末地 ...

  5. PIC16F877A与Proteus仿真-GPIO寄存器与配置

    GPIO寄存器与配置 在本文中,我们将讨论 PIC 控制器的端口配置. 我们将使用 PIC16F877A 作为参考,同样适用于其他 PIC 系列控制器. 在本文结束时,你将熟悉 PIC GPIO 以及 ...

  6. 工业超高频读写头|读写器|读卡器CK-UR08-A01寄存器的配置方法与攻略

    工业超高频读写头|读写器|读卡器CK-UR08-A01部分寄存器用于设置设备地址.通信波特率.通信校验方法以及读卡器的工作模式,部分寄存器用于显示RFID卡检测状态以及显示命令执行是否正常,可设置的寄 ...

  7. 串口通信寄存器/库函数配置、实例编写

    常用的串口相关寄存器 USART_SR状态寄存器 USART_DR数据寄存器 USART_BRR波特率寄存器 串口操作相关库函数(省略入口参数): void USART_Init(); //串口初始化 ...

  8. MSP430串口波特率寄存器的配置

    在写串口通信时,经常因为时钟频率或波特率更改,需要重新配置波特率寄存器,以MSP430F5438A为例,记录一下寄存器配置方法: //============================= voi ...

  9. IO口功能寄存器式配置方法

    写的东西比较多,看起来有些杂乱,主要就是把所有IO口有关的寄存器的功能列出,常用的各个位,有想咨询的可以联系897741243@qq.com /**************************** ...

最新文章

  1. Node.js + Express 4.x + MongoDB 构建登录注册-简易用户管理(四)
  2. paper 38 :entropy
  3. [COCI 2013/2014 ROUND 3] parovi
  4. InsecureRequestWarning: Unverified HTTPS request is being made to host(requests证书警告)
  5. RouterOS SOCKS代理服务器(官方文档翻译)
  6. 十、PHP框架Laravel学习笔记——数据库配置入门
  7. java文件选择器_java中文件选择器JFileChooser的用法
  8. “七”待已久,“夕”望是你,“快”来学习,“乐”在其中!
  9. wps表格在拟合曲线找点_excel拟合曲线函数表达式,excel散点拟合出来的公式看不懂。请问怎么写入表格使用?...
  10. 微信定时自动发送群消息的小工具-python-itchat
  11. EasyNVR调16分屏播放ws-flv内存溢出导致浏览器崩溃问题的解决
  12. echarts 节点拖拽
  13. matlab复数的使用,关于MATLAB在复数方面的应用
  14. pytorch 提取权重_获取Pytorch中间某一层权重或者特征
  15. HackMyvm(六)Noob持续更新
  16. java图片降噪_Java基于opencv实现图像数字识别(四)—图像降噪
  17. IDEA中怎么调出右下角的版本控制Git
  18. 论“GPL就是给软件开发者们准备的坑”
  19. Python学习日记1
  20. 解决别人在收到我们发送的*.md文档时,图片无法显示的问题。

热门文章

  1. 微前端之实现方式和项目分析、实践主子应用启动配置、vue2、vue3、react15、react16 子应用的配置
  2. 微信服务号开发----创建个性化菜单
  3. 当前计算机技术在制图,浅谈计算机技术在测绘工程制图中的应用张琪平(原稿)...
  4. iphone开发之屏幕截图
  5. 鹏业安装算量软件界面及部分功能按钮介绍
  6. rust和gta5哪个吃配置_10款游戏体感嗨翻天的Steam大作,GTA5险无缘榜单,吃鸡仅排第三...
  7. 漫谈程序员系列 请区别对待女程序员
  8. 杭电OJ——1290 献给杭电五十周年校庆的礼物
  9. 微信中接收的word文件怎样保存到电脑
  10. Pandas数据分析工具快速进阶三(value_counts与apply结合使用简单的统计函数)