serial.h
#ifndef _SERIAL_H_
#define _SERIAL_H_
#include<reg51.h>
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
extern uint ints;
extern uchar message[20];
void initialRceiveSerial();
//void intSerial() interrupt 4
#endif
serial.c
#include<serial.h>
void intSerial() interrupt 4
{
message[ints] = SBUF;
ints ++;
RI = 0;
}
uint ints;
uchar message[20];
void initialRceiveSerial()
{
ints = 0;
message[20] = 0;
//设置串口
SCON = 0x50; //串口模式1
PCON = 0x80; //波特率加倍后是19200;
//启动定时器
TMOD = 0x20;
TH1 = 0xf3;
TL1 = 0xf3;
TR1 = 1;
//开中断
EA = 1;
ES = 1;
}