最新光立方毕业说明

合集下载

最新光立方设计说明书

最新光立方设计说明书

光立方设计说明书光立方学院:计算机学院学生姓名:斯东仁,刘逸凡,吕壮壮,龚明强指导教师:唐建国职称教师专业:嵌入式系统工程班级:1501学号:完成时间:2016年5月武汉软件工程职业学院光立方设计课题学院:计算机学院 专业:嵌入式系统工程 指导教师唐建国 学生姓名 斯东仁,吕壮壮,龚明强,刘逸凡课题名称 光立方 内设计内容及任务 一、设计任务 设计一个具有特定功能的光立方。

二、设计内容 1、光立方的硬件系统 (1)单片机最小系统模块 (2)供电模块 (3)光立方显示模块 (4)键盘模块 (5)驱动模块 2、光立方的软件系统 (1)系统监控程序模块 (2)光立方显示程序模块 (3)键盘程序模块三、设计要求该光立方上电或按键复位后能自动显示P.,进入准备工作状态。

该光立方可以通过键盘选择显示花样,切换花样,停止显示。

要求8×8的光立方硬件,并且显示四种及以上花样。

摘要当今社会,随着电子行业的不断发展,单片机的应用从根本上改变了传统的控制系统设计思想和设计方法,已广泛的应用在工业自动化、通信、自动检测、信息家电、电力电子航空航天等各个方面。

成为现代生产和生活中不可缺少的一部分。

设计采用4*4*4的光立方模式,硬件主要分为七个模块:主控模块、驱动模块、显示模块、键盘模块、电源模块、复位模块、下载模块。

采用的主控芯片为AT89S52 芯片,驱动电路是采用了常用74HC573数字芯片,设计采用C语言编程,通过单片机I/O口控制LED的亮灭,采用延时控制LED亮灭时间,最终使得整个立体展现不同的造型和图案,使其变得美轮美奂、绚丽多彩。

关键词:光立方;AT89S52;74LS573锁存器目录1 绪论 (1)1.1 光立方的背景 (1)1.2 研究的意义 (1)2 设计要求和方案介绍 (2)2.1 设计要求 (2)2.2 方案介绍 (2)2.2.1 系统整体框图 (2)2.2.2 光立方发光原理 (3)3 系统硬件电路设计 (4)3.1 主要元器件的介绍 (4)3.1.1 AT89S52芯片介绍 (4)3.1.2 74HC573芯片介绍 (5)3.1.3 四位一体数码管介绍 (5)3.2 硬件电路模块介绍 (7)3.2.1 最小系统模块介绍 (7)3.2.2 驱动模块介绍 (9)3.2.3 键盘模块介绍 (10)3.2.4 显示模块介绍 (10)4 软件系统说明 (12)4.1 软件系统模块 (12)4.2 软件系统模块的程序流程框图 (12)5 光立方系统测试 (15)5.1 操作说明 (15)5.2 测试结果 (15)5.3 结果分析 (17)5.4 设计结论 (17)5.5 设计体会 (17)结束语 (18)参考文献 (19)致谢 (20)附录 (21)附录A 原理图 (21)附录B 实物图 (23)附录C 元件清单 (24)附录D 程序清单 (25)1 绪论1.1 光立方的背景光立方是由四千多棵光艺高科技“发光树”组成的,在2009年10月1日天安门广场举行的国庆联欢晚会上面世,这是新中国成立六十周年国庆晚会最具创意的三大法宝之首,自从国庆60周年联欢晚会开始演练后,一个全新的名词“光立方”,吸引了全国人民的关注,并得到了全球的高度肯定。

光立方毕业设计说明

光立方毕业设计说明

学校代码:10129系别:计算机技术与信息管理系年份:2015毕业设计说明书题目:单片机8*8*8光立方小组成员:孟斌、静厚霖、宋金宝班级:11计教甲班指导教师:郭彬年月摘要随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。

而现代工具务求简捷化、便携化,因此,光立方显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。

单片机8*8*8光立方,在60周年国庆大典上,在天安门前,被称为三大国宝之一的节目就是由我们小组所选的设计光立方组合而成;并且光立方是由LED灯组成,近看几年的发展,LED灯的用途越加的广泛起来,小组看到LED灯的发展前景,经过小组讨论,依据上述两点,最终决定选择光立方作为毕业设计。

光立方是基于人的视觉暂留原理的,通过分时刷新8*8*8构成的512个LED灯来显示输出文字或图案等信息的立体显示装置。

输出信号频率的控制通过单片机连接74hc573芯片来实现,由于人的视觉暂留原理,会由8个LED灯为列到8*8个LED灯为面再到8*8*8个LED灯为立方的过程产生一个立体的视觉效果,在立体视觉效果内的LED灯通过不同频率的刷新,会在立方区域内产生三维立体的图像,从而达到在该立体视觉上传达信息的作用。

本文以单片机、74hc573芯片、LED灯的实际应用为背景,介绍了以单片机、74hc573芯片、LED灯为核心系统的光立方立体显示设计的基本结构和基本原理。

【关键词】单片机、74hc573芯片、LED灯目录引言 (2)一.系统设计方案 (1)1.设计目的 (2)2.设计要求 (2)3.设计思路 (2)二.系统硬件设计 (4)1.基本原理图 (4)2、各部分功能 (4)(1)外部驱动电路模块 (4)(2)LED显示模块 (5)3、系统硬件 (5)(1)单片机控制 (5)(2)显示功能 (5)三.系统软件设计 (7)1.软件设计思路 (7)2.主程序流程图 (7)四.系统的硬件调试及软件调试 (8)1.常见的硬件故障 (8)(1)逻辑错误 (8)(2)器件失效 (8)(3)可靠性差 (8)(4)电源故障 (8)2.硬件调试方法 (8)(1)脱机调试 (8)(2)联机调试 (9)3.软件调试方法 (9)4.具体调试过程 (10)五、有关光立方的制作过程和心得体会 (11)六、作品使用说明 (13)七、制作过程 (14)1.LED灯面的焊接方式 (14)2.逐层LED灯负极的焊接 (16)3.电路版制作 (18)4.电路板上飞线的制作 (19)5.显示部分与电路板之间的焊接 (20)6.每层LED灯负极信号飞线的焊接 (21)八、总结 (22)九、致谢 (23)十、参考文献 (24)引言单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机。

光立方设计与实现论文详细教程

光立方设计与实现论文详细教程

1绪论1.1课题背景在当今信息化社会的高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费类多媒体应用渗透。

随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。

与传统的显示设备相比,这种未来的巨大需求让LED大屏幕显示技术成为众人目光的焦点。

LED显示屏一般分为图文显示屏和视频显示屏,均由LED矩阵块组成。

动态图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维的动画、录像、电视、VCD节目以及现场实况转播。

不仅可以用于室内环境装饰还可以用于室外环境信息传播,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

而且显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于交通运输、车站、商场、医院、宾馆、证券市场、工业企业管理等公共场所。

随着社会经济的不断进步,人们对LED显示器的认识不断加深,其应用领域越来越广。

目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展[1]。

1.2我国LED显示屏研究现状及发展趋势(1)我国LED产业发展现状目前国内主要LED广告大屏幕制造厂商主要集中在华东、华北、华南区域,大型制造商的市场范围几乎覆盖整个国内市场。

国产LED广告大屏幕的性价比比较高,市场占有率近100%。

我国的LED显示屏产业经过几年的发展,基本形成了一批具有一定规模的骨干企业。

我国LED显示屏产业在规模发展的同时,产品技术推陈出新,一直保持比较先进的水平。

LED显示屏产业正成为我国电子信息产业的重要组成部分,也是平板显示领域唯一立足国内形成的民族高科技产业[2]。

(2)LED显示屏的发展趋势二十一世纪的显示技术将是平板显示的时代。

基础材料的产业化,使LED基于单片机的光立方设计与实现全彩色显示产品成本下降,应用加快发展。

毕业课程设计--光立方

毕业课程设计--光立方

摘要本设计制作出一个三维立体显示图案的LED光立方。

本产品不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案。

同时又增加了显示的花样和立体图案显示效果,可以广泛用于传媒信息显示和各种装饰显示,为将来显示技术的进步和发展指导了方向,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。

本设计是采用AT89S52单片机为核心控制器,八D边沿触发器(三态)74LS573扩展I/O口,完成硬件电路设计。

通过软件编程控制数据下载到单片机完成设计图案的显示。

软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

