- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式LED灯控制毕业设计(论文)
实验报告
题目:LED灯控制
组 员:苟发强计0601-2
曹 波 计0601-2
指导教师:井海明 姚雄伟
2008年12月
一、【问题描述】
以S3C2410RP Linux实验开发平台为基础,用Linux 下的C语言实现对8X8LED点阵中各灯的控制来实现输出一些简单的文字和图形。
在8X8 LED点阵上,让其先从左到右平滑移动次,从上到下平滑移动三次,如此循环下去。在新兴应用市场不断出现的带动下,近些年 LED 市场规模快速提升。 应用一:显示屏是 LED 主要应用市场,全彩显示屏增势强劲。 应用二:小尺寸背光源市场放缓,中大尺寸将成为新关注点。应用三:汽车车灯市场潜力大,但短期内市场很难启动。应用四:室内装饰灯市场逐步启动,交通灯市场进入平稳增长期。应用五:景观照明市场快速发展, 2007 年市场增速达到高峰。.电路原理图8X8点阵LED结构如下图所示
从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。’1’,其他的为’0’ , 行为’0’,其它的都为’1’;比如:第一行,第八列的灯亮,其它的都灭!则
DR8,DR7,DR6,DR5,DR4,DR3,DR2,DR1DC8,DC7,DC6,DC5,DC4,DC3,DC2,DC1
则可以实现相应的灯亮!
说明:但是在此系统中,对于LED的驱动程序将DR8-DR1 和DC8-DC1 链接起来构成DR8-DR1高位 DC8-DC1地位构成16位二进制数,然后,将此数转换为十进制数,然后用次十进制数来控制一个所有灯的灭与亮!例如上述的就可以用111111101000000这个二进制数对应的十进制数65152 来控制这一只灯亮!
通过分析我们可以得到一个64个点的求法:
Int moban[8]={1,2,4,8,16,32,64,128};
For(i=0;i8;i++)
For(j=0;j8;j++)
A[i][j]=256*(255-moban[i])+moban[j];
通过此函数,就可以求出控制每一个的相应数字,这样我们就可以保证输出任何一种图形!
2、用一个循环实现控制控制点的移动;再分别设计竖柱的右移,行柱的下移,平面的右移,平面的下移,数字循环显示,笑脸图片等。
(1)让竖柱循环右移:可是用moban[8]里面的数字,依次显示,就可以实现竖柱的右移!
(2)行柱的下移:可以用 For(i=0;i8;i++)
Row[i]=256*(255-moban[i])+255;
求出每一行的控制数字然后,让它们依次显示,就是行柱下移。
(3)平面右移:可以用先亮一列,再亮俩列,依次增加,直到全亮,就可以实现平面右移的效果,可以用for(i=0;i8;i++) MianR[i]=2i+1-1; 求出的八个数就是实现平面右移的数字!
(4)平面下移:同上述:先用一行亮,再用两行,依次增加直到八行都亮!
可以用 for(i=0;i8;i++) MianD[i]=256*(255-(2i+1-1))+255;求出八个数就是实现平面下移的数字
(5)0-9的数字循环依照上述算法,推到出来!
(6)笑脸的图案是我们自己用人工的方法结合上述的算法,推导出相应的点;便可实现其功能!
3、用一个大的for循环可以控制,所有的图形,依次执行10次 !
4、用QT设计简单的测试界面:
1)、用主窗口MainWindow ,其中插入俩个按钮Maketest和Exit
2)、用Maketest按钮,调用Maketest()函数,测试程序进行测试
3)、用Exit按钮,调用Exit()函数,结束测试
说明:
主要应用了图形界面与程序代码的纽带,信号和槽
例:
(1) 在mainwindows.h定义俩个信号按钮:
QPushButton *Maketest;
QPushButton *Exit;
(2)在test.h里面定义俩个槽
public slots:
int Maketest();
void Exit();
(3)在mainwindows.
文档评论(0)