我用Keil C51写了8051年的打断例行公文如下:
void intrupt1(void) interrupt 2 // ext interrupt 1 vector
{
char i,j,prime;
P2 = 0;
for(i=2;i<128;i++)
{
prime = 1;
for(j=2;j<i;j++)
{
if(i%j==0)
prime = 0;
}
if(prime == 1)
{
P2 = i;
delay2();
}
}
P2 = 0;
}
当我试图模拟该数字时,该数字显示正确的原始数字为128,此后又变成了8个轨道柜台,然后又回到了显示的原始数字,即,在127个(最后的预计数)之后,产出为128,129,130....255。
我还写了一条外部打断的例行公文,即4个截面(正确操作),但我猜测会影响上述。