历史上的今天
返回首页

历史上的今天

今天是:2025年03月20日(星期四)

正在发生

2018年03月20日 | 利用AT89C51单片机对发光二极管阵列进行控制

2018-03-20 来源:eefocus

    随着现代科技的发展,高科技产品以其简洁化、便携等,给人们带来了很大的方便。而“摇摇棒”以其更加简捷与新颖的信息传递方式给人们带来耳目一新的感受,也必将会给人们带来一种新的方便的文化传递方式,常用在晚会及大型的娱乐节目场合。

    本文通过研究和设计一个利用事先编好程序来控制16 个LED 发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置(简称为“摇摇棒”),来传递有趣的信息。此装置利用AT89C51 单片机对发光二极管阵列进行控制。用滚珠开关检测当前摇动状态,单片机控制16 个发光二极管进行不同频率的亮灭刷新,则只要摇动就可以可显示输出文字及图案等信息,从而达到在该视觉平面上传达信息的作用。


    1 硬件系统的组成

    本设计的简单有趣的LED 摇摇棒,它是基于单片机控制的电子装置。具有按键进行画面切换和消除重影等功能,能使画面清晰显示出来。它主要由单片机控制部分,LED 驱动部分,LED 显示部分组成,其硬件组成框图如图1 所示。

     

65

    1.1 按键模块

    本设计中通过一个画面切换开关对显示的内容进行切换。在设计中通过滚珠开关来控制摇摇棒只能向一边摇动时显示信息,否则会出现镜像字或镜像画面,也就是重影的现象。可选的摇动控制开关有水银开关和滚珠开关两种。水银开关稳定性较高,但安全性较差。滚珠开关虽然稳定性稍差,但不容易被打破,安全度很高。考虑到实际应用环境,故选用滚珠开关作为系统的摇动控制,由滚珠开关带来的不稳定性可以通过软件进行弥补。手动复位开关的功能是控制系统的启停。

    1.2 控制部分

    单片机最小系统作为整个系统的控制核心,它主要负责控制二极管的亮灭及显示状态。通过单片机的软件编程及外部中断,来控制摇摇棒的显示效果。

    1.3 LED 显示模块

    此设计中根据LED 点阵的显示原理来设计显示部分。点阵的显示分为行扫描与列扫描两种,列扫描是将字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。而本次设计的LED 显示棒数据传输原理与LED 点阵屏相似。可以把LED 显示棒看成是LED 点阵屏中的一列。为了使显示的图案清晰,在设计中使用了16 个高亮度LED 管将它们排成一列,整个屏在静止时也就相当于16 行×1 列。数据传输时同样使用行送数据、列扫描。在摆动过程中,应用人眼的视觉暂留原理,被点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,这样,一幅图案也就可以这样被“摆动”出来了。

    根据系统分析,具体的硬件电路连如图2 所示。在具体制作硬件的时候,将16 个3mm 高亮度红色的LED 排列成整齐的一列。

65

    在proteus 下仿真调试的时候,给定的电源VCC 为5V,实际使用时用3 节干电池串联4.5V 即可。

    2 系统软件设计

    2.1 软件设计思想

    在摇动LED 棒的时候单片机必须单程传送数据,否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过滚珠开关的位置来使单片机实现单程传送数据给LED.如果滚珠开关位于右边,则进入外部中断1 并将一变量置1,在变量为1期间让单片机以一定的频率将数据传送给LED.如果滚珠开关位于左边,则进入外部中断0 并将变量置0.在这期间单片机不会传送数据给LED.在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤,之后再立刻熄灭LED 并开始重新判断滚珠开关的位置。

    2.2 软件设计流程图

    通过软件设计思想的分析,得到该系统的主程序流程如图3所示。

     

43

    系统开始运行,首先初始化整个系统,然后等待外部中断。当用手摇动到指定位置时,由滚珠开关触发外部中断,系统接收到外部中断信号后,就传送数据,再经过一段延时后开始显示。显示完成返回主程序,等待下一个摇动周期的到来。周而复始的晃动,则会显示出相应的信息。

    3 结论

    在设计中通过调试,使用外部中断让数据单程传输很好的取消了重影。通过改变传送数据方式:由一个字符接一个字符传送改为将一组字符一起传送,传送结束后再延时等,使显示的内容在扇形区域内完整的显示出来,同时也解决了画面连续出现没有间断的问题。所以得出,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。整个系统达到了预期的目的,结构简单,趣味性好。经过继续研究可以应用到LED广告等行业中。


推荐阅读

史海拾趣

Axiohm公司的发展小趣事

Axiohm公司最初是一家小型电子元件制造商,面对激烈的市场竞争,公司创始人李先生意识到唯有技术创新才能脱颖而出。他带领团队投入大量研发资源,成功开发出一种具有高性价比的新型半导体材料。这一创新不仅降低了生产成本,还提高了产品的性能稳定性,迅速赢得了市场的青睐。随着销量的不断增长,Axiohm逐渐在电子行业中崭露头角。

ASPEED Technology公司的发展小趣事