关键词: 52单片机;74HC573锁存器;8*8*8LED显示;ABSTRACTThis design produced a three-dimensional pattern of the LED light cube. This product can not only like a light-emitting diode dot matrix display plane static or dynamic screen can also display three-dimensional static or dynamic images,and to break the traditional program.While increasing the display patterns and three-dimensional effect can be widely used to display and decorative display for future progress and development to guide the direction,light cube display more visual effects than the light-emitting diode dot matrix,and the picture is more rich colorful. With a combination of graphics and characters more perfect display characteristics.The design is AT89S52 MCU core controller,eight D edge flip-flop 74LS574 (tri-state) expansion I/O port completion of the hardware circuit design. Programmed by software to control the data is downloaded to the MCU to complete the designs of the show. This design software is a top-down modular design,the system moving in the direction of distributed,small development,enhance the stability of the system's scalability and running.KEY WORDS: 52single-chip;74HC573latch;8*8*8 3DLED;目录1、设计要求与方案 (1)1.1设计目的 (1)1.2设计要求 (1)1.3设计思路 (1)1.4设计的总体要求及方案选择 (2)2、工作原理 (3)2.1模块的简介 (3)2.2 3DLED光立方工作原理 (4)3、方案选择 (5)3.1电源的选择 (5)3.2 3D显示核心控制器 (5)3.3 I/O口扩展芯片的选择 (6)3.4 LED发光显示二级管 (6)4、硬件整体设计概述及功能分析 (8)4.1 系统概述 (8)4.2 系列单片机简介 (9)4.3 时钟电路设计 (9)4.4 复位电路设计 (10)4.5 74HC573芯片连接电路图与介绍 (11)5、主程序设计思路 (13)5.1程序流程框图 (13)5.2显示程序的设计 (13)5.2.1 LED显示屏的数据传送 (13)5.2.2 显示程序的设计 (14)6、硬件电路设计 (15)6.1 单片机与74HC573连接线路图 (15)6.2 LED焊接方法 (15)6.2.1焊前准备工作 (15)6.2.2焊接 (16)6.3 整体实物图 (17)7、程序设计分析与选择 (18)7.1单片机C语言主要特点 (19)7.2单片机C语言与标准语言的区别 (19)7.3数据类型的选用 (20)7.4算法设计问题 (20)7.5数据存储器的分配 (21)7.6单片机C语言与汇编语言的混合编程 (21)7.7程序分析选择 (23)8、程序设计 (24)9、设计结果分析 (28)总结 (30)致谢 (31)参考文献 (32)1、设计要求与方案1.1 设计目的在当今现代信息化社会的高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费类多媒体应用渗透。

光立方毕业设计

光立方毕业设计

基于STC12C5A60S2的光立方设计【摘要】本次设计使用512个LED灯制作8*8*8的LED立方体,命名为光立方。

采用STC12C5A60S2芯片作为主控,8个74HC573锁存器和一个ULN2803芯片扩展I/O口,作为外围控制。

通过编程控制I/O口,点亮指定的LED灯,使得显示不同的画面。

8*8*8光立方因点亮LED灯将会形成各种图形,如爱心、数字、雨滴、正方体等十几种画面。

整个立体呈现不同的造型和图案,动画衔接完美,使其变得美轮美奂、绚丽多彩,立体感十足。

此外,我们还可以外接音频输入,通过AD采样,快速傅里叶变换FFT,可以让光立方显示音频频谱。

经过系统测试,最终达到设计要求。

【关键词】光立方 STC12C5A60S2 74HC573 ULN2803Based on STC12C5A60S2 of the Light Cube Design【Abstract】:The 8*8*8 LED cube is made of 512 LED lights,named Light Cubewhich used STC12C5A60S2 as main control chip,it has 8 74HC573 latches extended I/O ports,and a ULN2803 chip as out control. Through programming control I/O port, the LED light. 8 * 8 * 8 cubic light for light leds will form a variety of graphics, such as love heart,numbers,rain,cube and so on. animation, cohesion is perfect, stereo sense is dye-in-the-wood. In addition, we also can external audio input, through the AD sampling, fast Fourier transform FFT, can let light cube display audio spectrum. After the system test, finally to meet the design requirements.【Keywords】:The Light Cube STC12C5A60S2 74HC573 ULN2803目录【摘要】 (1)【Abstract】 (1)目录 (2)第一章引言 (1)1.1光立方的研究意义 (1)1.2发展历程和现状 (1)1.3 光立方的功能和特点 (1)1.4 光立体的优越性以及主要应用 (2)第二章控制模块设计 (3)2.1 系统总框图 (3)2.2 总体方案的选择 (3)2.2.1主控芯片 (3)2.2 总体方案的选择 (3)2.2.1主控芯片 (3)2.2.2 电源选择 (4)2.2.3 元件选择 (4)第三章光立方显示部分概述 (7)3.1 光立方的制作 (7)3.1.1 光立方的原理 (7)3.1.2 LED灯的选用 (7)3.1.3 LED灯的焊接 (9)3.2显示部分检测 (10)第四章硬件设计 (13)4.1最小系统 (13)4.2 按键模块 (13)4.3功放模块 (14)4.3.1 功放原理图 (14)4.4呼吸指示灯 (15)4.5 竖排控制电路 (15)4.6 光立方层控制电路 (16)4.7 硬件电路焊接 (17)4.8 元件清单 .......................................................................................................... 错误!未定义书签。

基于STC51单片机光立方设计与实现

基于STC51单片机光立方设计与实现

毕业论文(设计)题目:基于STC51单片机的光立方设计与实现**:**学号:**********层次:本科专业:软件工程班级: 12级(13)班指导教师:***独创性声明一、本论文是本人独立完成;二、本论文没有任何抄袭行为;三、若有不实,一经查出,请答辩委员会取消本人答辩资格。

承诺人(签名):年月日摘要本设计使用51系列的单片机STC15F2K60S2作为整个设计的控制,每层的64个LED通过层共阴的形式连接起来。

每束的8个LED通过共阳的形式连接起来。

使用74HC593控制各束LED的阳极,使用ULN2803控制各层的阴极。

组成一个由512个LED、规格为8*8*8的立方体。

同时介绍了STC15F2K60S2、74HC573、ULN2803的使用方法及选用原因。

同时介绍了在调试过程中,遇到的软、硬件方面的问题以及解决方法。

对光立方的原理进行了详细的阐述,并详细的介绍了光立方在应用方面的意义。

关键词光立方;74HC593;STC15F2K60S2;ULN2803;LEDSummary This design uses 51 series microcontrollers STC15F2K60S2 as the control of the entire design, form each of 64 LED by connecting the common cathode layer. Each bundle of eight LED connected through common anode form. Use 74HC593 control each beam LED anode, cathode layers using ULN2803 control. Composition consisting 512 LED, specifications for the cube 8 * 8 * 8. Also introduced STC15F2K60S2,74HC573, ULN2803 to use and selection reasons. Also introduced the problem in the debugging process, encountered software and hardware and solutions. Light cube principle set forth in detail, and describes in detail the significance of light cube applications.Keywords light cube;74HC593;STC15F2K60S2;ULN2803;LED目录1 前言 (1)1.1研究的背景 (1)1.2研究的意义 (1)1.3研究内容和结构 (1)2 总体设计 (2)2.1 系统的设计方案及工作原理 (2)2.2 各模块元件选择 (3)2.2.1 控制模块元件的选择 (3)2.2.2 驱动模块元件的选择 (3)2.2.3 显示模块元件的选择 (4)3 硬件电路设计与实现 (4)3.1 硬件电路布局 (4)3.2 控制模块电路的设计 (5)3.2.1 单片机的说明及引脚规划 (5)3.2.2 电源电路的设计 (6)3.2.3 串口选择电路的设计 (6)3.2.4 程序下载及串口通信电路的设计 (7)3.3 驱动模块电路的设计 (7)3.3.1 ULN2803的说明及引脚规划 (7)3.3.2 74HC573的说明及引脚规划 (8)3.4 显示模块电路的设计 (9)3.5 光立方搭建方法 (9)3.5.1 弯折LED的引脚 (9)3.5.2 光立方的焊接 (11)3.5.3 元器件的焊接 (13)4 软件设计 (13)4.1显示程序的设计 (14)4.2 光立方的显示数据 (15)4.2.1 内置显示数据 (15)4.2.2 串口接收显示数据 (17)4.2.3 显示数据来源的选择 (18)4.3 显示数据的获取 (19)5 测试和问题分析 (20)6结论 (20)附录 (21)参考文献 (23)致谢语 (24)1 前言1.1研究的背景在高速的信息、商业发展过程中,LED点阵广告显示器得到了广泛的应用,LED 点阵显示屏已逐步取代传统的大尺寸纸质广告,在大街小巷常见的LED点阵显示屏都得益于LED灯的发明。

推荐-3D光立方说明书 精品

推荐-3D光立方说明书 精品

3D光立方说明书摘要光立方是一个长、宽、高由8×8×8 个LED 灯组成的真实3D 立方体显示器。

其最大的特点,就是带给观赏者立体的超酷的3D视觉体验。

因此各大网站也充斥着各种各样的光立方版本。

但是这各种版本的光立方的制作方法都很复杂,而且成本也很高,而本设计与之相比则制作简单精美,成本低廉。

为保证光立方精美的外形,本设计还提供了一种光立方的制作模板,以确保将动手能力导致的美观差异降到最低。

为降低其成本,本设计采用了STC12C5A60S2单片机,这种单片机自带有A/D转换模块;使用的锁存器是常用的SN74HC573。

这样可以保证在降低制作成本的情况下,毫不影响作品的美观;再加上显示效果极佳的高亮雾面的蓝色方形LED,硬件电路无需添加额外的驱动和上拉电阻,即可实现其强大的功能:除了能显示3D 图形,还可以支持多级亮度和速度调整,允许用户自拓展音频显示功能,就像音乐显示器一样。

用户还可以在不改动硬件电路的情况下设计出自己喜欢的的自定义图形。

这些充分体现了制作成本低、显示效果好、功能完善的特点。

最后,经过软硬件调试,解决了一些硬件电路短路,程序报错的问题,完美地实现了多种图形动态显示,流畅的图形变换和音频显示的多种功能。

