各位编程大神,跪求基于51单片机引脚功能的444光立方源程序hex文件,麻烦你们共享下手中的资源了,谢谢了

[ 本主题由
14:19:53 设为精华1,原因:主题新颖 ]
18:02:31 修改
评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&一共就这些东西。无视那1602显示屏,买来玩玩的评论&&&&&&&&&&&&&远看这LED灯,好像冰粉记得多买几个LED,山寨电烙铁的静电很容易击穿LED评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&100欧电阻,实际只用得到8个评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&51最小单片机系统评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&STC12C5A60S2芯片,光立方的大脑评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&从低焊到高,这的10K排阻要换成A09&472J型号的排阻,要不然LED灯不亮&&&&&&&&&&&&&&&&&&&&&&&&&&&&&排阻有字一面,左边第一个脚是脚一,正极输入。别接反了评论评论评论评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&我买的这个烧写器,不带输出5V,要自己接5V输入评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&烧程序,第一次烧程序饶了不少弯路怎么烧写,后面教评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&评论&&&&&&&&&&&&&&&&&插针买小了,面包板是2.54MM的孔距,插针买成2.00MM的孔距了&&&&&&&&&&&&&&&&&算了,慢慢焊评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&负极向左边旋转90度评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&正极向右边旋转90度评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&然后正极再向下旋转90度评论评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&30分钟焊完评论&&&万能表调到测试短路的那档,红线接LED正极,黑线接LED负极LED发亮说明LED是好的&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&犹豫每个LED灯体质不同,有些特别亮,有些微亮评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&黄花电烙铁还行....只击穿两个LED评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&制作中途,损友跑到我家来,忙于对付损友,忘记照了评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&LED负极接100欧电阻。评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&无视走线,渣渣。初三了,没多少时间评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&亮了,GG!评论评论评论评论评论评论评论评论评论评论评论&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&------------------------------------------------------------------------------------------------------------------评论高兴之余,我只能用这张图表达我的心情。请允悲。LED灯焊的歪歪扭扭的面包板的插针应该买90度弯脚的评论其实这是科技小制作,被班主任逼的------------------------------------------------------------------------------------------------------------------评论装驱动评论找到烧写器是串口几评论&打开STC-ISP,选择要烧写芯片的型号这软件尽量用新版的。老版的可能没这芯片型号。对于STC12C5A60S2芯片,用4.7.9版本足矣评论PS:打开程序要HEX的文件,对于我刚拿到手,烧程序,烧成C格式的文件评论C格式文件,是拿给人看的。HEX文件时拿给STC单片机看的第一次玩单片机,不会。自己,慢慢琢磨的。各路大神勿喷----------------------------------------------------------------------------------------------------------------电路图&↓&评论评论&&&&接线图,从隔壁论坛拿回的。不是黑村哈。前面说到的,P2.0-P2.7脚到LED负极之间要加100欧电阻。要不然LED发烫或者烧毁评论评论评论评论&&&&&&&&&&&&&&&&&&&&要程序?必须回复。评论原帖外链:&&&&
貌似还有第二部还要看资金问题....the&end
一年不如一年?
一年不如一年?
高实在是高!!!
http://i1.3conline.com/images/upload/upc/face/29/60/04/72/x120?2
有些人你以为以后一定可以再见的,就没有放在心上,可是却不知道,也许永远也只是生命的过客;有些事,你以为明天一定可以再做的,就没有在意,可是却不知道,也许已经来不及了.
ps:长风的府卧撑也被和谐了,大家看着办吧.
http://img.pconline.com.cn/images/bbs4/logo/.jpg
http://fujian.86516.com/forum/day_b9b55118bb0a.jpg
老实说,挺丑的lz别介意,再接再厉
&发表于&13:30&老实说,挺丑的lz别介意,再接再厉
的确丑,第一次做。人人都有的
一年不如一年?
话说程序好难写!!!硬件很费银子!
您需要登录后才可以发帖
其他登录方式:智能计步器
基于AT89C51单片机的智能计步器设计
当今社会,随着经济的发展,人们生活水平的提高,肥胖的人越来越多,也就导致了越来越多的疾病产生,因此,人们越来越关注健康问题,而锻炼身体是让自己健康的最有效的方法。因此计步器应运而生,就成了时下流行的趋势。步行时,通过伸缩肌肉,血液在流动时的抵抗值下降,血压下降且稳定。经常步行的人很少患高血压或低血压病。坚持步行能减少血管内附着的脂肪性物质,使体重减轻,也逐渐减少心脏的负荷。而基于为核心控制的计步器有着精确,可靠,稳定,方便等优点,已被大多数人所接受。通过计步器人们可以知道自己跑了多少步,实时掌握自己的锻炼情况。
2 总体设计方案
计步器由振荡电路、复位电路、显示电路以及按键电路几个部分组成,由电池进行供电。系统结构图如图1 所示。
图1 系统结构图
3 硬件的设计
3.1 振荡电路
AT89C51 &单片机内设有一个由反向所构成的振荡电路,振荡电路是单片机系统正常工作的保证,如果不起振,系统将会不能工作。假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显,电路将无法通信。
它是由一个晶振和两个瓷片电容组成的。电路中的两个电容用作补偿,使得晶振更容易起振,频率更加稳定。如图2 所示。
图2 振荡电路
3.2 复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V&5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC &超过4.75V 低于5.25V &以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。系统的复位采用了上电复位的形式,上电过程中微控制器复位引脚保证10ms &以上的高电平就能可靠的将微控制器复位。如图3 所示。
图3 复位电路
3.3 显示电路
本次设计采用4 位LED 共阴极数码管显示屏做为系统的显示界面,如图4 所示。常用的LED 显示器为8 段或7 段(8 段比7 &段多了一个小数点&dp&段)。每一个段对应一个发光。这种显示器由共阳极和共阴极两种。如图4 所示。共阴极LED &显示器的发光二极管的阴极连接在一起,通常次共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被现实。为了使LED显示器显示不同的符号和数字,就要把不同段的发光二极管点亮,这样就要为LED &显示器提供代码,因为这些代码可使LED 相应的段发光,从而显示不同字型,因此该代码称之为段码(或称为字型代码)。7 段发光二极管在加上一个小数点,共计8 &段。因此提供给LED 显示器的段码正好是1B。
图4 显示器连接电路
3.4 按键电路
本次设计是以按键的形式来代替人走步所产生的震动,每按键一次即表示人走动一步,其电路如图5 所示。
图5 按键电路
3.5 ADXL202 电路
ADXL022 传感器模块电路如图6 所示。
图6 ADXL202传感器模块电路
4 系统软件
计步开始,内部程序准备就位。人走动一步,传感器检测到峰值,经四种电路,由显示器显示出来,再走一步,由累加器累加1,由此走几步依次加1,由显示器显示。单片机复位系统产生外部中断,显示器置零。系统流程图如图7 &所示。
图7 系统流程图
5 软件仿真
系统中将按键电路中按键K1 与单片机的P4.4 &进行连接,专用的按键电路产生振荡电路,将电信号通过电路转换给微控制器,微控制器将表征当前步数的数字量按照10 进制等处理后通过直观LED &显示。当按键按下一次的时候,显示器显示1,按几次则显示多少。计步器仿真效果图如图8 所示。
图8 仿真效果图
本文主要设计中包含了微控制器、显示部件、输入部件和等部分。在整个设计系统中充分掌握各模块电路的工作原理,对硬件电路、软件程序进行设计,最后进行仿真。
原文标题:基于单片机的智能计步器设计
文章出处:【微信号:HOLTEK_MCU,微信公众号:至秦单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先
LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各....
学什么单片机最有前途? 这是单片机初学者经常问的问题。对于这个问题,我想没有人敢下定论。因为每一种单....
本文档的主要内容详细介绍的是基于51单片机超声波测距的程序等
单片机 专业名称—Micro Controller Unit(微控制器件) 它是由大名鼎鼎的 INT....
对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是....
能够深入研究嵌入式开发工具背后的机制并将之熟练运用,标志着开发人员的技术水平达到了较高的程度。
LED点阵显示屏以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显....
单片微型计算机简称单片机,简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序....
下面是一款Android手机通过蓝牙模块与单片机通信单片机程序,单片机可以使用以下51单片机:AT8....
一、中断的概念
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
本文档的主要内容介绍的是基于51系列单片机的陀螺仪程序,并且通过1602显示详细资料免费下载。
本文档的主要内容介绍的是基于51单片机的LCD1602电子时钟程序的详细资料免费下载
本文档的主要内容详细介绍的是基于51单片机驱动步进电机的资料合集包括介绍和源代码
本文档的主要内容详细介绍的是基于51单片机的舵机程序的资料免费下载。
本文档的主要内容详细介绍的是基于RS485的MODBUS编程,mcu是51单片机的详细资料和程序免费....
采用51单片机为控制核心,利用传感器检测道路上的障碍,控制电动小车的自动避障,实现自动寻迹和跟循功能....
本文档的主要内容详细介绍的是陀螺仪飞鼠算法的详细合集资料概述免费下载
本文档的主要内容详细介绍的是51单片机C语言编程100例和模拟霍尔脉冲程序的详细资料概述。
单片机定时器的使用可以说非常简单,只要掌握原理,有一点的C语言基础就行了。要点有以下几个:
使用4*4的矩阵键盘和一个数码管在4*4的矩阵键盘上编码0-F的字符,和一个数码管显示每个键盘上输入....
51单片机一般的键盘检测原理为非编码键盘检测,没有专门用来产生键编码号或键值的电路芯片;而我们使用的....
本文主要介绍了单片机结构原理基础知识。
本次设计就是利用单片机来完成一个系统,实现两单片机之间的通信。并且使用DS18B20温度传感器,由一....
51单片机常用汇编语言助记符英文全称 51单片机常用汇编语言助记符英文全称 (1)数据传送类指令(7....
单片机控制交通灯,单片机具有简单的结构、编程方便、经济、易于连接等优点,特别是其内部定时器计数器、中....
本文档的主要内容详细介绍的是三菱梯形图pmw文件转51单片机运行的hex文件的应用程序和使用说明还包....
51单片机是可以输出PWM的,比较的麻烦。此时需要用到内部定时器来实现,可用两个定时器实现,也可以用....
本人设计一款基于蓝牙的51单片机蓝牙小车,小车控制上位机为手机,控制软件由易安卓编写,小车可实现前进....
C51的一些误区和注意事项 1)C忌讳绝对定位。常看见初学者要求使用_at_,这是一种谬误,把C当作....
基于51单片机的激光雕刻机c语言程序设计及相应电路图的设计详细资料概述
DS1302是低功耗实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功....
AltiumDesigner51单片机最小系统STC89C51的介绍和绘制实例教程中文资料详细概述
心形流水灯,顾名思义,成品肯定是一个心形?。随着程序的改变,通过单片机控制单个灯的亮灭达到不同的流动....
本文档的主要内容是QX-MCS 51单片机开发板V3.0的详细原理图
本文档的主要内容的介绍的是51单片机Keil STC库的详细资料(免费下载)
51单片机流水灯不同情况,不同P口,各种程序。P0 P1 P2 P3 跑马灯 if while 数组....
一个二极管点亮一般需流经的电流值为3mA~10mA,二极管两边的压降为1.6V~1.7V。
AT89C51是一款应用最为广泛的8051单片机,更重要的是他具有反复烧写(FLASH)的特性。一般....
第一位始终显示0,第二位显示在0-9之间循环;
利用 51 单片机构成计数器,计数的上限,做的大一些,也不难,几千几万都可以。
下面我们来说说本问利用51单片机软件解密的方法 首先大家看了我刚才贴出来的连接 应该知道了 编码无非....
以前扩展RAM是用汇编语言访问存储器,好处是定位精准,指哪打哪,坏处就是:程序规模一大就有点难维护了....
本文主要详细介绍51单片机寄存器功能,首先介绍了51单片机引脚图及功能,其次阐述了51单片机寄存器功....
8051是MCS-51系列单片机的典型产品,其特性与我们实验的STC89C52RC完全相同,这里以8....
51单片机的中断系统十分重要,分为外部中断和定时器中断。本文主要详解51单片机的中断体系结构以及中断....
初学者用的红色板子实例,基于51单片机,LED,跑马灯,LCD数码管,蜂鸣器,看门狗,串口通讯等等
51单片机LED1602液晶显示超声波测距程序+原理图
在多机通信中,主机必须要能对各个从机进行识别,在51系列单片机中可以通过SCON寄存器的SM2位来实....
本文首先分析了到底是51单片机好学还是PIC单片机好学,其次阐述了51单片机的概念和主要功能,最后介....
接收端是不会判断所谓某个字节的起始位的,接收机如果是在接收的状态,那么只要它的接收引脚检测到有低电平....
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-66548 条评论分享收藏感谢收起赞同 31137 条评论分享收藏感谢收起查看: 121234|回复: 500
单片机+光立方制作完全资料【非常详细】
&&虽然有着失败二字,只能说是器件选择和限流电阻选取出了点问题,代码有待优化,总体感觉还是凑合的。制作过程可丝毫不掺水啊,如果大家在制作过程中有所不懂得,可以随时问我哦~51黑论坛留言即可,下面进入主题。
& && & 五一长假漫漫,时间很充分,正好有时间去干那些因为时间不足而搁置已久的一些想法,首先想到的是做一个光立方,器件年前就买了,因为时间问题被长久搁置了。
& && &之前论坛已经有人晒过,在此我将详细的向大家解析一下光立方的制作流程,望大家喜欢。先上资料:
(63.29 KB, 下载次数: 2823)
00:22 上传
点击文件名下载附件
(85.29 KB, 下载次数: 1085)
00:22 上传
点击文件名下载附件
(61.23 KB, 下载次数: 764)
00:22 上传
点击文件名下载附件
(28.99 KB, 下载次数: 1244)
00:22 上传
点击文件名下载附件
此软件在部分XP系统上无法使用,解决办法唯有换电脑了,找遍整个互联网,我没找到适合我电脑使用的,可能是我的电脑比较特殊吧!但此软件为可用软件。我在同学电脑上用过没问题。
(83.83 KB, 下载次数: 1915)
00:23 上传
点击文件名下载附件
原理图截图:
首先是前期准备工作,器件的选取,我的器件清单如下:
& && &LED选取:如果有条件的话可以使用7色彩灯,视觉效果将会更好。或者是长方形发光二极管,方便焊接。
& && & 后来由于光立方LED亮度过低,我将1K限流改成510R电阻,效果好多了。
& && &制作前先按照下图(此图直接采用网络图)对小灯进行弯折处理(如果看不懂的话,请努力发挥自己的空间想象能力,之后就会豁然开朗的),这是一个漫长而痛苦的过程,建议每天睡前折一些,我断断续续干了近十天吧!(五一前虽然大块时间没有,但是每晚折小灯的时间绝对是有的)实际焊接时,请注意变通,每一层都会有一行需要多弯一下的,以实现共阴处理。
& && &&&主要器件如下:
& && & 先在万用板上规划一下光立方小灯之间的间隔,建议2CM为宜,用铅笔或者彩笔在板子上确定64个点,以方便下一步操作。
& && &找一块木板,最小是20*20CM,我找的时候费了点劲,采用爆破拆出来的
,然后把万用板放在木板上,四角用大头钉固定(以确保扎点时位置不变),用圆规进行采点,记住是64个点,是7*7的方格。不要因为计算错误,以适用万用板而导致光立方间隔过密。
& && &&&采用手钻打孔,不直接用大钻,是防止打孔过程中,孔洞打偏。
& && & 大钻扩孔,钻头选择要适宜,防止LED小灯插上后不稳,或者插上焊完取不出来,我采用的是2.8/2.9的钻头。游标卡车是为了测钻头大小的。
& && &&&焊接时,建议一列一列的焊接,(层共阴,列共阳)这样操作起来比较容易,防止全部插上在焊接时,过多的小灯产生阻碍,由于我是左撇子,所以我是从右向左焊接。这是焊接好的第一层。焊完之后,现将小灯阳极管教理顺,与共阴平面呈垂直关系,以方便之后焊接。将LED点阵层起下的时候,为美观起见,请注意不要破坏小灯的相对位置及高低层次,(为了增强光立方坚固度,建议,每层上跨接一些硬些的细铜丝)。
& && &经坛友 提醒现补充:焊完一层后切记要记得检测是否有小灯在焊接过程中损坏。检测方法如下:层接地,即阴极接地,用一个串有1K限流电阻的导线接5V,然后依次接小灯阳极。
& && &&&主控电路焊接,焊前首先考虑布局,此电路板尺寸7*12,有点小,但是好歹排上了,如果空间足够的话,建议限流电阻接在LED阳极上(即74hc573的输出端),晶振放IC座里侧能节省部分空间。
& && & 背面图如下
& && && &进行主要跳线后,跳线尽量要美观些。
& && && &主控焊接完成后的背面图。
& && &&&正面图
& && && &插上芯片后的效果图(请注意我把P3^0,P3^1管教引出了,以方便下载调试使用,毕竟调试时需要好多好多次下载来回插拔芯片绝对崩溃,但不建议使用锁紧座,太占地方,而且看起来不协调。)
& && && &主控做好了,进行光立方之间的层层连接,由于焊接过程过于枯燥,所以建议焊完八层LED后,再焊控制板,最后在进行光立方的层层连接。焊接过程注意每层之间的高度,以及是否四角等高,别到最后才发现有一角低了。方法:四周架立柱,之后层层间用横梁支撑,直尺定高。
& && && & 一开始用的是吃饭剩的一次性筷子,后来筷子不够,灵机一动上锯条。
& && && & 焊完后的光立方,自我感觉良好,不过由于小灯弯折有点参差不齐,所以个别地方不是太美观。
& && && & 焊接底座时建议一列列得插,以减轻插接难度。毕竟64个小灯引脚不是那么好弄得。
& && && & 进行跳线。不要随意跳线,要有一个统一的顺序,这样编程时方便些。
& && && &&&使用杜邦线进行连接。
& && && &&&最后拍了下视频,由于小灯质量限制,以及限流可能有点大,所以最后效果不是太好,但是切记限流绝对不能省。
将论坛用户tsj1992 的程序移植到我的光立方的效果图(限流电阻已改为510欧姆)配乐为青春纪念册。希望tsj1992 不要介意啊!
开学了,不想弄了,有时间再继续研究下程序吧!程序是我的伤……
问题解答区
1、LED接的时候是共阳的吗?573是控制一层LED,那么层与层之间怎样处理啊,假设每层的阳极都接在一起,这样就会有8根线,这8根线怎样接到底板上而不会影响美观?
答:层共阴,列共阳(即曾与层之间的连接),记住是每层的阴极连在一起,曾与层之间的阳极焊在一起。最终达到有8个阴极,64个阳极的效果。杜邦线连接,是在板上哦,我用的是8根灰色杜色邦线连接8层的共阴引脚,颜色相近,所以美观问题不算大,帖子照片上有效果图。
2、还有那个2803的技术及资料不是太明白,是说输入+5V电源就能输出50V/500mA电流吗?不过500mA是不是不太够用啊,LED工作电流,就算每个10mA64个也600多了啊?
答:按你假设:最大输出500ma,不够用,这确实将是个问题,但是500ma差不多,因为极少数情况下点亮的小灯超过80个,一般是64个左右,相当于每个小灯5ma的电流。但是你想过限流电阻吗?我采用的是1K电阻限流,既然有1K的限流电阻,那么说明最大通过每个引脚的电流为5V/1K=5ma,所以通过每个小灯的电流不会超过5ma,但是点亮小灯的多少直接影响光立方整体效果,毕竟小灯也总有内阻啊!(切记不要轻易修改限流电阻的大小,小灯质量有好坏,性能不平均,所以不要因为一个小灯接220R限流能用,就盲目地认为所有的采用220R限流都行,更不要不用限流,网上有一个人因为接220R电阻感觉小灯亮度有点暗,就拿掉了,然后他在网上问,为什么有些小灯不亮了,你认为原因是什么呢?)。
3、每层的驱动电流大概是150mA是吗?
答:请问这个是你怎么得出的啊?我的理解是每层电流多大是根据你点亮小灯的个数而决定,没有定性的多少ma。
4、你那个P0口是干什么用的?
答:P0口接的是每个74573的输入端已进行图形控制,你如果想问74573的作用是什么?他是通过片选来控制P0口的信号控制,是对IO的拓展。片选的切换,意味着573芯片的切换,也就意味着LED阳极管教的切换。
5、帖子里你说是层共阴列共阳,那么8个层阴极端子是不是接2803输出口,64个列阳极通过74ls573和单片机连接,那样的话不就是由单片机提供电流了吗?单片机能提供那么大的电流吗?电压也不够啊?
答:请先弄明什么是层共阴,列共阳。不明白的话你如何焊接,焊的每一层是在阴极相连的基础上进行的。细细品味一下。ULN2803相当于驱动作用,要不然,你认为单凭一个IO口能点亮那么多小灯吗?
6、是不是只要在uln2803处接限流电阻就行了,不用每个LED都加限流电阻吧?
答:光立方的连接是阴极连接74573输出,阳极连接ULN2803输入那么随便阴极或阳极一端加限流都行,但是你要明白:总共有64个阳极。8个阴极,哪个方便些啊!但是我建议的是你在确定限流最小值后把限流接在阴极上,虽然焊起来麻烦一丁点,但是效果可能会好些,我是迫于板子大小刚够,所以才在ULN2803的输出上接的限流,但是感觉效果不是太好,单论安全性上,64个限流比8个限流安全得多,切记焊接前先测电阻阻值,别不小心掺杂了小电阻,这样的话,一个不小心你的努力就白费了,制作过程中,心情愉快为大,一旦急躁,那么后期制作的质量就会下降,或者直接使制作破产。
由于自己能力有限,不敢说已经弄透,所以我的观点只是一点建议,并不代表绝对正确。同时,由于实验室没有网,短期内无法恢复,上网困难,所以回答不及时之处,望请见谅。
疑问解答会根据网友提问进行不定期更新,欢迎大家关住
共享资料的黑币奖励!
绝世好帖!
我是冲着有取模软件来的,嘻嘻
绝世好帖!
回帖助人的奖励!
共享资料的黑币奖励!
你那些LED是雾状的还是透明的那种啊,我买了雾状的那种焊接的时候坏了很多,不知道是LED的质量问题还是焊接过程有问,人家都是这样焊接的,不过我用红发红色的LED就没问题,一次全部成功。我的烙铁都已经接地线了,但还是坏了,焊好一面之后测试好所有LED,但装上去跟其他的连一起的时候又坏了,而已击穿了还导致其他都微亮,非常的郁闷。你选用的是哪种LED,给个链接看一下!
正想做呢,下来参考下,谢谢了, 51Hei(51黑)论坛有你更精彩
正想做呢,下来参考下,谢谢了
(51黑)论坛有你更精彩
(51黑)论坛有你更精彩
这个效果实在太牛逼 太诱人了 我也做
终于找到组织了 51hei
51黑有你更精彩!!
看起来很不错
谢谢楼主的东西
好漂亮啊,,,我小白,,做不出这东西。。
去仔细看完全文,觉得楼主是下了很大的功夫的。
高手在这里
很不错的东西
终于找到组织了 51hei啊
我也做了一个,感觉效果很不错。
我都买好了,就开始开工咯
做一个做一个做工个
好想自己做一个
也想做一个。
楼主,什么原理?8个锁存器控制8*8立柱+8个驱动控制8层?
不错&&厉害的
请教各位大神,2803驱动光立方,应该驱动的是光立方的阳极把,而且2803只有一个,所以说光立方应该是层共阳,列共阴,最后得到八个阳极,64个阴极,请问这个对吗
今天买了元器件。。。等到东西来了就动工。。。。哈哈哈。。。。这两天先把图画好。。。原理搞清楚。。。
很详细的呢,不过为什么要888的呢?可以用444的,只要一片51就可以了,,,,,,省财省时,,,xd,,,
不错 不错&&
非常好,我可以自己做了
大神我太崇拜你了&&我明天就买元件 开工
不错,这个帖子我太喜欢了,实际做的时候再请教你吧
不错过来看看
好赞!!!!!!!!!!!!!!!!!11
终于可以自己去试一下去制作了&&嘿嘿
楼楼能将论坛用户tsj1992 的光立方的程序打包给我么,谢谢,我在论坛上没有找到
不错的创意
{:soso_e113:}{:soso_e113:}{:soso_e113:}
谢谢楼主分享
Powered by还没有帐号? 赶紧
用户版块帖子
1到第9) ? 9 :
location='read.php?tid=955311&page='+page+'';}">页9) ? 9 :
location='read.php?tid=955311&page='+page+'';">确认
光立方初级教程(PCB电路+源码+经验)
UID:1471360
在线时间28小时
M币2255专家8
本帖被 發騷友 设置为精华,作者+2000M币+5专家()
光立方,我在三年前从一个国外网站上就见到了。那时候刚开始玩电子,就心血一热,开始做光立方。费了一个星期的功夫才把主题的LED显示体搭建完成了,而且当时的焊接功底实在不敢恭维。(后面有图为证)后来由于毕业的缘故,没有继续做下去,光立方被我当做装饰品放再书桌上。今年上半年的时候,看到了很多人的作品,想起我那个光立方。回忆起当年的时光,决定将它继续做完。很顺利,不管是硬件搭建还是软件编程。**************************分隔符********************************************************************************************************************我看了很多教程,相比来说,我最开始看的老外的比较好。他们用的元件并不是我们常用的元件,但是上面的理论讲解很重要。如果真的想做好,必须懂得原理,而不是一味的仿造。不知道有哪些朋友已经做过很好的教程,我把我的想法分享出来,供大家参考借鉴。*************************分隔符********************************************************************************************************************概要&&&&&&&& 首先,我的作品并没有完成多么炫的效果,我只是搭建了一个设计的平台。尤其是比较容易修改的显示程序,要炫的效果,完全可以大家自己设计!!!!&&&&&&&& 第二,硬件上,可能与平时大家所见的不同(受多个设计方案的影响,没选好一个方案),但我会介绍如何元件替代(包含单片机、行列驱动芯片的替换)。&&&&&&&& 第三,内容写得比较抽象,希望大家仔细看,并且多看别人作品,多看程序代码,先思考了再问,不是说不想回答,只是不想回答没有思考过的问题。 作品展示 &&&&&&&& 设计的挺杂乱,各位大侠就别计较了,各位菜鸟就知道有这么几个部分组成就可以了。 这是我仿造的的光立方显示效果(懒,未仿造全部,部分效果也不好)以上只是说明我能造出来啊!!!这是源文件(百度网盘,已经改正了电路图错误——抱歉):原理图与程序源代码 下面是重头戏。
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
UID:1471360
在线时间28小时
M币2255专家8
接着写第一.光立方主体焊接这个没有什么好法子,大家慢慢,仔细的焊接吧。考验焊接功夫和耐性的时刻到了。&&&&&&&& 给几个别人的图做参考。&&&& 先找个木板钻8*8=64个孔,(什么,你没有木板和电钻。那找个替换,真不行,上纸箱板)。每个孔的间距一样,具体多长,量一下LED的负极(短的管脚)。比那个长度小大概3~5mm就差不多了(具体值,大家量一量就行了)。&&&&&&&& 然后弯管脚。为了确保光立方是个正方体,一般情况,都是弯短脚(负极)。&&&& 注意方向任意,但是所有的LED是一个方向,具体方向,就看个人喜好了。&&&&8个LED焊接在一块,一共焊接8条,然后将这8条的LED灯链的一端(短引脚没焊接)焊接在一块。&&&&为了结实,再在中间及另一端焊接个铜线。注意,要保证铜线是焊接在负极(短管脚上)这样,一层就完成了。&&&&&&&& 总结下,焊接的要领是将一层的负极接到一块。(当然你非要正极接一块,也是可以的)&&&&如此反复,总共焊接8层,然后,将相同的长管脚焊接在一起。(或者,你一层层向上盖楼也行~!~)。你会发现每一层都会空余一个管脚未焊接,我就把这个管脚当做层的控制端用了。&&&&如上图所示,会发现每一层相同位置的LED的正极(长管脚,红色所指的)连接在一起,相信聪明的童鞋,知道如何控制光立方的某一个灯亮了:在正极上加正电压,在层的控制端上加负电压即可了。
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
UID:1471360
在线时间28小时
M币2255专家8
继续奋斗第二:显示原理为了下面层驱动与阵列驱动的讲解,想说明一下光立方的显示原理。&&&&&&&& 玩过LED点阵或多位数码管的童鞋,更容易理解——对,动态扫描原理。其实不同层的灯是不可能同是亮的。那么人怎么感觉亮呢,只要LED等闪得足够快,就可以了。人眼的视觉暂留大概24帧/秒(这也是为什么电影大多是这个值,请查看你电影文件的属性)。那么只要你能够将LED灯闪到这个速度就没问题了。对于电路来书,μs(微妙)级是很容易实现的,所以,这不是问题。光立方其实就相当于64*8的LED点阵。你理论上只能让一层(64)的灯可以随意亮灭(一直保持,并且不相互干扰)。当一定的速度,先点亮第一层,然后再点亮第二层……一直循环,就达到你要的效果了。写得抽象,不懂得童鞋,去看看LED点阵,或者多位数码管的显示原理就可以。
UID:1471360
在线时间28小时
M币2255专家8
革命尚未成功 第三:层驱动电路&&&&&&&& 层选,是要求这一层的控制端加负电压(因为这一层的负极都接一块了)。那么我们很容易的想用三极管的开关作用就可以了。对我就直接使用的三极管。 &&&&&&&& MCU是单片机控制,一般要串个电阻,用来限流,这里讲原理,就不画了(具体去看附件中的原理图)。Layer_x指某一层的控制端。加了一个上拉电阻,保证平时状态下控制端处在高电压(那样就不会亮灯了。)&&&&&&&& 当MCU输出低时,PNP三极管就导通了,Layerer_x就连接到地上,那么层选就打开了。*****************************************************************感谢@和@的指正。十分感谢认真读文章的人。电路图上画错了,PNP型画成NPN型三极管了。但是实际的电路和程序都是人为PNP型三极管。我已经重新改正。电路时可以使用NPN型管,见33楼程序改动很少。请在app.c文件搜索CUBE_LAYER_BUS = ~(0x01&&cubeLayer);将其改为&&CUBE_LAYER_BUS = 0x01&&cubeL即可(就是不取反了。。。。)****************************************************************&&&&&&&& PNP型三极管有很多,比如我用的就是S8550,相信许多童鞋是用过的。&&&&&&&& 有些童鞋说,他们见别人用的不是三极管,而是ULN2803。我以前是没用过的,查了查:是八路NPN达林顿连接晶体管,也就是说其实里面就相当于集成了8个三极管,用起来更方便。所以,大家手头有什么就用什么呗。&&&&&&&& 啥,ULN2803怎么用?看下图,我懒得画封装图了,用一个插座代替了,管脚顺序可没有改,别照抄啊!!!! &&&& 我的设计里,用了16个S8550,2个一组。原因是为了防止一个三极管承受不了这么大的电流(64个LED灯的电流)。
[ 此帖被睡神耗子在 08:37重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
UID:1471360
在线时间28小时
M币2255专家8
第四.阵列驱动这是我起的名字,也就是一层64个灯的驱动。64个灯,驱动那是相当麻烦了,用单片机直接驱动是不现实的,管脚不够,电流太大。那么我们考虑拓展单片机的IO口。用很多芯片是可以用的:例如HC164, HC377,HC573,HC574,HC595等等。只要有8位输出就可以。大家用的比较多的应该是HC573,最初的时候我照着葫芦画瓢,非要买HC574。它俩没有什么大区别,只是锁存的信号不一样罢了。&&&&借用一个574的图(573一样的接法,CLK改为HC573的LE即可)。有八片HC574,每一个HC574可以输出8位,这样就可以同时输出64位了,对应64个灯。HC138是为了节省管脚的,我图省事,就直接用单片机的管脚接每个片子。数据线是共用的,一次给一个片子写数据,轮流写,将所有的片子写完。那么阵列驱动数据就完成了。当使能输出(许多片子有OE端),层选打开时,就可以点亮特定的灯了。附HC164和HC595的驱动图。这两个片子都是串行转并行了,使用的单片机管脚更少一些!! 有朋友想使用HC595。我懒得改电路了。不过根据上面的电路图,我根据以前的一个实例写了以下的程序。void CubeLoop(void){&&&&uint8_t i,j;&&&&/*Layer data load*/&&&&for(i=0;i&8;i++)&&&&{&&&&&&&&for(j=0;j&8;j++)&&&&&&&&{&&&&&&&&&&&&HC595_SCK = 0;&&&&&&&&&&&& if(cubeBuf[cubeLayer]&(0x01&&j) == 0x00)&&&&&&&&&&&&{&&&&&&&&&&&&&&&&HC595_SI = 0;&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&{&&&&&&&&&&&&&&&&HC595_SI = 1;&&&&&&&&&&&&}&&&&&&&&&&&&HC595_SCK = 1;&&&&&&&&}&&&&}&&&&HC595_RCK = 0;&&&&&&&&&&&&&&&&//Set output&&&&HC595_RCK = 1;&&&&CUBE_LAYER_BUS = ~(0x01&&cubeLayer);&&&&/*Layer select*/&&&&cubeLayer++;&&&&if(cubeLayer == CUBE_LAYER_NUM )&&&&{&&&&&&&&cubeLayer = 0;&&&&}
&&&&Delay1ms(3);}只要将原程序里面的CubeLoop()函数改成这个即可。请注意。管脚配置:HC595_SCK,HC595_SI,HC595_RCK。还有HC595_OE这个管脚在初始化的时候置0即可。由于没有调试过,所以有任何问题,请指正,十分感谢。&&&&注意:所有输出端要加限流电阻,至于加多大,要看你的LED灯了。一般情况下的直插LED灯,红色的加的电阻大一些,绿色的小一些,实际情况自己测试就可以了。一定要先计算一下你需要多大的电流,因为这关系到你选用多大电流的电源。当然,一般情况下,最多亮64个LED(瞬间只能亮64个)。一般的充电器类都能达到这个电流水平(什么,你要用电池!别扯了***)。 [ 此帖被睡神耗子在 19:39重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
UID:1471360
在线时间28小时
M币2255专家8
来个短的 第五.控制板&&&&&&&& 可以选用的单片机是很多的。&&&&&&&& 考虑管脚够用,至少也要十几个IO口吧。用个DIP40,LQFP32妥妥的。&&&&&&&& 51.AVR.PIC……随便哪个都可以,方便、易学、好买上选择,用STC的51就行了。我用了库存的STC12C5A60S2,相信这个单片机很多人都在用。&&&&&&&& 当然你用STC89C系列或者STC15系列也是可以的,他们区别在定时上,我使用的是定时器,你可以用STC给的工具来修改定时时间。
UID:1078085
在线时间677小时
M币1024专家15
8*8*8也就只要24个IO口啊,轮流亮电流不会过50ma的,单片机驱动得起来修正 是32个IO,详情查看
UID:1471360
在线时间28小时
M币2255专家8
黎明快到了。。。。。。。
第六.程序&&&&&&&& 相信很多人都不喜欢这个。&&&&&&&& 见好多童鞋做好的电路,到处找程序。为了不改程序,能照搬电路就照搬。当出了问题也不知道是硬件还是软件的问题。&&&&&&&& 好吧,恰好我是苦逼的程序员。好歹也写了两年程序。&&&&&&&& 以下是讲解,其实讲得不好,因为自己的水平,还有程序这事就是多磨多练的功夫。 我用的是KEILC51,相信很多童鞋,看到这么多文件就傻了。不用担心,文件多了,许多文件你根本不用理解。&&&&&&&& Main,是主程序。App是应用文件,comAssistant是串口助手,stc12cIntProcess是中断函数。还有一堆displayxx是显示效果函数。&&&&&&&& 简单的说,主程序调用APP文件中的函数,App函数又调用displayxx(xx表示01,02什么的)函数,来显示特效。 &&&&&&&& 由于我使用的是HC574+MCU层选,但是有很多其他方式可以使用。修改app.c文件中的CubeLoop函数即可。由于各种方案很多,如有需求,请留言请教之。 &&&&&&&& 我将显示效果设计成8*8的数组。因为数组元素是unsignedchar(uint8_t)型,也就是说每一位表示一个LED灯。你只要在displayxx函数里修改cubeBuf[8][8]这个数组即可。&&&&&&&&&& 说明一下,这个数组是如何对应的光立方的LED的。数组每一个元素(char型),对应每一层所有相同位置的LED灯(即正极相连的),请看第7图那个红色对应的一条灯链。&&&&&&&&&&&&&&还有,我为了方便设计,将更新显示最小的单位是100ms,即0.1s。也就是说,你想显示刷新的速度最快是100ms,其实这个时间是相对比较长了,可以改短一点,程序在stc12cIntProcess.c中第61行:&&&&&&&& if(++cubeCounter&10)&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&&& cubeCounter= 0;&&&&&&&&&&&&&&&&&& cubeUpdateFlag= TRUE;&&&&&&&& }把10改小一点就可以了。至于显示效果的设计,修改displayxx.c文件即可。每一个文件中都只有一个bool_t Display01(void)程序,其中序号01对应displayxx.c文件的序号。该函数名一定要在display.h中声明,这样app.c文件才能调用。/* ExternFuction -------------------------------------------------------------*/extern bool_tDisplay01(void);extern bool_tDisplay02(void);extern bool_tDisplay03(void);extern bool_tDisplay04(void);extern bool_tDisplay05(void);extern bool_tDisplay06(void);extern bool_tDisplay07(void);app.c文件中的voidCubeBufReload()函数式调用显示函数的地方。&&&&&&&& /*Reload graphical or switch grahical*/&&&&&&&& switch(cubeGraphical)&&&&&&&& {&&&&&&&&&&&&&&&&&& case GRAPH_01:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==Display01())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_02;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case GRAPH_02:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display02())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_03;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case GRAPH_03:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display03())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_04;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case GRAPH_04:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display04())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case GRAPH_05:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display05())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_06;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case GRAPH_06:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display06())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_07;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case GRAPH_07:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display07())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& default:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeGraphical =GRAPH_01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeStage = 0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }函数很长,不用看这么多,看一个即可。case GRAPH_07:&&&&&&&&&&&&&&&&&&&&&&&&&&&&if( TRUE ==&&Display07())&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeGraphical= GRAPH_01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeStage =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&当前显示效果为DISPLAY07,如果显示完(TRUE==)成立,切换为显示效果GRAPH_01,cubeStage==0XFF指将显示阶段定位到:显示效果的第一个显示(显示效果是一连串的显示组成)。CubeStage==0xFF不懂得童鞋,就照抄就可以了。 继续,显示效果函数的格式也是好理解的,例如Display01()(在display01.c文件中。)bool_tDisplay01(void){&&&&&&&& uint8_t i,j;&&&&&&&& bool_t endFlag = FALSE;&&&&&&&& switch(cubeStage)&&&&&&&& {&&&&&&&&&&&&&&&&&& case 0:&&&& //Clear all&&&&&&&&&&&&&&&&&&&&&&&&&&&&for(i =0;i&8;i++)&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& for(j=0;j&8;j++)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& {&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& cubeBuf[j]= 0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 1:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][7] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 2:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][6] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 3:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][5] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 4:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][4] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][7] =0x00;&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 5:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][3] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][6] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 6:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][2] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][5] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 7:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][1] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][4] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 8:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][3] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 9:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[1][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][2] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 10:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[2][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][1] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 11:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[3][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[0][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 12:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[4][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[1][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 13:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[5][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[2][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 14:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[6][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[3][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 15:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0x01;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[4][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 16:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0x03;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[4][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 17:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0x07;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[5][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 18:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0x0F;&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[6][0] =0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 19:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0x1F;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 20:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0x3F;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 21:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] = 0x7F;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 22:&&&&&&&&&&&&&&&&&&&&&&&&&&&&cubeBuf[7][0] =0xFF;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& case 25:&&&&&&&&&&&&&&&&&&&&&&&&&&&&endFlag = TRUE;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& default:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&& return endF}这个有25个显示面组成的。也就是每一个显示面都停留100ms,当然,你可以让多个显示面显示一个效果。注意的是最后一个显示面一定要有这句话endFlag= TRUE;,这是说明这个显示效果结束了。 &&&&&&&& 这样,程序我就解释完了,不过很抽象,大家想理解,就多研究程序,不懂就问。&&&&&&&& 我稍讲一下编译的问题,很多童鞋经常问为什么编译不出来,其实IDE已经告知的很清楚了。不懂就去网上搜搜,再不懂留言,至于像undefined这种编译错误最好不要问了。。。&&&&&&&& 还有很多人找不到代码的位置——啥,用搜索啊!KEIL工具栏有个望远镜的哪里有个输入框就是,windows下的程序基本上都是ctrl+F键可以直接调用搜索的!还有,跟踪函数,你看到一个函数,不知道函数体在哪里?点击到函数名中,右击选“go to define……”就可以了。睡神耗子先帮你到这了。 &&&&&&&& 还有一个关键的地方,做显示库。也就是如何给cubeBuf[][]赋值。大家自己去研究下,看看显示出来什么样子就可以了。&&&&&&&& 我写的显示函数是对应视频那个显示效果的。 &&&&&&&& 可以确定的是cubeBuf[][]所有元素赋值为0xFF,就是光立方全亮,都是0x01就只显示一层,最上层或最下层,都是0x00,光立方全熄灭。 &&&&&&&& 附件中有取模软件,有点抽象。大家要好好培养自己的立体感。。。 &&&&&&&& 完了,大家有什么不懂得,留言即可。&&&&&&&& 我会不定期的修改教程,以完善教程。&&&&&&&& 写得匆忙,有不妥之处,请指正及谅解。
睡神耗子于日!
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
UID:1471360
在线时间28小时
M币2255专家8
回 江小g 的帖子
:8*8*8也就只要24个IO口啊,轮流亮电流不会过50ma的,单片机驱动得起来 ( 13:25) 你的光立方是什么结构的?不理解为什么一次驱动24个?主流的都是驱动一层8*8=64个LED。
UID:1078085
在线时间677小时
M币1024专家15
回 睡神耗子 的帖子
:你的光立方是什么结构的?不理解为什么一次驱动24个?主流的都是驱动一层8*8=64个LED。 ( 13:29) 详情查看链接&&楼上修正
1到第9) ? 9 :
location='read.php?tid=955311&page='+page+'';}">页9) ? 9 :
location='read.php?tid=955311&page='+page+'';">确认
访问内容超出本站范围,不能确定是否安全
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
您目前还是游客,请
&回复后跳转到最后一页
Code by , Time now is:07-19 00:03, Total 0.412510(s) query 13,
Gzip enabled&

我要回帖

更多关于 单片机学习入门 的文章

 

随机推荐