本文作者:qiaoqingyi

8202编程(809f编程器)

qiaoqingyi 04-29 42

  52 单片机里面有一个T2定时器,它比普通的16为定时器功能要强大多了,今天研究了T2定时器的一个应用——可编程 时钟输出功能。配置成500KHZ的时钟信号输出后,用 示波器测量了时钟输出脚P1^0,发现还真准。

  为了把定时器配置成时钟发生器,位 C/T2(T2CON.1)必须清0,也就是选择定时模式,位T2OE(T2MOD.1)必须置1,使能 定时器2输出。位TR2(T2CON.2)启动、停止定时器。时钟输出频率取决于 晶振频率和定时器2捕捉寄存器(RCAP2H,RCAP2L)的重载值,如公式所示:

  

8202编程(809f编程器)

  定时器2的可编程输出模式原理框图如下

  

  图1 定时器2的可编程输出模式

  上个测试用的程序

  // 文件名: t2_clk.c

  // 功能: T2定时器的可编程时钟输出

  // 说明: 单片机AT89S52,晶振12MHZ,输出频率=晶振频率/(4*[63356-(RCAP2H,RCAP2L)])

  // 日期: 2011年4月6日

  #include

  sbit clk_out=P1^0; //时钟输出端

  void t2_clock(void)

  {

  C_T2=0; //定时器模式

  T2MOD=0x02; //T2OE=1,定时器2允许输出

  RCAP2L=0XFa; //赋T2的预置值0xfffa,输出频率500K

  RCAP2H=0XFF;

  TR2=1;

  }

  void main(void)

  {

  t2_clock();

  while(1);

  }

  当频率为12MHZ时,通过改变(RCAP2H,RCAP2L)的值,时钟输出频率范围为45.7781HZ到3.00MHZ(实测)。信号波形无明显失真。

阅读
分享