|
心形燈,四五種效果仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (18.6 KB, 下載次數: 48)
下載附件
2018-10-14 14:46 上傳
0.png (20.22 KB, 下載次數: 50)
下載附件
2018-10-14 14:46 上傳
#include <REG52.H> //包含51頭文件
#include <intrins.h> //使用左移右移頭文件
#define uint unsigned int
#define uchar unsigned char //宏定義
void delay_ms(uint x) //毫秒級延時函數
{
uint y;
for(;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函數
{
uchar i,aa;
uint k;
while(1)
{
//-------------順時針流動2次------------//
for(k=0;k<2;k++)
{
aa=0xFE;
for(i=0;i<8;i++)
{
P0=aa;
aa=_crol_(aa,1); //crol是左移
delay_ms(100);
}
P0=0xFF;
aa=0xFE;
for(i=0;i<8;i++)
{
P2=aa;
aa=_crol_(aa,1);
delay_ms(100);
}
P2=0xFF;
aa=0xFE;
for(i=0;i<8;i++)
{
P3=aa;
aa=_crol_(aa,1);
delay_ms(100);
}
P3=0xFF;
aa=0xFE;
for(i=0;i<8;i++)
{
P1=aa;
aa=_crol_(aa,1);
delay_ms(100);
}
aa=P1=0xFF;
}
P0=~0x00;
P1=~0x00;
P2=~0x00;
P3=~0x00; //與P3=0xFF;相同
delay_ms(500);
//----------------逆時針流動2次--------------//
for(k=0;k<2;k++)
{
for(i=0;i<8;i++)
{
P1=~(0x80>>i);
delay_ms(100);
}
P1=0xFF;
for(i=0;i<8;i++)
{
P3=~(0x80>>i);
delay_ms(100);
}
P3=0xFF;
for(i=0;i<8;i++)
{
P2=~(0x80>>i);
delay_ms(100);
}
P2=0xFF;
for(i=0;i<8;i++)
{
P0=~(0x80>>i);
delay_ms(100);
}
P0=0xFF;
}
P0=~0x00;
P1=~0x00;
P2=~0x00;
P3=~0x00;
delay_ms(500);
//---------------------上到下畫愛心--------------//
for(k=0;k<2;k++)
{
for(i=0;i<8;i++)
{
P0=~(0x01<<i);
P1=~(0x80>>i);
delay_ms(100);
}
P1=0xFF;
P0=0xFF;
for(i=0;i<8;i++)
{
P2=~(0x01<<i);
P3=~(0x80>>i);
delay_ms(100);
}
P3=0xFF;
P2=0xFF;
}
P0=~0x00;
P1=~0x00;
P2=~0x00;
P3=~0x00;
delay_ms(500);
//----------------下到上畫愛心---------------//
for(k=0;k<2;k++)
{
for(i=0;i<8;i++)
{
P3=~(0x01<<i);
P2=~(0x80>>i);
delay_ms(100);
}
P2=0xFF;
P3=0xFF;
for(i=0;i<8;i++)
{
P1=~(0x01<<i);
P0=~(0x80>>i);
delay_ms(100);
}
P1=0xFF;
P0=0xFF;
}
P0=~0x00;
P1=~0x00;
P2=~0x00;
P3=~0x00;
delay_ms(500);
//-----------------循環5次閃爍---------------//
for(k=0;k<5;k++)
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
delay_ms(500);
P0=~0x00;
P1=~0x00;
P2=~0x00;
P3=~0x00; //與P3=0xFF一樣
delay_ms(500);
}
}
}
|
-
-
心形燈.zip
2018-10-14 14:44 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
77.89 KB, 下載次數: 45, 下載積分: 黑幣 -5
|