單片機遠程同步燈電路+程序
程序說明:主機與從機程序盡可能一樣,避免運行不同程序帶來的不同步效果。
主機只發(fā)送同步信號,以自己的時鐘運行 從機接收同步信號,
在約定的時間開始查詢中斷,體現(xiàn)“快等慢”這一原則
附錄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; //下降沿觸發(fā)
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;
}
DIY機械鍵盤相關社區(qū):機械鍵盤DIY
評論