单片机定时器T2的问题,懂的进

来源:百度知道 编辑:UC知道 时间:2024/06/15 16:57:12
用52单片机,用定时器T2定时,用外部中断0中断来改频率,大哥大姐看看下面的程序。不成功啊。什么地方出了问题?是中断的问题还是定时器T2的问题啊?
#include <reg52.h>
int i;
sbit P20=P2^0;
void time(void) interrupt 5
{
TF2=0;
P20=~P20;
}
void zhongduan(void) interrupt 0
{
RCAP2H=0x11; //TH2改变变值
RCAP2L=0x11; //TL2改变值
}
void main()
{
RCAP2H=0x85; //TH2初值
RCAP2L=0xee; //TL2初值
ET2=1; // 允许T2定时器中断
TR2=1; // 启动T2定时器
IT0=0;
EX0=1;
PX0=1;
EA=1; // 打开总中断
}

MAIN里要循环起来,哪怕是空循环,不然程序直接到头出错
void main()
{
RCAP2H=0x85; //TH2初值
RCAP2L=0xee; //TL2初值
ET2=1; // 允许T2定时器中断
TR2=1; // 启动T2定时器
IT0=0;
EX0=1;
PX0=1;
EA=1; // 打开总中断
for(;;);
}