ledtdcomconnectionn.com这样写的算网站吗

电子设计大赛-LED点阵书写显示屏(总结)
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
电子设计大赛-LED点阵书写显示屏(总结)
&&&& 今天终于决定要为这次电赛写点小结了。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 遗憾.....
&&&&&& 历经了三个晚上的通宵,白天也逃课了。究竟还是没把电路板做出来...遗憾....QG那边那台刻板机,刻我电路板中的其中一面就需要5、6个小时,而且还刻不成功,最后是因为担心已经轴心磨损的刻板机再这样持续工作下去会坏掉而放弃刻板。那时我的心情很是沉重,因为电路板这一环节的失败就意味着之前的所有努力与成果都是枉然,没有电路板作载体,再好的系统工作方案、再好的程序也得不到体现...眼看这二十多天的努力频临死亡心里真不是滋味。(end)
  已经放弃了采用刻板机来制作电路板,而今天却意外的发现工一某间室可以帮我激光打印热转印纸。之前我跑遍了半个大学城都找不到可以帮我激光打印热转印纸的地方(手工制作电路板的方法其中一种叫热转印法,需要激光打印机把高密度抗腐蚀碳粉打到热转印纸上面去,再热转印到覆铜板上去)。我抱着努力到最后的心态去打印了几张热转印纸。或许是热转印纸的质量问题,每次打印都会受热过度而卷缩(南亭的小赛格真不卖好东西,铜板又贵又不平整、甚至还双面导电!),以致线路不完整,没办法了,总比没有好,线路不完整就用油性笔补呗...
