本程序的功能是通过串口中断进行串口数据的收发
#include <reg52.h>
#include "./delay/delay.h"
#include "./delay/delay.h"
void uart_init()
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xfd;
TR1 = 1;
}
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xfd;
TR1 = 1;
}
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
while(!TI);
TI = 0;
}
{
SBUF = byte;
while(!TI);
TI = 0;
}
void uart_send_str(unsigned char *s)
{
while(*s)
{
uart_send_byte(*s);
s++;
}
}
{
while(*s)
{
uart_send_byte(*s);
s++;
}
}
void main()
{
unsigned char tmp[10];
unsigned char i = 0;
uart_init();
uart_send_str("please input a char:\n");
while(1)
{
//uart_send_byte(0x22);
if(RI)
{
if(i >= 10)
{
break;
}
if(SBUF == ' ')
{
break;
}
tmp[i] = SBUF;
i++;
RI = 0;
}
}
uart_send_str(" char:");
uart_send_str(tmp);
uart_send_str("\r\n");
}
{
unsigned char tmp[10];
unsigned char i = 0;
uart_init();
uart_send_str("please input a char:\n");
while(1)
{
//uart_send_byte(0x22);
if(RI)
{
if(i >= 10)
{
break;
}
if(SBUF == ' ')
{
break;
}
tmp[i] = SBUF;
i++;
RI = 0;
}
}
uart_send_str(" char:");
uart_send_str(tmp);
uart_send_str("\r\n");
}