单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

谢谢了

1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。

2、#include "reg51.h"首先写出单片机的头函数。

3、#include "intrins.h"输入位移函数。

4、unsigned int count=0,led;定义函数。

5、输入主函数,定义单片机的端口,写入延时函数。

6、中断跳转,使流水灯运行起来。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-05

单片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

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

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动

{

P1=~temp;

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

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮

{

P1=temp;

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

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮

{

P1=temp;

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

temp>>=1;

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

扩展资料

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

void delay(int a)

{

int i;

while(a--)for(i=0;i<110;i++);

}

main()

{

int i;

while(1)

{

P0=0xfe;

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

{

P0=_crol_(P0,1);

delay(500);

}

}

}

本回答被网友采纳
第2个回答  2020-03-02
#include
//51系列单片机定义文件
#define
uchar
unsigned
char
//定义无符号字符
#define
uint
unsigned
int
//定义无符号整数
void
delay(uint);
//声明延时函数
void
main(void)
{
uint
i;
uchar
temp;
while(1)
{
temp=0xFE;
for(i=0;i<8;i++)
//8个流水灯依次全部点亮
{
P1=temp;
delay(500);
//调用延时函数
temp<<=1;
}
}} void
delay(uint
t)
//定义延时函数
{
register
uint
bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
第3个回答  2022-04-18
要求不高,就不用 C 语言了。
ORG 0
MOV A, #127
LOOP:  MOV P1, A
RL  A
DL:   DJNZ R7, $
DJNZ R6, DL
JMP LOOP
END
第4个回答  推荐于2018-02-24
#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(500); //调用延时函数
temp<<=1;
}
}} void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}本回答被网友采纳
相似回答