7376|17

85

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教 LED灯闪烁模式 [复制链接]

现在有8个LED ,用51单片机的8个I/O控制,老大让闪烁200种模式

如果每种模式写一个函数实现,那就得200个函数,老大说200个函数太大了

他要像活字印刷那样,几个函数通过不同的组合就能实现这200种模式

唉,想得头都大了,不知道大家有没有什么好的方法能实现???

最新回复

问题已经解决 void light(UINT pin1,UINT pin2,UINT pin3,UINT pin4,UINT pin5,UINT pin6,UINT pin7,UINT pin8) 哪个引脚直接用这个引脚数字表示就行了,不用直接用引脚做参数,如P1_6,给pin6赋值6  详情 回复 发表于 2008-8-20 09:04
点赞 关注

回复
举报

88

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你可以先试着写几个完整的函数,完了你就知道有哪些可以合并或者组合的了,实践出真知
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
楼上说的很对,就像图像显示一样,先考虑怎么显示点,再显示线,面,接着就是组合的问题了
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
其实就是一个函数:
void LED(char num); // num是LED的数字0-7,希望哪个亮就点哪个。

至于用这个函数怎么实现200种模式,就得看所谓的“模式”的需求了。

200种模式?没有具体的说明吗?那最简单的:2的8次方是256,就是二进制显示,每次加1,所以可以满足。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
可以用case 实现
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

6
 
多大点事啊!
一个函数搞定,要255种都可以。
void LED(byte num)
{byte i;
  POTA=num;
}
num一个字节是二进制的,代表8个输出的输出,1是高电平,0是低电平,怎么组合楼主自己去考虑喽!~~
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
再加上控制每一个LED点亮的时间长短就更完美了:
void LED(byte num,byte timeperiod)
{
}

 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

8
 
所以说,需求不明,案子就没法做。问题问的模糊,答案就会很多。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 
8个灯的闪烁模式,可以是1237亮3秒,2468亮3秒,也可以是从1亮到8,或者从8亮到1.等等等等...

就算把200种闪烁模式放到一个函数里,最终还是得写200种模式啊
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
有了明确的需求,才好做事。


既然需要200种,而且又都没有共性,那就得写200种。没有规律的东西做起来不是难,而是烦。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 7 楼 shuiyan 的回复:
所以说,需求不明,案子就没法做。问题问的模糊,答案就会很多。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

12
 
有规律啊!你从0到FFH依次点亮,就有255种模式,如果加上时间变量,就无穷了
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

13
 
我觉得应该可以结帖了
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
我觉得你的设计要把这些LED的共性找出来,如何简化你的设计,通过这些共性,最佳参数,就可以进行控制了。自己好好想想吧
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

15
 
有难度!
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

16
 
8个函数
里面放延时跟置位还有个数
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

17
 
还有就是一个一个的往里面套循环
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

18
 
问题已经解决

void light(UINT pin1,UINT pin2,UINT pin3,UINT pin4,UINT pin5,UINT pin6,UINT pin7,UINT pin8)

哪个引脚直接用这个引脚数字表示就行了,不用直接用引脚做参数,如P1_6,给pin6赋值6
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表