sena.c

来自「零基础单片机C语言设计全套教程」· C语言 代码 · 共 48 行

C
48
字号
#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

for(i=0;i<10;i++)					//初始化数据
{
buf[i]=i;
}

do
{
    SBUF=0xAB;					//发送联络信号"AB"
    while(TI==0);					//等待发送结束
    TI=0;
    while(RI==0);					//等待B机回答
    RI=0;
   }while((SBUF^0xBA)!=0);			//B机未准备好,继续联络
do
{
   CheckSum=0;					//清检验和
   for(i=0;i<10;i++)
{
SBUF=buf[i];
     CheckSum+=buf[i];				//求校验和
     while(TI==0);
     TI=0;
    }
   SBUF=CheckSum;				//发送校验和
   while(TI==0);
TI=0;
   while(RI==0);
RI=0;							//等待B机应答
}while(SBUF!=0);					//出错则重发
}

⌨️ 快捷键说明

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