当前位置: 首页 > news >正文

(4)定时器

51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成

作用:

  1. 用于计时系统
  2. 替代长时间Delay,提高运行效率和速度
  3. 任务切换

STC89C52定时器资源:

定时器个数:3个(T0,T1,T2),T2是新增资源,T0T1为老版本兼容

定时器的资源和单片机的型号是关联在一起的,不同型号可能有不同定时器个数和操作方式

定时器根据时钟的输出信号,每隔固定时间段,计数单元的数值加一,当计数单元数值增加到设定的值时,计数单元会向中断系统发出中断申请,使程序跳转到中断服务函数中执行

STC89C52的T0和T1均有四种工作模式:

  • 模式0:13位定时器/计数器
  • 模式1:16位定时器/计数器(常用)
  • 模式2:8位自动重装模式
  • 模式3:两个8位计数器

请添加图片描述

计数单元:时钟发出脉冲给计数单元,每个脉冲加一,计数单元一共2*8=16位(最大65535),超过最大值溢出,此时标志位TF0发出中断请求

时钟:有两个来源

  • SYSclk系统时钟,即晶振周期,12MHz,此时做定时器
  • T0 Pin外接时钟——此时做计数器

中断系统:使CPU具有对外界紧急事件的实时处理能力,高级别的中断优先执行,多级中断称为中断嵌套,中断请求的来源称为中断源

STC89C52中断资源:

  • 中断源个数:8个(外部中断0,定时器0中断,外部中断1,定时器1中断,串口中断,外部中断2,外部中断3)
  • 中断优先级个数:4个
  • 中断号:

请添加图片描述

寄存器是连接软硬件的媒介在单片机中寄存器就是一段特殊的RAM存储器,一方面,寄存器可以存储和读取数据,另一方面,每一个寄存器背后都连接了一根导线,控制着电路的连接方式寄存器相当于一个复杂机器的“操作按钮”

TCON:控制中断

请添加图片描述

请添加图片描述

TMOD:定时和计数功能

请添加图片描述

请添加图片描述

12MHz每隔一微秒加一,计数单元(0~65535),通过赋初始值的方式做到每秒中断:

0~65535
总共定时65535us
计数单元初始值为64535,计时时间为1000us=1ms
所以TH0(高位)TL0(低位)应组合
TH0 = 64535/256; // 取出64535的高八位赋给TH0
TL0 = 64535%256; // 取出64535的低八位赋给TL0
1.因为64535是十进制数,要先转换为十六进制数所以除16;
2.然后还要取高8位,所以再除16,算到一起就是除256.
3.取模同理
void Timer0_Init(){TMOD = 0x01; // 0000 0001 定时模式1// 这里TMOD可以使用与或式赋值法,只操作特定位而不改变其他位// TMOD &= 0xf0;// TMOD |= 0x01;TF0 = 0; // 标志位初始化,防止产生中断TR0 = 1; // 运行控制位,开始计数工作TH0 = 64535 / 256; // 给计数单元赋初值TL0 = 64535 % 256;ET0 = 1;// 溢出中断允许位EA = 1; // 总中断允许控制位PT0 = 0; // 定时器0中断优先级控制位
}
void Timer0_Rountine() interrupt 1{ // 中断号static unsigned int T0Count = 0;TH0 = 64535 / 256; // 给计数单元赋初值,保证每次移除后都是从64535开始重新计数TL0 = 64535 % 256;T0Count++;if(T0Count >= 1000){ // 中断次数超过1000,即经过1秒后T0Count = 0;P2 = ~P2;}
}

一个函数头文件:INTRINS.H

内部函数 描述
_crol_ 字符循环左移 溢出则从低位重新开始
_cror_ 字符循环右移
_irol_ 整数循环左移
_iror_ 整数循环右移
_lrol_ 长整数循环左移
_lror_ 长整数循环右移
_nop_ 空操作 8051 NOP 指令
_testbit_ 测试并清零位 8051 JBC 指令
_nop_ 空操作 8051 NOP 指令
_testbit_ 测试并清零位 8051 JBC 指令

相关文章:

(4)定时器

