8052定时器2的可编程时钟输出模式的实例

52单片机大家都用过,但是定时器2的一些功能相比不是用的很多。今天我就看了数据手册和网上的一些资料,也编了一个输出40KHz的方波:

/*
File name     :    40khz.c
Date        :    2012/04/27
Description    :    use timer 2 to generator the 40khz precisely
CPU            :    STC89C52RC
Ctystal        :    12MHz

Formula
                            Fsoc
    OUTPUT CLK = ----------------------------
                 4 * [65536-(RCAP2H, RCAP2L)]
    C/T2=0;
    TR2=1;
    T2OE=1;

*/

#include <reg52.h>

int main(void)
{

    T2MOD=0x02;
    TH2=0xff;
    TL2=0xb5;
    C_T2=0;
    TR2=1;
    RCAP2H=0XFF;
    RCAP2L=0XB5;
    while(1)
    {
    }
    
    return 0;
}

编译完之后,我想在keil里仿真一下,用logic analyzer看一下P1.0的输出,可是没有成功,按时我把HEX文件下到板子里后,yeah!成功了!输出了很精确的40kHz方波,这样就可以用于超声波测试仪所需要的方波了!!不错哦~~

最后上两个图片

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/2474197.html