单片机学习笔记 12. 定时/计数器_定时
更多单片机学习笔记:
单片机学习笔记 1. 点亮一个LED灯
单片机学习笔记 2. LED灯闪烁
单片机学习笔记 3. LED灯流水灯
单片机学习笔记 4. 蜂鸣器滴~滴~滴~
单片机学习笔记 5. 数码管静态显示
单片机学习笔记 6. 数码管动态显示
单片机学习笔记 7. 独立键盘
单片机学习笔记 8. 矩阵键盘按键检测
单片机学习笔记 9. 8×8LED点阵屏
单片机学习笔记 10. 中断系统(理论)
单片机学习笔记 11. 外部中断
目录
0、实现的功能
1、Keil工程
1-1 什么是定时/计数器及用处
1-2 如何使用单片机的定时/计数器
1-3 定时/计数器相关的寄存器
2、代码实现
0、实现的功能
用T0定时器定时50ms的,满1s就数码管显示1,到10s时候清零,重新定时
1、Keil工程
1-1 什么是定时/计数器及用处
是有两个功能。65535是16位1,所以单次计时最大为71.1ms。PWM一般用于调节电机转速、台灯的亮度调节、波形发生器
1-2 如何使用单片机的定时/计数器
启动---TCON,模式选择----TMOD,查询溢出----TCON的TF位
1-3 定时/计数器相关的寄存器
TR0=1时启动计数;定时器T0加到65535时溢出,用软件去一直查询TF0是否为1,为1就表示定时结束,再用软件清零,进行下一次定时
选择模式TMOD。GATE默认为0,C/T=0为定时器、=1为计数器,M1和M0确定具体模式,共四种。需要注意,T0计时器需要设置初值。初值靠设置TH0和TL0
因为16位T0计时器最大从0计到65535,也就是能定时71.1ms。但如果想定时10ms,就需要设置初值为56319。因为10ms=10000us,10000us/1.085(一个机器周期)=9216,也就是定时10ms需要进行9216个机器周期,那初值就要从65535-9216=56319开始。此时TH0=DB,TL0=FF
如果定时到了,T0溢出,此时TCON寄存器的TF0会为1。这时一直查询TF0是否为1即可
2、代码实现
写一个定时50ms的,满1s就数码管显示1s,到10s时候清零
#include<reg52.h>#define uchar unsigned char
#define uint unsigned intsbit WE = P2^7;
sbit DU = P2^6;uchar code table[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f} ;//延时模块
void delay(uint z)
{uint x;uint y;for(x = z; x > 0; x--)for(y = 114; y > 0; y--);
}void display(uint i)
{uchar bai, shi , ge;bai = i / 100;shi = i % 100 /10;ge = i % 10;//第一个数码管P0 = 0xff;WE = 1;P0 = 0xfe;WE = 0;DU = 1;P0 = table[bai];DU = 0;delay(5);//第二个数码管P0 = 0xff; //清除断码,让位锁存器哪个都不选WE = 1;//位选锁存打开P0 = 0xfd;//选第二个管WE = 0; //关上位选锁存器,进入锁存DU = 1;//段选锁存打开P0 = table[shi]; //亮shiDU = 0;//进入锁存delay(5); //延时5ms//第三个数码管P0 = 0xff; //清除断码,让位锁存器哪个都不选WE = 1;//位选锁存打开P0 = 0xfb;//选第三个管WE = 0; //关上位选锁存器,进入锁存DU = 1;//段选锁存打开P0 = table[ge]; //亮geDU = 0;//进入锁存delay(5); //延时5ms
}//定时器0初始化,定时50ms
void timer0Init()
{TR0 = 1; //启动定时器0TMOD = 0x01;//启动定时器0的工作模式1:16位定时TH0 = (65535 - 46082) / 256; //取65535-46082的高八位TL0 = (65535 - 46082) % 256;//取65535-46082的低八位
}void main()
{uchar mSec, Sec;//毫秒和秒的存储变量timer0Init();//定时器0初始化while(1){if(TF0 == 1)//定时溢出时已过50ms{TF0 = 0;//软件清零溢出标志位TH0 = 0x4b;TL0 = 0xfd;//重新定时50msmSec++;//已过了50msif(mSec == 20)//如果已经过了20个50ms 也就是1s{ mSec = 0;//mSec清零Sec++;//秒就加1 }if(Sec > 10)Sec = 0;//秒就清零}display(Sec);}
}
实物展示:
相关文章:
单片机学习笔记 12. 定时/计数器_定时
更多单片机学习笔记:单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…...
Web安全基础实践
实践目标 (1)理解常用网络攻击技术的基本原理。(2)Webgoat实践下相关实验。 WebGoat WebGoat是由著名的OWASP负责维护的一个漏洞百出的J2EE Web应用程序,这些漏洞并非程序中的bug,而是故意设计用来讲授We…...
Zookeeper集群数据是如何同步的?
大家好,我是锋哥。今天分享关于【Zookeeper集群数据是如何同步的?】面试题。希望对大家有帮助; Zookeeper集群数据是如何同步的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper集群中的数据同步是通过一种称为ZAB(Zo…...
SpringCloud框架学习(第六部分:Sentinel实现熔断与限流)
目录 十四、SpringCloud Alibaba Sentinel实现熔断与限流 1.简介 2.作用 3.下载安装 4.微服务 8401 整合 Sentinel 入门案例 5.流控规则 (1)基本介绍 (2)流控模式 Ⅰ. 直接 Ⅱ. 关联 Ⅲ. 链路 (3࿰…...
动态规划-----路径问题
动态规划-----路径问题 下降最小路径和1:状态表示2:状态转移方程3 初始化4 填表顺序5 返回值6 代码实现 总结: 下降最小路径和 1:状态表示 假设:用dp[i][j]表示:到达[i,j]的最小路径 2:状态转…...
Rust循环引用与多线程并发
循环引用与自引用 循环引用的概念 循环引用指的是两个或多个对象之间相互持有对方的引用。在 Rust 中,由于所有权和生命周期的严格约束,直接创建循环引用通常会导致编译失败。例如: // 错误的循环引用示例 struct Node {next: Option<B…...
东方隐侠网安瞭望台第8期
谷歌应用商店贷款应用中的 SpyLoan 恶意软件影响 800 万安卓用户 迈克菲实验室的新研究发现,谷歌应用商店中有十多个恶意安卓应用被下载量总计超过 800 万次,这些应用包含名为 SpyLoan 的恶意软件。安全研究员费尔南多・鲁伊斯上周发布的分析报告称&…...
底部导航栏新增功能按键
场景需求: 在底部导航栏添加power案件,单击息屏,长按 关机 如下实现图 借此需求,需要掌握技能: 底部导航栏如何实现新增、修改、删除底部导航栏流程对底部导航栏部分样式如何修改。 比如放不下、顺序排列、坑点如…...
C++ 之弦上舞:string 类与多样字符串操作的优雅旋律
string 类的重要性及与 C 语言字符串对比 在 C 语言中,字符串是以 \0 结尾的字符集合,操作字符串需借助 C 标准库的 str 系列函数,但这些函数与字符串分离,不符合 OOP 思想,且底层空间管理易出错。而在 C 中࿰…...
centos8:Could not resolve host: mirrorlist.centos.org
【1】错误消息: [rootcentos211 redis-7.0.15]# yum update CentOS Stream 8 - AppStream …...
Linux 定时任务 命令解释 定时任务格式详解
目录 时间命令 修改时间和日期 定时任务格式 定时任务执行 查看定时任务进程 重启定时任务 时间命令 #查看时间 [rootlocalhost ~]# date 2021年 07月 23日 星期五 14:38:19 CST --------------------------------------- [rootlocalhost ~]# date %F 2021-07-23 -----…...
aws(学习笔记第十五课) 如何从灾难中恢复(recover)
aws(学习笔记第十五课) 如何从灾难中恢复 学习内容: 使用CloudWatch对服务器进行监视与恢复区域(region),可用区(available zone)和子网(subnet)使用自动扩展(AutoScalingGroup) 1. 使用CloudWatch对服务器进行监视与恢复 整体架构 这里模拟Jenkins Se…...
github webhooks 实现网站自动更新
本文目录 Github Webhooks 介绍Webhooks 工作原理配置与验证应用云服务器通过 Webhook 自动部署网站实现复制私钥编写 webhook 接口Github 仓库配置 webhook以服务的形式运行 app.py Github Webhooks 介绍 Webhooks是GitHub提供的一种通知方式,当GitHub上发生特定事…...
【C语言】递归的内存占用过程
递归 递归是函数调用自身的一种编程技术。在C语言中,递归的实现会占用内存栈(Call Stack),每次递归调用都会在栈上分配一个新的 “栈帧(Stack Frame)”,用于存储本次调用的函数局部变量、返回地…...
365天深度学习训练营-第P6周:VGG-16算法-Pytorch实现人脸识别
🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 文为「365天深度学习训练营」内部文章 参考本文所写记录性文章,请在文章开头带上「👉声明」 🍺要求: 保存训练过…...
企业AI助理在数据分析与决策中扮演的角色
在当今这个数据驱动的时代,企业每天都需要处理和分析大量的数据,以支持其业务决策。然而,面对如此庞大的数据量,传统的数据分析方法已经显得力不从心。幸运的是,随着人工智能(AI)技术的不断发展…...
洛谷 B2029:大象喝水 ← 圆柱体体积
【题目来源】https://www.luogu.com.cn/problem/B2029【题目描述】 一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r 厘米的小圆桶 (h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。 …...
go每日一题:mock打桩、defer、recovery、panic的调用顺序
题目一:单元测试中使用—打桩 打桩概念:使用A替换 原函数B,那么A就是打桩函数打桩原理:运行时,通过一个包,将内存中函数的地址替换为桩函数的地址打桩操作:利用Patch()函…...
STM32F103 HSE时钟倍频以及设置频率函数(新手向,本人也是新手)
HSE_SetSysCLK是野火教程里的,不懂的去这 16-RCC(第3节)使用HSE配置系统时钟并使用MCO输出监控系统时钟_哔哩哔哩_bilibili HSE_AutoSetHSE的算法部分是自己写的,用了一个转接数组。C语言不支持bool所以自己定义了一个boolK代替bool。 AutoHSE.h: /**…...
renderExtraFooter 添加本周,本月,本年
在 Ant Design Vue 中,a-date-picker 组件提供了一个 renderExtraFooter 属性,可以用来渲染额外的页脚内容。你可以利用这个属性来添加“本周”、“本月”和“本年”的按钮。下面是如何在 Vue 2 项目中实现这一功能的具体步骤: 1.确保安装了…...
顶伯 + 微软 TTS 对比 Edge 浏览器自带 TTS,差距有多大?
付费 vs 免费:顶伯 微软 TTS 对比 Edge 浏览器自带 TTS,差距有多大?在文字转语音领域,微软 TTS 技术一直备受好评,但不同平台的实现方式却带来截然不同的体验。顶伯文字转语音工具深度整合了微软 TTS 引擎,…...
通过curl命令直接调试Taotoken大模型接口的完整指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令直接调试Taotoken大模型接口的完整指南 对于开发者而言,直接使用curl命令调用HTTP API是一种基础且强大的…...
如何用嘎嘎降AI处理金融学论文:金融学毕业论文降AI免费完整操作教程
如何用嘎嘎降AI处理金融学论文:金融学毕业论文降AI免费完整操作教程 这篇教程是针对金融学论文降AI教程写的——问得最多的操作细节,都在这里。 主工具:嘎嘎降AI(www.aigcleaner.com),4.8元一篇ÿ…...
GPU选型实战指南:TFLOPS、VRAM、HBM与NVLink的工程真相
1. 为什么我花三周重读了A100规格表——一个AI工程师的GPU认知重建实录刚入行那会儿,我买显卡全靠TFLOPS数字大小排序。看到RTX 4090标称82.6 TFLOPS,立刻下单;后来做模型训练,发现A100的FP16算力只有312 TFLOPS,却比4…...
【AI Agent医疗落地实战指南】:20年三甲医院IT总监亲授5大不可绕过的合规雷区与3步部署法
更多请点击: https://intelliparadigm.com 第一章:AI Agent医疗落地的战略价值与时代必然性 当全球医疗系统持续面临医生资源紧张、基层诊疗能力不均、慢性病管理低效与患者依从性不足等结构性挑战时,AI Agent已不再仅是技术演进的选项&…...
如何用t3mujinpack为你的Darktable照片添加经典胶片质感:新手完整指南
如何用t3mujinpack为你的Darktable照片添加经典胶片质感:新手完整指南 【免费下载链接】t3mujinpack Collection of film emulation presets for open-source RAW developer software Darktable. 项目地址: https://gitcode.com/gh_mirrors/t3/t3mujinpack 你…...
如何用Shutter Encoder解决专业视频工作流中的格式兼容性问题:5步完整指南
如何用Shutter Encoder解决专业视频工作流中的格式兼容性问题:5步完整指南 【免费下载链接】shutter-encoder A professional video compression tool accessible to all, mostly based on FFmpeg. 项目地址: https://gitcode.com/gh_mirrors/sh/shutter-encoder …...
张雪机车五夺WSBK分站冠军,海光信息成国产芯片一哥,硬核科技崛起!
张雪机车:WSBK赛场五度夺冠 昙花一现?不,现在都五现了。5月16 - 17日的WSBK捷克站,车手德比斯驾驶张雪机车820RR赛车,连续两回合夺冠。这是张雪机车本赛季第五个WSBK分站冠军。 如果说最早一次的夺冠是处于“新车优待期…...
QMCDecode:3步解锁你的QQ音乐收藏,告别格式限制的烦恼
QMCDecode:3步解锁你的QQ音乐收藏,告别格式限制的烦恼 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&#…...
大模型写论文,“文献”全是瞎编的?为什么大模型爱编参考文献?如何确保文献的真实性
一、引言:当AI开始“编文献” 随着大语言模型(如 GPT-4、DeepSeek、Claude 等)在学术写作、文献综述、技术调研中的普及,一个隐蔽但危险的问题逐渐暴露出来——文献幻觉(Citation Hallucination)。 你可能…...
