蓝桥杯_定时器的基本原理与应用

一 什么是定时器

  定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。

二 51单片机的定时/计数器

单片机外部晶振12MHZ,12分频后计数脉冲为1MHZ,即每个时钟脉冲周期为1us,定时器T0的16位工作模式最大定时时间位65535us,如果要定时10ms的计数器的话就不能从0开始计数了,必须给定一个计数初值。

  TH0 =  (65535-10000)/256;

  TL0 =    (65535-10000)%256;

三 定时器/计数器编程思想

  通常有2个函数,1个是初始化函数,1个是对外做中断服务函数

 配置工作环境->计算计数初值->使能定时/计数器中断(即ET0或者ET1置0)-> 打开总中断(即EA=1)->启动定时器(即TR0或者TR1置0)

在中断服务函数中,如果不是自动重装模式,需要对THX和TLX重新赋值。

四 工程 代码

利用51单片机的定时/计数T0模式实现定时,每隔1s,L1指示灯闪烁一下,也就是点亮0.5s,熄灭0.5s,每隔10s,L8指示灯闪烁一下,即点亮5s,熄灭5s。

#include"reg52.h"sbit L1 = P0^0;
sbit L8 = P0^7;void InitHC138(unsigned char n)
{switch (n){ case 4:HC138_C = 1;HC138_B = 0;HC138_A = 0;//输出Y4break;case 5:HC138_C = 1;HC138_B = 0;HC138_A = 1;//输出Y5break;
case 4:HC138_C = 1;HC138_B = 1;HC138_A = 0;//输出Y6break;case 5:HC138_C = 1;HC138_B = 1;HC138_A = 1;//输出Y7break;}
}//锁存器选择//======================================
void InitTimer()
{THOD = 0x01;TH0 = (65535-50000)/256;TL0 = (65535-50000)%256;ET0 = 1;EA = 1;TR0 = 1;
}unsigned char count = 0;
unsigned char count1= 0;
void ServiceTimer() interrupt 1
{TH0 = (65535-50000)/256;TL0 = (65535-50000)%256;count++;count1++;if(count ==10){L1=~L1;count =0;}if(count1 = 100){L8=~L8;count1 = 0;
}//======================================void mian()
{void InitTimer();while(1){}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Facebook的元宇宙实践:数字化社交的新前景

近年来,元宇宙(Metaverse)这一概念备受瞩目,被认为是数字化社交的未来趋势之一。而在众多科技巨头中,Facebook(现更名为Meta)一直处于元宇宙发展的前沿。在本文中,我们将深入探讨Fac…

火灾安全护航:火灾监测报警摄像机助力建筑安全

火灾是建筑安全中最常见也最具破坏力的灾难之一,为了及时发现火灾、减少火灾造成的损失,火灾监测报警摄像机应运而生,成为建筑防火安全的重要技术装备。 火灾监测报警摄像机采用高清晰度摄像头和智能识别系统,能够全天候监测建筑内…

下载huggingface数据集到本地并读取.arrow文件遇到的问题

文章目录 1. 524MB中文维基百科语料(需要下载的数据集)2. 下载 hugging face 网站上的数据集3. 读取 .arrow 文件报错代码4. 纠正后代码 1. 524MB中文维基百科语料(需要下载的数据集) 2. 下载 hugging face 网站上的数据集 要将H…

视频二维码生成的应用领域:探寻多彩世界的大门

在数字化时代,生成二维码已成为连接线上线下的桥梁,而视频二维码则为信息传递注入了全新的生机和活力。二维码不再只是静态的黑白方块,通过二维彩虹技术的运用,视频二维码打开了一扇通往多彩世界的大门,让我们一同探寻…

【Java程序员面试专栏 算法思维】一 高频面试算法题:排序算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊排序算法,包括手撕排序算法,经典的TOPK问题以及区间合并,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间快速排序双指针+递归+基准值分…

半导体行业案例:Jira与龙智插件助力某半导体企业实现精益项目管理

近日,龙智Atlassian技术团队收到了国内一家大型半导体企业的感谢信。龙智团队提供的半导体行业项目管理解决方案和服务受到了客户的好评: 在龙智团队的支持下,我们的业务取得了喜人的成果和进步。龙智公司的专业服务和产品,是我们…

预约出行真方便!苏州金龙海格客车服务京津冀上班族总运量破百万

元宵已过,全国各地上班族们纷纷回到各自的岗位,通勤路也再次变得繁忙。近日,“京津冀协同合作打造环京通勤定制快巴网络”入选交通运输部公布的道路客运转型发展典型案例。截至2023年11月底,京津冀定制快巴已开通北京至河北燕郊、…

c# ABB 机械手上位机连接

c# 程式开发和调试步骤如下: ABB 机械手要开启PC Interface功能。ABB 机械手设定ip地址。设定测试笔记本和机械手同一网段,用网线直连机械手,也可以通过交换机连接机械手。确保笔记本能够ping通和telnet 机械手80端口都是OK的。以上都OK的话…

阿里云A10推理qwen

硬件配置 vCPU:32核 内存:188 GiB 宽带:5 Mbps GPU:NVIDIA A10 24Gcuda 安装 wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-rhel7-12-1-local-12.1.0_530.30.02-1.x86_64.rpm s…

js 手写深拷贝方法

文章目录 一、深拷贝实现代码二、代码讲解2.1 obj.constructor(obj)2.2 防止循环引用 手写一个深拷贝是我们常见的面试题,在实现过程中我们需要考虑的类型很多,包括对象、数组、函数、日期等。以下就是深拷贝实现逻辑 一、深拷贝实现代码 const origin…

Python中re(正则)模块的使用

re 是 Python 标准库中的一个模块,用于支持正则表达式操作。通过 re 模块,可以使用各种正则表达式来搜索、匹配和操作字符串数据。 使用 re 模块可以帮助在处理字符串时进行高效的搜索和替换操作,特别适用于需要处理文本数据的情况。 # 导入…

Shopify如何调取开放接口实现页面更新

Shopify提供了开放接口(API),使开发人员能够通过编程方式与Shopify平台进行交互,并实现页面的更新。通过调用API,您可以获取和更新商店的数据,包括产品、订单、顾客信息等。下面是使用Shopify开放接口实现页…