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表示总共要定的时间。
查看全文
相关阅读:
06列表的常用基本操作
05字符串的常用基本操作
什么是全量表,增量表,快照表,拉链表,维度表,事实表,实体表
什么是拉链表
数仓设计
pandas学习
矩阵和数组的区别
中文文本关键词抽取的三种方法(TF-IDF、TextRank、word2vec)
python使用结巴分词(jieba)创建自己的词典/词库
scrapy是广度优先还是深度优先?
原文地址:https://www.cnblogs.com/gxcstyle/p/6883486.html
最新文章
数据库MySQL与xls文件的互导
git之环境配置(window+git+github)
sublime text3的配置(整理)
matplotlib的学习13-subplot分格显示
matplotlib的学习12-Subplot 多合一显示
matplotlib的学11-image图片
matplotlib的学习10-Contours 等高线图
matplotlib的学习9-bar柱状图
matplotlib的学习8-scatter散点图
matplotlib的学习7-tick能见度
热门文章
matplotlib的学习6-annotation的标注
matplotlib的学习5-legend图例
matplotlib的学习4-设置坐标轴
10函数的基本操作
09文件的基本操作
03程序结构if for while
02基础的数据类型
01变量常量注释
08常见内置函数
07元组/字典的常用基本操作
Copyright © 2011-2022 走看看