首先两个中断是否都打开了,也就是EX0、EX1是否都等于1; 另外看看触发方式:IT0、IT1是什么置; 再看看你是否真的触发了,硬件上确认没有问题? 第四,你将两个中断函数后面usingn,使n不同,使用不同的工作组试试。

C51语言与标准C语言一些差别如下:
(1)库函数不同。标准C中不适合于嵌入式控制器系统的库函数,被排除在C51语言之外,如字符屏幕和图形函数。有些库函数必须针对8051的硬件特点来做出相应的开发。
(2)数据类型有一定区别。在C51中增加几种8051单片机的数据类型,在标准C的基础上又扩展了4种类型。例如,8051单片机包含位操作空间和丰富的位操作指令,因此,C51语言与标准C语言相比增加了位类型。
(3)C51语言变量存储模式与标准C语言中变量存储模式数据不一样。标准C最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而C51语言中变量的存储模式与8051单片机的各种存储器区紧密相关。
(4)数据存储类型不同。8051存储区可分为内部数据存储区、外部数据存储区以及程序存储区。
①内部数据存储区可分为3个不同的C51存储类型:data、idata和bdata。
②外部数据存储区分为2个不同的C51存储类型:xdata和pdata。
③程序存储区只能读不能写,可能在8051内部或者在外部,C51语言提供的code存储类型用来访问程序存储区。
(5)标准C语言没有处理单片机中断的定义,而C51语言中有专门的中断函数。
(6)头文件不同。C51语言头文件必须把8051单片机内部的外设硬件资源(如定时器、中断、I/O等)相应的特殊功能寄存器写入到头文件内,而标准C不用。
(7)程序结构的差异。由于8051单片机的硬件资源有限,它的编译系统不允许太多的程序嵌套。