- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章下定时系统讲解
第六章 单片机的定时系统 计数功能:负跳变有效;2个机器周期计数。 定时功能:本质相同,脉冲源不同; 通过预置值来 改变定时时间。 一、与T/C有关的SFR 1、计数寄存器Th和TL 3、T/C的方式控制寄存器TMOD 三、四种工作方式 四、T/C工作方式的说明 3. 方式2: 当TMOD中MlM0=10时,T/C工作在方式2; 方式2是8位的可自动重载的T/C,满计数值为28; 在方式0和方式1中,当计数满后,若要进行下一次定 时/计数,须用软件向TH和TL重装预置计数初值; 方式2中TH和TL被当作两个8位计数器,计数过程中 ,TH寄存8位初值并保持不变,由TL进行8位计数。计数 溢出时,除产生溢出中断请求外,还自动将TH中初值重 装到TL,即重装载。 4. 方式3: 方式3只适合于T/C0。当T/CO工作在方式3时,TH0和TL0成为两个独立的8位计数器。 五、定时器/计数器的初始化 六、定时器/计数器的初值计算 七 外部中断扩展 1.通过OC门线或实现 2. 通过定时器/计数器实现 扩展方法如下: 七、定时器与中断的联合应用 * * 8051系列单片机内部有两个16位内部定时器/计数器, 它们既可编程为定时器使用,也可编程为计数器使用。 若是计数内部晶振,它是定时器;若是计数 8051的输入管脚的脉冲信号,它是计数器。 T/C是16位的,计数寄存器由TH高8位和TL低8位构成。 在特殊功能寄存器(SFR) 中, 对应T/C0为TH0和TL0; 对应T/C1为TH1和TL1。 定时器/计数器的初始值通过TH1/TH0和TL1/TL0设置。 2、定时器/计数器控制寄存器TCON IT0 IE0 IT1 IE1 TR0 TF0 TR1 TF1 位符号 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 D7 D6 D5 D4 D3 D2 D1 D0 T/C1 T/C0 . C/T:计数器或定时器选择位; 1→为计数器;0→为定时器。 . GATE :门控信号; 1 → T/C的启动受到双重控制,即要求TR0/TR1和INT0/INT1同时为高; 0 → T/C的启动仅受TR0或TR1控制。 M1 M0 方式 功 能 0 0 0 13位定时器/计数器,TL是低5位,TH是高8位 0 1 1 16位定时器/计数器 1 0 2 常数自动重装的8位定时器/计数器 1 1 3 仅用于T/C0,是两个8位定时器/计数器 1. 方式0: 当TMOD中MlM0=00时,T/C工作在方式0; 方式0为13位的T/C,由TH的高8位、TL的低5位的计数值,满计数值213,但启动前可以预置计数初值。 若T/C开中断(ET=1)且CPU开中断(EA=1)时,则定时器/计数器溢出时,CPU转向中断服务程序,且TF白动清0。 2. 方式1: 当TMOD中MlM0=01时,T/C工作在方式1; 方式1与方式0基本相同。唯一区别在于计数寄存器的位数是16位的,由TH和TL寄存器各提供8位,满计数值为216。 在使用8051的定时器/计数器前,应对它进行编程初始化,主要是对TCON和TMOD编程;计算和装载T/C的计数初值。一般完成以下几个步骤: (1)确定T/C的工作方式——编程TMOD寄存器; (2)计算T/C中的计数初值,并装载到TH和TL; (3)T/C在中断方式工作时,须开CPU中断和源中断——编程IE寄存器; (4)启动定时器/计数器
文档评论(0)