关键词:光立方制作模板音频显示 A/D转换ABSTRACTLight-cube is a long, wide, high is posed of 8 x 8 x 8 leds true 3 d volumetric display. Its biggest characteristic, is to bring the viewer stereo cool 3 d visual experience. So each big web site is filled with all kinds of cubic light version.But all versions of this light cubic method is very plex, and the cost is also high, and pared with this design is beautifully simple and low cost.In order to ensure the exquisite cubic shape, this design also provides a light cube production template, to ensure that the ability to appearance difference to a minimum.To reduce its cost, this design USES STC12C5A60S2 MCU, the MCU built-in A/D conversion module; Use the latch is SN74HC573 in mon use. So that in the case of lower production costs, not effect the beauty of the works; Plus showed excellent results highlighted square LED fog below in blue, don't need to add additional hardware circuit drive pull up resistance, and its powerful functions can be realized: in addition to display 3 d graphics, can support multiple levels of brightness and speed adjustment, allows the user to expand the audio display function, like music display. Users can also in the case of do not change the hardware circuit design their own custom graphics. These fully reflect the production of low cost, good effect of display, the characteristics of the function is perfect.Finally, after the hardware and software debugging, solve some of the short circuit hardware circuit, program error, perfect the dynamic variety of graphic display, smooth graphics transform and audio display a variety of functions.Key words: light-cube making stencil audio-display A/D conversion目录1、引言1.1研究意义LED射灯是指发出的光线是方向性的(directional)的LED灯泡, 主要类型有MR16,GU10, PAR series.LED球泡灯是指发出的光线为发散性的LED灯泡, 主要类型为:E27 base.按照功率来分, LED灯泡可分为: 小功率(主要为5mm LED生产的)和大功率(主要1 W, 3 W ,甚至5 W LED生产的)。

光立方使用说明

光立方使用说明

光立方使用说明
一.
光立方通电之后只有地板的垫脚灯亮,上面的显示部分不会亮。

用户要根据自己需要选择显示模式,一共有三种模式:
第一种是上位机同步显示图形模式,按住menu键进入上位机模式;
第二种是频谱模式,按住increase键进入频谱模式;
第三种是自带的脱机动画模式,按住decrease键进入脱机动画模式。

二.
软件说明:
1、驱动安装,与上位机连接时需要安装USB转串口驱动,解压驱动目录“USB转串口驱动”,驱动安装如下:
运行“USB转串口驱动”目录下的PL2303_Prolific_DriverInstaller_v110.exe文件,一直点击下一步直到完成,然后重新插上USB线缆,
打开计算机的设备管理器,如下图所示,若出现表
示驱动安装成功。

2、软件使用
双击“控制软件”目录下的“3D8S_alpha”,
打开如下界面
注意如果没有安装.net,会提示软件缺少文件,请安装.net运行环境,运行控制软件运行环境目录下的
“dotNetFx40_Client_x86_x64.exe”
B、选择波特率为115200
C、点击Connect
D、点击play
软件其他功能请用户自己学习。

如有疑问请与店主联系:邮件boshi1987@。

光立方_毕业论文(含程序原理图实物图)

光立方_毕业论文(含程序原理图实物图)

