| /******************************************************************** 佳和科技
 
 *********************************************************************/
 //实例6:上下来回的流水灯:
 
 #include<reg52.h>                 //包含单片机寄存器的头文件
 #define uchar unsigned char//宏定义无符号字符型
 #define uint unsigned int  //宏定义无符号整型
 /********************************************************************
 初始定义
 *********************************************************************/
 uchar temp;           //定义字符型变量
 uchar a,b,i;
 /********************************************************************
 延时函数
 *********************************************************************/
 void delay()//延时程序
 {
 uchar m,n,s;
 for(m=20;m>0;m--)
 for(n=20;n>0;n--)
 for(s=248;s>0;s--);
 }
 /********************************************************************
 主函数
 *********************************************************************/
 main()
 {
 while(1)          //无限循环
 {
 temp=0xfe; //11111110定义每次一个灯亮
 P0=temp;//直接对1/0口赋值,使批输出低电平。
 delay();//延时
 
 /**********************************
 LED从移动上到下移动
 ***********************************/
 
 for(i=1;i<8;i++)//实现LED的从右到左移动
 {
 a=temp<<i;                //左移i位
 b=temp>>(8-i);        //右移8-i位
 P0=a|b;//按位或
 delay();
 }
 
 /**********************************
 LED从移动下到上移动
 ***********************************/
 
 for(i=1;i<8;i++)//实现广告灯的从左到右移动
 {
 a=temp>>i;            //右移i位
 b=temp<<(8-i);  //左移8-i位
 P0=a|b;//按位或
 delay();
 }
 }
 }
 
 /********************************************************************
 结束
 *********************************************************************/
 
 
 
 
 
 
 |