历史上的今天
返回首页

历史上的今天

今天是:2025年03月28日(星期五)

正在发生

2020年03月28日 | 单片机小白学习之路(十五)---定时器和计数器的理解(一)

2020-03-28 来源:eefocus

目标:定时器和计数器的理解(一)


1.定时器/计数器简介

定时器/计数器(Timer/Counter,简称T/C)是单片机中最基本的接口之一。即可以定时又可以计数。常用于计数、延时、测量周期/脉宽/频率、提供定时脉冲信号等。


8051系列单片机至少含有2个16位的T/C,STC89C51/52含有3个T/C。其中2个为基本定时器/计数器T/C0和T/C1,另一个是T/C2。可通过软件配置为定时器功能或者计数器功能。


定时/计数器的工作原理


定时/计数器实质上是一个加1计数器。当工作在定时器模式时,对振荡源(晶振)12分频(12分频就是震荡周期,单位 是us)的脉冲计数,即每个机器周期(12个震荡周期就是1/12us12=1us)计数值加1(解释了前面延时函数),当加到计数器为全1(定时计数器是 16位,则2*16=65539,减1[因为0开始]后65535是定时计数最大值)时,再输入一个脉冲就使计数器回零。


当工作在计数器模式时,计数脉冲来至外部脉冲输入引脚P3.4(T0)和P3.5(T1),当T0或T1脚上负跳变(即下降沿,正跳变==上升沿)时计数值加1 ,识别管脚负跳变需要2个机器周期(2us),即24个振荡周期。所以T0或T1脚输入的可计数的外部脉冲的最高频率为1/24fosc(1/24*12=500KHz),当晶振12MHZ时,最高计数频率为500KHz,高于此频率将计数出错。


2.定时器/计数器寄存器

13367077-89b1345c87bf40de.png?imageView2/2/w/550

定时器/计数器寄存器

TH1和TL1是定时/计数器1的两个寄存器,都是8位,共16位。TH1是高8位,TL1是低八位

TH0和TL0是定时/计数器0的两个寄存器,都是8位,共16位。TH0是高8位,TL0是低八位


T0引脚是P3.4,T1引脚是P3.5,配置成计数器模式用于检测外部的脉冲信号


定时器控制寄存器TCON,

工作方式选择寄存器TMOD (用于确定定时/计数器的工作方式和功能)


TCOD见单片机小白学习之路(十二)---->https://www.jianshu.com/p/4de17b66a15b


工作方式选择寄存器TMOD

13367077-c0650513a4c35ae9.png?imageView2/2/w/550

工作方式选择寄存器TMOD

0~3是定时/计数器0 的4位,M1,M0用于选择工作方式,工作方式有0,1,2,3。C/T是计数器或定时器的选择位,C/T置0则是定时模式,置1是计数模式。


GATE是门控信号GATE=1时,T/C(定时/计数器)启动收到双重控制要求TR0/TR1和INT0/INT1同时为高,GATE=0时,T/C的启动仅收到TR0/TR1的控制,通常把GATE置0

13367077-1378d49644f00dab.png?imageView2/2/w/550

工作方式选择

方式0:最大计数值是2**13-1=8191

方式1:最大计数值是2**16-1=65535

方式2:TH存放初值,TL用于计数,由于是8位则最大值255,TL不断计数,计到255则溢出并清0,然后TH把初值给TL又开始计数,这就是可自动重新装载初值的含义

方式3:对T0和T1不大相同,仅T0可设置模式3,若设置其为模式3,TL0和TH0被分为两个相互独立的8位计数器,TL0为8位计数器,功能与模式0/1相同,可定时可计数

TH0仅做简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1 ,启动和关闭仅受TR1控制(此模式不常用)

推荐阅读

史海拾趣

Dynawave Incorporated公司的发展小趣事

随着市场的扩大,Dynawave面临着产品质量管理的挑战。为了确保产品的稳定性和可靠性,公司决定引入国际先进的质量管理体系。他们聘请了专业的质量管理团队,对生产流程进行严格的监控和把控。同时,公司还加大了对员工的培训力度,提高了员工的质量意识。这些措施有效地提升了产品的质量水平,增强了客户的信任度。

D3公司的发展小趣事

在电子行业的激烈竞争中,D3公司凭借其对技术创新的不懈追求,逐渐崭露头角。公司创始人李先生深知,在电子产品日新月异的今天,只有不断创新才能立于不败之地。他带领团队潜心研发,推出了一系列具有创新功能的电子产品,如集成了先进人工智能技术的智能音箱、采用全新电池技术的超薄笔记本等。这些产品一经上市,便受到了市场的热烈追捧,D3公司的市场份额也迅速扩大。

Coil-Q Corporation公司的发展小趣事

在电子行业的初期,Coil-Q Corporation以其独特的线圈技术崭露头角。公司创始人发现了传统线圈在效率和稳定性上的不足,于是投入大量资源进行研发,成功开发出一种新型高效线圈。这一创新不仅提高了电子设备的性能,还降低了能耗,迅速赢得了市场的青睐。随着技术的不断完善和市场的扩大,Coil-Q逐渐成为了电子线圈领域的领军企业。

智烽维(CDA)公司的发展小趣事

