标题:
STC单片机中断2不能用,中断0和中断1都OK 89c52rc新手求助
[打印本页]
作者:
nydns
时间:
2018-8-10 16:06
标题:
STC单片机中断2不能用,中断0和中断1都OK 89c52rc新手求助
是不是这个型号 89c52rc 没有中断2啊,,但手册里说有啊..为什么不好用呢
.
TMOD = 0x21; //定时器0/1模式寄存器 //M1 //定时器1,模式2工作模式
SCON = 0x50; //串口控制寄存器
//TH1 = 0xFD; //12T 9600MHz
TH1 = 0xFE; //12T 14400MHz
//TH1 = 0xF4; //12T 2400MHz
TL1 = TH1;
TR1 = 1; //定时器1的启动控制位 TR1 = 1;
TH0 = 0xC4;//100次为1S M0
TL0 = 0x00;
TR0 = 1;
ET0 = 1;
PCON = 0x00; //电源控制寄存器
EA = 1; //打开中断总开关,等于1表示打开,等于0表示关闭
ES = 1; //串口中断使能位
EX0=1; //打开外部中断0,如果是外部中断1则为EX1=1;
EX1=1; //使能INT1中断 P33
EX2=1; /*interrupt 6 P43*/
IT0=0; //选择触发方式,0是表示电平触发,1表示下降沿触发
IT1=0;
IT2=0; /*interrupt 6*/
void ISR_INT2(void) interrupt 6
{
//低电平
}
作者:
hudcm
时间:
2018-8-10 17:17
TMOD、ET2、EA都要设置
作者:
249095775
时间:
2018-8-10 18:27
设置ET与EA寄存器,并且要写中断函数 加中断标号
作者:
HC6800-ES-V2.0
时间:
2018-8-10 19:10
中断2是什么鬼?我只知道外部中断2、定时器中断2,不知道中断2!!!!!
如果你说的是定时器中断2,我自己搞过,有现成程序——
设置程序:
void Timer2Init(void)//100微秒@11.0592MHz,PWM波周期为1ms(10次中断)
{
T2MOD = 0;//初始化模式寄存器
T2CON = 0;//初始化控制寄存器
TL2 = 0xA4;//设置定时初值
TH2 = 0xFF;//设置定时初值
RCAP2L = 0xA4;//设置定时重载值
RCAP2H = 0xFF;//设置定时重载值
EA=1;//开总中断。上过一次当了!!!!!
ET2=1;//开定时器2中断
TR2 = 0;//定时器2不计时,可以自己改
}
中断服务函数:
void Time2 (void) interrupt 5//定时器2中断服务函数,用于产生PWM波,控制车速
{
if (TT>=10)
{
TT=0;
}
if (TT>=LL)
{
ENL=0;
}
else
{
ENL=1;
}
if (TT>=RR)
{
ENR=0;
}
else
{
ENR=1;
}
TT++;
TF2 = 0;
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1