目录摘要 .......................................................................................................................................................... X XX 关键词 ...................................................................................................................................................... X XX 1绪论 . 02总体设计 (1)工作原理 (1)各模块方案选择与论证 (1)单片机主控制模块 (1)驱动模块 (1)显示模块 (1)图2-2 雾面乳型LED灯 (2)3 系统硬件电路设计与实现 (2)硬件电路设计 (2)单片机最小系统 (2)驱动模块的设计 (4)主程序设计 (8)系统调试 (9)硬件测试 (9)软件测试 (10)结果分析 (10)6结论 (11)Keywords (13)致谢语 (14) (16) (16)程序清单 (17)#include <> (17)#define uchar unsigned char (17)#define uint unsigned int (17)sbit p30 = P1^0; (17)sbit p31 = P1^1; (17)sbit p32 = P1^2; (17)sbit p33 = P1^3; (17)sbit p34 = P1^4; (17)sbit p35 = P1^5; (17)sbit p36 = P1^6; (17)sbit p37 = P1^7; (17)uchar display[8][8]; (17)/*rank:A,1,2,3,4,I,心,U*/ (17)uchar code table_cha[8][8]={0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,0x18,0x1c,0x18,0x18,0x18, 0x18,0x18,0x3c,0x3c,0x66,0x66,0x30,0x18,0xc,0x6,0xf6,0x3c,0x66,0x60,0x38,0x60,0x60 ,0x66,0x3c,0x30,0x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,0x3c,0x3c,0x18,0x18,0x18,0x18,0 x3c,0x3c,0x66,0xff,0xff,0xff,0x7e,0x3c,0x18,0x18,0x66,0x66,0x66,0x66,0x66,0x66,0x7 e,0x3c}; (17)/*the "ideasoft"*/ (17)uchar code table_id[40]={0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,0x00,0xff,0x89,0x89,0x00,0xf 8,0x27,0x27,0xf8,0x00,0x8f,0x89,0x89,0xf9,0x00,0xff,0x81,0x81,0xff,0x00,0xff,0x09, 0x09,0x09,0x01,0x0,0x01,0x01,0xff,0x01,0x01,0x00}; (17)/*railway*/ (17)uchar code dat[128]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xf c,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4,0x25,0x45,0x65,0x8 5,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29, 0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,0x 6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,0x25 ,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,0x35,0 x31,0x2d,0x29,0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8 ,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4}; (17)/*railway 2*/ (17)uchar code dat2[28]={0x0,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xf c,0xdc,0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,0x10,0xc,0x8,0x4}; (17)/*railway 3*/ (17)uchar code dat3[24]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x16,0x26,0x36,0x46,0x56,0x66,0x65,0x 64,0x63,0x62,0x61,0x60,0x50,0x40,0x30,0x20,0x10}; (17)/*3p char*/ (17)uchar codex3f,0x1f,0x0e,0x18,0x3c,0x7e,0xff,0x18,0x18,0x18,0x18}; (17)/*initializtion (17)That is to initialize the program (17)It is write to set the timer in c52 mcu (17)So the program can renovate the led_3d_cube in fixed time use the interrupt function.*/ (17)void sinter() (17){ (17)IE=0x82; (17)TCON=0x01; (17)TH0=0xc0; (17)TL0=0; (17)TR0=1; (17)} (17)void delay5us(void) 误差 STC 1T (18){ (18)unsigned char a,b; (18)for(b=7;b>0;b--) (18)for(a=2;a>0;a--); (18)} (18)void delay(uint i) (18){ (18)while (i--){ (18)delay5us();}12t的mcu 注释这个延时即可 (18)} (18)/*To judge the num bit*/ (18)uchar judgebit(uchar num,uchar b) (18){ (18)char n; (18)num=num&(1<<b); (18)if (num) (18)n=1; (18)else (18)n=0; (18)return n; (18)} (18)/*To figure out the round number*/ (18)uchar abs(uchar a) (18){ (18)uchar b; (18)b=a/10; (18)a=a-b*10; (18)if (a>=5) (18)b++; (18)/*To figure out the absolute value*/ (18)uchar abss(char a) (18){ (18)if (a<0) (18)a=-a; (18)return a; (18)} (18)/*The function can comparat the character (18)And remove the big one to the back.*/ (18)void max(uchar *a,uchar *b) (18){ (18)uchar t; (18)if ((*a)>(*b)) (18){ (18)t=(*a); (18)(*a)=(*b); (19)(*b)=t; (19)} (19)} (19)/*The function is to figure out the max number and return it.*/ (19)uchar maxt(uchar a,uchar b,uchar c) (19){ (19)if (a<b) (19)a=b; (19)if (a<c) (19)a=c; (19)return a; (19)} (19)void clear(char le) (19){ (19)uchar i,j; (19)for (j=0;j<8;j++) (19){ (19)for (i=0;i<8;i++) (19)display[j][i]=le; (19)} (19)} (19)void trailler(uint speed) (19){ (19)char i,j; (19)for (i=6;i>=-3;i--) (19){ (19)if (i>=0) (19)display[j][i]=display[j][i+1]; (19)} (19)if (i<4) (19){ (19)for (j=0;j<8;j++) (19)display[j][i+4]=0; (19)} (19)delay(speed); (19)} (19)} (19)void point(uchar x,uchar y,uchar z,uchar le) (19){ (19)uchar ch1,ch0; (19)ch1=1<<x; (19)ch0=~ch1; (20)if (le) (20)display[z][y]=display[z][y]|ch1; (20)else (20)display[z][y]=display[z][y]&ch0; (20)} (20)void type(uchar cha,uchar y) (20){ (20)uchar xx; (20)for (xx=0;xx<8;xx++) (20){ (20)display[xx][y]=table_cha[cha][xx]; (20)} (20)} (20)/*The first variable is the distance from the midpoint. (20)The second is the layer (20)the third is the flash speed of the time between each two point. (20)The forth is the enable io,it controls weather draw or claen.*/ (20)void cirp(char cpp,uchar dir,uchar le) (20){ (20)uchar a,b,c,cp; (20)if ((cpp<128)&(cpp>=0)) (20){ (20)if (dir) (20)cp=127-cpp; (20)else (20)cp=cpp; (20)a=(dat[cp]>>5)&0x07; (20)b=(dat[cp]>>2)&0x07; (20)c=7-c; (20)point (a,b,c,le); (20)} (20)} (20)void line(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar le) (20){ (20)char t,a,b,c,a1,b1,c1,i; (20)a1=x2-x1; (20)b1=y2-y1; (20)c1=z2-z1; (20)t=maxt(abss(a1),abss(b1),abss(c1)); (20)a=x1*10; (20)b=y1*10; (21)c=z1*10; (21)a1=a1*10/t; (21)b1=b1*10/t; (21)c1=c1*10/t; (21)for (i=0;i<t;i++) (21){ (21)point(abs(a),abs(b),abs(c),le); (21)a+=a1; (21)b+=b1; (21)c+=c1; (21)} (21)point(x2,y2,z2,le); (21)} (21)void box(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le) (21){ (21)uchar i,j,t=0; (21)max(&x1,&x2); (21)max(&y1,&y2); (21)max(&z1,&z2); (21)for (i=x1;i<=x2;i++) (21)t|=1<<i; (21)if (!le) (21)t=~t; (21)if (fill) (21){ (21)if (le) (21){ (21)for (i=z1;i<=z2;i++) (21){ (21)} (21)} (21)else (21){ (21)for (i=z1;i<=z2;i++) (21){ (21)for (j=y1;j<=y2;j++) (21)display[j][i]&=t; (21)} (21)} (21)} (21)else (21){ (22)if (le) (22){ (22)display[y1][z1]|=t; (22)display[y2][z1]|=t; (22)display[y1][z2]|=t; (22)display[y2][z2]|=t; (22)} (22)else (22){ (22)display[y1][z1]&=t; (22)display[y2][z1]&=t; (22)display[y1][z2]&=t; (22)display[y2][z2]&=t; (22)} (22)t=(0x01<<x1)|(0x01<<x2); (22)if (!le) (22)t=~t; (22)if (le) (22){ (22)for (j=z1;j<=z2;j+=(z2-z1)) (22){ (22)for (i=y1;i<=y2;i++) (22)display[i][j]|=t; (22)} (22)for (j=y1;j<=y2;j+=(y2-y1)) (22){ (22)for (i=z1;i<=z2;i++) (22)display[j][i]|=t; (22)} (22)} (22)for (j=z1;j<=z2;j+=(z2-z1)) (22){ (22)for (i=y1;i<=y2;i++) (22){ (22)display[i][j]&=t; (22)} (22)} (22)for (j=y1;j<=y2;j+=(y2-y1)) (22){ (22)for (i=z1;i<=z2;i++) (22){ (23)display[j][i]&=t; (23)} (23)} (23)} (23)} (23)} (23)void box_apeak_xy(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le) (23){ (23)uchar i; (23)max(&z1,&z2); (23)if (fill) (23){ (23)for (i=z1;i<=z2;i++) (23){ (23)line (x1,y1,i,x2,y2,i,le); (23)} (23)} (23)else (23){ (23)line (x1,y1,z1,x2,y2,z1,le); (23)line (x1,y1,z2,x2,y2,z2,le); (23)line (x2,y2,z1,x2,y2,z2,le); (23)line (x1,y1,z1,x1,y1,z2,le); (23)} (23)} (23)void poke(uchar n,uchar x,uchar y) (23){ (23)uchar i; (23)for (i=0;i<8;i++) (23){ (23)point(x,y,i,judgebit(n,i)); (23)void boxtola(char i,uchar n) (23){ (23)if ((i>=0)&(i<8)) (23){ (23)poke(n,0,7-i); (23)} (23)if ((i>=8)&(i<16)) (23){ (23)poke(n,i-8,0); (23)} (24)if ((i>=16)&(i<24)) (24){ (24)poke(n,7,i-16); (24)} (24)} (24)void rolldisplay(uint speed) (24){ (24)uchar j; (24)char i,a; (24)for (i=23;i>-40;i--) (24){ (24)for (j=0;j<40;j++) (24){ (24)a=i+j; (24)if ((a>=0)&(a<24)) (24)boxtola(a,table_id[j]); (24)} (24)delay(speed); (24)} (24)} (24)void roll_apeak_yz(uchar n,uint speed) (24){ (24)uchar i; (24)switch(n) (24){ (24)case 1: (24)for (i=0;i<7;i++) (24){ (24)display[i][7]=0; (24)display[7][6-i]=255; (24)delay(speed); (24)}; (24)break; (24){ (24)display[7][7-i]=0; (24)display[6-i][0]=255; (24)delay(speed); (24)}; (24)break; (24)case 3: (24)for (i=0;i<7;i++) (25){ (25)display[7-i][0]=0; (25)display[0][i+1]=255; (25)delay(speed); (25)}; (25)break; (25)case 0: (25)for (i=0;i<7;i++) (25){ (25)display[0][i]=0; (25)display[i+1][7]=255; (25)delay(speed); (25)}; (25)} (25)} (25)void roll_apeak_xy(uchar n,uint speed) (25){ (25)uchar i; (25)switch(n) (25){ (25)case 1: (25)for (i=0;i<7;i++) (25){ (25)line(0,i,0,0,i,7,0); (25)line(i+1,7,0,i+1,7,7,1); (25)delay(speed); (25)}; (25)break; (25)case 2: (25)for (i=0;i<7;i++) (25){ (25)line(i,7,0,i,7,7,0); (25)line(7,6-i,0,7,6-i,7,1); (25)delay(speed); (25)}; (25)for (i=0;i<7;i++) (25){ (25)line(7,7-i,0,7,7-i,7,0); (25)line(6-i,0,0,6-i,0,7,1); (25)delay(speed); (25)}; (26)break; (26)case 0: (26)for (i=0;i<7;i++) (26){ (26)line(7-i,0,0,7-i,0,7,0); (26)line(0,i+1,0,0,i+1,7,1); (26)delay(speed); (26)}; (26)} (26)} (26)void roll_3_xy(uchar n,uint speed) (26){ (26)uchar i; (26)switch(n) (26){ (26)case 1: (26)for (i=0;i<8;i++) (26){ (26)box_apeak_xy (0,i,0,7,7-i,7,1,1); (26)delay(speed); (26)if (i<7) (26)box_apeak_xy (3,3,0,0,i,7,1,0); (26)}; (26)break; (26)case 2: (26)for (i=0;i<8;i++) (26){ (26)box_apeak_xy (7-i,0,0,i,7,7,1,1); (26)delay(speed); (26)if (i<7) (26)box_apeak_xy (3,4,0,i,7,7,1,0); (26)}; (26)break; (26)case 3: (26)for (i=0;i<8;i++) (26){ (26)box_apeak_xy (0,i,0,7,7-i,7,1,1); (26)box_apeak_xy (4,4,0,7,7-i,7,1,0); (26)}; (26)break; (26)case 0: (26)for (i=0;i<8;i++) (27){ (27)box_apeak_xy (7-i,0,0,i,7,7,1,1); (27)delay(speed); (27)if (i<7) (27)box_apeak_xy (4,3,0,7-i,0,7,1,0); (27)}; (27)} (27)} (27)void trans(uchar z,uint speed) (27){ (27)uchar i,j; (27)for (j=0;j<8;j++) (27){ (27)for (i=0;i<8;i++) (27){ (27)display[z][i]>>=1; (27)} (27)delay(speed); (27)} (27)} (27)void tranoutchar(uchar c,uint speed) (27){ (27)uchar i,j,k,a,i2=0; (27)for (i=0;i<8;i++) (27){ (27)if (i<7) (27)box_apeak_xy (i+1,0,0,i+1,7,7,1,1); (27)box_apeak_xy (i2,0,0,i2,7,7,1,0); (27)a=0; (27)i2=i+1; (27)for (j=0;j<=i;j++) (27){ (27)a=a|(1<<j); (27)} (27)for (k=0;k<8;k++) (27){ (27)display[k][3]|=table_cha[c][k]&a; (27)display[k][4]|=table_cha[c][k]&a; (27)} (27)} (27)void transss() (28){ (28)uchar i,j; (28)for (i=0;i<8;i++) (28){ (28)for (j=0;j<8;j++) (28)display[i][j]<<=1; (28)} (28)} (28)/*From now on,the function below is to display the flash.*/ (28)void flash_1() (28){ (28)clear(0); (28)type(1,0); (28)delay(60000); (28)type(2,0); (28)delay(60000); (28)type(3,0); (28)delay(60000); (28)type(4,0); (28)delay(60000); (28)delay(60000); (28)clear(0); (28)rolldisplay(30000); (28)type(0,7); (28)delay(60000); (28)trailler(6000); (28)delay(60000); (28)} (28)void flash_2() (28){ (28)uchar i; (28)for (i=129;i>0;i--) (28){ (28)cirp(i-2,0,1); (28)delay(8000); (28)cirp(i-1,0,0); (28)} (28)delay(8000); (28)for (i=0;i<136;i++) (28){ (28)cirp(i-8,1,0); (29)} (29)delay(8000); (29)for (i=129;i>0;i--) (29){ (29)cirp(i-2,0,1); (29)delay(8000); (29)} (29)delay(8000); (29)for (i=0;i<128;i++) (29){ (29)cirp(i-8,1,0); (29)delay(8000); (29)} (29)delay(60000); (29)} (29)void flash_3() (29){ (29)char i; (29)for (i=0;i<8;i++) (29){ (29)box_apeak_xy(0,i,0,7,i,7,1,1); (29)delay(20000); (29)if (i<7) (29)box_apeak_xy(0,i,0,7,i,7,1,0); (29)} (29)for (i=7;i>=0;i--) (29){ (29)box_apeak_xy(0,i,0,7,i,7,1,1); (29)delay(20000); (29)if (i>0) (29)box_apeak_xy(0,i,0,7,i,7,1,0); (29)} (29)for (i=0;i<8;i++) (29){ (29)box_apeak_xy(0,i,0,7,i,7,1,1); (29)delay(20000); (29)if (i<7) (29)box_apeak_xy(0,i,0,7,i,7,1,0); (29)} (29)} (29)void flash_4() (29){ (30)an[j-7]=j; (30)for (i=0;i<=16;i++) (30){ (30)for (j=0;j<8;j++) (30){ (30)if ((an[j]<8)&(an[j]>=0)) (30)line(0,an[j],j,7,an[j],j,1); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (((an[j]+1)<8)&(an[j]>=0)) (30)line(0,an[j]+1,j,7,an[j]+1,j,0); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (an[j]>0) (30)an[j]--; (30)} (30)delay(15000); (30)} (30)for (j=0;j<8;j++) (30)an[j]=1-j; (30)for (i=0;i<=16;i++) (30){ (30)for (j=0;j<8;j++) (30){ (30)if ((an[j]<8)&(an[j]>=0)) (30)line(0,an[j],j,7,an[j],j,1); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (((an[j]-1)<7)&(an[j]>0)) (30)line(0,an[j]-1,j,7,an[j]-1,j,0); (30)} (30)for (j=0;j<8;j++) (30){ (30)if (an[j]<7) (30)an[j]++; (30)} (30)delay(15000); (30)} (30)} (31)void flash_5() (31)char i=8,j,an[4]; (31)1 (31)for (j=7;j<11;j++) (31)an[j-7]=j; (31)while(i--) (31){ (31)for (j=0;j<4;j++) (31){ (31)if (an[j]<8) (31)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (31)if (an[j]<7) (31)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (31)} (31)for (j=0;j<4;j++) (31){ (31)if (an[j]>3) (31)an[j]--; (31)} (31)delay(a); (31)} (31)2 (31)i=3; (31)for (j=0;j<4;j++) (31)an[j]=5-j; (31)while(i--) (31){ (31)for (j=1;j<4;j++) (31){ (31)if (an[j]<4) (31)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (31)if (an[j]<3) (31)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (31)} (31)for (j=0;j<4;j++) (31){ (31)if (an[j]>0) (31)an[j]--; (31)} (31)delay(a); (31)} (32)3 (32)i=3; (32)for (j=1;j<4;j++) (32){ (32)for (j=1;j<4;j++) (32){ (32)if (an[j]>=0) (32)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (32)if (an[j]>0) (32)box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0); (32)} (32)for (j=1;j<4;j++) (32){ (32)if (an[j]<3) (32)an[j]++; (32)} (32)delay(a); (32)} (32)4 (32)i=3; (32)for (j=0;j<4;j++) (32)an[j]=j+1; (32)while(i--) (32){ (32)for (j=1;j<4;j++) (32){ (32)if (an[j]>3) (32)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (32)if (an[j]>3) (32)box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0); (32)} (32)for (j=0;j<4;j++) (32)an[j]++; (32)delay(a); (32)} (32)5 (32)i=3; (32)for (j=3;j<6;j++) (32)an[j-2]=j; (32)while(i--) (32){ (33)for (j=1;j<4;j++) (33){ (33)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (33)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (33)} (33)if (an[j]>3) (33)an[j]--; (33)} (33)delay(a); (33)} (33)6 (33)i=3; (33)for (j=0;j<4;j++) (33)an[j]=5-j; (33)while(i--) (33){ (33)for (j=1;j<4;j++) (33){ (33)if (an[j]<4) (33)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (33)if (an[j]<3) (33)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (33)} (33)for (j=0;j<4;j++) (33){ (33)if (an[j]>0) (33)an[j]--; (33)} (33)delay(a); (33)} (33)7 (33)i=3; (33)for (j=0;j<4;j++) (33)an[j]=3-j; (33)an[0]=2; (33)while(i--) (33){ (33)for (j=0;j<3;j++) (33){ (33)if (an[j]>=0) (33)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (34)if (an[j]>=0) (34)box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0); (34)} (34)for (j=0;j<4;j++) (34){ (34)if (j<5-i) (34)an[j]--; (34)} (34)8 (34)i=10; (34)for (j=0;j<4;j++) (34)an[j]=j-2; (34)while(i--) (34){ (34)for (j=0;j<4;j++) (34){ (34)if (an[j]>=0) (34)box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1); (34)if (an[j]>=0) (34)box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0); (34)} (34)for (j=0;j<4;j++) (34){ (34)if (an[j]<7) (34)an[j]++; (34)} (34)delay(a); (34)} (34)} (34)void flash_6() (34){ (34)uchar i,j,k,z; (34)roll_apeak_yz(1,10000); (34)roll_apeak_yz(2,10000); (34)roll_apeak_yz(3,10000); (34)roll_apeak_yz(0,10000); (34)roll_apeak_yz(1,10000); (34)roll_apeak_yz(2,10000); (34)roll_apeak_yz(3,10000); (34)for (i=0;i<3;i++) (34){ (34)for (j=0;j<8;j++) (35){ (35)for (k=0;k<8;k++) (35){ (35)if ((table_3p[i][j]>>k)&1) (35){ (35)for (z=1;z<8;z++) (35){ (35)point (j,7-k,z,1); (35)delay(5000); (35)} (35)} (35)} (35)} (35)trans(7,15000); (35)} (35)} (35)void flash_7() (35){ (35)uchar i; (35)uint a=3000; (35)roll_apeak_yz(0,10000); (35)roll_apeak_yz(1,10000); (35)roll_apeak_yz(2,10000); (35)roll_apeak_yz(3,10000); (35)roll_apeak_yz(0,10000); (35)roll_apeak_yz(1,10000); (35)roll_apeak_yz(2,10000); (35)roll_apeak_yz(3,10000); (35)roll_apeak_yz(0,10000); (35)roll_apeak_yz(1,10000); (35)roll_apeak_yz(2,10000); (35)roll_apeak_xy(0,10000); (35)roll_apeak_xy(1,10000); (35)roll_apeak_xy(2,10000); (35)roll_apeak_xy(3,10000); (35)roll_apeak_xy(0,10000); (35)roll_apeak_xy(1,10000); (35)roll_apeak_xy(2,10000); (35)roll_apeak_xy(3,10000); (35)for (i=0;i<8;i++) (36){ (36)box_apeak_xy (0,i,0,7-i,i,7,1,1); (36)delay(a); (36)} (36)delay(30000); (36)roll_3_xy(0,a); (36)delay(30000); (36)roll_3_xy(1,a); (36)delay(30000); (36)roll_3_xy(2,a); (36)delay(30000); (36)roll_3_xy(0,a); (36)delay(30000); (36)roll_3_xy(1,a); (36)delay(30000); (36)roll_3_xy(2,a); (36)delay(30000); (36)roll_3_xy(3,a); (36)for (i=7;i>0;i--) (36){ (36)box_apeak_xy(i,0,0,i,7,7,1,0); (36)delay(a); (36)} (36)} (36)void flash_8() (36){ (36)uchar i; (36)for (i=5;i<8;i++) (36){ (36)tranoutchar(i,10000); (36)delay(60000); (36)delay(60000); (36)} (36)} (36)void flash_9() (36){ (36)char i; (36)uchar j,an[8],x,y,t,x1,y1; (36)for (i=0;i<8;i++) (36){ (36)box_apeak_xy (i,0,0,i,7,7,1,1); (36)if (i) (37)box_apeak_xy (i-1,0,0,i-1,7,7,1,0); (37)delay(10000); (37)} (37)roll_apeak_xy(3,10000); (37)roll_apeak_xy(0,10000); (37)roll_apeak_xy(1,10000); (37)for (i=0;i<7;i++) (37){ (37)line(6-i,6-i,0,6-i,6-i,7,1); (37)line(i,7,0,i,7,7,0); (37)delay(10000); (37)} (37)for (i=0;i<85;i++) (37){ (37)clear(0); (37)for (j=0;j<8;j++) (37){ (37)t=an[j]%28; (37)x=dat2[t]>>5; (37)y=(dat2[t]>>2)&0x07; (37)t=(an[j]-14)%28; (37)x1=dat2[t]>>5; (37)y1=(dat2[t]>>2)&0x07; (37)line(x,y,j,x1,y1,j,1); (37)} (37)for (j=0;j<8;j++) (37){ (37)if ((i>j)&(j>i-71)) (37)an[j]++; (37)} (37)delay(5000); (37)} (37)for (i=0;i<85;i++) (37){ (37)clear(0); (37)for (j=0;j<8;j++) (37){ (37)t=an[j]%28; (37)x=dat2[t]>>5; (37)y=(dat2[t]>>2)&0x07; (37)t=(an[j]-14)%28; (38)x1=dat2[t]>>5; (38)y1=(dat2[t]>>2)&0x07; (38)line(x,y,j,x1,y1,j,1); (38)} (38)for (j=0;j<8;j++) (38){ (38)if ((i>j)&(j>i-71)) (38)an[j]--; (38)} (38)delay(5000); (38)} (38)for (i=0;i<29;i++) (38){ (38)clear(0); (38)y=(dat2[t]>>2)&0x07; (38)t=(an[0]-14)%28; (38)x1=dat2[t]>>5; (38)y1=(dat2[t]>>2)&0x07; (38)box_apeak_xy(x,y,0,x1,y1,7,0,1); (38)box_apeak_xy(x,y,1,x1,y1,6,0,1); (38)an[0]++; (38)delay(5000); (38)} (38)for (i=0;i<16;i++) (38){ (38)clear(0); (38)t=an[0]%28; (38)x=dat2[t]>>5; (38)y=(dat2[t]>>2)&0x07; (38)t=(an[0]-14)%28; (38)x1=dat2[t]>>5; (38)y1=(dat2[t]>>2)&0x07; (38)box_apeak_xy(x,y,0,x1,y1,7,1,1); (38)an[0]--; (38)delay(5000); (38)} (38)for (i=0;i<8;i++) (38){ (38)line(i,i,0,0,0,i,0); (38)delay(5000); (39)} (39)for (i=1;i<7;i++) (39){ (39)line(i,i,7,7,7,i,0); (39)delay(5000); (39)} (39)for (i=1;i<8;i++) (39){ (39)clear(0); (39)box(7,7,7,7-i,7-i,7-i,0,1); (39)delay(10000); (39)} (39)for (i=1;i<7;i++) (39){ (39)clear(0); (39)box(0,0,0,7-i,7-i,7-i,0,1); (39)delay(10000); (39){ (39)clear(0); (39)box(0,0,0,i,i,i,0,1); (39)delay(10000); (39)} (39)for (i=1;i<7;i++) (39){ (39)clear(0); (39)box(7,0,0,i,7-i,7-i,0,1); (39)delay(10000); (39)} (39)for (i=1;i<8;i++) (39){ (39)box(7,0,0,7-i,i,i,1,1); (39)delay(10000); (39)} (39)for (i=1;i<7;i++) (39){ (39)clear(0); (39)box(0,7,7,7-i,i,i,1,1); (39)delay(10000); (39)} (39)} (39)void flash_10() (40){ (40)uchar i,j,an[4],x,y,t; (40)for (i=1;i<7;i++) (40){ (40)clear(0); (40)box(0,6,6,1,7,7,1,1); (40)box(i,6,6-i,i+1,7,7-i,1,1); (40)box(i,6,6,i+1,7,7,1,1); (40)box(0,6,6-i,1,7,7-i,1,1); (40)box(0,6-i,6,1,7-i,7,1,1); (40)box(i,6-i,6-i,i+1,7-i,7-i,1,1); (40)box(i,6-i,6,i+1,7-i,7,1,1); (40)box(0,6-i,6-i,1,7-i,7-i,1,1); (40)delay(30000); (40)} (40)for (i=0;i<4;i++) (40){ (40)an[i]=6*i; (40)} (40)clear(0); (40)for(j=0;j<4;j++) (40){ (40)t=an[j]%24; (40)x=dat3[t]>>4; (40)y=dat3[t]&0x0f; (40)box(x,y,0,x+1,y+1,1,1,1); (40)box(x,y,6,x+1,y+1,7,1,1); (40)} (40)for (j=0;j<4;j++) (40)an[j]++; (40)delay(10000); (40)} (40)for (i=0;i<35;i++) (40){ (40)clear(0); (40)for(j=0;j<4;j++) (40){ (40)t=an[j]%24; (40)x=dat3[t]>>4; (40)y=dat3[t]&0x0f; (40)box(x,y,0,x+1,y+1,1,1,1); (41)box(x,y,6,x+1,y+1,7,1,1); (41)} (41)for (j=0;j<4;j++) (41)an[j]--; (41)delay(10000); (41)} (41)for (i=0;i<35;i++) (41){ (41)clear(0); (41)for(j=0;j<4;j++) (41){ (41)t=an[j]%24; (41)x=dat3[t]>>4; (41)y=dat3[t]&0x0f; (41)box(x,0,y,x+1,1,y+1,1,1); (41)box(x,6,y,x+1,7,y+1,1,1); (41)} (41)for (j=0;j<4;j++) (41)an[j]++; (41)delay(10000); (41)} (41)clear(0); (41)for(j=0;j<4;j++) (41){ (41)t=an[j]%24; (41)x=dat3[t]>>4; (41)y=dat3[t]&0x0f; (41)box(x,0,y,x+1,1,y+1,1,1); (41)box(x,6,y,x+1,7,y+1,1,1); (41)} (41)for (j=0;j<4;j++) (41)an[j]--; (41)delay(10000); (41)} (41)for (i=6;i>0;i--) (41){ (41)clear(0); (41)box(0,6,6,1,7,7,1,1); (41)box(i,6,6-i,i+1,7,7-i,1,1); (41)box(i,6,6,i+1,7,7,1,1); (42)box(0,6,6-i,1,7,7-i,1,1); (42)box(0,6-i,6,1,7-i,7,1,1); (42)box(i,6-i,6-i,i+1,7-i,7-i,1,1); (42)box(i,6-i,6,i+1,7-i,7,1,1); (42)box(0,6-i,6-i,1,7-i,7-i,1,1); (42)delay(30000); (42)} (42)} (42)void flash_11() (42){ (42)uchar i,j,t,x,y; (42)uchar code daa[13]={0,1,2,0x23,5,6,7,6,5,0x23,2,1,0}; (42)for (j=0;j<5;j++) (42){ (42)for (i=0;i<13;i++) (42){ (42)if (daa[i]>>4) (42){ (42)t=daa[i]&0x0f; (42)line (0,0,t+1,0,7,t+1,1); (42)} (42)else (42)t=daa[i]; (42)line (0,0,t,0,7,t,1); (42)} (42)} (42)for (j=1;j<8;j++) (42){ (42)if (j>3) (42)t=4; (42)else (42)t=j; (42)for (i=0;i<24;i+=j) (42){ (42)x=dat3[i]>>4; (42)y=dat3[i]&0x0f; (42)box_apeak_xy(0,x,y,0,x+1,y+1,1,1); (42)transss(); (42)delay(10000); (42)} (42)} (42)for (j=1;j<8;j++) (43){ (43)if (j>3) (43)t=4; (43)else (43)t=j; (43)for (i=0;i<24;i+=j) (43){ (43)x=dat3[i]>>4; (43)y=dat3[i]&0x0f; (43)point (0,x,y,1); (43)transss(); (43)delay(10000); (43)} (43)} (43)} (43)void _P3(uchar x) (43){ (43)p30 = x&0x01; (43)p31 = (x&0x02)>>1; (43)p32 = (x&0x04)>>2; (43)p33 = (x&0x08)>>3; (43)p34 = (x&0x10)>>4; (43)p35 = (x&0x20)>>5; (43)p36 = (x&0x40)>>6; (43)p37 = (x&0x80)>>7; (43){ (43)sinter(); (43)while(1){ (43)clear(0); (43)/*play list*/ (43)flash_1(); (43)clear(0); (43)flash_2(); (43)flash_3(); (43)flash_4(); (43)flash_4(); (43)flash_5(); (43)flash_5(); (43)flash_6(); (43)flash_7(); (43)flash_8(); (43)flash_9(); (43)flash_10(); (43)clear (0); (43)flash_11(); (43)flash_9(); (43)flash_5(); (43)flash_7(); (44)flash_5(); (44)flash_6(); (44)flash_8(); (44)flash_9(); (44)flash_10(); (44)} (44)} (44)P0; 573 in (44)P1; uln2803 (44)P2; 573 LE (44)void print() interrupt 1 (44){ (44)uchar i; (44)static uchar layer=0; (44)P1=0; (44)for (i=0;i<8;i++) (44){ (44)P2=1<<i; (44)delay(3); (44)P0=display[layer][i]; (44)P1=1<<layer; (44)if (layer<7) (44)layer++; (44)else (44)layer=0; (44)TH0=0xc0; (44)TL0=0; (44)} (44)P0; 573 in p2 (44)P1; uln2803 p0 (44)P2; 573 LE p1 (44)void print() interrupt 1 (44){ (44)uchar i; (44)static uchar layer=0; (44)_P3(0); (44)for (i=0;i<8;i++) (44){ (44)P2=1<<i; (44)delay(3); (44)P0=display[layer][i]; (44)delay(3); (44)} (45)_P3(1<<layer); (45)if (layer<7) (45)layer++; (45)else (45)layer=0; (45)TH0=0xc0; (45)TL0=0; (45)} (45)void print() interrupt 1 (45){ (45)uchar i; (45)static uchar layer=0; (45)P0=0; (45)P1=0x00; (45)for (i=0;i<8;i++) (45){ (45)P1=0x00; (45)P2=display[layer][i]; (45)delay(3); (45)P1=1<<i;_crol_(0xfe,i) ; (45)。

