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

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

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

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

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

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

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

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

#include<reg52.h>

#include <intrins.h>//包含有则让左右循环移位子函数的库

#define uint unsigned int

#define uchar unsigned char void delay(uint z) //延时函数,z的取值为这个函数的延时ms数

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void main() //主函数

{

uchar a,i,j

while(1)

{

for(j=0j<3j++) //寄偶交替

{

P1=0x55

delay(300)

P1=0xaa

delay(300)

}

for(j=0j<3j++)//流汪碰水灯

{

a=0xfe

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

{

P1=a

delay(300)

a=_crol_(a,1)

}

}

P1=0xff

for(j=0j<3j++) //从两边往中间流

{

P1=0x7e

delay(300)

P1=0xbd

delay(300)

P1=0xdb

delay(300)

P1=0xe7

delay(300)

}

P1=0xff

for(j=0j<3j++)//从中间往两边流

{

P1=0xe7

delay(300)

P1=0xdb

delay(300)

P1=0xbd

delay(300)

P1=0x7e

delay(300)

}

P1=0xff

for(j=0j<6j++)

{

P1=~P1

delay(300)

}

P1=0xff

}

}你试下行不行,是11.0592MHz的,时间上接近,但不精困盯谈确的!

#include<reg51.h>

voiddelay(void)

{

unsignedinti,j

for(i=0i<200i++)

for(j=0j<1000j++)

}

voidmain(void)

{

while(1)

{

P3=0xfe//第一个灯亮拿薯歼

delay()//延时

P3=0xfd//第二个灯亮

delay()

P3=0xfb//第三个灯亮

delay()

P3=0xf7//第四个灯亮

delay()

P3=0xef//第五个灯亮

delay()

P3=0xdf//第六个灯亮

delay()

P3=0xbf//第七个灯亮

delay()

P3=0x7f//第八个灯亮

delay()

}

}

扩展资料

单片机C语言16种方式流水灯

voidmain()

{

while(1)

{

P1=0xfe//点亮第一个发光管

Delay(5000)

P1=0xfd//点亮手烂第消冲二个发光管

Delay(5000)

P1=0xfb

Delay(5000)

P1=0xf7

Delay(5000)

P1=0xef

Delay(5000)

P1=0xdf

Delay(5000)

P1=0xbf

Delay(5000)

P1=0x7f//点亮第八个发光管

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12275854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存