首先中断函数中一般是要杜绝循环的,也不用延时的。
延时通过定时器定时来实现,中断多次进入就能实现重复多次处理。
设置一个位变量,每次进入后取反,根据它的值来给P2口服不同的值。
启动前给flag赋值1,n赋值10,然后启动定时计数器,设置合适的初值,使其定时为500
bit flag;int n;void hi() interrupt 2 using 2{ if(n-->0) if(flag) P2 = 0xf8; else P2 = 0x07; flag = ~ flag;}