本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
求教:STC(51系列)INT0服务函数不能进入,谢谢大家!!
void mcuinit()
{
TMOD = 0X21; //定时器0以方式1,定时器1方式2(串口用)
TH0 = 0X3C;
TL0 = 0XAF; //定时器0初值15535:50ms溢出
IT0 = 1; //INT0负跳变中断
IE = 0X83; //开放外部中断0,定时器0中断, 总中断
}
void ServiceInt0(void) interrupt 0 using 1
{
//while (!INT0); //等待int0引脚低电平
TR0 = 1; //开定时器0
speed++;
}
void ServiceTime0(void) interrupt 1 using 2
{
TH0 = 0X3C;
TL0 = 0XAF; //重装定时器0
if(Overflow < 10) //如果不到500ms
{Overflow++;} //计算溢出次数
else //定时器0溢出10次,定时达到500ms
{
TR0 = 0; //定时500ms事件到关定时器0,在中断0中开启定时器0
carspeed = speed;
speed = 0;
Overflow = 0;
}
}
void main()
{
//delay(1000,12,0); //开机延时1s,关显示
P3M0 = 0X80; //(0X84)
P3M1 = 0X20
mcuinit();
uartinit(); //串口初始化
while(1)
{
uart(Overflow); //观察定时器工作情况
//uart(speed); //通过串口发送变量值
delay(1,carspeed,0); //显示变量值
}
} |