本试验首要是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