TMOD、SCON、PCON寄存器的配置

2023-10-26

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;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TMOD、SCON、PCON寄存器的配置 的相关文章

  • 51单片机学习笔记(十) - AD/DA转换

    文章目录 一 AD DA基本介绍 二 A D D A转换中的主要概念 三 A D D A转换在系统中存在的方式 四 A D转换原理图及ET2046芯片介绍 1 原理图 2 ET2046芯片介绍 3 开发板接线 五 ET2046芯片SPI时序
  • 12. 直流电机调速(PWM)

    直流电机介绍 直流电机是一种将电能转换为机械能的装置 一般的直流电机有两个电极 当电极正接时 电机正转 当电极反接时 电机反转 直流电机主要由永磁体 定子 线圈 转子 和换向器组成 除直流电机外 常见的电机还有步进电机 舵机 无刷电机 空心
  • Keil4编辑器OXFD错误解决办法

    keil是德国的 对汉字的兼容不太好 在做液晶显示需要显示带0XFD的汉字如 三 时就不能正常显示 可以通过以下的补丁来修复 补丁文件 keil4编辑器0XFD补丁 其它文档类资源 CSDN下载https download csdn net
  • keil5报错:* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 08B5H BYTE (108%) *保姆级教程

    项目场景 keil uVsion5的编译的时代码的字节过大出现 问题描述 RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT 原因分析 原因就是你的keil为2048字节代码限制的版本 而你
  • 基于51单片机 数控恒流源设计 可调电流源

    设计硬件组成 基于51单片机 数控恒流源设计 可调电流源基于单片机可调电流源设计 项目定制觉得选题不错 分享一下 由51单片机 LCD1602液晶 变压器 整流桥 开关电源LM2596 TLC5615 LM358 TIP31C 按键 TL4
  • 备战电赛,该如何学习

    距2023年电赛 全称 全国大学生电子设计竞赛 只有二个月的时间了 今年是国赛通道 作为A类级竞赛 很多电子类专业的学生 以及非电子类专业的学生都想去参加 但是它的门槛有很高 很多大一的学生参加电赛只是为了获得体验感 当然你也可以抱学长的大
  • LCD1602液晶显示屏

    介绍 LCD1602液晶显示屏是一种字符型液晶显示模块 可以显示ASCll码的标准字符和其他一些内置的特殊字符 还可以内置8个自定义字符 显示容量 16 2个字符 每个字符为5 7点阵或5 10点阵 一 引脚介绍 VO 对比度调节电压 RS
  • 51单片机总结【引脚、时钟电路、复位电路、I/O端口、内部结构】

    1 功能简述 STC89C52 是一种低功耗 高性能CMOS8位微控制器 具有8K在系统可编程Flash存储器 ROM STC89C52具有以下标准功能 8k字节Flash 程序存储器ROM 512字节RAM 256字节内部和256字节外部
  • #循循渐进学51单片机#定时器与数码管#not.4

    1 熟练掌握单片机定时器的原理和应用方法 1 时钟周期 单片机时序中的最小单位 具体计算的方法就是时钟源分之一 2 机器周期 我们的单片机完成一个操作的最短时间 3 定时器 打开定时器 储存寄存器 的值经过一个机器周期自动加一 也就是说 机
  • 51单片机——中断

    中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置 中断功能的存在 很大程度上提高了单片机处理外部或内部事件的能力 老版51单片机内部共有5个中断源 中断是处理器一种工作状态的描述 我们把引起中断的原因 或者能够发出中断请求信号的
  • 基于51单片机用DS1302和LCD1602设计可调式电子日历与时钟(Proteus仿真)

    嵌入式工程师成长日记 https mp weixin qq com s biz Mzg4Mzc3NDUxOQ mid 2247484111 idx 1 sn ce820ea78cf5ff4f00ebb282abc72143 chksm cf
  • 静态数码管显示、动态数码管显示(消隐)

    静态数码管显示 include
  • (十六)ADC转换实验

    本节主要是回顾有关于ADC的对应内容 我们这章通过一个AD芯片xpt2046来读取外部电压的变化 将电压的数字量显示在数码管上 关于ADC 我们都知道单片机内部都是数字量 就是1或者0 而我们的电流电压在传递的时候是模拟量 也就是模拟量很可
  • proteus设计教程-DS1302时钟芯片驱动程序

    时钟芯片DS1302电路图如下 晶振X1的频率为32 768khz 读写时间只需要调用void read time void write time 两个函数进行操作 直接读取出来的数据是BCD码的形式 需要进行转换 最后提供的两个函数to
  • 基于51单片机实现8位数码管显示表白数字(Proteus仿真)

    wechat 嵌入式工程师成长日记 具体功能实现 8位数码管从左往右显示 5201314 并且不闪烁 使用器件 若干电阻 4只LED红灯 8位数码管 总线 排阻 NPN三极管 AT89C51芯片 Proteus仿真原理图 WeChat 愿随
  • Stm32旧版库函数3——nrf24l01 16位数据 51单片机发送与stm32接收

    51代码 include
  • 基于51单片机的温度烟雾报警系统设计

    功能 本实例是基于51单片机的温度烟雾报警系统 主要硬件由51单片机最小系统 LCD1602液晶屏电路 烟雾检测电路 温度感应电路 蜂鸣器报警电路 ADC0832转换电路 LED指示灯电路和按键电路构成 1 LCD1602液晶屏 第一行显示
  • 51单片机——LED点阵屏

    51单片机 LED点阵屏 LED点阵屏 LED点阵屏原理 74HC595串转并芯片 源代码 例程一 静态笑脸 效果展示 例程二 笑脸 gt 平脸 gt 哭脸 效果展示 LED点阵屏 c51的LED点阵屏其实就是一个8 8像素的屏幕 一共有6
  • DS18B20的原理及实例代码(51单片机、STM32单片机)

    一 DS18B20介绍 DS18B20数字温度传感器是DALLAS公司生产的单总线器件 用它来组成一个测温系统具有线路简单 体积小 在一根通信线上可以挂很多这样的数字温度传感器 十分方便 温度传感器种类众多 应用在高精度 高可靠性的场合时D
  • Java语言真的跌落神坛了吗?

    Java语言真的跌落神坛了吗 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Java的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评论区回复 888 之后私信回复 888 即可拿走