光立方毕业设计论文

光立方毕业设计论文

光立方毕业设计论文光立方毕业设计论文引言:在当代科技快速发展的时代背景下,光立方作为一种新兴的显示技术,吸引了越来越多的关注。

本篇论文将就光立方的原理、应用和未来发展进行探讨,并提出一种基于光立方的创新设计方案。

一、光立方的原理光立方是一种基于全息成像技术的三维显示技术,其原理是利用光的干涉和衍射现象实现对光场的再现。

通过将光场信息记录在光敏材料上,并利用激光光束对光敏材料进行读取,可以将记录的光场再现为真实的三维图像。

光立方的原理使得我们可以以全息的方式呈现物体的三维形态,使观察者能够从不同角度感受到物体的真实立体感。

二、光立方的应用1. 教育领域光立方可以为学生提供更加直观、生动的三维教学内容。

通过在课堂上使用光立方,学生可以更好地理解抽象的概念,提高学习效果。

例如,在生物学课程中,通过使用光立方展示细胞结构和分子模型,学生可以更加深入地了解细胞的组成和功能。

2. 医学领域光立方在医学领域的应用也非常广泛。

例如,在医学图像诊断中,光立方可以提供更加清晰、逼真的三维影像,帮助医生更准确地判断病变的位置和程度。

