网站首页 > 资源文章 正文
大家好,今天给大家介绍51单片机(STC89C52)如何定时10ms,下方附有本文涉及的全部资料和源代码的获取方式,可进群免费领取。
1.定时器如何定时
首先大致描述一下定时器的定时原理,其实本质就一句话:每经过一个机器周期,寄存器就加1。
这里就又要解释什么是时钟周期,什么是机械周期。我们的51单片机无论是开发板还是最小系统板上,都会有一个电子元件叫做“ 晶振 ”,这个晶振就是单片机的“心脏”。通常为了使串口波特率稳定传输数据,大部分的51单片机上的晶振频率为11.05922MHz。时钟周期 的计算方法就是晶振频率的倒数,也就是11.0592分之一秒。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。时钟周期是一个时间的量。更小的时钟周期就意味着更高的工作频率。有了时钟周期我们就可以进而计算出机械周期,一个机械周期 = 12 x 时钟周期 =12 x (1/时钟频率) 秒 = 12 / 时钟频率 秒 = 12 / 11059200 秒 = 12 000 000 / 11059200 微秒 = 1.085 微秒。总结一下,定时器定时的过程就相当于数有几个机械周期,数完了机械周期后定时器会溢出从而结束定时
2.如何定时10ms
使用51单片机定时不得不了解TCON寄存器,TR0:控制开始计时,TF0:判断定时器是否溢出(溢出时该位置1),TL0定时器初值低八位,TH0定时器初值高八位(不配置初值默认从0开始计数)。也就是说定时器模式在16位自动重装载值的情况下,从0开始计数,数完65536个机械周期也就是71ms的时候定时器会溢出。那么如果我们想定时10ms只需要从61ms的时候开始数,数到71ms的时候定时器刚好会溢出。这个时候只需要配置定时器初值的高八位和低八位即可。
配置高八位低八位的过程:
配置的过程也并不复杂,首先确定10ms包含了几个机械周期:
10ms?1.085us=9216(这里注意单位换算)
若从0开始计数到溢出一共是65536个机械周期,那么如果从61ms开始定时也是就是从65536-9216=56320开始计数,换算成16进制就如下图:
因此高位为DC, 低位为0。完美散花!!!
当然现在有的软件输入定时时间后可以自动生成C代码,例如ISP。但是我想接触单片机初期这些“捷径”尽量少走,多搞清楚点底层的东西对单片机的学习是很有帮助的。
完整代码可进群免费领取!!!
嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!
点击这里找小助理0元领取:扫码进群领资料
- 上一篇: 了解51单片机 51单片机的基本原理
- 下一篇: 基于STC89C52微控制器的非接触测量装置
猜你喜欢
- 2024-12-25 51单片机-配置定时器 51单片机配置定时器步骤
- 2024-12-25 创意DIY 非接触红外测温语音播报仪的制作
- 2024-12-25 自学单片机第十二篇上:首次测试设备——软件
- 2024-12-25 51单片机玩转物联网基础篇02-点亮LED灯,实现跑马灯效果
- 2024-12-25 51单片机学习笔记1 简介及开发环境
- 2024-12-25 单片机裸机代码框架设计思路(一) 单片机 框架
- 2024-12-25 学习笔记基于单片机的酒精浓度检测仪的设计
- 2024-12-25 单片机中三极管的应用 单片机三大电路
- 2024-12-25 关于STC51下载器串口免冷启动简单方案
- 2024-12-25 自学单片机第二篇:硬件准备 单片机硬件编程
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)