51单片机串口和串口与定时器的重要关系冲突,串口正常接收,但串口与定时器的重要关系不执行

我现在用的是2个AT89S52通过接通一个AD0809囷MAX481以及LCD1602组成一个显示AD转换数据电路。

我现在的问题是我串口与定时器的重要关系中断可以进入但是需要加延时,而且串口中断无法进入

下面是我编写的程序,这个是小弟刚刚写的第一个程序希望大家别见笑:


//以下设置中断和串口与定时器的重要关系;

//串口与定时器的重偠关系0为产生1ms的中断,串口与定时器的重要关系1为9600b/s的波特率发生器;

//重新装入串口与定时器的重要关系0的初值;







问题出在你的init_timer0函数里每次启动串口与定时器的重要关系中断后会执行init_timer0中的TMOD=0x01,这样串口与定时器的重要关系1的模式就不是串口模式下所需模式了,自然串口接收不到数据。应該成 TMOD |= 0x01;
另外在你的串口接收中断函数中跳入中断时最好把EA关掉,处理完后在将EA置位

我要回帖

更多关于 串口与定时器的重要关系 的文章

 

随机推荐