几种流水灯的闪亮程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

流水灯闪亮程序

#include

#include

sbit led1=P1^0;

#define uchar unsigned char

#define uint unsigned int

void delay(uint ms);

void main(void)

{

uchar a;

a=0xfe;

while(1)

{

P1=a;

delay(500);

a=_crol_(a,1); //_crol_(a,1);循环左移_cror_(a,1); ;循环右移}

}

void delay(uint ms) //500

{

uint i, j; // uchar时间短uint时间较长

for (i=ms;i>0;i--)

for(j=100;j>0;j--);

}

流水灯程序

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define ulong unsigned long

sbit key=P1^0;

sbit led9=P0^7;

uchar k;

//delay us

void Delay(uchar us) //5,7,9

{

while(--us);

}

//delay ms

void DelayMS(uint iMs)

{

uint i,j;

for(i=0;i

for(j=0;j<65;j++) Delay(1);

}

main()

{

uchar i;

i=0xff;

led9=1;

P2=i;

while(1)

{

key=1;

DelayMS(50);

if(key==0)

{

led9=0;

DelayMS(1000);

led9=1;

i=0x7f;

for(k=0;k<8;k++)

{

P2=i;

i=_cror_(i,1);

DelayMS(500);

}

i=0xfe;

for(k=0;k<8;k++)

{

P2=i;

i=_crol_(i,1);

DelayMS(500);

}

led9=0;

DelayMS(500);

P2=0;

led9=0;

DelayMS(3000);

P2=0xff;

led9=1;

}

}

}

流水灯程序

#include //包含单片机寄存器的头文件

void delay(void)

{

unsigned int i,j; //unsigned char 时间较短,值域0~255 unsigned int 时间较长,值域0~65535

for(i=0;i<500;i++) // i为灭灯时间,j为亮灯时间;

for(j=0;j<500;j++) // i为灭灯时间,j为亮灯时间;

;

}

void main(void)

{

while(1)

{

P1=0xfe; //第一个灯亮

delay(); //调用延时函数

P1=0xfd; //第二个灯亮

delay(); //调用延时函数

P1=0xfb; //第三个灯亮

delay(); //调用延时函数

P1=0xf7; //第四个灯亮

delay(); //调用延时函数

P1=0xef; //第五个灯亮

delay(); //调用延时函数

P1=0xdf; //第六个灯亮

delay(); //调用延时函数

P1=0xbf; //第七个灯亮

delay(); //调用延时函数

P1=0x7f; //第八个灯亮

delay(); //调用延时函数

P1=0xff; //P1口全灭

delay(); //调用延时函数

P3=0xfe; //第一个灯亮

delay(); //调用延时函数

P3=0xfd; //第二个灯亮

delay(); //调用延时函数

P3=0xfb; //第三个灯亮

delay(); //调用延时函数

P3=0xf7; //第四个灯亮

delay(); //调用延时函数

P3=0xef; //第五个灯亮

delay(); //调用延时函数

P3=0xdf; //第六个灯亮

delay(); //调用延时函数

P3=0xbf; //第七个灯亮

delay(); //调用延时函数

P3=0x7f; //第八个灯亮

delay(); //调用延时函数

P3=0xff; //P1口全灭

delay(); //调用延时函数

}

}

带开关控制16盏流水灯的程序

#include //包含单片机寄存器的头文件

sbit key=P1^0; //P1.0端口为开关key表示开关

void delay(void)

{

unsigned int i,j; //unsigned char 时间较短,值域0~255 unsigned int 时间较长,值域0~65535

for(i=0;i<500;i++) // i为灭灯时间,j为亮灯时间;

for(j=0;j<500;j++) // i为灭灯时间,j为亮灯时间;

;

}

void main(void)

{

while(1)

{

key=1;

delay();

if(key==0)

{

P0=0xfe; //第一个灯亮

delay(); //调用延时函数

P0=0xfd; //第二个灯亮

delay(); //调用延时函数

P0=0xfb; //第三个灯亮

delay(); //调用延时函数

P0=0xf7; //第四个灯亮

delay(); //调用延时函数

P0=0xef; //第五个灯亮

delay(); //调用延时函数

P0=0xdf; //第六个灯亮

delay(); //调用延时函数

P0=0xbf; //第七个灯亮

delay(); //调用延时函数

P0=0x7f; //第八个灯亮

delay(); //调用延时函数

P0=0xff; //P1口全灭

相关文档
最新文档