?? master.c
字號:
#include<reg51.h>
#define uchar unsigned char
sbit tr=P1^7 ; //1發0收
//發送子程序
uchar SendMsg(uchar msg,uchar IDnum)
//msg:發送緩沖區指針;len:要發送的數據長度;IDnum:從機號
{uchar i=0;
TB8=1;
tr=1;
SBUF=0xff; //復位從機
while(TI==0);
TI=0;
SBUF=IDnum; //呼叫從機
while(TI==0);
TI=0;
tr=0;
while(RI==0); //等待從機回應 RI=0; //清除串行口中斷標志
RI=0;
//下面是數據幀
i=SBUF;
if(i== IDnum)
{TB8=0;
tr=1;
SBUF=msg;
while(TI==0);
TI=0;
tr=0;
while(RI==0);RI=0;
i=SBUF;
return i;
}
}
uchar send(uchar msg,uchar IDnum)
{ uchar i=0;
//初始化
PCON=0; //SMODE=0
TMOD=0x20; //定時器1設為模式2,作為串行口的波特率發生器
EA=0; //禁止定時器中斷
TH1=0xfd;
TL1=0xfd; //定時起始值,12MHz晶振時波特率為9600bps
SCON=0xd8; //串行口模式3,TB8=1發送地址呼叫
TR1=1; //啟動定時器1
i=SendMsg( msg,IDnum);
return i;
}
main()
{uchar i=0;
while(1)
{
while(i!=1) i=send(10,1);
i=0;
while(i!=1) i=send(30,1);
i=0;
while(i!=1) i=send(50,1);
i=0;
while(i!=1) i=send(70,1);
i=0;
while(i!=1) i=send(100,1);
i=0;
while(i!=1) i=send(70,1);
i=0;
while(i!=1) i=send(20,1);
i=0;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -