1、设置TI=1,是人为的设置了串行发送请求完毕的中断请求标志。但是你并没有致能(es=1)串口中断。实际上你的interrupt5的处理程序也没有写,是空的。(注意这点)
2、你既然没有设置it0=1(跳变触发中断),那么就是IT0=0(低电平触发)。
3、当一个低电平来的时候,就进入你的interrupt0处理程序。并且硬件自动清标记位置。执行完毕 beer=1。
4、这个时候还有一个中断请求标志IT=1,于是产生了中断嵌套。执行完高级中断后,进入低级中断interrupt5。之后是空白。。。。
5、结果就是你描述的:蜂鸣器一直响,数码管停止显示。
不知道我这样描述,你能不能理解。呵呵
TI 好像是 串口中断溢出标志位吧。发送完毕 标志位。
IT0 外部中断0的触发方式选择。是51单片机中定时器、计数器控制寄存器中的第3位,它控制外中断INT0的触发方式,若IT0=0则低电平触发,若IT0=1,则负跳变触发。
电平触发貌似要自己清除中断溢出标志位吧,