8个LED灯左右循环
#include<reg51.h>
#include<intrins.h>//_crol_(P1,1) 左移函数,_croc_(P1,1) 右移函数 在这库中。
#define uchar unsigned char //定义uchar 为无符号字符,对应的十位数为最大值为255
#define uint unsigned int //定义uint 为无符号整型,16位系统中十位数最大为65535
void delay(uint ms)// 延时函数
{
uint i, j; //定义变量i ,j .
for(i=0; i<ms;i++)
for(j=0; j<110; j++);//j每次加1,等j>110时,跳出此for
}
//主程序,LED灯,从P1.0口移到P1.8,然后从P1.8移到P1.0口
void main()
{
P1=0x01; // 点亮P1口的0口,0X01十六进制,对应的二进制为0000 0001
while(1)
{
uint t;//定义t为无符号整型变量
for(t=0;t<7;t++)//定义P1口只能移到7次
{
delay(500); // 延时500ms.
P1= _crol_(P1,1);// 左移一位。第一次移对应的二进制为 0000 0010,依次走流水灯P1.0到P1.8口循环。
}
for(t=0;t<7;t++)//到这里,P1口对应的二进制为1000 0000,P1.8口LED灯高亮
{
delay(500);//
P1= _cror_(P1,1);// 右移一位。第一次移对应的二进制为 0000 0010,依次走流水灯P1.0到P1.8口循环。
}
}
#include<intrins.h>//_crol_(P1,1) 左移函数,_croc_(P1,1) 右移函数 在这库中。
#define uchar unsigned char //定义uchar 为无符号字符,对应的十位数为最大值为255
#define uint unsigned int //定义uint 为无符号整型,16位系统中十位数最大为65535
void delay(uint ms)// 延时函数
{
uint i, j; //定义变量i ,j .
for(i=0; i<ms;i++)
for(j=0; j<110; j++);//j每次加1,等j>110时,跳出此for
}
//主程序,LED灯,从P1.0口移到P1.8,然后从P1.8移到P1.0口
void main()
{
P1=0x01; // 点亮P1口的0口,0X01十六进制,对应的二进制为0000 0001
while(1)
{
uint t;//定义t为无符号整型变量
for(t=0;t<7;t++)//定义P1口只能移到7次
{
delay(500); // 延时500ms.
P1= _crol_(P1,1);// 左移一位。第一次移对应的二进制为 0000 0010,依次走流水灯P1.0到P1.8口循环。
}
for(t=0;t<7;t++)//到这里,P1口对应的二进制为1000 0000,P1.8口LED灯高亮
{
delay(500);//
P1= _cror_(P1,1);// 右移一位。第一次移对应的二进制为 0000 0010,依次走流水灯P1.0到P1.8口循环。
}
}
}
8个led灯左右循环下载程序:通过网盘分享的文件:8个LED灯左右循环
链接: https://pan.baidu.com/s/1h-BtkHab4LokIvXMP639qQ 提取码: t576








最新发布