蓝桥杯基础模块06_1:定时器计数器

一、模块题目

在这里插入图片描述

二、原理简述

(转载,删改)
1、定时器、计数器定义
在没有钟表的时候,定时的方式通过有一注香的时间,或者一桶水的时间。前者烧香不断减少是减法,后者滴水不断增加是加法。
定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实现定时或者计数功能的外设。定时/计数器的最基本工作原理是进行计数。作为定时器时,计数信号的来源选择周期性的内部时钟脉冲;用作计数器时,计数信号的来源选择非周期性的外部输入信号。
不管是定时器还是计数器,本质上都是计数器。
在这里插入图片描述
2、51单片机的定时/计数器
51单片机有两个定时/计数器T0和T1,为16位加法计数器,由低8位TLx和高8位THx两个寄存器组成,最大计数值为65535个计数脉冲。
该加1计数器的计数脉冲来源有2个:
<1> 系统时钟振荡器输出的12分频。
<2> T0或T1引脚输入的外部脉冲信号。
每接收到一个计数脉冲,计数器就会加1,当计数值累计至全为1时(8位255,13位8191,16位65535),再输入一个计数脉冲,计数器便会溢出回零,并且计数器的溢出是TCON寄存器的TF0或TF1位置1,同时向内核提出中断请求。如果定时/计数器工作于定时模式,则表示间隔定时时间到,如果工作与计数模式,则表示计数值已满。
假设单片机的外部晶振为12MHz,那么,经过12分频后输入计数器的计数脉冲为1MHz,即每个脉冲的周期为1us。因此定时器T0的16位工作模式最大的定时时间为65535us,65.5ms。如果要定时10ms的话,计数器就不能够从0开始计数了,必须给它一个计数初值。怎么计算这个初值呢?
要定时10ms,则相当于计数10000个脉冲后计数器的值就到达65535了,那么开始计数的这个地方就是计数初值。
65535 - 10000 = 55535 = 0xd8ef
把这个计算得到的初值写入TH0和TL0寄存器即可:
TH0 = 0xd8;或者 TH0 = (65535 - 10000) / 256;
TL0 = 0xef; 或者 TL0 = (65535 - 10000) % 256;

3、定时/计数器相关的寄存器
与定时/计数器相关的寄存器除了计数初值寄存器THx和TLx之外,就是TMOD寄存器和TCON寄存器,务必掌握。
<1> TMOD模式控制寄存器,不能进行位寻址,只能字节操作。
在这里插入图片描述
<2> TCON中断标志寄存器
在这里插入图片描述
4、定时/计数器的编程思路
在定时/计数器的程序设计中,通常有两个函数:初始化函数和中断服务函数。
在初始化函数中,一般需要进行以下几个配置:
<1> 配置工作模式,即对TMOD寄存器编程。
<2> 计算技术初值,即对THx和TLx寄存器进行赋值。
<3> 使能定时/计数器中断,即ET0或ET1置1。
<4> 打开总中断,即EA =1。
<5> 启动定时器,即TR0或TR1置1。
在中断服务函数中,一般需要进行以下的编程:
<1> 如果不是自动重装模式,需要对THx和TLx重新赋值。
<2> 进行间隔定时到达的逻辑处理(越少越好)。
其程序框架和代码编写基本上差不多:
在这里插入图片描述

三、源码

//头函数
#include "reg52.h"
//位定义
sbit L1 = P0^0;
sbit L8 = P0^7;
//573初始选择
void SelectHC573()
{P2 = (P2 & 0x1f) | 0x80;
}//=================================
//初始化定时器0
void InitTimer0()
{TMOD = 0x01;				//TMOD模式设置TH0 = (65535 - 50000) / 256;TL0 = (65535 - 50000) % 256;ET0 = 1;						//定时中断EA = 1;						//中断总开关TR0 = 1;						//打开定时计数器,让它工作
}
//定时器0中断服务函数
unsigned char count = 0;
void ServiceTimer0() interrupt 1
{TH0 = (65535 - 50000) / 256;TL0 = (65535 - 50000) % 256;count++;if(count % 10 == 0){L1 = ~L1;}if(count == 100){L8 = ~L8;count = 0;}
}
//================================
void main()
{SelectHC573();InitTimer0();while(1){	}
}

