晴天教你做光立方2-弄清原理再写程序 光立方的工作原理

当你的硬件搭建完成后,我们即将开始了软件的编写,在编写前,首先你的脑海中应该有一个程序的大体框架,这样编写起来才会有行云流水般的感觉,这也是一个程序的构架的问题,一个好的程序构架不仅仅能够减少你书写程序锁浪费的时间,更能使你的程序运行的更加稳定,更加流畅。

对于光立方,首先你要清楚其工作原理,整个点亮的过程,单片机需要一直工作的,单片机每一次发送的数据只能点亮一层的特性得知,在整个画面显示图案的时候,即使是静止的图案,那么单片机也是在不断循环工作的。如果单片机停止了工作,那么我们的图案即会消失。

又由于这个特性,如果点亮某一层后停留的时间不一样,就会造成每一层的亮度不均匀,所以为了避免这些,我们需要一个准确的时间基准来依次点亮光立方的每一层,方法有很多,但我们的单片机不能总处理这么一个任务,他可能要处理的还有,动画的实时运算,其他数据的采集和处理等,所以考虑到这些任务都是需要实时运行的,我们的编程难度似乎加大了不少,这时我们需要引入单片机中断这一基础功能,我们的难题便会迎刃而解。

我们首先定义一个缓存数组,用于储存所有的光立方每一点的数据,暂且理解为显存。我通常用display[8][8]定义为数组。

下面就要定期把这个数组定期发送至驱动板中,时间如何去定义。

我们知道,当现实器播放大于15帧的动画时,才会在我们的眼中形成流畅的效果。那么我们的刷新率要大于15hz(越大越好,但是越大单片机负载也越大),这里也就是说,每1/15秒就要进行一次全部图的刷新,又由于在相同时间,只有一层能够点亮,那么每一层停留的时间就是1/15/8s根据这些规则,我们定义定时器让定时器有相应的数值。把这段专门用于刷新光立方显示的程序放于中断服务程序中。这样,我们程序的基础框架就有了。由于是定时器中断自动来刷新驱动板数据,这样我们看到的图像很稳定,亮度也均匀。而且我们再写其他的图案动画程序时候,不用再去考虑去更新驱动板数据,一切都会由中断自动完成。而我们如果要更改图案,我们只需要对数组所储存的数据进行更改即可,这也使我们的动画程序很驱动程序产生隔离,这样做的好处是及时我们更换了驱动板,那么也只需要对驱动函数(中断里面的程序)做相应的改动即可,不必再对其他程序改动。这也避免了“动一发而牵全身”的尴尬局面。

明天开始具体些程序,将会一条一条的分析。最近特别忙,特别累,所以更新有点吃力,望大家理解,另外大家的支持将是最大的动力,欢迎大家留言讨论。

晴天教你做光立方2-弄清原理再写程序 光立方的工作原理
  

爱华网本文地址 » http://www.aihuau.com/a/25101017/364516.html

更多阅读

手把手教你做蔬菜花 精 手把手教你网上开店

日子好了,天天如过节,没节日创造节日,中式节不过瘾,把洋人节也那来增加气氛。玫瑰、巧克力涨价再涨价商家肥了,自己的口袋憋了居家过日子,柴米油盐酱醋茶菜一样可以凑出浪漫篇章手把手教你做蔬菜花 精——制作材料食材:白萝卜,红皮萝卜

父亲节 教你做创意衬衫手工卡送给父亲 精 送给父亲节的画

特别的节日里,别忘了给你的父亲献上一份特别的DIY礼物哦。不需要一个小时的功夫,满载心意的父亲节卡片竣工。下面我们将制作过程拍下,图文并茂的演示——告诉大家,表达心意其实可以很简单。一家子希望所有的父亲都能收到这一份简单而诚

教你借钱如何打借条,如何写借条欠条 欠条和借条

教你借钱如何打借条,如何写借条欠条——简介在我们的日常生活中,很多事情都与钱相关,在我们日常的人际交往中,亲朋好友之间往往不免会面临借钱与被借的情况。作为债主,在借钱给别人的时候,必须要打借条,因为借条是表明债权债务关系的书面凭

教你做枸杞红枣乌鸡汤 红枣桂圆枸杞鸡汤做

菜品口味:咸鲜 主要工艺:炖 主要食材:禽蛋类 所需时间:一小时 制作难度:普通 原创属性:原创 教你做枸杞红枣乌鸡汤——工具/原料主料:乌鸡 1500克辅料 红枣 5个枸杞 15克桂圆 7个葱 1棵姜 10克料酒 20克盐 5克水 800克教你做枸杞红枣乌鸡汤

教你做酸奶蜂蜜面膜 酸奶蜂蜜面膜功效

教你做酸奶蜂蜜面膜——简介人到中年护肤是常有的事情,特别是女人,其实这个只是“亡羊补牢,犹未为晚”的思想而已。也有由于经济条件所限不想买很贵的化妆品。今天,小编教你一招,既省钱有实惠的方法,你可以试试看的。教你做酸奶蜂蜜面膜

声明:《晴天教你做光立方2-弄清原理再写程序 光立方的工作原理》为网友你别哭他不在乎分享!如侵犯到您的合法权益请联系我们删除