目前在我国,对单片机开发已经有了15年左右,逐渐培养出了一支庞大的技术开发人员的队伍,为我国单片机应用积累了许多宝贵的经验。随着电子技术、微电子技术和计算机芯片技术的飞速发展,单片机技术也一日千里的变化着。
伴随着半导体技术、移动通信、网络技术、多媒体技术等等在嵌入式系统设计中越来越广泛的应用,单片机逐渐从开始的4位不断发展至32位,性能越能强大,但是价格却不断下降。这个优势无疑让单偏激成为嵌入式系统方案设计的首选,同时越来越广阔的单片机应用领域也让更多的人加入到了单片机系统的开发行列中来,促使单片机技术不断创新进步,
然而,在传统的单片机系统开发中,我们不仅需要购置各种像仿真器、编程器、示波器等价格昂贵的电子设备,而且开发的过程也相对十分繁琐。幸好随着电子计算机的发展,我们可以利用现代EDA工具方便快捷得开发单片机系统,这类的工具以英国Labcenter Electronics公司的Proteus软件为代表,模拟仿真的能力十分强大。这个软件由PROTEUS VSM(Virtual System Modelling)、PROTEUS PCB DESIGN两大组成部分,常规电子设计中的原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发在PC机上就能方便快捷地实现。
本次毕业设计是用单片机模拟控制烟花燃放的过程。
烟花虽然美丽但生命短暂,数秒的华丽绽放后,随之生成的废气废物却对环境造成了污染,同时储存燃放烟花也存在着安全隐患。人们在发展烟花制造技术的同时,也在寻求更先进的产品来替代传统的火药型烟花,希望能享受烟花带来的快乐又能消除其负面影响。
电子焰花因具有长寿命,可反复使用、环保、储存使用安全等特点,故具有很大的发展潜力。
2 设计原理说明
2.1 设计目标
在本设计中,我用一个16×16的LED点阵显示屏来模拟烟花燃放的过程,并显示特定的字符或图案。本设计运用的是C51单片机,通过编程来控制LED的亮或者暗。
1)模拟烟花燃放的过程;
2)通过键盘选择显示笑脸、月亮、星星等图形。
2.2 设计原理
本次设计拟采用以51单片机为核心控制芯片的电路来实现。单片机外围电路可以分为时钟电路、复位电路、键盘接口、行和列驱动器以及LED点阵电子显示屏总共6个部分。 系统原理框图
16×16的点阵显示屏共有256个LED灯,如果用一个输出端口控制一个LED灯的话,但是单片机只有四组32个输出端口;当然,也可以使用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要32个锁存器。这显然不科学,会使得显示的成本非常的高昂;因此在实际应用中,点阵显示屏一般不会采用这种静态驱动显示的设计方法,而采用另一种称之为动态扫描的显示方法。[1]
动态扫描,简单得说就是逐行轮流点亮。这样的话,扫描驱动电路就能够让多行(比如16行)的同名列共用一套列驱动器。[1]电路运行的时候,先由行驱动器选中需要数据的行数,再由列驱动器送出对应行的数据并锁存,然后再由行驱动器选通下一行,列驱动器再送出下一行的数据并锁存。以此类推,行驱动器依次选通行,列驱动器依次送出各行数据,不断地轮回,当每秒轮回的次数足够多,达到24次以上的话,即每行每秒亮灭24次以上,由于人眼的视觉暂留原理,我们就能看到LED点阵显示屏显示稳定的图像了。[1]
列驱动器接收数据采用的是串行输出的方法,即控制电路只用一根数据线,将需要传输的数据一位一位的传送至列驱动器[1],这样做在经济上是非常划算的。因为只有当一行的所有数据都传输到位的时候,这一行的数据才能进行显示,但是数据又一定要按顺序一位一位的传出给列驱动器,这样就会导致串行传输的过程比较长。