⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receiveb.c

📁 零基础单片机C语言设计全套教程
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char

uchar idata buf[10];
uchar CheckSum;					//检验和

void main(void)
{
uchar i;

SCON  = 0x50;					//设置串行口: 方式 1, 8位UART, 允许接收
TMOD  |= 0x20;       				//设置定时器T1, 方式 2, 8位自动重装
PCON  =0x80;						//设置SMOD=1
TL1    =0xF4;						//波特率4800bit/s,初值
TH1    =0xF4;
TR1    = 1;                         	//启动定时器T1

do
{
}while(RI==0);
RI=0;
 while((SBUF^0xAB)!=0)				//判断A机是否发出请求
    SBUF=0xBA;					//发送应答信号"BA"
    while(TI==0);					//等待发送结束
    TI=0;
    while(1)
{
CheckSum=0;					//清校验和
     for(i=0;i<10;i++)
     {
while(RI==0);
RI=0;
      buf[i]=SBUF;					//接收一个数据
      CheckSum+=buf[i];				//求校验和
     }
while(RI==0);
RI=0;							//接收A机校验和
    if((SBUF^CheckSum)==0)			//比较检验和
{
SBUF=0x00;
break;
}							//校验和相同则发"00"
   else
{
SBUF=0xEE;					//出错发"EE",重新接收
    while(TI==0);
TI=0;
    }
}
}

⌨️ 快捷键说明

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