单片机远程同步灯电路+程序
程序说明:主机与从机程序尽可能一样,避免运行不同程序带来的不同步效果。
主机只发送同步信号,以自己的时钟运行 从机接收同步信号,
在约定的时间开始查询中断,体现“快等慢”这一原则
附录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;
}
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- Linux内核解读入门(11-09)
- Linux操作系统网络驱动程序编写(04-11)
- Linux系统对ISA总线DMA的实现(06-19)
- 基于MPEG-4的嵌入式多媒体监控系统中压缩/解压卡的设计与实现(10-15)
- Windows CE下驱动程序开发基础(04-10)