是的 P2 IO口是连着8个led 问题是中断是不闪 加那个while的话 问题是中断是P2的LED不闪 , 也就是说不成功
你可以试试把while(1)里面的屏蔽掉,,只写中断试试。
void main(void) { UART_init();
while(1) { ;
} }
是的 不加while()的话 实验成功
#include <reg52.h> void main() { P1 = 0X01; }
上面这段程序编译器编译后我软件仿真了一下,程序是这样跑的:启动文件——>main--->启动文件----->main----->这样循环这来。
楼主的程序可能存在多个问题,这些都是初学者经常犯的经典问题。
没太仔细看,我猜想楼主可能出现的问题中的两个或者三个问题同时作用,因此产生了一个可行的表象,实际上程序并不是按楼主想象的运行方式运行的,只不过碰巧他的直接观察效果达到了自己一定的预期。如果楼主把这些问题搞通,单片机水平应该能大幅提高,出现这些问题是楼主的福气啊。
你在while
里面一直 初始化 串口 有问题的
你把串口初始化 放在 while 1 之前 就好了
还有 不要在中断里面发送数据
能够得到正常的结果,不一定就是正常的运行。
撸主初始化代码贴出来瞧瞧看