#include <reg51.h>
void Init();
void Send(unsigned char* pstr,unsigned int len);
void main(){
Init();
while(1){
}
}
void Init(){
SCON=0x50; //设置为工作方式1
TMOD=0x20; //设置计数器工作方式2
PCON=0x80; //波特率加倍
TH1=0xf3; //计数器初始值设置,注意波特率是4800的
TL1=0xf3;
ES=1; //打开接收中断
EA=1; //打开总中断
TR1=1; //打开计数器
}
void Send(unsigned char* pstr,unsigned int len){
for(;len>0;len--){
SBUF = *(pstr++); //将要发送的数据放入到发送寄存器
while(!TI); //等待发送数据完成,发送前、中 TI = 0,发送完毕后 TI = 1
TI = 0; //清除发送完成标志位
}
}
void Receive() interrupt 4 {
if(RI){
unsigned char data = SBUF;
RI = 0; //清除接收中断标志位,接收完毕 RI = 1
}
}