“_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--); }