随机推荐

  • QT QWidgetAttribute

    目录 QT QWidgetAttribute 说明 参考链接 QT QWidgetAttribute 说明 Constant Value Description Qt WA AcceptDrops 78 Allows data from d
  • C语言中的可移植类型:stdint.h和inttypes.h

    stdint h和inttypes h两个头文件是C99里新增加的 以确保C语言的类型在各系统中功能相同 在stdint h头文件中 C语言为现有类型创建了更多类型名 如 int32 t表示32位有符号整数类型 即 在32位int型系统中
  • navicat配置远程链接mysql数据库(回顾)

    mysql 数据库在同一网关环境下 用navicat配置远程链接 省去命令操作
  • 不死神兔--java解决斐波那契数列

    不死神兔也叫做斐波那契数列或者叫做黄金分割数列或者叫做兔子数列 不死神兔问题 有1对兔子 从出生后的第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问第n个月有几对兔子 需求 我们这里需要知道第二十个月
  • 【深度学习】全连接层 (Full Connection,FC)

    Introduce 全连接层也是一种卷积层 它的参数基本和卷积层的参数一样 只是它的卷积核大小和原数据大小一致 起到将学到的 分布式特征表示 映射到样本标记空间的作用 用 global average pooling 取代 FC 已经成为了
  • Java开发环境系列:你真的会用eclipse吗?

    第一步 下载Eclipse 并安装 下载链接 http www eclipse org downloads 1 点击 Download Packages 进入Eclipse下载界面 2 找到Eclipse IDE for Java EE D
  • 首创模拟电子计算机,指导日本原子弹投射,这个大佬有点牛

    作者 年素清 责编 王晓曼 出品 程序人生 ID coder life 万尼瓦尔 布什 Vannevar Bush 是美国历史上最伟大的科学家和工程师之一 他在二战时创立美国科学研究局 提出了著名的 曼哈顿计划 并指导了第一颗原子弹试验和日
  • Chapter Four : Python 序列之列表、元组操作详解合集

    目录 一 列表 1 列表基本操作 定义列表 删除列表 访问列表 遍历列表 2 列表常用方法及操作详解 2 1 添加元素 append extend insert 运算符 运算符 2 2 删除元素 del pop remove clear 2
  • flutter系列集合之App项目集成flutter混合开发详细指南大神必学

    消息队列目前流行的有KafKa RabbitMQ ActiveMQ等 它们的诞生无非不是为了解决消息的分布式消费 完成项目 服务之间的解耦动作 消息队列提供者与消费者之间完全采用异步通信方式 极力的提高了系统的响应能力 从而提高系统的网络请
  • 数据挖掘的种种-节课准备

    数据挖掘 Data Mining DM 又称数据库中的知识发现 Knowledge Discover in Database KDD 数据挖掘概述 数据挖掘 Data Mining DM 又称数据库中的知识发现 Knowledge Disc
  • C# InvokeRequired和Invoke

    一 简介 WinForm 关于InvokeRequired与Invoke Jlins的博客 CSDN博客 invokerequired c 是禁止夸线程直接访问控件 InvokeRequired是为了解决这个问题而产生的 当一个控件的Inv
  • cpu与gpu实现矩阵相乘对比

    1 完成矩阵相乘的并行程序的实现 要求 实现2个矩阵 1024 1024 的相乘 数据类型设置为float 1 使用CPU计算 include
  • 开源的一些基础介绍

    国内 淘宝 百度 南航 网易等 国外 新浪 搜狐 facebook ebay google等 成功后的企业也在不断为开源添加新能量 如 taobao和google等 因为他们不但被开源的魅力深深吸引住同时也愿意通过开源提升自我 现在更多的企
  • Wrappers.<实体>lambdaQuery的使用

    文章目录 MP 配置 Service CURD接口 Mapper CURD接口 insert delete update select 条件构造器 LambdaUpdateWrapper Wrappers lt 实体 gt lambdaUp
  • 机器人教育是一种科学的探究方式

    创新是推动经济社会发展的核心驱动力 当前 我国已经深刻认识到世界新科技革命带来的机遇和挑战 以高度的历史责任感 强烈的忧患意识和宽广的世界眼光 把创新作为推动经济社会发展的驱动力量 机器人技术的进步将会对科学与技术的发展产生重要影响 只有开
  • 算法(C)(两数之和)

    题目 两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不
  • JSON使用的一些总结

    http sx666 blogspot com 2007 11 json html JSON JavaScript Object Notation 是一种轻量级的数据交换格式 它采用完全独立于语言的文本格式 可以用来在客户端和服务器端传输数
  • innerText和innerHTML区别

    innerText和innerHTML区别 尽管DOM带来了动态修改文档的能力 但对开发人员来说 这还不够 IE4 0为所有的元素引入了两个特性 以更方便的进行文档操作 这两个特性是innerText和innerHTML 其中innerTe
  • Oracle:重复数据去重,只取其中一条(最新时间/其他字段排序规则)数据

    一 问题 一个会话id代表一个聊天室 返回该聊天室最新的一条数据显示在会话列表 二 解决思路 使用row number over 分组排序功能 来解决该问题 1 语法格式 row number over partition by 分组列 o
  • TMOD、SCON、PCON寄存器的配置

    TMOD控制寄存器 TMOD是定时器 计数器模式控制寄存器 它是一个逐位定义的8为寄存器 但只能使用字节寻址 其各位是 由上图我们就可以看出 这个寄存器控制了两个定时器 计数器 寄存器的高四位控制定时器1 低四位控制定时器0 GATE 门控