此外,光立方还可以应用于手术模拟和培训,提高医生的操作技术和安全性。

3. 艺术与文化领域光立方在艺术与文化领域的应用也十分有潜力。

通过利用光立方技术,可以创作出更加真实、立体的艺术作品。

例如,在博物馆展览中,利用光立方展示文物和艺术品,可以使观众更好地欣赏和理解作品的细节和魅力。

三、光立方的未来发展光立方作为一种新兴的显示技术,还有很大的发展空间。

未来,光立方有望在以下几个方面实现进一步的突破和创新:1. 分辨率提升目前,光立方的分辨率还有待提高。

随着技术的不断进步,我们可以预见,未来的光立方将能够呈现更加清晰、细腻的图像,使观众能够更加真实地感受到物体的立体效果。

2. 投影范围扩大目前,光立方的投影范围相对较小,限制了其在实际应用中的使用。

未来,我们可以通过改进光立方的投影系统,使其能够实现更大范围的投影,提供更广阔的观看体验。

3D光立方毕业设计

3D光立方毕业设计
五、结束语
经过这次的设计,让我们更明确了团队合作的要领和精神,更明白了焊接技术的重要性,也让我们对单片机编程的进一步了解,为了这次设计我们找了查找了很多资料,包括一些对该设快捷又免费,让我们很方便地搜索到了我们所需要的设计资料和丰富的知识。此次毕业设计,是我大学学习中遇到过的时段最长、涉及内容最广、 工作量最大的一次设计。用老师的一句话概括就是这次毕业设计相当如是把以前的小课程设计综合在一起的过程,只要把握住每个小课设的精华、环环紧扣、增强逻辑,那么这次的任务也就不难了。同时感谢老师对我们的指导和为我们理清思路从而使我们更快我完成设计。
(3)在调试过程中,有一竖面的灯完全不亮,第一个想法是灯没有供电,检测供电电路法发现没有问题,于是我找到573这一部分,因为这一部分跳线较多且线路密集,逐一测量发现线头间短路了,从新焊接后测试,故障顺利排除。
(4)在调试过程中有几个灯一直不亮,用万用表欧姆档测量发现灯已经烧坏,拆下坏掉,但是有2个灯是存在虚焊问题,从新焊接后正常工作。
图7 573驱动连接正面
2、主控电路
主控电路是最简单的电路,主要是最小系统,其中还有一个控制层的驱动芯片焊接在主控板上,如图所示:
图8 最小系统
3、显示模块
首先我们用一块比较大万能板,在上面做了8*8个点的标志,间距为2mm然后把灯按统一形状掰好管脚。然后固定在在万能板上进行焊接,焊接完如下图:
图9 灯的焊接
3
D






