51单片机基础篇系列-定时/计数器的控制工作方式

🌈个人主页:会编程的果子君 

💫个人格言:“成为自己未来的主人~”  

定时/计数器的控制

80C51单片机定时/计数器的工作由两个特殊功能寄存器控制,TMOD用于设置其工作方式:

1.工作方式寄存器TMOD

工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1,

GATE,门控位,GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作,GATE=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/技术器工作,即此时定时器的启动多了一个条件

M1M0:工作方式设置位,定时/计数器有四种工作方式,由M1M0进行设置

TCON的低四位用于控制外部中断,TCON的高四位用于控制定时/计数器的启动和中断申请

TF1(TCON.7),T1溢出中断请求标志位,T1计数溢出时由硬件自动置TF1为1,CPU响应中断后TF1由硬件自动清0,T1工作时,CPU可随时查询TF1的状态,所以,TF1可用作查询测试的标志,TF1也可以用软件置1或者清0,同硬件置1或清0的效果一样。

TR1(TCON.6),T1运行控制位,TR1置1时,T1开始工作,TR1置0时,T1停止工作,TR1由软件置1或清0,所以,用软件可控制定时/计数器的启动与停止

TF0(TCON.5),T0溢出中断请求标志位,其功能和TF1类似

TR0(TCON.4),T0运行控制位,其功能与TR1类同

定时/计数器的工作方式

方式0

方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成,TL0的低五位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求

定时器模式时有:N=t/Tcy 计数初值计算的公式为:X=2^13-N,定时器的初值还可以采用计数个数直接取补发获得。计数模式时,计数脉冲是T0引脚上的外部脉冲。

门控位GATE具有特殊的作用。当GATE=0时,经反相后使或门输出为1,此时仅有TR0控制与门的开启,与门输出1时,控制开关接通,计数开始,当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制,当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数,这种方式常用来测量外中断引脚上正脉冲的宽度。

方式一

方式一的计数位数是16位,由TL0作为低八位,TH0作为高8位,组成了16位加1计数器

方式二

方式二为自动重装初值的8位计数方式

方式三

方式三只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2868323.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Windows 桌面窗口管理器

前言 Windows 桌面窗口管理器(Desktop Window Manager,简称DWM)。桌面窗口管理器是Windows桌面环境的核心组件,主要负责处理窗口的显示和管理。它通过利用图形硬件加速技术,将窗口的处理转移到显卡上,提供…

HarmonyOS开发:NEXT版本开发新体验

前言 年前,公司团队接洽了鸿蒙方团队,确认了生态合作,于是开通了白名单权限,授权了新的IDE和相关文档的使用和查看,历经一月有余,谈谈NEXT版本有哪些开发上的区别。 本文会从以下几个方面阐述:…

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning 动量在数学上理解为加权移动平均: yt-1是上一时刻输出,xt是当前时刻输入,m是动量,不想让当前时刻输出只依赖于当前时刻的输入,m很大时&#xff0…

jenkins容器中安装python遇到问题

在Jenkins容器中安装配置Python时遇到问题 执行./configure --prefix/opt/python3/时遇到configure: error: no acceptable C compiler found in $PATH 这个问题就是缺少gcc编译环境。将gcc安装上即可: yum install -y gcc##前提是容器里的系统是cenos才可以&#…

详解(实现)堆的接口函数

文章目录 堆堆的顺序存储 准备工作创建头文件Heap.h创建源文件Heap.c头文件的包含定义保存堆数据的结构体 初始化销毁堆插入数据向上调整算法图解算法代码 删除堆顶向下调整算法图解代码 取出堆顶数据求堆的数据个数判断堆是否为空全部代码Heap.hHeap.c 再了解堆之前我们先要了…

Unity AI Navigation插件快速使用方法

AI Navigation插件使您能够创建能够在游戏世界中智能移动的角色。这些角色利用的是根据场景几何结构自动生成的导航网格。障碍物可以让您在运行时改变角色的导航路径。 演示使用的Unity版本为Tuanjie 1.0.0,团结引擎是Unity中国的引擎研发团队基于Unity 2022 LTS版本为中国开发…

【算法杂货铺】模拟

目录 🌈前言🌈 📁1576. 替换所有的问号​编辑 📁 495. 提莫攻击 📁 6. Z 字形变换 📁38. 外观数列 📁1419. 数青蛙 📁 总结 🌈前言🌈 欢迎观看本期【算…

