52單片機(jī)里面有一個(gè)T2定時(shí)器,它比普通的16為定時(shí)器功能要強(qiáng)大多了,今天研究了T2定時(shí)器的一個(gè)應(yīng)用——可編程時(shí)鐘輸出功能。配置成500KHZ的時(shí)鐘信號(hào)輸出后,用示波器測(cè)量了時(shí)鐘輸出腳P1^0,發(fā)現(xiàn)還真準(zhǔn)。
為了把定時(shí)器配置成時(shí)鐘發(fā)生器,位C/T2(T2CON.1)必須清0,也就是選擇定時(shí)模式,位T2OE(T2MOD.1)必須置1,使能定時(shí)器2輸出。位TR2(T2CON.2)啟動(dòng)、停止定時(shí)器。時(shí)鐘輸出頻率取決于晶振頻率和定時(shí)器2捕捉寄存器(RCAP2H,RCAP2L)的重載值,如公式所示:
本文引用地址:http://butianyuan.cn/article/201611/320753.htm
定時(shí)器2的可編程輸出模式原理框圖如下
圖1定時(shí)器2的可編程輸出模式
上個(gè)測(cè)試用的程序
//文件名: t2_clk.c
//功能: T2定時(shí)器的可編程時(shí)鐘輸出
//說(shuō)明: 單片機(jī)AT89S52,晶振12MHZ,輸出頻率=晶振頻率/(4*[63356-(RCAP2H,RCAP2L)])
//日期: 2011年4月6日
#include
sbitclk_out=P1^0;//時(shí)鐘輸出端
voidt2_clock(void)
{
C_T2=0; //定時(shí)器模式
T2MOD=0x02; //T2OE=1,定時(shí)器2允許輸出
RCAP2L=0XFa; //賦T2的預(yù)置值0xfffa,輸出頻率500K
RCAP2H=0XFF;
TR2=1;
}
voidmain(void)
{
t2_clock();
while(1);
}
當(dāng)頻率為12MHZ時(shí),通過(guò)改變(RCAP2H,RCAP2L)的值,時(shí)鐘輸出頻率范圍為45.7781HZ到3.00MHZ(實(shí)測(cè))。信號(hào)波形無(wú)明顯失真。
評(píng)論