想用中断来处理串口中断,但是在KIEL 仿真中却有点问题. 下面是个为发上来的一个简单的程序,没有具体的意义哦. #include <REGX51.H>
unsigned char a;
void commint(void) interrupt 4 using 1 { if(RI) { a=SBUF; RI=0; } }
void main(void) { TMOD=0x20; TH1=TL1=0xfd; SCON=0X50; TR1=1; ES=1; EA=1; while(1) { }
}
在用到软件仿真 if(RI) { a=SBUF; RI=0; } 的时候,在serial channel 的小窗口中把SBUF 手动负值 比如0X56,在执行 a=SBUF 后,a 的值 并没有改变. 这是怎么回事啊,请教各位了
|