个位大侠,我用51单片机从串口发送字符到电脑上,没有显示。UART 中断进不了,程序如下: 这是为什么呢?

#include <reg52.h>
#include <common.h>
#include <mine.h>

main()
{
initial_uart();
while(1);
}

void initial_uart()
{
TMOD = 0x20;//定时器1工作在模式2[自动重装模式]
SCON = 0x50;//使串口工作在模式1,打开串口接收功能[接收本程序没有用到]
PCON = 0x00;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;//打开定时器1
ES = 1;//打开串口中断
EA = 1;//打开总中断
}

void uart_rx_tx() interrupt 4
{
ES = 0;
if(TI)
{
SBUF = 'A';
TI = 0;
}
if(RI)
{
RI = 0;
}
ES = 1;
}

void initial_uart()
{
TMOD = 0x20;//定时器1工作在模式2[自动重装模式]
SCON = 0x50;//使串口工作在模式1,打开串口接收功能[接收本程序没有用到]
PCON = 0x00;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;//打开定时器1
ES = 1;//打开串口中断
EA = 1;//打开总中断
TI = 1;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-11
初始化完你要么发送一下数据,要么触发一下中断
第2个回答  2012-06-15
在函数initial_uart();下加一句SBUF = 'A';
试试
相似回答
大家正在搜