四、开发板烧录结果

如题。

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

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

相关文章

structure101_使用structure101分析软件包的依赖关系

structure101稳定应用程序的一个关键是结构良好的代码库。 我们知道我们应该建立尽可能多的黑匣子&#xff0c;因为一旦完成一个黑匣子&#xff0c;我们就不必再考虑其内部了。 您只需要使用您或其他团队成员通过明确定义的界面编写的代码即可。 这使您可以专注于要添加的下一个…

【渝粤教育】广东开放大学 机械制造基础 形成性考核 (55)

选择题 题目&#xff1a;车削加工中大部分切削热传给了&#xff08; &#xff09; 题目&#xff1a;下列诸因素中,哪个是造成45钢淬火硬度偏低的主要原因&#xff08; &#xff09; 题目&#xff1a;切削用量中对切削力影响最大的因素是背吃刀量。 题目&#xff1a;焊接接头中的…

【渝粤教育】广东开放大学 电子商务(本) 形成性考核 (21)

选择题 题目&#xff1a;&#xff08; &#xff09;的域名含义是政府组织。 答案&#xff1a;看左侧 题目&#xff1a;&#xff08; &#xff09;是指包含巨量资料的信息资产&#xff1f; 答案&#xff1a;看左侧 题目&#xff1a;www.sina.com.cn的二级域名是&#xff08; &…

蓝桥杯基础模块6_2:定时器进阶

一、模块题目 二、原理图 1、数码管

JDK 9 / JEP 280:字符串串联永远不会相同

JEP 280 &#xff08;“ Indify String Concatenation”&#xff09;是与JDK 9结合实现的&#xff0c;根据其“摘要”部分&#xff0c;“更改了javac生成的静态String -concatenation字节码序列&#xff0c;以使用对JDK库函数的invokedynamic调用。 ” 通过查看在JDK 9之前和JD…

【渝粤教育】广东开放大学 综合英语1 形成性考核 (36)

选择题 题目&#xff1a; I love traveling in the countryside, but I don’t like losing my way. I went on a trip recently, but my trip took me longer than I expected. “I’m going to Woodford Green,” I said to the conductor as I got on the bus, “b…

蓝桥杯基础模块7:PWM脉宽调制

一、 模块题目 二、 原理简述 脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。随着电子技术的发展,出现了多种脉冲宽度调制(Pulse width modulation,PWM)技术,其中包括:相电压控…

【渝粤教育】电大中专Office办公软件 (14)作业 题库

1学习好Office办公软件这门课程&#xff0c;应该&#xff08;&#xff09;。 A重视理论学习 B重视上机操作&#xff0c;多练多试&#xff0c;还要学习好基础的知识 C只看不练 D可以随便学习一下 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;B 2在使用Office2016时遇…

蓝桥杯基础模块8_1:串口通信收发

一、模块题目 二、原理简述 1、串口重要概念概述 <1> 串行通信是指数据一位接一位地顺序发送或接收。 <2> 串行通信有SPI、IIC、UART等多种,最常见最通用的是指UART,无特殊说明,本文指的就是UART。 <3> 串行通信的制式有:单工、半双工、全双工三种。 &l…

【渝粤教育】电大中专中医基础知识 作业 题库

1.“证”是指 A.疾病的体征与症状 B.对疾病的症状与体征的分析 C.对疾病某一阶段的病理概括 D.对疾病全过程规律的认识 E.对疾病的症状与体征的调查 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;未作答 2.中医学认识疾病和治疗疾病的基本思路是 A.恒动观念 B.同病异…

