本文把原有的立方光硬件升级,让电路更简单,程序更简洁,以前的设计是由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的输出端口即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)