51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成 作用: 用于计时系统替代长时间Delay,提高运行效率和速度任务切换 STC89C52定时器资源: 定时器个数:3个(T0,T1,T2&#xf…...

项目实现读写分离操作(mysql)

读写分离 1.问题说明 2.读写分离 Master(主库)----(数据同步)—> Slave(从库) Mysql主从复制 mysql主从复制 介绍 mysql主从复制是一个异步的复制过程,底层是基于mysql数据库自带的二进制日志功能。就是一台或多台…...

VP记录:Educational Codeforces Round 148 (Rated for Div. 2) A~D1

传送门:CF 前题提要:本人临近期中,时间较紧,且关于D2暂时没有想到优化算法,因此准备留着以后有时间再继续解决 A题:A. New Palindrome 简单的模拟题,考虑记录每一个字母出现的次数.很容易发现奇数次的数字只能出现一次.因为最多只能在正中间放一个.并且因为不能和初始字符相…...

无线模块|如何选择天线和设计天线电路

无线模块的通信距离是一项重要指标,如何把有效通信距离最大化一直是大家疑惑的问题。本文根据调试经验及对天线的选择与使用方法做了一些说明,希望对工程师快速调试通信距离有所帮助。 一、天线的种类 随着技术的进步,为了节省研发周期&…...

(11)LCD1602液晶显示屏

LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符,自带芯片扫描 显示容量:162个字符,每个字符…...

类和对象下

文章目录 一、初始化列表1、语法:2、初始化顺序 二、static成员三、友元1、友元函数2、友元类 四、拷贝对象时的编译器优化例1、例2、例3、 一、初始化列表 1、语法: 初始化列表: 以一个冒号开始,接着是一个以逗号分隔的数据成员…...

【云计算•云原生】4.云原生之什么是Kubernetes

文章目录 Kubernetes概念Kubernetes核心概念集群podConfigMap Kubernetes架构master节点的组件worker节点组件 Kubernetes网络架构内部网络外部网络 k8s各端口含义 Kubernetes概念 K8S就是Kubernetes,Kubernetes首字母为K,末尾为s,中间一共有…...

云厂商降价潮背后:来中小企业战场「拼刺刀」

如果说过往云厂商的降价打响的是从C端进军B端的营销战,那么在这一轮降价潮背后,对应的则是云厂商从大型KA客户向中小企业进军的信号,强被集成,强获客。 云厂商又一轮降价潮袭来。 5月16日,移动云宣布部分产品线最高降…...

2-单片机GPIO相关知识点及流水灯和按键采集小实验

目录 小问题 :单片机上电后第一个执行的程序是? 【1】GPIO 1.定义 2.应用 I - Input 输入采集 O - Output 输出控制 3.GPIO结构框图 4.功能描述 输入功能 5.相关寄存器 【2】输出控制实验 实验:点亮一盏LED灯 1.实验…...

基础知识(王爽老师书第一章)

文章目录 基础知识1.1 引言1.2 机器语言1.2 引言汇编语言的产生1.3 汇编语言的组成1.4 存储器1.5 指令和数据1.6 存储单元1.7 CPU对存储器的读写1.8 地址总线1.9 数据总线1.10 控制总线小结检测点1.11.11 内存地址空间1.12 主板1.13 接口卡1.14 各类存储器芯片1.15 内存地址空间…...

非煤矿山电子封条建设算法 yolov8

非煤矿山电子封条建设算法模型通过yolov8网络模型AI视频智能分析技术,算法模型对作业状态以及出井入井人员数量变化、人员睡岗离岗等情况实时监测分析,及时发现异常动态,自动推送生成的违规截图报警信息。现代目标检测器大部分都会在正负样本…...

七大软件架构设计原则详解

目录 1、概述 2、七大设计原则 2.1、开闭原则 2.2、里氏替换原则 2.3、依赖倒置原则 2.4、单一职责原则 2.5、接口隔离原则 2.6、迪米特法则 2.7、合成复用原则 3、最后 VC常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...&…...

【Python入门】Python循环语句(while循环的嵌套应用)

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…...

数据来源和搜集

数据搜集 文章目录 数据搜集1 数据来源1.1 数据的间接来源1.2 间接数据的评价1.3 数据的直接来源 2 调查数据2.1概率抽样2.2 非概率抽样2.3 概率抽样 *vs.*非概率抽样 3 搜集数据的方法4 实验数据4.1 实验组与对照组4.2 实验中的若干问题 1 数据来源 所有统计数据都来源于社会…...

Python入门(七)if语句(二)

if语句(二) 1.if语句1.1 简单的if语句1.2 if-else语句1.3 if-elif-else结构1.4 使用多个elif代码块1.5 使用多个elif代码块 2.使用if语句处理列表2.1 检查特殊元素2.2 确定列表不是空的2.3 使用多个列表 作者:xiou 1.if语句 前面我们理解了…...

[元带你学: eMMC完全解读 2] eMMC协议相关术语与定义

声明 主页:元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 所在专栏 《元带你学: eMMC完全解读》 内容摘要 前言 文中列出了常用和不常用的eMMC 术语, 只需要了解常用术语就完全够用, 非常用术语几乎都用不上,只要遇到的…...

预测杭州五一黄金周的旅游出行人数

对于杭州五一黄金周的旅游出行人数的预测,可以从以下几个方面进行考虑。 一、历史数据的分析 杭州作为一个旅游胜地,每年的五一黄金周都吸引了大量的游客前来游玩。历史数据可以为我们提供有用的信息,帮助我们预测今年的旅游出行人数。 1.…...

内防泄密重要,还是外防窃密重要?

内防泄密是组织为防止内部敏感信息未经授权泄露所采取的各种管理与技术措施的总称。它主要针对内部人员的信息访问与操作行为进行管控,减少故意或疏忽泄密事件的发生几率。 内防泄密的工作,通常包括员工管理、权限管控、监控检查、分级保护、离岗管控、技术防护、事…...

ChatGPT:2. 使用OpenAI创建自己的AI网站:1. 初探API

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白,有OpenAI的账号,但想调用OpenAI的API搞一些有意思的事,那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新,进度慢…...

5月17日,今日信息差

​1、中老铁路运输货物突破2000万吨。其中,跨境货运量超400万吨,货值达177亿元 2、北京首个5.5G实验基站在昌平区的国际信息港建设开通,5.5G将在速率、时延、连接规模和能耗方面全面超越现有5G,实现下行万兆和上行千兆的峰值速率…...

【从零开始学Java | 第三十四篇】File

目录 前言 一、什么是File类? 二、File类的作用 1.表示文件和目录 2.操作文件和目录 3.获取文件属性 三、File的构造方法 1. 通过字符串路径创建 2. 通过父路径和子路径创 3. 通过父 File 对象和子路径创建 四、绝对路径和相对路径 1. 绝对路径 2. 相对…...

利用Kali与Seeker实现位置追踪:技术原理与防范策略

1. Kali与Seeker位置追踪技术揭秘 你可能听说过黑客能通过一个链接获取你的精确位置,听起来像电影情节对吧?但实际上,这种技术门槛比想象中低得多。我去年在安全测试中就曾用Kali Linux配合Seeker工具,成功复现了这种位置追踪攻击…...

大模型应用必看:分块策略详解(收藏版),轻松提升RAG系统召回率!

本文深入探讨了在RAG系统中,如何通过分块策略提升大模型的处理效率和召回率。文章详细介绍了固定大小、重叠、递归、文档特定、语义及混合等分块策略,并分析了每种策略的优缺点及适用场景。通过LangChain提供的多种文档分块方法,开发者可以轻…...

Agent深度问题

一. skills和sub agent的区别 在 AI Agent 架构体系中,Skills(技能) 和 Sub Agent(子智能体) 是两种核心的能力扩展方案,二者的核心差异在于是否具备独立推理规划能力、是否拥有独立上下文生命周期,可通俗理解为「工具箱里的专用工具」与「可独立干活的专项专家」的区别…...

DeOldify图像上色服务部署详解:计算机组成原理视角下的GPU资源分配

DeOldify图像上色服务部署详解:计算机组成原理视角下的GPU资源分配 老照片修复,尤其是黑白照片上色,一直是个挺有意思的活儿。以前得靠专业设计师一点点调,现在有了AI,这事儿就简单多了。DeOldify就是其中一个挺出名的…...

CasRel开源可部署价值:替代商业NLP平台,年节省知识图谱构建成本超80%

CasRel开源可部署价值:替代商业NLP平台,年节省知识图谱构建成本超80% 你知道吗?构建企业级知识图谱的成本中,超过60%都花在了关系抽取这个环节。传统方案要么贵得离谱,要么效果差强人意。今天介绍的CasRel开源模型&…...

曲靖房子整装推荐升卓装饰:一站式服务让新房装修省心省力更省钱

购买新房是人生大事,而新房整装是实现理想家居的关键一步。当前曲靖新房业主装修面临流程繁琐、选材头疼、增项频发、环保担忧、工期延误等诸多痛点,尤其是首次装修业主,缺乏经验更易踩坑。曲靖市麒麟区升卓装饰工程有限责任公司以中高端品质…...

INTERFACE AZI-132B接口模块

INTERFACE AZI-132B 接口模块INTERFACE AZI-132B 是一款用于工业自动化系统中的接口模块,主要用于实现设备之间的信号连接与数据传输,适用于PLC及各类控制系统的接口扩展应用。用于工业自动化控制系统属于信号接口与通信模块支持多通道信号输入处理可实现…...

跨模型、跨Agent、跨时序的追踪难题全解析,深度解读分布式因果推断追踪协议v2.1

第一章:AIAgent架构全链路追踪方案 2026奇点智能技术大会(https://ml-summit.org) AI Agent系统具备多阶段决策、工具调用、记忆检索与外部服务协同等复杂行为特征,传统基于HTTP请求的链路追踪(如OpenTracing)难以准确刻画其内部…...

NVIDIA Jetson Orin系列:人形机器人边缘AI计算的革命性突破

1. 为什么人形机器人需要NVIDIA Jetson Orin? 当你看到波士顿动力Atlas机器人后空翻时,可能不会想到背后需要多少算力支持。传统机器人主控芯片在实时处理高清摄像头、激光雷达、惯性测量单元等多传感器数据时常常力不从心,就像用老年机玩3A游…...