单片机流水灯源程序如下:
- //头文件及端口的定义//
- #include <reg52.h>
- #include <intrins.h> //包含左移和右移函数的头文件//
- void delayms(unsigned char ms) //延时函数//
- {unsigned char i ;
- while (ms--){
- for (i=0;i<120;i++);
- }
- }
- main()//主函数//
- {unsigned char LED;//定义变量//
- unsigned char j;
- while(1)
- {j=0x07;
- LED=0xfe; //赋值循环次数//
- P1=LED; //P0口送0xfe=11111110,二极管低电平亮灯,最右侧第八盏灯点亮//
- while (j>0)
- {delayms (250);
- LED=_crol_(LED,1); //调用intrins.h头文件中的crol()函数,将二进制向左移动一位,初始值是 //
- //0xfe=11111110,向左移,l动一位,就是将0向左移动一位,0xfd=11111101,使彩灯向左一次点亮//
- P1=LED;
- j--;
- }
- j=0x7f; //赋值循环次数//
- LED=0x7f;
- P1=LED; //p0口送0x7f=01111111二极管低电平点亮,最左侧第一盏灯点亮//
- while (j>0)
- {
- delayms(250);
- LED=_cror_(LED,1); //调用intrins.h头文件中的cror()函数,将二进制向右移动一位,初始值是0x7f=01111111,向右移动一位,就是将//
- //0向左移动一位。0xbf=10111111,使灯从左向右依次点亮//
- P1=LED;
- j--;
- }
- }
- }
复制代码
所有资料51hei提供下载:
流水灯循环.zip
(13.21 KB, 下载次数: 18)
|