单片机流水灯所有程序Word文档下载推荐.docx

上传人:b****6 文档编号:18532306 上传时间:2022-12-19 格式:DOCX 页数:11 大小:21.90KB
下载 相关 举报
单片机流水灯所有程序Word文档下载推荐.docx_第1页
第1页 / 共11页
单片机流水灯所有程序Word文档下载推荐.docx_第2页
第2页 / 共11页
单片机流水灯所有程序Word文档下载推荐.docx_第3页
第3页 / 共11页
单片机流水灯所有程序Word文档下载推荐.docx_第4页
第4页 / 共11页
单片机流水灯所有程序Word文档下载推荐.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机流水灯所有程序Word文档下载推荐.docx

《单片机流水灯所有程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机流水灯所有程序Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。

单片机流水灯所有程序Word文档下载推荐.docx

voidT0_time()interrupt1

TH1=(65536-45872)/256;

//装初值50ms

TL1=(65536-45872)%6;

num;

//num每加一次判断是否到了20次

辻(num二二20)//20*50ms=1000ms=ls,间隔Is

num=0;

//然后把num清0重新再计20次

ledl「ledl;

〃让发光管状态取反

用定时器使1灯间隔Is闪烁

nclude〈:

reg32・h>

#defineunitunsignedint

unitnum;

#defineuchaunsignedchar

#defineuniunsignedint

unia;

(00000001)

//?

?

uchartable[]={0xfe,Oxfc,0xf8,OxfO,OxeO,OxcO,0x80,0x00};

uchatablel[]={0x80,OxcO,OxeO,OxfO,0xf8,Oxfc,Oxfe,Oxff);

voiddelayms(unit);

while

(1)

for(num^O;

num<

8;

num)//?

Pl=table[numZ;

delayms(500);

for(a=8;

a>

0;

a―)//改成for(a=0;

a)

Pl=tablel[a]:

voiddelayms(unitxms)

uniti,j;

for(i=xms;

i>

i--)

for(j=110;

j>

j—);

没有实现理想的流水灯,问题已解决,见下面程序

uchartable[]={Oxff,Oxfe,Oxfc,0xf8,OxfO,OxeO,OxcO,0x80,0x00};

voiddelayms(unit):

while⑴

for(num=0;

num<

9;

num)

Pl=table[numJ;

for(nunF9;

num>

num--)

Pl二table[num];

delayms(500);

i--)for(j=110;

用数组实现流水灯循环,依次点亮,然后依次熄灭

//char是字符数组

//改

uchartable[]={0xfe,Oxfd,Oxfb,0xf7,Oxef,Oxdf,Oxbf,0x7f};

变数组

voiddelayms(unit);

for(num=0;

num)//for循环

Pl=table[numL;

加for语句

j~);

用数组实现流水灯

〃延迟0.5s,下一灯亮

//

nclude〈intrins・h>

#defineunitunsignedintuniti,j;

#defineucharunsignedcharuchara;

voiddelayms(unit):

a=0xfe;

11111110,第一个灯亮

Pl=a;

a=_crol_(a,1);

7654321灯

〃包含_crol_函数所在的头文件

//赋给a初值Oxfe,即

〃循环左移指令或a=a«

l;

8

〃自定义毫秒X

〃延迟Xms

用循环左移指令实现流水灯

#defineunitunsignedintuniti,j;

void

delayls

sbit

ledl

Pl

led2

1

led3

2

led4

3

ledo

4

led6

5

led7

6

led8

7

main

ledl二0;

delayls();

ledl=l;

led2二0;

delayls();

led2=l;

led3=0;

//头文件

//宏定义

//定义i;

j

〃连接1灯的是锁存器的P10端口

//循环永不停止

//I灯亮1S

〃1灯灭,二灯亮

led3=l;

led4=0;

delayls();

led4=l;

led5=0;

delayls();

led5=l;

led6=0;

led6=l;

led7=0;

led7=l;

led8=0;

led8=l;

ledl=O;

}voiddelayls()

uniti,j;

for(i=500;

i>

i--)for(j=110;

}流水灯

nclude〈reg32・h>

voiddelayls();

sbitled=Pl;

led5

{ledl=0;

#include〈:

main()

while

(1)

//I灯亮IS

led2=0;

led3=l;

led4=l;

ledo=0;

ledo=l;

led6=l;

led7=l;

led8=l;

Pl二0;

Pl二Oxff;

voiddelayls()

for(i=500;

}依次亮,全亮,全灭,循环

sb辻LED4二P「3;

sbitLED5=Pr4;

sbitdula=P2^1;

LED4=0;

LED4=1;

LED5=0;

}4闪5亮

sbitLED2二P「l;

sbitdula二P2"

6;

{dula=l;

LED2二0;

dula=0;

}二灯亮

sbitLED4二P「3;

{while

(1)

{LED4二0;

for(i=1000;

i—)for(j=U0;

LED4=l;

LED5=0;

i—)for(j=110;

dula=l;

4闪5亮

#include〈reg32・h>

voiddelays(unit);

voidmain()

ledl二1;

〃使用局部变量可节约单片机内存

i—)

sbitled二P「0;

unsignedinta;

voidmain()//主函数

a=51000;

led二0;

while(a--);

led二1;

用while函数实现延迟,延迟0.5s

#defineunitunsignedintsbitledl二P「0;

voidmain()

{ledl=0;

for(i=1000;

ledl=l;

一灯亮,延迟Is,灭。

循环

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1