SkyWalking上报Java应用数据

重要 本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。 通过SkyWalking为应用埋点并上报链路数据至可观测链路 OpenTelemetry 版后,可观测链路 OpenTelemetry 版即可开始监控应用,您可以…

本地文件包含漏洞利用

目录 前期信息收集获取网站权限获取服务器权限纵向提权 前期信息收集 拿到目标的资产,先试一下IP能不能访问 探测一下目标的端口运行的是什么服务 nmap -sC -sV xx.xx9.95.185 -Pn获取网站权限 我们可以知道目标的80端口上运行着http服务,服务器是u…

【每日力扣】40.组合总和II与701. 二叉搜索树中的插入操作

🔥 个人主页: 黑洞晓威 😀你不必等到非常厉害,才敢开始,你需要开始,才会变的非常厉害。 40.组合总和II 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为…

【研发日记】Matlab/Simulink技能解锁(二)——在Matlab Function编辑窗口Debug

文章目录 前言 行断点 条件断点 按行步进 Watch Value 分析和应用 总结 前言 见《【研发日记】Matlab/Simulink技能解锁(一)——在Simulink编辑窗口Debug》 行断点 当Matlab Function出现异常时,如果能确定大致的代码段,就可以在相应的行上设置一…

综合知识篇00-综合知识考点汇总目录(2024年软考高级系统架构设计师冲刺知识点总结-综合知识篇-先导篇)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级…

解析编程中不可或缺的基础:深入了解结构体类型

精琢博客,希望可以给大家带来收获~ 博主主页:17_Kevin-CSDN博客 收录专栏:《C语言》 引言 在编程中,结构体是一种自定义的数据类型,它允许开发人员将不同类型的数据组合在一起,并为其定义相关属性和行为。…

(四)Android布局类型(线性布局LinearLayout)

线性布局(LinearLayout):按照一定的方向排列组件,方向主要分为水平方向和垂直方向。方向的设置通过属性android:orientation设置 android:orientation 其取值有两种 水平方向:android:orientation"horizontal&…

RPC通信原理(一)

RPC通信原理 RPC的概念 如果现在我有一个电商项目,用户要查询订单,自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起,打包成一个war包,然后再tomcat上运行,tomcat占有一个进程&am…

【NestJS 编程艺术】3. 探索NestJS的高效开发:nest-cli的全面指南

在现代的 Node.js 服务端开发中,NestJS 以其优雅的架构和强大的功能集成为了开发者的首选框架之一。而这一切的起点,都始于nestjs/cli这个强大的命令行工具。本文将深入探讨nest-cli的核心功能,帮助开发者高效地创建、构建和管理 NestJS 项目…

UDP通讯测试

参考资料&#xff1a;UNIX网络编程 实验平台&#xff1a;PC为client&#xff0c;RaspberryPi为server 基本类型和接口函数&#xff0c;参考man手册 #include <sys/socket.h>struct sockaddr {sa_family_t sa_family; /* Address family */char sa_…

【三】【单片机】有关数码管的实验

静态数码管 段选 首先看74HC138译码器&#xff0c;我们通过控制P22,P23,P24来控制选择LED1,LED2,LED3...... P24,P23,P22三个不同的二进制数&#xff0c;组成一个十进制数。P24对应二进制的最高位&#xff0c;P23对应二进制的中间位&#xff0c;P22对应二进制的最低位。利用P…

CSS 超出部分显示省略号,一个合格的初级前端工程师需要掌握的模块笔记

单行超出显示省略号 多行超出显示省略号 单行超出显示省略号 直接看代码&#xff1a; desktop demo 你问我为何时常沉默&#xff0c;有的人无话可说&#xff0c;有的话无人可说.你问我为何时常沉默&#xff0c;有的人无话可说&#xff0c;有的话无人可说. 效果图&#xff…

除了「au revoir」,「再见」还能怎么说?柯桥成人学外语来银泰附近

1. Je dois y alle#15857575376r I have to go there Y there&#xff0c;意思是“我要走了”。 例如&#xff0c;”Moi, je dois y aller.” 对不起&#xff0c;我该走了。 如果你和同伴都要离开&#xff0c;那就可以说"On y va"&#xff0c;它相当于英语里…