51单片机定时器参数计算
文章目录
- 计算
- 相关文档
- 寄存器
- TCON
- TMOD
- 模式0
- 模式1
- 模式2
- 模式3
- 15系列单片机计算
计算
晶振为:12MHz
定时器0,16位定时器模式
TMOD & = 0xF0;
TMOD |= 0x01;
如果是1ms定时,那么TH0和TL0如何算呢?
其中一个脉冲得时间
t=1∗12/12M=1ust = 1*12/12M = 1ust=1∗12/12M=1us
1us∗1000=1ms1us*1000 = 1ms1us∗1000=1ms
为什么要乘以12呢?因为51单片机12T得
,所以16位定时器得初值要设置为(65536-1000)
所以TH0高8位为(65536-1000)/256,低八位为(65536-x)%256 (注:2^8=256)
所以:
TH0 = (65536-1000)/256;
TL0 = (65536-1000)%256;
因此定时器初始化得配置为:
(注意,因为16位模式不是自动重装,因此要在中断程序中,重装初值!)
#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit LED = P2^0;
void Timer0Init() //1ms定时器
{TMOD &= 0xF0; //设置定时器模式TMOD |= 0x01; //设置定时器模式TH0 = (65536-1000)/256; //设置定时初值TL0 = (65536-1000)%256; //设置定时初值TF0 = 0; //清除TF0标志TR0 = 1; //定时器0开始计ET0 = 1;EA = 1;
}void Timer0Handle() interrupt 1
{TH0 = (65535-1000)/256; //设置定时初值TL0 = (65535-1000)%256; //设置定时初值LED = ~LED;
}void main()
{Timer0Init();EA = 1;while(1){}
}
可以看一下下图得仿真结果,示波器接的是LED口。如果你要2ms得定时,将1000改为2000就行了
相关文档
参考stc89c52官方文档
寄存器
TCON
TMOD
模式0
模式1
模式2
模式3
15系列单片机计算
晶振为12M,并且为1t
所以定时器增加一加1/12M的时间。
那么5ms需要5ms*12M = 60000
所以65536-60000 = 5536
51单片机定时器参数计算相关推荐
- 51单片机定时器初值计算以及初值计算软件
51单片机定时器初值计算以及初值计算软件 不想搞懂计算原理的直接跳到文章末尾,使用初值计算软件来解决有关初值计算的问题 51单片机定时器初值计算部分 时钟周期,也称为振荡周期:定义为时钟脉冲的倒数,在 ...
- 51单片机定时器频率计算
频率是周期的倒数 51单片机定时器中TH与TL可以改变周期来改变频率. 举例如下 3000us=3ms=0.003s T=0.003s频率=333HZ 2000us=2ms=0.002s ...
- 51单片机定时器初值计算
**菜鸟关于51类单片机的定时器初值计算问题的计算**首先先来介绍单片机的几个周期: 1.时钟周期,也称为振荡周期:定义为时钟脉冲的倒数,在单片机中也就等于晶振的倒数. 51单片机中把一个时钟周期定义 ...
- 51单片机定时器初值计算详解
前言: 本文详细介绍了51单片机学习过程中定时器的初值计算问题以及相关概念,力求把每一个学习过程中的可能会遇到的难点说清楚,并举相关的例子加以说明.学习完毕,又顺手利用刚学到定时器的相关知识写了一个& ...
- c语言单片机定时器的应用程序,51单片机定时器中断程序(C语言)
51c程序 51单片机定时器中断程序(C语言) 用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期 机器周期=12/n(n指晶 ...
- 51单片机定时器/计数器(定时器中断)
51单片机定时器/计数器(中断系统:定时器中断) 实现功能 通过定时器终端控制LED灯 D1 间隔一秒闪烁 单片机型号:STC89C52 定时器介绍 1.51单片机定时器原理 定时器实质上就是一个加1 ...
- 【51MCU】51单片机定时器中断写MIDI音乐(按键可切换音乐)
Author: Manba Cople 专业:IOT 说明:记录和输出学习内容 文章目录 前言 定时器 音乐播放 音乐库 总结和展望 前言 程序思路:该程序是利用51单片机的定时器中断,另外根据音符的 ...
- C语言课设项目-51单片机-定时器和计数器
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一.定时器的原理 1.CPU时序的有关知识 2.在学习定时器之前需要明白的 3.定时/计数器的工作原理 ...
- 基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间
基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间 Proteus仿真 实例代码 #include "at89x52.h" /**74hc595引脚定义 ...
最新文章
- AI2:预计2030年中国AI研究或领跑全球
- Jazz揭秘:下一代开发平台常见问题百科全说
- shell中获取本机ip地址
- 关于汽车领域的知识图谱实战入门
- 机器学习简介及学习思维导图
- ios 高德地图加载瓦片地图_OpenLayers加载高德地图离线瓦片地图
- Oracle的回收站和闪回查询机制(二)
- spring集成mybatis后怎么在控制台打印sql语句
- python 基础学习1
- 考前必练15道题_《系统集成项目管理工程师备考宝典》
- 白话区块链 之 14 - ​区块链的技术意义
- python中斜杠_Python中的正斜杠/与反斜杠\
- Web前端基础体验学习过程1 HTML篇
- 修改mysql中自增列的起始值
- 实验3-1 求一元二次方程的根 (20分)
- 树莓派指定挂载点挂载移动硬盘
- 电影「哪吒之魔童降世」免 费 高 清 完 整 版 在 线 观 看
- 斗战神服务器正在维护6,17173《斗战神》专区——3月15日维护公告:疲劳刷新改为每天6点...
- Git教程 | (9) 自定义Git和使用SourceTree
- 【英语词组】恋恋不忘Day5-1