- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时方法概述 1、软件定时 靠执行一个循环程序来进行时间延迟。时间精确,不需外 加硬件电路;但要占用CPU开销,定时时间不宜太长。 2、硬件定时 定时功能全部由硬件电路完成,不占用CPU时间;但通 过改变电路中元件参数来调节定时时间,使用不方便。 3、可编程定时器定时 通过对系统时钟脉冲的记数来实现。使用灵活方便,用计 数方法实现定时,还可以对外部脉冲进行计数,实现计数功能。 6.1 89C51定时器的结构 1、T0—16位 TH0,TL0 2、T1—16位 TH1,TL1 定时/计数器的基本结构 1、定时功能(S接A时):每个机器周期计数器加1。 2、计数功能(S接B时):对输入脉冲计数。 T0(P3.4)和T1(P3.5):两个计数器的计数输入 端。外部事件脉冲在负跳变时有效,计数器加1。 初值的计算 加法计数器计数满溢出时才申请中断,所以在给它赋初值时,不能直接输入所需的计数值,而应输入的是计数的最大值与该值的差值。设最大值为M,计数值为N,初值为X,则X计算如下: 1)计数状态时,X=M-N 2)定时状态时,X=M-定时时间/T T:机器周期 定时/计数器的工作特点 定时/计数器的工作完全由软件控制,当CPU由软件设置定时/计数器工作方式之后,定时/计数器就会独立地按设定的工作方式运行,不占CPU的操作,只有在定时/计数器计满溢出时,才向CPU发出中断请求; 定时/计数器是单片机里的高效而灵活的部件。 6.2 定时器的控制 与定时/计数器有关的特殊功能寄存器: 1. 工作模式寄存器TMOD 2. 定时器控制寄存器TCON 1、TMOD TMOD的低4位用于T0,高4位用于T1。 TMOD各位的意义如下: 1)GATE:门控位 0 以运行控制位TR启动定时器,不受外部输入信号控 制 1 以外部中断请求信号和TR一起启动定时器 2、TCON 该寄存器用于保存外部中断请求以及定时器的计数溢出标记 TCON各位的意义如下图所示: 6.3 定时器的工作模式及应用 定时器的四种工作模式称为:模式0、模式1、模式2、模式3,由特殊功能寄存器TMOD确定。 1、模式1—16位计数器 初值的高8位赋给TH,低8位赋给TL 不管是计数还是定时,当16位计数溢出时,则向计数溢出标志位TF进位 16位计数器 GATE=0,屏蔽或门,INT0信号无效。因此启动和关闭都由TR0控制(见结构图)。 GATE=1,同时TR0=1时,或门和与门都打开,计数器开启和关闭由INT0和TR0控制。 定时/计数器应用 1、计数方式时,计数值的范围是: 1~216(65536) 例:设单片机晶振频率为6MHZ,使用定时器1 以方式1产生周期为500us的等宽正方波连 续脉冲,并由P1.0输出,以中断方式完成。 解:1、计算计数初值 (216-X) 2 =250,得:TH1=0FFH,TL1=83H 2、TMOD寄存器初始化 为把定时器/计数器设定为方式1,则M1M0=01 ;为实现定时功能,应使 =0;为实现定时器/计数器1的运行控制,则GATE=0。定时器/计数器T0不用,有关位设定为0,因此TMOD寄存器初始化为0001 0000,即:10H 3、由定时器控制器TCON中的TR1位控制定时的启动 和停止,TR1=1启动 ,TR1=0停止。 4、使用中断方式,应开中断 EA 位和ET1位置“1” 程序设计 MOV TMOD,#10H;设置T1为工作方式1 MOV TH1 ,#0FFH ;设置计数初值 MOV TL1,#83H SETB EA ;开中断 SETB ET1 ;定时器1允许中断 SETB TR1 ;启动定时 HERE:SJMP HERE ;等待中断 中断服务程序: MOV TH1,#0FFH ;重新设置计数初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI ;中断返回 3、模式2—
文档评论(0)