题目:3D光立方
级别:2011级
专业:电子科学与技术
姓名:李鹏华
一、摘要............................................1
二、关键字..........................................1

基于51单片机的光立方设计毕业设计

基于51单片机的光立方设计毕业设计

毕业设计基于51单片机的光立方设计*名:***学号: ********班级: 10信科一班专业:信息科学与技术所在系:电子信息工程系指导教师:**基于51单片机的光立方设计摘要本文详细的介绍了光立方的搭建过程,以51系列的单片机STC12C5A60S2为主要的控制芯片,由512个LED通过共阴的形式连接起来,由74HC595为扩展单片机的I/O口,用ULN2803为驱动电路,形成一个规格为8*8*8(长,宽,高)14cm*14cm*20cm立方体,还介绍了这款芯片的特点和使用方法及在调试过程中遇到的软件和硬件方面的问题及解决方法,详细的阐述了光立方的设计原理和架构方法,对光立方目前存在的意义也进行了详细的介绍。

关键词:光立方;74HC595;单片机;ULN2803;LEDLight CuBe Based on 51 single ChiP miCroComPuterABstraCtThis PaPer introduCes the ProCess of Building Light CuBe, with 51 Series MCUSTC12C5A60S2 as the main Control ChiP, ConneCted By 512 LED By CO Yin form, By74HC595 for the exPansion of the MCU I/O Port, using ULN2803 as the drive CirCuit, the formation of a sPeCifiCation for 8*8* 8 (length, width, height) the 14Cm*14Cm*20Cm CuBe, also introduCes the CharaCteristiCs and methods of use of the ChiP and software and hardware in the ProCess of deBugging ProBlems and solutions, desCriBed in detail the design PrinCiPle and arChiteCture method Light CuBe, the CuBe existed at Present signifiCanCe have also Been introduCed in detail.Keywords:Light CuBe; 74HC595; STC12C5A60S2; ULN2803; LED目录摘要 ................................................................................................................................... 错误!未定义书签。

基于单片机的光立方设计_毕业论文(含程序+原理图+实物图)

基于单片机的光立方设计_毕业论文(含程序+原理图+实物图)
第二章 总体设计.......................................................................................................................1 2.1 工作原理....................................................................................................................2 2.2 各模块方案选择与论证............................................................................................2 2.2.1 单片机主控制模块.........................................................................................2 2.2.2 驱动模块...........................................................................................................2 2.2.3 显示模块...........................................................................................................2
1、实物图..........................................................................................................................16 2、系统原理图..................................................................................................................17 程序清单...................................................................................................................................17

光立方(含程序)毕业设计

光立方(含程序)毕业设计

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

光立方项目设计说明书

光立方项目设计说明书

工程技术综合实践项目设计报告(电类)8x8x8光立方点阵西安理工大学工程训练中心2014年 10月 27 日指导教师(签字):1概述二十一世纪的显示技术将是平板显示的时代。

基础材料的产业化,使LED 显示产品成本下降,应用加快发展。

LED 产品性能的提高,使LED 灯的显示屏的亮度、色彩、白平衡均达到比较理想的效果。

但是考虑到此次光立方显示的效果问题,我们还是决定选用5mm 的蓝色雾灯。

本次设计制作一个8*8*8的三维的发光二极管立方显示体,能够通过编写程序来实现对每一个发光二级管的亮灭控制,从而可以显示多种多样的图案。

为了吸引观众增强显示效果,可以有多种显示模式。

按照图文运动的特点又可以分为闪烁、平移、旋转、缩放等多种显示模式。

2 总体设计2.1 系统功能及技术指标本作品是由512只LED 组成的长宽高均为8个LED 的正方体点阵,主要实现文字,图形的显示,显示效果立体感强,能够成为一件科技感十足的艺术品。

系统控制采用51单片机,通过输出高低电平控制LED 的状态,74hc595扩展单片机IO 口,使单片机具有64路输出。

通过74HC245D 控制层,最终实现对512只LED 中的任意一个的控制。

2.2 系统构成2.3 主要设备及元器件选型(1)STC12C5A60S2系列单片机是单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D 转换(250K/S),针对电机控制,强干扰场合, 能够满足快速驱动多只LED 的需求。

(2)74HC595 是一款漏极开路输出的CMOS 移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。

其特点是高速移位时钟频率Fmax>25MHz,标准串行(SPI)接口,CMOS 串行输出,可用于多个设备的级联,低功耗:TA =25℃时,Icc=4μA(MAX),可满足驱动多只LED的需求。

444光立方的设计与实现论文

444光立方的设计与实现论文

毕业设计说明书(论文)作者: 学号:系:专业:题目: 4*4*4光立方的设计与实现(姓名) (专业技术职务)评阅者:(姓名) (专业技术职务)毕业设计说明书(论文)中文摘要毕业设计说明书(论文)外文摘要南京理工大学紫金学院毕业设计(论文)评语学生姓名:唐佳恒班级、学号:110404333题目:4*4*4光立方的设计与实现综合成绩:毕业设计(论文)评语本科毕业设计说明书(论文)第I 页共I 页目次1 绪论 (1)1.1 光立方的发展背景 (1)1.2 研究意义 (1)1.3 章节安排 (1)2 总体设计 (3)2.1 光立方控制原理 (3)2.2 系统的总体设计方案 (3)2.3 各个模块的方案比较 (4)3 系统硬件设计 (6)3.1 单片机选型 (6)3.2 单片机总控制电路 (8)3.3 光立方显示电路 (12)4 系统软件设计 (13)4.1 软件编译 (13)4.2 流程设计 (15)4.3 显示设计 (16)4.4 小结 (22)结论与展望 (23)致谢 (28)参考文献 (29)附录: (30)1 绪论1.1 光立方的发展背景光立方在我国的起步还是相对比较晚,直到2009年,在北京天安门广场举行的国庆晚会才与大家相见。

