#include <reg52.h>
#include "./delay/delay.h"
void uart_init() /*初始化串口*/
{
SCON = 0x50; // 设置串口工作方式1,打开接受允许
//SM0 = 0; SM1 = 1; REN = 1; //
TMOD|= 0x20; //设置定时器1为工作方式1
TH1 = 0xfd; //9600波特率
ET1 = 1; //中断允许
TR1 = 1;
EA = 1;
ES = 1;
}
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
//TI位自动置1,手动清零
while(!TI); //while(TI != 1);
TI = 0;
}
void uart_send_string(unsigned char * s)
{
while(*s ) //while(*s != '\0')
{
uart_send_byte(*s);
s++;
}
}
void Interrupt_str() interrupt 4
{
unsigned char tmp;
if(RI)
{
RI = 0;
tmp = SBUF;
SBUF = tmp;
}
if(TI)
{
TI = 0;
}
}
void main()
{
unsigned char i;
uart_init();
uart_send_string(" I receive is : ");
ES = 1;
while(1)
{
//uart_send_byte(0x61);
//delay_ms(200);
}
}
#include "./delay/delay.h"
void uart_init() /*初始化串口*/
{
SCON = 0x50; // 设置串口工作方式1,打开接受允许
//SM0 = 0; SM1 = 1; REN = 1; //
TMOD|= 0x20; //设置定时器1为工作方式1
TH1 = 0xfd; //9600波特率
ET1 = 1; //中断允许
TR1 = 1;
EA = 1;
ES = 1;
}
void uart_send_byte(unsigned char byte)
{
SBUF = byte;
//TI位自动置1,手动清零
while(!TI); //while(TI != 1);
TI = 0;
}
void uart_send_string(unsigned char * s)
{
while(*s ) //while(*s != '\0')
{
uart_send_byte(*s);
s++;
}
}
void Interrupt_str() interrupt 4
{
unsigned char tmp;
if(RI)
{
RI = 0;
tmp = SBUF;
SBUF = tmp;
}
if(TI)
{
TI = 0;
}
}
void main()
{
unsigned char i;
uart_init();
uart_send_string(" I receive is : ");
ES = 1;
while(1)
{
//uart_send_byte(0x61);
//delay_ms(200);
}
}