从JDK 12删除原始字符串文字

已经提出从JDK 12 &#xff08;它将在12月13日进入Rampdown第一阶段 &#xff09;中删除原始字符串文字&#xff08;预览 &#xff09;。 Brian Goetz撰写了删除此预览功能的动机的详细描述 &#xff08; JEP 326 &#xff09;。 在Java subreddit上也对此进行了讨论。 在帖子“…

【渝粤教育】电大中专公共基础课程_1作业 题库

1中央广播电视中等专业学校是一所依托&#xff08;&#xff09;设置的运用现代化教学手段和多媒体教学开展中等专业学历教育的开放性学校。 A国家开放大学 B技工学院 C技能培训学校 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2并面向社会直接招收初中毕业生和在…

蓝桥杯基础模块8_2:串口进阶

一、模块题目 二、原理简述 串行接口作为51单片机的重要外设,编程操作并不复杂,但在实际的项目应用中,由于数据结构和通信规约的不同,其程序逻辑也有各种变化。 一般情况下,上位机的命令可能不是一个字节,而是多个字节组成的命令帧,有的长度固定,有的长度变化;而且要…

【渝粤教育】电大中专常见病药物治疗 (3)作业 题库

1.以下对‘发热的指标’的叙述中&#xff0c;不正确的是&#xff08;&#xff09;。 A.腋下温度超过37.0℃ B.口腔温度超过37.3℃ C.直肠温度超过37.6℃ D.腋下温度超过37.6℃ E.昼夜体温波动超过1℃ 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;E 2.发热的程度按体…

蓝桥杯基础模块9:IO口扩展与存储器映射

一、模块题目 二、原理简述 三、源码 (1)I0扩展 //头文件 #include "reg52.h" //延时函数 void Delay(unsigned int t) {

【渝粤教育】电大中专建设工程法规 (3)作业 题库

1建造师在工作中&#xff0c;必须严格遵守法律、行政、行业管理规范、职业道德。 A正确 B错误 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2注册建造师应当在相应的岗位上执业。但同时&#xff0c;国家鼓励和提倡注册建造师()。 A一师专岗 B一师多岗 C专岗专职 …

netty 压缩比_使Netty 4中的HTTP内容压缩工作

netty 压缩比Netty实际上是一个很棒的框架&#xff0c;提供了构建高性能HTTP服务器所需的所有功能。 令人高兴的是&#xff0c;几乎所有东西都是开箱即用的&#xff0c;只是必须以正确的方式组合在一起。 内容压缩 &#xff08;gzip或deflate&#xff09;也不例外。 但是&#…

蓝桥杯单片机基础学习00_1

一、基础准备 1、烧录软件 (1)单片机型号:IAP15F2K61S2 (2)输入用户程序运行时的IRC频率:11.0592MHz 2、CT107D单片机综合实训平台 CT107D:单片机芯片(全I/O兼容8051系列,为保留P3.6,P3.7的WR,RD功能由P4.2,P4.4替换。);显示模块;输入/输出模块;传感模块;存储/A…

带有Oracle Digital Assistant和Fn Project的会话式UI

在这里和那里&#xff0c;我们看到许多预测&#xff0c;很快聊天机器人将在用户与其系统之间的通信中扮演关键角色。 我没有水晶球&#xff0c;也不想等待这个“很快”&#xff0c;所以我决定现在就使这些预言成真&#xff0c;看看它的样子。 我正在工作的公司的标志产品是Fle…

【渝粤教育】电大中专测量学 (2)作业 题库

1.测量学是研究地球的形状和大小以及确定地面点&#xff08;&#xff09;位置的科学。 A.平面 B.空间 C.曲面 D.高程 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2.测量学中的水准面是一个&#xff08;&#xff09;。 A.斜平面 B.水平面 C.竖直面 D.曲面 正确 正…