视觉暂留效应:让显示变得更加神奇的秘密

相信到这篇文章,基本都可以很好的控制单片机的输出端口了,有了这个基础,那么接下来的输入控制,不过是对之前学习的内容做了稍稍的改变,大体内容还是一致的。忍不住,我又测试了几种元件,发现,好像都是无法通过延时函数的刷新来实现同时显示。

视觉暂留效应是指人眼在看一个物体的时候,如果物体在很短的时间内发生了变化,然后又恢复原状,人眼是无法分辨的。这个时间有多短呢?0.1-0.4秒。间隔越短,人眼就越分辨不出来。如果把这个间隔时间记为周期T,那么可以得出频率为1/T=2.5HZ,也就是说在0.4秒的时候,人眼就会出现视觉暂留现象,我们就会发现重影。

频率这么快,人眼怎么可能察觉不到这些变化呢?很早以前就有人做过相关实验,得出的结论是24帧/秒不会有明显的闪烁,不过当然因人而异。24帧/秒的话,每帧就是0.0417秒,如果是连续的动作,比如人跑步,那么就需要更高的刷新率。一般来说,研究发现,只要在100HZ以上,人就基本感觉不到闪烁,会觉得一切都很流畅。100HZ每帧的时间为0.01秒。也就是说,如果我们把闪烁频率控制在100Hz,两个物体就会同时出现在同一个画面中,不会有任何违和感。

然后我们就用这个理论来测试一下我们的小灯,看看如何让两个小灯同时亮起来。

首先我们修改一下程序,需要加一个延时,还是用之前的延时,不要问为什么不用中断定时,因为对于初学者来说,还有很长的路要走,如果直接用的话,很容易弄得手忙脚乱,造成学习困难。延时很好理解,先从简单的开始,我们的延时是0.7秒,也就是2.67ms,100Hz需要10ms,所以我们可以延时3倍。

我们需要先点亮左上角的小灯,也就是1001,再点亮右下角的小灯,也就是0110。

视觉暂留效应:让显示变得更加神奇的秘密

我们先来修改一下代码。

视觉暂留效应:让显示变得更加神奇的秘密

让我们通过模拟来看一下这一点。

视觉暂留效应:让显示变得更加神奇的秘密

仍然有明显的闪烁,尽管您可以看到灯同时亮起,但闪烁非常强烈。

我们将其下载到实际电路中尝试一下。

可以看到实际电路表现良好,两个小灯同时亮起。至于为什么模拟中的情况和实际情况不一样,或许这也是为什么我们不能盲目相信模拟的结果,模拟只是一种手段而已。

接下来我们开始讲输入信号。相信通过这篇文章,大家基本上可以很好的控制单片机的输出口了。有了这个基础,接下来的输入控制只是对之前学过的内容做了些许改动,但大体内容还是一样。在讲输入之前,我先讲一下如何自己动手焊接一个最小系统,以及如何从一块废弃的电路板上拆下自己喜欢的元器件。

好了,暂时就这么多,大家有什么问题或者建议可以留言或者私信我,我们一起学习。

没办法,我又测试了好几个组件,发现好像都没办法通过延时函数的刷新来实现同时显示,难道是我的软件有问题?

视觉暂留效应:让显示变得更加神奇的秘密

经过一番“研究”,发现仿真软件并不是支持所有的东西,对一些代码的控制也很神奇。所以以后遇到仿真异常,最好下载到单片机上实际调试一下,不要完全相信仿真,否则会一败涂地。

单片机

51 单片机音响实验报告:掌握 KeilC51 集成开发工具与单片机应用

2024-5-30 19:06:34

单片机

Python 语言新突破:可用于控制单片机,为硬件领域带来新变革

2024-5-30 20:07:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索