“_crol_” 與“_cror_”其實就是左右循環代碼,其具有程序代碼簡單執行效率高的優點!
現實中的應用很多,例如我們經常見到的流水燈,廣告牌,馬路上的紅綠燈 等。。。
下面是最基本的流水燈代碼,流水燈移動的快慢可以改變“void delay()”子程序進行修改,例如:你選用的是20M的精震,你要改成一秒移動一格,那么你就將“for(x=50;x>0;x--)”和“for(y=100;y>0;y--)”的X值和Y值改成500! 改變方向更加簡單,只需將“_crol_” 與“_cror_”的代碼互換就可以了!
下面是程序代碼“
#include<reg52.h>
#include<intrins.h>
#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--);
}