單片機(jī)遠(yuǎn)程同步燈電路+程序
程序說明:主機(jī)與從機(jī)程序盡可能一樣,避免運(yùn)行不同程序帶來的不同步效果。
主機(jī)只發(fā)送同步信號(hào),以自己的時(shí)鐘運(yùn)行 從機(jī)接收同步信號(hào),
在約定的時(shí)間開始查詢中斷,體現(xiàn)“快等慢”這一原則
附錄B:試驗(yàn)程序清單
主機(jī)程序:
//============================
// 主機(jī)程序
//
//============================
#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; //主機(jī)本身不中響應(yīng)斷
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++)
;
}
}
效果程序略
從機(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機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論