&&&&& 到最后,试验品(小铜板)腐蚀的效果很好,线路很完整。大铜板(20cmX17CM)估计因我只用砂纸打磨了一下,没有用酸性液体预处理过,热转印效果不怎么样,最后断线的地方不少,这样一直补线,(同时,晓光在把另一块从QG那边刻板机做出来的失败品的线路进行抗腐蚀的划线和断线的处理)直到下午五点多,已经超过了作品上交时间...这也意味着我们这次比赛以遗憾告终了....(end)
&&&&&&& 虽然这次比赛是不成功了,但作品还可以继续做下去,这样可以当做我们的一次项目经验。我是这么认为的:拿不了奖也没关系,以后拿奖的机会还多。最重要的是在比赛中使自己得到锻炼,能力得到提升。不过这下子要得找个更好的手工制作电路板的方法。这热转印法太依赖于特定的机器(激光打印机)了 ,万一以后他不帮我们打了那我们就麻烦了。 (感叹:如果我能早点发现这里可以帮我进行激光打印,那我的电路板或许早就做出来了!不过,人能有多少个&如果&?)
&&&&&&&& 另外,我觉得我自己对这次比赛的时间安排得不太好:大概是4月15号公布题目,直至4月底我才把系统详细的最优工作方案写了下来 (可惜这段时间只有我一个人在做,宇曦老是说没头绪,天天在打PSP和看小说,而晓光也刚学单片机没多久。不然,大家能好好合作的话相信速度会更快!)。大概是4月28号左右吧,我把LED屏驱动板的原理图画好后(即系统工作方案已经定下了、元器件也选好了) ,宇曦也帮忙布线。
&&&&&&& 这样直到5月1号,宇曦回家了(5月7/8号回来),晓光也回家了(貌似是5月5号回来的吧,忘记了),那惨了,留下我一个寂寞的孩子在孤军作战.....于是我不甘寂寞,5月1号跟女朋友出去玩了......接下来几天,我的主要工作是写程序。在宇曦回来之前,貌似我剩下几个函数还没写:最头大的一个&对象拖移&函数还有其他几个小函数。宇曦回来后,我把对象拖移交给他写了(你是数据结构上的&刷题哥&啊,所以,这种算法难度高的事就拜托你了!没时间了,我弄其他的驱动去)。(感叹:如果早期宇曦能积极点就好!)
&&&&&&&& 接下来在最后的那几天,大家都积极了,我们一起把主控板、光笔的PCB图都设计好。我忘记了自己什么时候把程序调得通过编译了....同时,我在另一块开发板上测试通过了一些诸如延时函数(该单片机是1T单片机,用同样的晶振,速度却是普通51单片机的8~12倍,好东西!)、AD扫描(STC12C5A60S2单片机P1.0~P1.7内置8路10位高精度AD模块)等等的函数。那时候眼看形势发展得还可以,真没想到在最后我们会败在电路板的制作上面....
&&&&&&&& 最后,我说说我们这个作品的设计方案,有兴趣的童鞋们可以看看:
&&&&& 首先,是题目要求:
LED点阵书写显示屏
设计并制作一个基于32&32点阵LED模块的书写显示屏,其系统结构如图1所示。在控制器的管理下,LED点阵模块显示屏工作在人眼不易觉察的扫描微亮和人眼可见的显示点亮模式下;当光笔触及LED点阵模块表面时,先由光笔检测触及位置处LED点的扫描微亮以获取其行列坐标,再依据功能需求决定该坐标处的LED是否点亮至人眼可见的显示状态(如图1中光笔接触处的深色LED点已被点亮),从而在屏上实现&点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移&等书写显示功能。
点阵模块&&
图1& LED点阵书写显示屏系统结构示意图
1.基本要求
(1)在&点亮&功能下,当光笔接触屏上某点LED时,能即时点亮该点LED,并在控制器上同步显示该点LED的行列坐标值(左上角定为行列坐标原点)。
(2)在&划亮&功能下,当光笔在屏上快速划过时,能同步点亮划过的各点LED,其速度要求2s内能划过并点亮40点LED。
(3)在&反显&功能下,能对屏上显示的信息实现反相显示(即:字体笔画处不亮,无笔画处高亮)。
(4)在&整屏擦除&功能下,能实现对屏上所显示信息的整屏擦除。
2.发挥部分
(1)在&笔画擦除&功能下,能用光笔擦除屏上所显汉字的笔画。
(2)在&连写多字&功能下,能结合自选的擦除方式,在30s内在屏上以&划亮&方式逐个写出四个汉字(总笔画数不大于30)且存入机内,写完后再将所存四字在屏上逐个轮流显示。
(3)在&对象拖移&功能下,能用光笔将选定显示内容在屏上进行拖移。先用光笔以&划亮&方式在屏上圈定欲拖移显示对象,再用光笔将该对象拖移到屏上另一位置。
(4)当环境光强改变时,能自动连续调节屏上显示亮度。
(5)当光笔连续未接触屏面的时间超过1~5min时(此时间可由控制器设定),能自动关闭屏上显示,并使整个系统进入休眠状态,此时系统工作电流应不大于5mA。
(6)其他。
1.设计制作时所用LED点阵模块的发光颜色不限。
2.各种功能的切换方式自定,但应力求操作简便。
3.在各种功能的实际操作过程中,必要时可用按键或其他控制方式进行辅助。例如,&连写多字&时,写完一字后用自定义控制方式存入该字并清屏,然后再写下一字。
4.系统应采用5V单电源供电。
5.设计制作时应在电路板上留有系统耗电参数的测试点。
6.设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。
&&&&&& 分析:这个系统最核心的两个部分是:光笔扫描、LED屏幕显示。
题目所说的&微亮扫描&中的微亮意为:高速、短时间地点亮、熄灭每一个LED灯,利用人眼的&视觉停留效应&(貌似是这么个叫法),让人眼察觉不出LED灯的闪烁,人眼只会觉得它是在微亮。而题目中要求每秒光笔能至少划过并点亮20个点,那也意味着扫描一次光笔所在位置并让屏幕更新显示并延时的操作必须&=50ms,而且光笔位置的扫描所占的时间比必须远远&LED显示所占的时间比。这样,由于扫描过程中,光笔所在点的的LED灯亮的时间是非常短暂的,所以对光敏器件有两个要求:响应速度快、灵敏。于是我选用了3DU33光电三极管。tr、tf(电平的上升、下降变化所需最小时间)均小于5微秒,而且3DU33是对波长为880nm的近红外光反应最灵敏(LED屏上的LED灯也是红光灯),再加上3DU33在基极产生的光电流经过自身的放大能达到3ma左右,这电流足以让外接的8050(NPN三极管)进入深饱和,这样一来,光笔对光的反应时很稳定了。(结果我们做出来的电路板只有光笔,这光笔的外形挺像一架潜艇的,哈哈,我那笨拙的手工总是被宇曦笑,不过这光笔对光的反应还真的想预期那样非常稳定,而且对自然光没反应(抗自然光干扰))
&&&&&& 另外,在光笔上,我安装了一个小按键(为了人性化而设计的),因为假如我把光笔对着LED屏却不想写字、或者写字过程中轻轻拖过LED屏的表面,在普通情况下都默认为写字。这样就不好了,我把按键装在人手大拇指最常按到的地方,这样,我真要写字时便自然而然的按下去了。这按键接到外部中断口(平时关掉外部中断用来作普通IO口用),这样,程序里面可以判断按键是否被按下而决定是否进行光笔扫描和数据更新了。另外,这按键还有一个好处,就是可以在空闲模式(待机)时按下唤醒整个系统,即我想写字时,随手用拇指按一下便可以写了,很人性化吧?呵呵~(至于这个按键的按键抖动,我接了个旁路电容去抖,再说,因为按键抖动时间比扫描一次并更新显示的50ms要小得多,所以可以忽略其带来的负面影响,负面影响几乎为0)。
&&&&&&& 关于这个光笔,最后我说说这个扫描方案,这几乎是这个系统的核心(以后的所有操作都有依赖于它):我最初的笨方案是一个一个点的扫描,没扫描一次就是1024个点,算法/操作时间复杂度为O(1024)。这是最笨最没效率的方法。后来改进了,把光笔接到普通IO口上去,每次选通一行LED,给该行中32列LED同步输出(用74HC573的输出使能控制可以做到)这32列的地址编码(0~31可以用5位二进制数表示,所以32列LED的地址编码都是5位数据),每次截取32列编码中的一位送出去,再读回光笔端口数据,共5位。这样马上就可以判断光笔所在列。可是,这样当光笔在第31列就分辨不出来了,因为扫描不在光笔当前所在行的话,数据与扫描在光笔所在行,而光笔在31列的效果一样,同样是11111(b)。而且这种方案的算法/操作时间复杂度为O(32*5)=O(160)。为了解决这个问题,我再加以改进了一下,把光笔接到定时器/计数器端口,并让计数器赋初值:65535-N,(N&=1)并把该定时器/计数器工作方式选为16位计数器。在每次的行扫描时同步给32列以N次高低脉冲(电平持续时间&=5微秒)。这样当行扫描切换到光笔当前所在行时,光笔电平从高到低跳变N次就可以触发计数器中断。N取指为2就可以有效地抗干扰了。&&&& 进入计数器中断服务程序后,保持当前行选通并保存行数据,同步给32列以5次编码脉冲(电平的高低变化)。这样读回的5位数据就是光笔当前所在列坐标,保存,OK!这种改进的方案不仅解决了上述问题,而且提高了抗干扰性,还有一个更重要的是它的算法/操作时间复杂度仅为:O'(32*N+5),如果N取指为2,则时间复杂度为:O'(69),而且比起第二个方案,O(1)'&O(1)。因为采用计数器中断,所以比起第二个方案节省了很多CPU时间。
&&&&&&& 最后,我说说整个系统的构架。我是首先按照题目要求把实现的功能划分为两种性质:功能、和对功能的操作。
&&&&&& 功能:必须时刻运行(不时刻运行也要间断运行,即在&& 次数--时间& 坐标系上的表现是线性的)。
&&&&&& 操作:不能预知什么时候运行,由使用者决定,即在&&& 次数--时间& 坐标系上的表现是离散的。
&&&& 功能有如下:1、点亮与画亮 (即写字功能、开机默认)
&     &&&&&&& 2、多字连写
     &&&&&&&& 3、自动调光功能
    &&&&&&&&&&& 4、超时待机功能
