- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时器/计数器的定时功能。 计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出。 定时器的定时时间与系统的时钟频率有关。因一个机器周期等于12个时钟周期,所以计数频率应为系统时钟频率的十二分之一。如果晶振频率为12MHz,则机器周期为1?s。通过改变定时器的定时初值,并适当选择定时器的长度(8位、13位或16位),可以调整定时时间。 定时器/计数器的计数功能。 通过外部计数输入引脚T0(P3.4)和T1(P3.5)对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平,若一个机器周期S5P2期间采样值为1,下一个机器周期S5P2期间采样值为0,则计数器加1,再下一个机器周期S3P1期间,新的计数值装入计数器。 因检测一个由1至0的跳变需要两个机器周期,故外部信号的最高计数频率为时钟频率的二十四分之一。如果晶振频率为12MHz,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。 (1)选择工作方式 TL0为方式3计数,把T0引脚(P3.4)作附加的外中断输入端,TL0初值设为0FFH,当检测到T0引脚电平出现负跳变时,TL0溢出,申请中断,这相当于跳沿触发的外部中断源。 TH0为8位方式3定时,控制P1.0输出5kHz的方波信号。 (2)初值计算 TL0的初值设为0FFH。 5kHz的方波的周期为200?s,TH0的定时时间为100?s。TH0初值X计算如下: (28-X)×2×10-6=1×10-4 X=28-100=156=9CH (3)程序设计 ORG 0000H LJMP MAIN ORG 000BH ;T0中断入口 LJMP TL0INT ;跳T0中断服务程序 ORG 001BH ;在T0方式3时,TH0占用T1的中断 LJMP TH0INT ;跳TH0中断服务程序 ORG 0100H MAIN: MOV TMOD,#27H ;T0方式3计数,T1方式2定时作串 行口波特率发生器 MOV TL0,#0FFH ;置TL0初值 MOV TH0,#9CH ;置TH0初值 MOV TL1,#dataL ;data为波特率常数 MOV TH1,#dataH 本章小结 8051单片机共有两个可编程的定时器/计数器,分别称为定时器0和定时器1,它们都是16位加1计数器。定时器/计数器的工作方式、定时时间、计数值和启停控制由程序来确定。 定时器/计数器有四种工作方式,工作方式由定时器方式寄存器TMOD中的M1、M0位确定。方式0是13位计数器,方式1是16位计数器,方式2是自动重装初值8位计数器;方式3时,定时器0被分为两个独立的8位计数器,定时器1是无中断的计数器,此时定时器1一般用作串行口波特率发生器。 定时器/计数器有定时和计数两种功能,由定时器方式寄存器TMOD中的C/T位确定。当定时器/计数器工作在定时功能时,通过对单片机内部的时钟脉冲计数来实现可编程定时;当定时器/计数器工作在计数功能时,通过对单片机外部的脉冲计数来实现可编程计数。 当定时器/计数器的加1计数器计满溢出时, 溢出标志位TF1(TF0)由硬件自动置1,对该标志位有两种处理方法。一种是以中断方式工作,即TF1(TF0)置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1(TF0)清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF1(TF0)置1后必须用软件使TF1清0。 定时器/计数器的初始化实际上就是对定时器/计数器进行编程,以实现设计者所要求的控制功能。这通过对TMOD、TH0(TH1)、TL0(TL1)、IE、TCON专用寄存器中相关位的设置来实现,其中IE、TCON专用寄存器可进行位寻址。 Q A?Thanks! MOV TCON,#15H ;启动T0 或用SETB TR0 MOV IE,#9FH ;允许所有中断 SJMP $ TL0INT:MOV TL0,#0FFH ;TL0中断服务程序,TL0重新装入初值 SETB TR1 ;启动TH0定时 RETI TH0INT: MOV TH0,#9CH
您可能关注的文档
最近下载
- ISO27001 2022版内审全套资料(内审计划+检查表+审核报告等).doc
- fidic99版新红皮书中英文双语对照版.docx VIP
- 钢板弹簧设计计算程序Ver1.0-20070405.xls VIP
- 区块链产业学院建设思路与规划.pptx VIP
- 建筑外门窗气密、水密、抗风压性能分级(1).doc VIP
- 读本低年级 第2讲《一心跟着共产党》第二课时《党和人民心连心》教学课件.pptx VIP
- 数控车床高级工理论考试题库(含答案).docx VIP
- 《WPS Office办公应用案例教程》教学课件 项目8 WPS Office App文档的基本应用.ppt VIP
- 《WPS Office办公应用案例教程》教学课件 项目9 WPS Office App表格和演示文稿的应用.ppt VIP
- 通用质量特性工作计划-模板.docx VIP
文档评论(0)