前言
大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁
- 本文是【【51单片机】从零开始手把手带你【查手册】配置定时器,并完成小项目(定时器&中断的应用)】博客的其中一环,感兴趣的老铁可以跳转传送门查看
- 传送门
欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!
- YY的《C++》专栏
- YY的《C++11》专栏
- YY的《Linux》专栏
- YY的《数据结构》专栏
- YY的《C语言基础》专栏
- YY的《初学者易错点》专栏
- YY的《小小知识点》专栏
- YY的《单片机期末速过》专栏
- YY的《C++期末速过》专栏
- YY的《单片机》专栏
- YY的《STM32》专栏
- YY的《数据库》专栏
- YY的《数据库原理》专栏
目录
- 1.判断要配置的位
- 2.手搓配置【低8位TL0(low)】和【高8位TH0(high)】
1.判断要配置的位
- 根据下图,我们知道我们要 对TL0,TH0赋初值
- TF在第三步配置TCON时已经赋0
- TL0(LOW)低八位
- TH0(HIGH)高八位
2.手搓配置【低8位TL0(low)】和【高8位TH0(high)】
- 我们知道TL0 和TH0是一个16位寄存器,他会不断+1, 间隔是1微秒 ;
- 总共定时时间 65535微秒
1111 1111 1111 1111
- 我们要求计时为1ms,64535离计数器溢出(65535)差1000,也就是当我们设初值为65535+1时,每过1ms,计数器就会溢出
- 同时我们知道一个规律: 一个n进制m位数,/ n 2 n^2 n2% n 2 n^2 n2能够平分前面几位和后面几位
- 1234->1234/100=12
- 1234->1234%100=34
- 综上所述:
- 一个2进制16位数,/ 1 6 2 16^2 162得到前八位,% 1 6 2 16^2 162得到后八位
- 故最终代码为:
TH0 = 63536/256; //高八位
TL0 = 63536%256; //低八位