在超级电容器领域不断取得突破的同时,智烽维也在积极探索新的技术领域。2018年,公司成功实现了锂离子电容器的研发突破。这一成果不仅填补了公司在这一领域的空白,也为公司未来的发展开辟了新的道路。锂离子电容器以其高能量密度、高功率密度和长寿命等特点,在新能源汽车、智能电网等领域具有广阔的应用前景。

China Semiconductor Corp公司的发展小趣事

技术创新的同时,CSC也注重市场拓展和品牌建设。公司积极参与国际交流与合作,与多家国际知名企业建立了战略合作关系。同时,CSC加强了对国内市场的开拓,通过提供优质的产品和服务,赢得了客户的信赖和好评。随着品牌知名度的提升,CSC的产品逐渐在国内外市场上占据了一席之地。

百佳(BAIJIA)公司的发展小趣事

在多年的发展过程中,百佳公司始终坚守品质至上的原则。他们严格把控产品质量,从原材料采购到生产制造的每一个环节都进行严格的监控和检测。同时,百佳公司还注重提升客户服务水平,为客户提供及时、专业的技术支持和售后服务。正是这种对品质的坚持和对客户的尊重,使得百佳公司赢得了广大客户的信赖和长期合作。

这五个故事只是百佳公司在电子行业发展中的一部分缩影。它们展示了百佳公司从初创时期的艰苦与坚持,到抓住市场机遇迅速崛起,再到技术创新引领发展、拓展国际市场实现全球化布局,以及坚持品质至上赢得客户信赖的完整历程。这些故事不仅见证了百佳公司的成长和成功,也展现了电子行业的蓬勃发展和无限可能。

问答坊 | AI 解惑

专辑类——电子基础类专辑

21 世纪大学新型参考教材系列 集成电路A、B 荒井 https://bbs.eeworld.com.cn/thread-96367-1-8.html 21 世纪电子电气工程师系列 数字电路 173 页 3.0M https://bbs.eeworld.com.cn/thread-96370-1-8.html @@ 电子技术数字逻辑基础第5 版 533 ...…

查看全部问答>

请前辈帮忙介绍入门学习电子工程的基础书

如题   本人脱产大专会计毕业,但对电子工程感兴趣,准备跨专业自学。报的自考本科。无奈看不懂。想从基础的学起。不知入门方向。请前辈们帮忙介绍下电子工程专业的入门书籍。   万分感谢!  …

查看全部问答>

NK.bin与NK.nb0的区别

[转自] http://www.itxxh.cn  /Article/view.asp?id=102 [引] 在config.bib文件中,有如下三个设置: ROMSTART=xxxx ROMWIDTH=xxxx ROMSIZE=xxxxxx 这3个变量必须被赋值. [/引] nk.bin和nk.nb0都是CE的镜像。然而,我们在下 ...…

查看全部问答>

uclinux jedce_probe探测ID,变成flash的内容

Flash:两片SST39VF3201 ,一片挂CS0:地址0x80000000 一片挂CS1:地址0x81000000 使用jecdec探测 static struct map_info lpc24xx_map[2] = { {     .name =        \"LPC24XX\",     .bankw ...…

查看全部问答>

wince5.0+2440 文件系统加载问题

我按照mini2240的eboot先进行分区。。前面25个block是NBOOT.eboot.TOc,后面就是分区MBR,我将根据NK的大小分出那么大的BINFS的分区,后面的都是分成FAT的分区。从打印的信息来看我的分区是正确的,但是我没有去读分区表的信息来确认。下面我给出我的 ...…

查看全部问答>

从windows下复制一个文件到Linux系统

本人初学Linux .请问这样的一个问题。从windows下如何复制一个文件到Linux系统? 这个可以实现的吗?要是可以实现的话.请赐教.谢谢. …

查看全部问答>

没有修改工程,再次编译PB5.0时候会出现错误,怎么回事?

由于我修改了BSP导致液晶屏不亮了,所以我把原来光盘的BSP覆盖被修改的BSP,结果出现了如下错误,真是悬了。怎么回事?PB5.0也太不稳定了吧。 cannot open program database \'c:\\wince500\\public\\shell\\oak\\lib\\armv4i\\retail…

查看全部问答>

发开发板啦!数十块开发板等你拿!

发开发板啦!数十块开发板等你拿! Qemu 仿mini2440开发板v2.pdf qemu仿integratorcp开发板(arm) .pdf   当然这里只有两块,你要有兴趣,可以仿真更多开发板   我在这里回答下下面提的问题 一、qemu是什么? qemu是Linux下一个开 ...…

查看全部问答>

关于DSPbuilder仿真的问题

请问在matlab的simulink中进行DSPbuilder设计时,仿真的时候要调用modelsim仿真,但出现这个错误:# could not read \"d:\\softsetup\\quartusii\\quartus/libraries/vhdl/altera//alt_cusp80_package.vhd\": no such file or directory,请问大家 ...…

查看全部问答>

【玩转C2000 Launchpad】成功实现C2000LAUNCH和我的“家庭物联网”无线数据传输

这个实验前几天就已经完成,现在发个帖子做一个记录。 老规矩上完整工程: 这个实验是在前一个实验的基础上加入的,无线数据接收和多通道数据AD转换通过板子上的按键切换。 这次就不录视频了太麻烦了上几张图片给大家瞧瞧。 说明已经的第一行显 ...…

查看全部问答>