/******************************************************************** 
                            汇诚科技 
 
实现功能:流水灯程序 
使用芯片:AT89S52 
晶振:11.0592MHZ 
波特率:9600 
编译环境:Keil 
作者:zhangxinchunleo 
网站:www.ourhc.cn 
淘宝店:汇诚科技 http://shop36330473.taobao.com 
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!      
 
*********************************************************************/ 
#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--); 
} 
/******************************************************************** 
                            主函数 
*********************************************************************/ 
void main() 
{ 
        temp=0xfe; //11111110定义每次一个灯亮 
        while(1) 
        { 
                P3=P2=P0=P1=temp;//直接对1/0口赋值,使批输出低电平。 
                delay();//延时 
                for(i=1;i<8;i++)//实现广告灯的从右到左移动 
                        { 
                                a=temp<<i;                //左移i位 
                                P3=P2=P0=P1=a;//相与求值 
                                delay(); 
                        } 
        } 
}         
         
/******************************************************************** 
                              结束 
*********************************************************************/ 
 
 
 |