发送接收测试程序、.txt

来自「本人刚开始做串口通信时搜集的有关串口通信的实例」· 文本 代码 · 共 53 行

TXT
53
字号
//功能说明:首先,由单片机向计算机发送信息(按K1键),如果发送工作正常,计算机调试软件窗口将显示:“PC已接收到信息,OK!等待主机发送00指令!”  接着,有计算机向单片机发送“00”指令,如果单片机接收正常,P1端口接的8个LED全部亮起,同时还将该指令返回到计算机屏幕上。

#include<AT89x51.H>
char code str[]="PC已接收到信息,OK!等待主机发送00指令!\0";
void send_str();            //发送函数
void send_char();          //回传函数
sbit K1=P3^2;
unsigned char temp;

main()
{
 SCON=0x50;
TMOD=0x20;
TH1=0xfd;
TR1=1;
while(1)
{
unsigned int  j;
if(K1==0)
   {
    for(j=0;j<20000;j++);
    while(!K1);                    //等待按键放开
    send_str();                //调用发送字符串函数
}
if(RI)                      //是否有数据到来
   {
     RI=0;
     temp=SBUF;
     P1=temp&0x0f;
     send_char();
}
}
}

void send_char()         //回传函数
{
SBUF=temp;                    //回传发送接收到的数据
while(!TI);                        //等待数据传送
TI=0;                                 //清除数据传送标志

}

void send_str()              //发送字符串函数
{
unsigned char i=0;
while(str[i]!='\0')       //遇到‘\0'则停止发送
    {
     SBUF=str[i];         //发送字符
     while(!TI);         //等待数据传送
    TI=0;                //清除数据传送标志
    i++;                  //下一个字符
}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?