一 串行口内部结构:
单片机频率用11.0592,因为算出来是整数。
#include "reg51.h"
unsigned char recvdat=0,flag=0;
void initseriport(){
//0101 0000
SCON=0x50;
//0010 0000
TMOD=0x20;
TH1=256-3;
TL1=256-3;
ES=1;
EA=1;
TR1=1;
}
void seri_isr() interrupt 4{
//接收数据
recvdat=SBUF;
RI=0;
flag=1;
}
void send(){
SBUF=recvdat;
//持续接收数据 等待TI=1跳出循环
while(!TI);
TI=0;
}
void main(){
initseriport();
while(1){
if(flag==1){
send();
flag=0;
}
}
}