keil流水灯c语言程序,用keil编写流水灯程序(用keil5编写简单流水灯程序)

本文目录一览:

  • 1、c语言流水程序 求具体代码
  • 2、keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)
  • 3、用keil写的来回流水灯程序,要求左右来回的
  • 4、keil c51单片机 流水灯。

c语言流水灯程序 求具体代码

1灭)。编译器keil

C代码如下:

#include

#include

//包含循环左移函数

_cro_l头文件

unsigned

char

tmp;

//中间变量

//////////////////////////////////////////////////////////////////////////////////////////////////

//

延时子程序

////////////////////////////////////////////////////////////////////////////////////////////////

void

delay(unsigned

int

cnt)

{

while(–cnt);

}

//////////////////////////////////////////////////////////////////////////////////////////////////

//

主函数

////////////////////////////////////////////////////////////////////////////////////////////////

main()

{

while(1)

//外层循环

{

tmp

=

0xfe;

P1

=

tmp;

while(1)

//内层循环,执行1、3、5、7亮灯循环

{

delay(30000);

//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定

tmp

=

_crol_(tmp,2);

P1

=

tmp;

if(tmp

==

0xbf)

//判断是否已经点亮到第7灯。是,则退出进入2、4、6、8循环

{

break;

}

}

tmp

=

0xfd;

P1

=

tmp;

while(1)

//内层循环,执行2、4、6、8亮灯循环

{

delay(30000);

//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定

tmp

=

_crol_(tmp,2);

P1

=

tmp;

if(tmp

==

0x7f)

//判断是否已经点亮到第8灯。是,则退出进入1、3、5、7循环

{

break;

}

}

}

}

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)

#include “reg51.h”

main()

{

unsigned int i,j;

while(1)

{

P1=0xfe; //点亮第一个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0xfd; //点亮第二个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0xfb; //点亮第三个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0xf7; //点亮第四个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0xef; //点亮第五个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0xdf; //点亮第六个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0xbf; //点亮第七个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

P1=0x7f; //点亮第八个LED

for(i=200;i0;i–)

for(j=500;j0;j–);

}

}

或:

#include “reg51.h”

void delay(unsigned int t)

{

unsigned inti,j;

for(i=t;i0;i–)

for(j=110;j0;j–);

}

main()

{

unsigned char w,i;

while(1)

{

w=0xfe;

for (i=0;i8;i++)

{

P1=w; //循环点亮LED

w=1; //点亮灯的位置移动,最低位补0

w=w|0x01; //将最低位置1

delay(500); //延时

}

}

}

或:

#include “reg51.h”

//程序中使用_crol_函数,所以要包含头文件”intrins.h”

#include “intrins.h”

void delay(unsigned int t)

{

unsigned int i,j;

for(i=t;i0;i–)

for(j=110;j0;j–);

}

main()

{

unsigned char temp;

temp=0xfe;

while(1)

{

P1=temp;

delay(500); //延时

temp=_crol_(temp,1); //点亮LED的位置循环左移一位

}

}

用keil写的来回流水灯程序,要求左右来回的

#include reg52.h

#include intrins.h

#define uchar unsigned char

#define uint unsigned int

void DelayMS(uint x)

{

uchar t;

while(x–)

{

for(t=120;t0;t–);

}

}

void main()

{

uchar i;

P2=0x01;

while(1)

{

for(i=7;i0;i–)

{

P2=_crol_(P2,1);

DelayMS(150);

}

for(i=7;i0;i–)

{

P2=_cror_(P2,2);

DelayMS(150);

}

}

}

不懂就问,要根据你电路图的连接来适当调整管脚定义。

keil c51单片机 流水灯。

#includereg51.h

unsigned int n;

unsigned char m = 0, temp = 254;

sbit SPK = P1^5;

main()

{

TMOD = 0x01;

TH0 = (65536 – 1000) / 256;

TL0 = (65536 – 1000) % 256;

TR0 = 1;

ET0 = 1;

EA = 1;

P2 = temp;

while(1);

}

void T0_INT() interrupt 1

{

TH0 = (65536 – 1000) / 256;

TL0 = (65536 – 1000) % 256;

n++;

if(n = 1000) {

n = 0;

m++;

if (m == 8) {m = 0; temp = 254;}

else {temp = 1; temp += 1;}

}

if(n 500) {SPK = ~SPK; P2 = temp;}

else P2 = 255;

}

以上程序已经实验成功。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平