“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同工之妙[1]。

光立方在国庆联欢晚会上演习结束之后, “光立方”这一个新名词在不知不觉之中吸引了许多人的目光。

之后以“光立方”制作而成的手电筒也被应用在2010年的世博会的主题馆和中国馆。

随后“光立方”在中国被越来越多的人所留意,也有越来越多的人学习和制作光立方,他们在此基础上不断创新,开发出了更多的花样。

其实在我们的日常生活中,“光立方”的各种产品早就已经存在了,只是我们没有去关注它。

例如照明类光立方,常见的是在景观处所使用的装饰灯;还有就是应用在各种活动中的大屏幕上,色彩斑斓的效果非常绚丽。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

光立方毕业说明3D光立方毕业设计说明书摘要光立方是一个长、宽、高由8×8×8 个LED 灯组成的真实3D 立方体显示器。

其最大的特点,就是带给观赏者立体的超酷的3D视觉体验。

因此各大网站也充斥着各种各样的光立方版本。

但是这各种版本的光立方的制作方法都很复杂,而且成本也很高,而本设计与之相比则制作简单精美,成本低廉。

为保证光立方精美的外形,本设计还提供了一种光立方的制作模板,以确保将动手能力导致的美观差异降到最低。

为降低其成本,本设计采用了STC12C5A60S2单片机,这种单片机自带有A/D转换模块;使用的锁存器是常用的SN74HC573。

这样可以保证在降低制作成本的情况下,毫不影响作品的美观;再加上显示效果极佳的高亮雾面的蓝色方形LED,硬件电路无需添加额外的驱动和上拉电阻,即可实现其强大的功能:除了能显示3D 图形,还可以支持多级亮度和速度调整,允许用户自拓展音频显示功能,就像音乐显示器一样。

用户还可以在不改动硬件电路的情况下设计出自己喜欢的的自定义图形。

这些充分体现了制作成本低、显示效果好、功能完善的特点。

最后,经过软硬件调试,解决了一些硬件电路短路,程序报错的问题,完美地实现了多种图形动态显示,流畅的图形变换和音频显示的多种功能。

关键词:光立方制作模板音频显示 A/D转换ABSTRACTLight-cube is a long, wide, high is composed of 8 x 8 x 8 leds true 3 d volumetric display. Its biggest characteristic, is to bring the viewer stereo cool 3 d visual experience. So each big web site is filled with all kinds of cubic light version.But all versions of this light cubic method is very complex, and the cost is also high, and compared with this design is beautifully simple and low cost.In order to ensure the exquisite cubic shape, this design also provides a light cube production template, to ensure that the ability to appearance difference to a minimum.To reduce its cost, this design USES STC12C5A60S2 MCU, the MCU built-in A/D conversion module; Use the latch is SN74HC573 in common use. So that in the case of lower production costs, not effect the beauty of the works; Plus showed excellent results highlighted square LED fog below in blue, don't need to add additional hardware circuit drive pull up resistance, and its powerful functions can be realized: in addition to display 3 d graphics, can support multiple levels of brightness and speed adjustment, allows the user to expand the audio display function, like music display. Users can also in the case of do not change the hardware circuit design their own custom graphics. These fully reflect the production of low cost, good effect of display, the characteristics of the function is perfect.Finally, after the hardware and software debugging, solve some of the short circuit hardware circuit, program error, perfect the dynamic variety of graphic display, smooth graphics transform and audio display a variety of functions.Key words: light-cube making stencil audio-display A/D conversion目录3D光立方毕业设计说明书 (1)摘要 (1)1、引言 (1)1.1研究意义 (1)1.2研究现状 (2)1.3该论文的内容安排 (2)2、光立方的设计方案 (3)2.1本设计基本功能和特点 (3)2.2拓展功能 (3)2.3总体设计方案 (3)3、硬件设计 (5)3.1 单片机控制电路设计 (5)3.1.1单片机选型 (5)3.1.2单片机控制电路 (7)3.2 驱动电路设计 (7)3.2.1 负极驱动芯片 (8)3.2.2 正极驱动芯片 (10)3.3显示电路设计 (11)3.3.1各层电路设计 (11)3.3.2 LED地址对照表 (12)3.4实物效果图 (13)4、软件设计 (15)4.1 自定义头文件 (15)4.2电脑端的ISP控制软件 (17)4.3程序流程图 (19)4.4 LED显示核心思想 (20)4.5显示部分测试结果 (22)5、硬件焊接与调试 (23)5.1 本设计所需材料 (23)5.1.1LED灯 (23)5.1.2 74HC573芯片 (23)5.1.3自制双声道音频插头 (24)5.1.4 其他材料 (25)5.2光立方LED灯焊接方法及步骤 (26)5.3调试中的问题和解决方法 (28)5.4调试结果 (29)总结 (31)致谢 (32)参考文献 (33)附录 (34)1、引言1.1研究意义LED射灯是指发出的光线是方向性的(directional)的LED灯泡, 主要类型有MR16,GU10, PAR series.LED球泡灯是指发出的光线为发散性的LED灯泡, 主要类型为:E27 base.按照功率来分, LED灯泡可分为: 小功率(主要为5mm LED生产的)和大功率(主要1 W, 3 W ,甚至5 W LED生产的)。

同时, 市场上也存在超大功率(比如, 50W的LED射),但是这种未经过市场检验, 也未见得有很大市场。

其中, 小功率的LED射灯, 球灯为最早设计和生产的LED灯泡, 已经大规模采用, 但是质量良莠不齐。

这灯泡主要是在国外的零售网站上进行销售,比如, , 。

而大功率的LED射灯, 球泡灯为最近2-3年才大规模使用和推广的, 总体来说要比小功率的LED灯泡稳定许多; 随着大功率LED的价格下降, 大功率LED灯泡将会为市场主流。

总体来说, 目前LED灯的市场上, 不论是生产商, 采购商还是终端客户, 都不专业, 大多数还只是凭经验或者外观等主观臆断来判断产品质量的好坏。

在产品外观雷同的情况下, 让人可以接受的价格和良好的销售策略起主导作用。

另一方面,从电子爱好者网站,《无线电》杂志等一些媒体可以看出,国内越来越的的人正在加入电子爱好者的行列。

伴随着这样的趋势,作为常用的电子器件之一的LED,其使用量将会越来越大,普及速度也会越来越快。

而作为一个忠实的电子爱好者,美观时尚应当是我们的不懈追求,引领更多的初学者走上电子爱好者之路更是值得我们努力的。

而3D光立方所能带来的震撼力和吸引力是其他电子设计所不能动摇的。

其实光立方这个名字早已出现过,也有人尝试制作过,每个制作过的人都会被其超酷的3D 显示效果所震撼,我就是其中之一。

然而在网上搜索了大量相关资料后,我发现,网上各种版本的光立方的制作方法都很复杂,而且成本也很高,所以我想找出一种相对成本较低,制作方法简单,便于广大电子爱好者学习制作的方法。

这种方法如果实现,不仅会为LED市场带去不少的盈利,同样也能引领更多的人加入电子爱好者的队伍中,可谓一举两得。

1.2研究现状其实,对于许多电子爱好者来说,光立方并不陌生。

它的功能也在许多人的开发下越来越强大。

每一个见过光立方效果的,都会被其超酷的3D显示效果所震撼,我就是其中之一。

但是,在搜索了大量相关资料后,我却发现,各种版本的光立方的制作方法都很复杂,不仅需要很强的动手能力来组装512个排列整齐的LED和金属支架,还需要有足够的耐心设计一大堆单片机和驱动芯片,最后还要为硬件成品设计显示程序,好让光立方动起来。

虽然市场上流通着的光立方中,有一种整机只有一个芯片的光立方,但是价格不菲。

到目前为止,尚未出现过一套既制作简单、价格低廉又功能强大的光立方完整设计方案。

1.3该论文的内容安排开篇引言主要介绍研究的意义和目前光立方的研究现状。

提出了光立方的基本功能和总体设计方案,使得读者对整体设计有一个总体的了解。

之后第三章开始仔细介绍设计的各个部分。

第三章先从硬件设计入手,可以给读者对设计有一个具体的了解。

硬件设计主要包括包括控制电路,驱动电路和显示部分。

第四章是本设计的软件设计部分,在熟悉硬件部分之后,软件设计的具体阐述便于读者深入理解该设计的核心思想,从而开发出自己的程序。

第五章主要对设计的材料选取和硬件焊接做了详细的说明,便于广大电子爱好者自己动手制作。

最后,该论文对整体设计的软硬件测试过程做出详细的总结,以便读者在遇到相似的问题时,能够更快的找到合适的解决方案。

2、光立方的设计方案2.1本设计基本功能和特点1、8*8*8LED阵列3D光立方体显示器,设计方案精简,电路简洁,采用的材料是高亮蓝色雾面LED灯,可以达到光立方最佳视觉效果。

2、连贯图形显示效果,浑然一体,一气呵成。

能给用户带来立体的可视的震撼视觉效果。

相关文档
最新文档