- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章--定时器
第5章 定时器/计数器 定时器/计数器模块的基本用途 常用于测量时间、速度、频率、脉宽,提供定时脉冲信号,还能为编程人员提供准确定时 AT89C52中有3个 定时器/计数器 定时器/计数器0 定时器/计数器1 定时器/计数器2 5.1 定时器/计数器0和1的结构和工作原理 定时器/计数器0和1工作原理 相关的特殊功能寄存器 四种工作模式 相关仿真实例 三、定时器/计数器结构 1、工作寄存器: T0、T1为16位 T0分为:TH0(高8位),TL0(低8位) T1分为:TH1(高8位),TL1(低8位) 例:向T0送0FEDH MOV TH0,#0FH MOV TL0,#0EDH 例:设置T1为软件启动,为定时器工作方式,选择操作模式2,T0为计数方式,软件启动,选择操作模式1 TMOD各位为 即25H MOV TMOD,#25H 或MOV 89H,#25H 5.3 T0,T1编程时应注意的问题 一、初始化 1、将工作方式控制字写入TMOD(确定工作方式,操作方式,启动控制方式) 例:T1为16位,/INT1不参与控制,T1为定时器。控制字 MOV TMOD,#10H 2、将定时或计数初值写入THi,TLi中(16位计数初值须分两次写入对应的计数器) 例:MOV TH1,#55H MOV TL1,#00H 3、置ET1/ET0允许T1/T0申请中断 例:SETB ET0;允许T0中断 4、置EA,CPU对所有中断开放 SETB EA 5、启动T1或T0(*) SETB TR1 SETB TR0 二、初值计算 T0,T1选择不同的工作方式,不同的操作方式,其初值均不相同。设最大计数值为M,则各方式下的M值为: 方式0:M=213=8192 方式1:M=216=65536 方式2:M=28=256 方式3:M=256(T0分为TH0和TL0,其M均为256) 设计数初值为X,则X=M-计数值 1、计数工作方式 脉冲由外部引入,对外部脉冲计数,计数值根据要求确定。计数初值X=M-计数值 例:某工序要求对外部脉冲信号计100次 X=M-100 若为方式2,则X=256-100=156 2、定时工作方式(*) 计数脉冲由内部供给(相当于对机器周期计数), 计数脉冲频率fcont=晶振频率fosc/12 所以:计数周期T=12/fosc,即每个脉冲的时间为12/fosc 若要求的定时时间为t,则此时计数初值 X=M-t/T=M-t/(12/fosc)=M-t*fosc/12 例:设T0为计数器,以方式2工作,外界发生一次事件,溢出中断;T1作为定时器,以操作方式1工作,定时时间为1ms(即延时1ms后就申请中断),晶振频率为6MHZ,计算T0,T1的计数初值。 解: T0:计数器,方式2,X0=256-1=255=FFH T1:定时器,方式1,1ms X1=65536-1ms*6*106/12 =65536-1*103/2 =65536-500=65036=FE0CH 三、初始化举例(*) 设T1为定时工作方式,定时50ms,选择方式1,允许中断,软启动; T0为计数工作方式,对外部脉冲计数10次,硬启动,禁止中断,选择工作方式2; fosc=6MHZ 解:T0:X0=256-10=246=F6H T1:X1=65536-50ms*6M/12 =65536-25000 =40536=9E58H TMOD1EH 初始化程序如下: MOV TMOD, #1EH MOV TH0, #0F6H MOV TL0, #0F6H MOV TH1, #9EH MOV TL1, #58H MOV IE , #88H SETB TR0; 要等到/INT0=1时方可真正启动 SETB TR1 5.4 定时器的操作方式及应用 1、方式0及应用(仅用了TH和TL的低5位)(*) 例:选用T0,操作方式0,用于定时,由P1.0输出周期为1ms的方波,设fosc=6MHZ 解:定时时间为500μs 初始值X0=8192-t*fosc/12=8192-250 =7942=1F06H 但由于是13为定时器,TL0的高3位未用,则填入0,所以X0的实际值为F806H ORG 8000H MOV TMOD, #00H MOV TL0,
您可能关注的文档
最近下载
- 绩效考核方案(经典通用~).doc
- 必威体育精装版版国有企业因公临时出国(境)管理办法.docx VIP
- 建筑工程图集 07J205:玻璃采光顶.pdf VIP
- 2024年长沙中考作文“考试的背后”审题指导+立意素材+范文8篇.docx
- 中医护理年度工作总结PPT.pptx
- 高考语文思辨类作文写作全面指导写作指导:二元思辨性作文速成模板及示例.pdf VIP
- 项目部安全隐患排查治理制度.docx
- 售楼处保洁服务标准-完整版.pdf VIP
- 《双减背景下小学语文高效课堂和有效教学模式研究》科研课题结题报告.docx
- 【精选 】高一年级(6)班《告别假努力,学会真自律》主题班会(28张PPT)课件.pptx
文档评论(0)