您的位置 首页 数字

51单片机 根据方法1的单工通讯

本实验主要是U1通过串口线TXD端将流水灯控制码以方式1发送到单片机U2的RXD,U2再利用接受的控制码控制流水灯点亮其P1口的8个发光二极管单片

本试验首要是U1经过串口线TXD端将流水灯操控码以方法1发送到单片机U2的RXD,U2再利用承受的操控码操控流水灯点亮其P1口的8个发光二极管

单片机U1发送端

首要树立树立一个文件夹send,之后树立作业send,再增加一个send.c源文件,代码如下

#include

unsigned char code Tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void Send(unsigned char dat)

{

SBUF=dat;

while(TI==0) //若发送中止标志位没有置”1″,就等候

{

;

}

TI=0;

}

void delay(void)

{

unsigned char m,n;

for(m=0;m<200;m++)

for(n=0;n<250;n++)

;

}

void main()

{

unsigned char i;

TMOD=0x20; //定时器作业在方法2

SCON=0x40; //串口作业方法1

PCON=0x00; //设置波特率为9600b/s

TH1=0xfd;

TL1=0xfd;

TR1=1;

while(1)

{

for(i=0;i<8;i++)

{

Send(Tab[i]);

delay();

}

}

}

单片机U2接纳端

首要树立树立一个文件夹receid,之后树立作业receive,再增加一个receid.c源文件,代码如下

#include

unsigned char Receive(void)

{

unsigned char dat;

while(RI==0) //只需承受中止标志位RI没有被置”1″就等候,直至承受结束

;

RI=0;

dat=SBUF;

return dat;

}

void main(void)

{

TMOD=0x20; //定时器T1作业在方法2

SCON=0x50; //串口作业在方法1,答应承受(REN=1)

PCON=0x00; //首要设置波特率为9600b/s

TH1=0xfd;

TL1=0xfd;

TR1=1; //发动定时器T1

while(1)

{

P1=Receive();

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/261404.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部