微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机远程同步灯电路+程序

单片机远程同步灯电路+程序

时间:08-30 来源:互联网 点击:

程序说明:主机与从机程序尽可能一样,避免运行不同程序带来的不同步效果。
主机只发送同步信号,以自己的时钟运行 从机接收同步信号,
在约定的时间开始查询中断,体现“快等慢”这一原则
附录B:试验程序清单
主机程序:
//============================
// 主机程序
//
//============================

#includemyhead.h

sbit P36=P3^6;
bit flag;

void main(void)
{
uchar i;

flag=0;
P36=1;

P0=0x00;
P1=0x00;
P2=0x00;

EA=0;
IT0=1; //主机本身不中响应断
EX0=0;

while(1)
{
for(i=0;i5;i++)
RGBjianbian();

lable: for(i=0;i5;i++)
RGBjianbian();

for(i=0;i5;i++)
zhuizhu();

for(i=0;i5;i++)
liushui();

for(i=0;i5;i++)
shanshuo();

for(i=0;i5;i++)
kaolong();

for(i=0;i5;i++)
liushui2();

delay2();

P36=0;

flag=0;
flag=0;
flag=0;
flag=0;
goto lable;

}

}

void delay(void)
{
uchar i,j;
for(i=0;iMAX;i++)
{ for(j=0;jMAX;j++)
;
}
}
效果程序略

从机程序:
#includemyhead.h

sbit P36=P3^6;
bit flag;

void main(void)
{
uchar i;

flag=0;
P36=1;

P0=0x00;
P1=0x00;
P2=0x00;

IT0=1; //下降沿触发
EX0=1;
EA=1;

while(1)
{
for(i=0;i5;i++)
RGBjianbian();

lable: for(i=0;i5;i++)
RGBjianbian();

for(i=0;i5;i++)
zhuizhu();

for(i=0;i5;i++)
liushui();

for(i=0;i5;i++)
shanshuo();

for(i=0;i5;i++)
kaolong();

for(i=0;i5;i++)
liushui2();

flag=0;
flag=0;

while(flag==0)
{ ; }
flag=0;
goto lable;

}

}

void delay(void)
{
uchar i,j;
for(i=0;iMAX;i++)
{ for(j=0;jMAX;j++)
;
}
}
效果程序略
void interrupt0(void) interrupt 0 using 2
{
flag=1;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top