这是个单片机C语言的一个程序,是单片机与PC机串口通讯的,能帮我每条解释下有什么作用,是干什么的?

#include<reg51.h>
void Send(unsigned char dat)
{
SBUF=dat;
while(TI==0)
;
TI=0;
}
unsigned char Receive(void)
{
unsigned char dat;
while(RI==0);
RI=0;
dat=SBUF;
Send(dat);
return dat;
}
void main(void)
{
TMOD=0x20;
SCON=0x50;
PCON=0x00;
TH1=0xf4;
TL1=0xf4;
TR1=1;
REN=1;
while(1)
{
P1=Receive();
}
}
void delay(void)
{
unsigned char m,n;
for(m=0;m<200;m++)
for(n=0;n<250;n++);
}

#include<reg51.h>
void Send(unsigned char dat) //串口发送
{
SBUF=dat;
while(TI==0)
;
TI=0;
}
unsigned char Receive(void) //串口接收
{
unsigned char dat;
while(RI==0);
RI=0;
dat=SBUF;
Send(dat); //把接收的数据发送回去
return dat; //返回接收的数据
}
void main(void)
{
TMOD=0x20;
SCON=0x50;
PCON=0x00;
TH1=0xf4; //好像设置波特率为2400
TL1=0xf4;
TR1=1;
REN=1;
while(1)
{
P1=Receive(); //把接收的数据返回到P1口,
//我猜它是意思应该是点亮P1口对应的灯
} //相关寄存器操作自己看手册
}
void delay(void) //延时函数没用到
{
unsigned char m,n;
for(m=0;m<200;m++)
for(n=0;n<250;n++);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-10
推荐你去找一本51单片机的书看看, 因为这些程序就是简单的包涵了一些定义,
第2个回答  2013-06-10
挺麻烦的 ,要怎么解释?
相似回答