AT89C52单片机12MHZ晶振产生38KHZ的方波用定时器T0方式2怎样编程

2024-12-15 10:59:45
推荐回答(2个)
回答1:

应该用T2的频率发生器方式更好,初始化后就可以使用了。
比如下面函数段,具体可以参考datasheet的计算公式。
void Timer2_init(void)
{
T2CON &= 0xFD;
T2MOD |= 0X02;
RCAP2H = 0xee;
RCAP2L = 0x00;
TR2 = 1;
}

回答2:

#include // 包含52单片机寄存器定义的头文件
sbit P32=P3^2;
/**************************************************************
函数功能:主函数
**************************************************************/
void main(void)
{
EA=1;
ET0=1;
TMOD=0x02; //使用定时器T0的模式2
TH0= TL0=0xcf;

TR0=1; //启动定时器T0
while(1); //无限循环等待中断

}
void zd(void) interrupt 0
{
P32=~P32;
//TH0= TL0=0xcf;
}