zoukankan
html css js c++ java
单片机的定时器/计数器
最近上课讲了单片机的内容,马上要复习了,于是打算总结总结。
我们上课使用的是汇编讲的单片机,于是就学习了一下汇编的编程过程。(刚接触汇编的时候有些不太适应,因为以前都是写C或java的,在条件判断的时候总想写括号,但是汇编中没有括号,只能通过缩进来找格式....)不多说废话了。
进行单片机的定时计算器的判断的时候,其结构图需要了解一下:
这个图是单片机中两定时器/计数器的结构。
单片机的定时器/计数器需要两个寄存器来控制(在硬件方面学的不精,有些器件说错了请谅解),这两个寄存器分别为TMOD(用于控制寄存器的工作方式),TCON(该寄存器的高4位于定时器/计数器有关,其低4位于外部中断有关)。其结构如下:
图中的GATE为门控位
。一般的情况下GATE = 0;但是当进行外部中断0的高点平测量的时候则将其置为1。
C/T为控制定时器/计数器是用于计数的还是用户定时的
。
当该位为0
表示该为用于定时。
当该为为1
表示该为用于计数。
其中的后两位分别为M1、M0.
这两位用户统计定时器的计数位数。其中当
M1M0 = 00
,此时单片机定时器0于定时器1分别工作于方式0,定时位数为13位。该方法使用的情况较少。
M1M0 = 01
,该单片机定时器1和定时器0工作的定时位数位16位。
M1M0 = 10
,该单片机定时器1和定时器0工作的定时位数位8位。但是此时单片机可以进行重装载。
M1M0 = 11
,此时单片机1停止工作,单片机0的高8位于低8位拆成两部分。
T0使用的低8位正常的定时计数,而T0的高8位借给定时器1用作定时器。
给定时器THx和TLx赋初的公式
(2^n-X)*Tcy = T
公式说明:
1.n表示单片机的位数。单片机的工作位数有8位,13位,16位。
2.X表示要赋的初始值
3.Tcy为机器周期。 当机器频率为6MHz的时候,其机器周期为12/6MHz = 2μs,当机器频率为12MHz的时候,其机器周期为12/12MHz = 1μs。
4.T表示总共要定的时间。
查看全文
相关阅读:
每天读一下,你就会改变
C++ 反转字符串(原创)
C++ string学习
18种常见室内花卉的功效 (转自网络)
UML建模教程
孙鑫视频VC++深入详解学习笔记
visual C++ 6.0开发工具与调试
C++ typeid typename使用
C++模板学习
Working classes Code complete reading notes(6)
原文地址:https://www.cnblogs.com/gxcstyle/p/6883486.html
最新文章
KlayGE 4.0中Deferred Rendering的改进(四):GI的神话
用Android NDK r6编译Python 3.2
KlayGE走上Android
Android 4.0 NDK Updated
KlayGE 4.0中Deferred Rendering的改进(五)完结篇:Post process
KlayGE 4.0中Deferred Rendering的改进(一):流水线
KlayGE 4.0中Deferred Rendering的改进(三):透明的烦恼
android 网络编程 HttpGet类和HttpPost类使用详解
javascript 常用函数
Velocity中的ComparisonDateTool、MathTool、NumberTool、SortTool、EscapeTool工具
热门文章
win 常用网络命令
查看Linux是32位还是64位
关于流量统计预备知识
什么是ssh服务
Quartz的cron表达式 (spring定时器 crontab)
jadclipse安装下载
关于流量统计
Redis6.x学习笔记(一)Redis基础和数据类型
利用IronPython实现.NET接口
面向对象的三个基本特征
Copyright © 2011-2022 走看看