为何串口通信异常?
不知为何串口通信会出现如下异常情况:使用串口调试精灵可以接受到单片机发送的数据,但是只能收到一个固定的数据,无论我是否将该数据更改,即接受为乱码。MAX232部分我用的标准电路,其程序如下:
void main(void)
{
uchar ID_num_serial;
Delay(5);
Flag_led_display=0;
Flag_serial_display=0;
Flag_int0=0;
P0=0xc0;
P3_6=0;
P3_7=0;
Delay(5);
/*单片机中断控制部分*/
SP=0xA0; /*堆栈指针起始位置*/
EA=1;
ET0=1; /*开定时器中断*/
EX0=1; /*开外部中断0*/
//ES=1; /*开串口中断*/
/*单片机计时部分,T0用于定时,T1用于时钟*/
TMOD=0x21; /*用T0产生1S的中断信号*/
TL0=0x00; /*初始定时10ms */
TH0=0x00;
TH1=0Xf3;
TL1=0xf3;
TR0=1; /*开始计数*/
TR1=1;
/*串口设置部分*/
PCON=0x00;
SCON=0x50;
while(TRUE){
if(Flag_int0==1)
{
ID_num=get_P1(Display_temp[0]);
ID_num_serial=ID_num;
SBUF=ID_num_serial;
while(TI==0);
TI=0;
}
put_on_leds(ID_num);
}
}
发表时间:2006年12月13日15:16:37