打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
真正DIY勇士,打造超复杂LED立方光升级版

  来源:Chinked-out工作室 作者:刘小平 李志远2013年05月22日 13:56

  本文把原有的立方光硬件升级,让电路更简单,程序更简洁,以前的设计是由16个IC驱动的,好处是有可切换的坐标系,但16个IC和128根连接线的工作量实在不小,虽然控制程序只有60多行,但硬件的复杂让很多初学者望而却步。

  一直以来,我都在思考做什么样的设计给大家,就拿立方光来说,为了程序的简洁、易于理解,我的硬件电路不同于美国的原版设计,也因为8位单片机的局限性,这也是当时我能想到最好的解决方案。程序的简化是硬件的复杂弥补的。可是工作室的这种设计行吗?

  就效果而言是可行的,后来很多网友都仿做了出来,可我觉得不行。美国原版的设计电路要比我的简单,那么有没有硬件更简单且程序更短的?抱着这种想法,我在11月初开始了设计,一周的时间,竟然完成了。

  现在的立方光,硬件更简单,只有5个IC控制,不想用245的可以去掉,改为4个IC控制。这样硬件电路焊接比起之前的设计,大为简化,连接线也由以前的128根改为72根(和美国原作一样)。控制端口也有以前的三组改为2组16个。程序不但没有加长,反而更加简短。也不需要外接电源,USB供电即可。我实物用的是手机充电器供电,5V500ma,效果很好。这次的改进,唯一的缺点就是失去了可切换的坐标系,程序虽然简单,但需要一段时间理解。接下来就是秉承工作室传统,开始图文解说。

  因为改了硬件,动画代码应该也做修改的,以为工作繁忙,就没时间做这部分了,所以大家看到的图案是与之前比,是上下颠倒的,有耐心的同学自己可以修改动画字符,每行的动画字符左右对称调换位置即可。这次的视频里,我特意修改的动画切换时间,而且这次也用的是非增强型单片机,就是想证明下,8位非增强型单片机,一样可以有这种效果,之前有网友评论说速度不够快,估计是没看程序就这么说了。

  先是原理图:

  

  左边的64个电阻其实是底面板的64个共阳点,我用的是2P弯排针固定,所以就用电阻来表示了,之前的原理图是用二极管表示的,其实都一样,反正就两个点。最后出来8跟总线,我在做的时候,是加了245做驱动的,其实后来想想,也可以不加,改为其他端口控制,加上限流电阻就可以了,这样可以再节省一个IC。当然,如果想保留P1、P3端口的,还是用P0做输出吧,加个245而已。

  右边的64个电阻是侧面板的共阴极节点,点的一端接就是接线了,一共64根,接到4个154的输出端口即可。

  实物焊接图

  侧面板图

  

  

  这是我焊接的64根连接线,这64根还是必不可少的,材料用的是8P插座,一头是8P的座子,一头是镀锡导线,很便宜,用起来非常方便。

  底面板图

  

  

  底面板与之前的设计比起来,没有了64根线,改为8根总线输出。


驱动板图

  

  就是4个154顺序排列,布局是就看你的心情了。

  驱动板背面

  

  觉得自己的焊接还凑合吧

  完工图

  

  最后就是上程序了,有文本文档和HEX下载文件。中文注释暂时没时间编写,发布消息请留意工作室qq空间或工作室微博。

  控制代码如下:

  LED_Y EQU P2

  LED_X EQU P0

  ORG 00H

  sjmp start ;开始程序

  org 000bh ;定时中断0地址

  sjmp count

  START:

  MOV SP,#60H

  MOV DPTR,#TAB

  MOV R0,#79H

  MOV R1,#00H

  mov r4,#10

  MOV TMOD,#01H

  mov ie,#82h

  MOV TH0,#0d8H

  MOV TL0,#0f0H

  SETB TR0

  MAIN:

  MOV DPL,R0

  MOV DPH,R1

  MOV R2,#11100000B

  cjne r1,#5ah,LED1

  sjmp start

  LED1:

  lcall play

  CJNE R2,#11110000B,LED1

  MOV R2,#11010000B

  LED2:

  lcall play

  CJNE R2,#11100000B,LED2

  MOV R2,#10110000B

  LED3:

  lcall play

  CJNE R2,#11000000B,LED3

  MOV R2,#01110000B

  LED4:

  lcall play

  CJNE R2,#10000000B,LED4

  SJMP MAIN

  play:

  MOV LED_Y,R2

  CLR A

  MOVC A,@A+DPTR

  MOV LED_X,A

  mov r7,#80

  DJNZ R7,$

  MOV LED_X,#00H

  INC DPTR

  INC R2

  ret

  count:

  DJNZ R4,NEXT

  MOV R4,#10

  mov r6,a

  mov a,r0

  add a,#64

  mov r0,a

  mov a,r1

  addc a,#0

  mov r1,a

  clr cy

  mov a,r6

  NEXT:

  MOV TH0,#0d8H

  MOV TL0,#0f0H

  RETI

  完整程序请下载ASM文件。

  LED光立方程序资料包

来源:Chinked-out工作室 作者:刘小平 李志远2013年05月22日 13:56

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
单片机八层电梯控制系统设计 带原理图 PCB 源程序 实验报告论文
基于proteus的51单片机开发实例(7)--按键的检测
根据硬件电路,编写熄灭一个LED程序
单片机的内部结构(并行口)
AT89S52单片机的LED点阵显示电子钟安装、调试与维修的教学任务
爱看
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服