谢谢
/***************************************** 间隔300ms先奇数亮再偶数亮,循环三次; 一个灯上下循环三次; 两个分别从两边往中间流动三次,再从中间往两边流动三次;(这个还不会) 8个全部闪烁3次; 关闭发光管,程序停止。
******************************************/
#include <reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int void delay(uint); void main() { uint x,y,z; uchar temp1,temp2,temp3,temp4; temp1=0xaa; temp2=0xfe; temp3=0x00; temp4=0xff; /************************/ for(x=6;x>0;x--) //间隔300ms先奇数亮再偶数亮,循环三次 { P1=temp1; delay(340); temp1=_crol_(temp1,1); };
/************************/ P1=temp4; delay(340); P1=temp2; for(x=3;x>0;x--) //一个灯左右循环三次 {
for(y=7;y>0;y--) //向左流动7位 { temp2=_crol_(temp2,1); P1=temp2; delay(340); }; for(z=0;z<7;z++) //向右流动7位 { temp2=_cror_(temp2,1); P1=temp2; delay(340); }; }; /************************* 两个分别从两边往中间流动三次,再从中间往两边流动三次; 这个算法还不会,请大虾们给个解。谢谢。
*************************/
for(x=3;x>0;x--) //8个全部闪烁3次 { P1=temp4; delay(340); P1=temp3; delay(340);
} P1=temp4; }
/****************************/
void delay(uint z)//延时 { uint x,y; for(x=z;x>0;x--) for(y=100;y>0;y--); }
|