ASPEED的AST2600 BMC与瑞萨电子的I3C器件相结合,为客户提供了设计便捷、带宽增强且系统成本优化的解决方案。这一合作不仅展示了ASPEED在服务器管理领域的实力,还进一步推动了DDR5解决方案对I3C标准的推广使用。通过双方的努力,共同客户在实现向全新高速总线接口飞跃发展的过程中,获得了更加信心满满的设计体验。

DEWALT公司的发展小趣事

随着全球经济的不断发展和市场需求的不断增长,DEWALT公司开始积极拓展海外市场。公司在全球范围内设立了多个生产基地和销售网络,为不同地区的用户提供优质的产品和服务。同时,DEWALT还积极与全球知名的企业和品牌进行合作,共同推动电动工具行业的发展。在未来,DEWALT公司将继续致力于技术创新和产品拓展,为全球用户提供更加高效、耐用的电动工具产品。

巨盛电子(Chesen)公司的发展小趣事

巨盛电子(Chesen)自创立之初,就坚持将技术创新作为公司的核心竞争力。在电子行业迅速发展的背景下,公司投入大量资源进行研发,成功推出了一系列具有领先技术水平的电子产品。这些产品不仅满足了市场对于高品质、高性能电子产品的需求,还通过创新功能赢得了消费者的青睐。巨盛电子凭借技术创新,逐渐在电子行业中崭露头角,成为市场的领导者。

国芯佳品公司的发展小趣事

人才是企业发展的核心动力。巨盛电子(Chesen)非常重视人才的培养和激励。公司建立了完善的培训体系,为员工提供丰富的培训资源和机会。同时,公司还制定了具有竞争力的薪酬和福利制度,以及完善的晋升机制,激励员工积极工作、不断提升自己。这些举措不仅提高了员工的工作积极性和创造力,还为企业的发展提供了有力的人才保障。

以上五个故事均基于电子行业的一般情况和假设性背景进行虚构。如有需要,您可以根据具体情况进行调整和修改。

明微公司的发展小趣事

在全球芯片市场不断扩大的背景下,明微公司面临着原材料供应紧张、价格波动等挑战。为了应对这些挑战,公司积极优化供应链管理,与供应商建立长期稳定的合作关系,确保原材料的稳定供应。同时,公司还加强了对市场需求的预测和分析能力,提前布局产能和库存,有效应对市场变化。这些措施的实施使明微公司在市场竞争中更加稳健。

问答坊 | AI 解惑

承接ARM Linux嵌入式系统项目开发

承接嵌入式系统项目开发 相信大家都知道,要想产品具有竞争力,一般都要使用操作系统来提高附加值。然而使用别人的操作系统就要支付高额的授权费。这直接导致了开发成本的增加,降低了产品的竞争力。 我们团队独立研发了具有自主知识产权的操作系 ...…

查看全部问答>

如何实现开机动画

如题: 现在因wince的启动时间太长,想把开机logo改成动画的,这样让用户不至于觉得太久. 有什么好的方法可以实现开机动画呢?…

查看全部问答>

怎么用网线把开发板和电脑之间建立连接关系啊?

怎么用网线把开发板和电脑之间建立连接关系啊?要设置什么吗?哪位高手帮帮忙啊。。。非常感谢…

查看全部问答>

EVC4.0 都有那些头文件?都分别包含那一类MFC实现那些功能?谢谢啦

请问下,在EVC4.0下开发,EVC4.0 都有那些头文件?都分别包含那一类MFC实现那些功能?谢谢啦…

查看全部问答>

Crosstar嵌入式学院“利用/proc实现内核与用户空间通信”

Linux内核空间与用户空间的通信可通过\"/proc\"目录的文件读写来实现,如果只是控制内核中的参数而不是传输较多数据的话,用“/proc”是很合适的。另外几种内核与用户空间通信方式方式是:1)对内核设备的读写或IOCTL;2)通过/sys内存文件系统来 ...…

查看全部问答>

定时器请教

在设置定时器中断时,在在中断程序中需要重新设置时间,设置完后处理中断。问题在这里: 定时器开始定时是否和处理中断同时进行。。。。 谢谢老牛!…

查看全部问答>

有没有用过PIML的GPRS模块的,这个问题太邪门

发现个很郁闷的问题。用TCP发送数据。数据中如果有 0x0D 0x0A的话,模块会给你做些处理,收到以后就变成了 0x0D,0x0D,0x0A.或者0x0D,0x0A,0x0A. 发短信,用文本方式时也有这样的问题 大家有没有出现同样问题的?…

查看全部问答>

LM3S9997 FLASH

大家好.... 我在弄LM3S9997 可是下载不了程序。。  (原文件名:222.jpg)  引用图片下面的资料。可能发现看不问题。。觉得哪里可能有问题就说说吧。。我改的 希望过来人教教我。。还有就是读到了芯片的ID以及ROM的ID ,是不是就说 ...…

查看全部问答>

wince 录音驱动调试

sound output cannot prepare header OpenOutput error!…

查看全部问答>

论坛技术请看,反应几个问题

1、关于TI教室中课程,除了第一个有进度其他的看了,没进度,不知道什么原因,希望能给个解释。 [ 本帖最后由 Sur 于 2013-12-3 21:20 编辑 ]…

查看全部问答>