测试情况:利用51单片机的定时器1的溢出率产生波特率,初始化串口并设置中断使能位ES=1,然后对定时器1也做了相应的配置,无意中设置ET1=1了,利用串口调试助手调试的结果是连续不断的收到了*这个字符。。第二次实验的时候把ET1=0,就可以正常的收发了、、
请问:为什么串口中断和定时器1中断不能同时开启呢?
能更加深入的说明么?T1中断程序没有写,不做任何操作、、为什么会产生影响呢?
追答楼主并没有编写 T1 中断程序,你以为,单片机就不做任何操作?
你如果开放了 T1 的中断,那么,每当 T1 定时溢出后,必定就会到
001BH 处,去执行 T1 的中断程序。
不管你写没写,单片机,都会执行 001BH 处的程序,直到执行 RETI,
才会返回断点。
楼主没有编写 T1 中断程序,逻辑上,已经错了,单片机,就被你弄糊涂了。
它把主程序当做中断程序来执行,这会产生什么影响,只有天知道。