定时器0和定时器12

上传人:夏** 文档编号:485475516 上传时间:2022-11-22 格式:DOC 页数:7 大小:126KB
返回 下载 相关 举报
定时器0和定时器12_第1页
第1页 / 共7页
定时器0和定时器12_第2页
第2页 / 共7页
定时器0和定时器12_第3页
第3页 / 共7页
定时器0和定时器12_第4页
第4页 / 共7页
定时器0和定时器12_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《定时器0和定时器12》由会员分享,可在线阅读,更多相关《定时器0和定时器12(7页珍藏版)》请在金锄头文库上搜索。

1、定时器0和定时器1:AT89C5的定时器0和定时器1的工作方式与AT89C51相同。定时器2:定时器2是一个6位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3)的/T2位选择。定时器有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由2的控制位来选择,参见表4。 表 定时器2工作方式PCLKTCLKCP/RL2R2MOE011-bit Ato-ed01116it aptur11aud Rte Geerator0(Of) 定时器2由两个8位寄存器TH2和TL组成,在定时器工作方式中,每个机器周期L2寄

2、存器的值加1,由于一个机器周期由1个振荡时钟构成,因此,计数速率为振荡频率的/12。 在计数工作方式时,当T2引脚上外部输入信号产生由1至的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5S2期间,对外部输入进行采样。若在第一个机器周期中采到的值为,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的3P1期间寄存器加1.由于识别1至0的跳变需要个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的/24.为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。 捕获方式: 在捕获方式下,通过T2O控制位EEN2来选择两种方式

3、。如果EXN2=,定时器2是一个1位定时器或计数器,计数溢出时,对T2CN的溢出标志T2置位,同时激活中断。如查XE2=,定时器完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现H2和TL2中的值分别被捕获到RCAPH和RP2L中。另外,2E引脚信号的跳变使得TCON中的EXF置位,与F2相仿,EF也会活中断.捕获方式如图4所示。 自动重装载(向上或向下计数器)方式: 当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器TCON(见表5)的DCE位(允许向下计数)来选择的.复位时,DCEN位置“0”,定时器默认设置为向上计数。

4、当DCEN置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,参见图5,当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,2ON中的XN2控制位有两种选择,若EXE=0,定时器2为向上计数至FFFH溢出,置位TF2激活中断,同时把6位计数寄存器RCAP2H和RCAP2L重装载,RH和RCAP2L的值可由软件预置。若EXEN2=,定时器2的16位重装载由溢出或外部输入端T2E从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。 当C1时,允许定时器向上或向下计数,如图所示。这种方式下,T2EX引脚控制计数器方向。T2EX引脚为逻辑“”时,定时器向上

5、计数,当计数FFFH向上溢出时,置位F,同时把6位计数寄存器RCAP2和CP2载到H2和TL2中。T2EX引脚为逻辑“0”时,定时器2向下计数,当TH2和TL2中的数值等于RCAP2H和RC2L中的值时,计数溢出,置位TF,同时将0FFFFH数值重新装入定时寄存器中. 当定时/计数器2向上溢出或向下溢出时,置位EXF2位。 波特率发生器: 当TCON(表3)中的TCK和RCLK置位时,定时/计数器2作为波特率发生器使用。如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器用于其它功能,如图7所示.若RCLK和TCK置位,则定时器2工作于波特率发生器方式。 波特率发生器

6、的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAPH和RAP2L中的1位数值重新装载,该数值由软件设置。 在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T20)。定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存的值加1,而作为波特率发生器使用时,在每个状态时间(/振荡频率)寄存器的值加1。波特率的计算公式如下: 方式1和3的波特率振荡频率/2656(P2H,RAPL)

7、 式中(AP2,RCP2L)是AP2H和CAP2中的16位无符号数。 定时器2作为波特率发生器使用的电路如图7所示。2CN中的RK或TC1时,波特率工作方式才有效.在波特率发生器工作方式中,H2翻转不能使F2置位,故而不产生中断。但若EE2置位,且T2X端产生由1至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2)的内容重新装入TH和TL2中.所以,当定时器2作为波特率发生器使用时,T2X可作为附加的外部中断源来使用。需要注意的是,当定时器2工作于波特率器时,作为定时器运行(TR21)时,并不能访问2和TL2。因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的

8、数值. 然而,对RCP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和或重装载出错。在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除R2). 可编程时钟输出: 定时器2可通过编程从P1.输出一个占空比为0%的时钟信号,如图8所示。P。引脚除了是一个标准的IO口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50的时钟脉冲.当时钟振荡频率为MH时,输出时钟频率范围为z4MHz。当设置定时计数器2为时钟发生器时,CT2(T2CON.1)0,T2O(T2OD。1)1,必须由T2(2CO。2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2捕获寄存器(R

9、CAPH,RCA2)的重新装载值,公式如下:输出时钟频率振荡器频率/4656(AP2,CAP2L) 在时钟输出方式下,定时器2的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP和RCAP2L.UART: T9C5的UART工作方式与T895工作方式相同。 中断:AT89C2共有6个中断向量:两个外中断(INT和INT1),个定时器中断(定时器0、1、2)和串行口中断。所有这些中断源如图所示。 这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的

10、允许或禁止.IE也有一个总禁止位EA,它能控制所有中断的允许或禁止. 注意表5中的I6为保留位,在AT8C5中的IE5也是保留位。程序员不应将“1写入这些位,它们是将来AT89系列产品作为扩展用的。 定时器2的中断是由T2CN中的TF和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是T或EXF产生中断,而由软件清除中断标志位。 定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S52状态置位,而会在下一个机器周期才查询该中断标志.然而,定时器的标志位2在定时器溢出的那个机器周期SP2状态置位,并在同一个机器周期内查询到该标志。 时钟

11、振荡器: AT8952中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图10。 外接石英晶体(或陶瓷谐振器)及电容、C接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30p10pF,而如使用陶瓷谐振器建议选择0p10。 用户也可以采用外部时钟。采用外部时钟的电路如图右图所示。这种情况下,外部时钟脉冲接到XTL1端,即内部时钟发生器的输入端,XT2则悬空。由于外部时钟信号是通过一个分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求。文中如有不足,请您指教! /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号