&& 对功能的操作有如下:
&&&&&&&&&&&&&&&&&&&&&&&&& 1、反显(可对于功能1和功能2模块操作)
&     &&&& 2、整屏擦除(可对于功能1和功能2模块操作)
&     &&& 3、光笔擦除(可对于功能1和功能2模块操作)
    &&&&&&&&& 4、对象拖移(可对于功能1和功能2模块操作)
     &&&&& 5、写字存储(可对于功能1和功能2模块操作)PS:由于时间问题,
    &&&&&&&&&&&&& 而且这个功能题目没要求,暂先搁置
     &&&&& 6、自动调光参数设置,即调整使用者喜好的屏幕亮度级别,
       &&& 而同时,系统会在这个级别内对LED屏根据环境光强的变化而自动调光
     &&&& 7、超时待机时间设定
& 然后接下来就是程序了.........程序很长呢,不知道各位童鞋们看不看得下(因为我们一起干的宇曦、晓光说看不下,估计宇曦这家伙是懒得不愿意看),由于篇幅有限完整的程序和电路图请点这里:,完全测试通过,如有问题可与我联系.
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网 51hei.com , All Rights Reserved没有更多推荐了,
不良信息举报
举报内容:
Winform中C#实现读写app.config中的connectionStrings
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!本页链接:
网友们正在为您出谋划策,请耐心等待!
猜你感兴趣大学生可以参加哪些科技类型的比赛?_百度知道
大学生可以参加哪些科技类型的比赛?
可以参加的大赛:1、挑战杯2、全国大学生机械创新设计大赛3、全国大学生节能减排社会实践与科技竞赛4、中国大学生创意创业大赛5、湖南省“动感地带校园创业大赛”6、湘潭市“火炬杯”科技发明大赛
采纳率:100%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 led.36ve.com 的文章

 

随机推荐