谢谢大家,现在改成这样了,还有个小问题
#include <reg51.h> #include <string.h> void init_serialcomm(void) { SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload PCON |= 0x80; //SMOD=1; TH1 = 0xF5; //Baud:9600 fosc=120MHz IE |= 0x90; //Enable Serial Interrupt TR1 = 1; // timer 1 run // TI=1; } void send_char_com(unsigned char ch) { SBUF=ch; while(TI==0); TI=0; } main() { init_serialcomm();
send_char_com('a'); 能在电脑上显示字符'a',但总连续显示,我本来想让让单片机只发送一次,再次请教各位大侠,程序哪个地方设置的不对
|
|