「_crol_」 與「_cror_」其實就是左右循環代碼,其具有程序代碼簡單執行效率高的優點!
現實中的應用很多,例如我們經常見到的流水燈,廣告牌,馬路上的紅綠燈 等。。。
下面是最基本的流水燈代碼,流水燈移動的快慢可以改變「void delay()」子程序進行修改,例如:你選用的是20M的精震,你要改成一秒移動一格,那麼你就將「for(x=50;x>0;x--)」和「for(y=100;y>0;y--)」的X值和Y值改成500! 改變方向更加簡單,只需將「_crol_」 與「_cror_」的代碼互換就可以了!
下面是程序代碼「
#include
#include
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint temp1;
uchar i;
void delay();
void main()
{
temp=0xfe;
temp1=0x7f;
while(1)
{
for(i=0;i<8;i++)
{
P0=temp;
temp=_crol_(temp,1);
delay();
}
for(i=0;i<8;i++)
{
P0=temp1;
temp1=_cror_(temp1,1);
delay();
P0=temp;
}
}
}
void delay()
{
uint x,y;
for(x=50;x>0;x--)
for(y=100;y>0;y--);
}