炫彩LED二进制时钟

来源:本站
导读:目前正在解读《炫彩LED二进制时钟》的相关信息,《炫彩LED二进制时钟》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《炫彩LED二进制时钟》的详细说明。
学习数字电路的二进制之后,觉得二进制数很神奇,例如现在的电脑都是采用二进制。二进制容易实现,运算规则简单,只有0和1,两种状态的转换速度极快,从而由简单的0和1构成了复杂的计算机世界。我国古代的一本奇书《易经》中说“万事万物都有阴阳”,似乎有异曲同工之妙,这些都让我对二进制数产生好奇。直到有一天我在网络上看到一个这样的题目:


炫彩LED二进制时钟

一片果林的成熟季节又到了,大批量的水果就要和买主交易,然而,买主来收购之前给农户出了一个“难题”:将1000个水果事先放在10只箩筐里,待其到来时如果能整筐整筐地搬出来并凑够临时指定的数量,买卖照做还坚持长期合作;如果做不到,预约好的买卖取消,今后也不来打交道了。

题目出得很巧妙,我一想想不出来就查看答案,原来是一个跟二进制数相关的问题,第一个箩筐装1个,第二个箱子装2个,后面的箩筐的数量都是前一个箩筐的一倍(最后一个除外),所以各个箩筐的数量分别为:1、2、4、8、16、32、64、128、256和489,这样的话就可以任意取出所需的数量了。一看答案,惊叹二进制数的神奇之处,竟然能这样任意表达出所需的数量。


二进制时钟诞生记


正好这几天研究着用DS1302时钟芯片和单片机制作一个时钟,突然想到,既然二进制能用“10个箱子”任意取出“1000内的数”,那么是否可以制作出一个跟二进制数相关的时钟呢?当两种思维结合在一起的时候,就可以产生出很多有趣的事情来。这么一来,就很自然地想出了制作一个二进制时钟,但是用什么方式来显示呢?看到手头上有多种颜色的LED灯,于是想到就用发光二极管呗,灯亮就是“1”,灯灭就是“0”,一排LED的亮就形成一个二进制数,从而读出相应时间。这个想法让我兴奋不已,于是我开始着手单片机的编程,用单片机把在DS1302上取出的时间的BCD码转换成10进制数直接放在一组I/O口上面,单片机会自动把十进制数转换成以1和0表示的数放在一组的8个I/O口上,这样一来,在相应I/O口上连接LED灯就能显示出“时间”来了。由于小时最多为“24”,因此只需要5个LED灯就可以完整表示,而“分”和“秒”部分要6个LED灯才能完整表示。


注意事项

因为我们一般采取上拉电流方式接正极驱动LED灯, 输出为“0”时LED灯亮,所以我们还要把取来的数进行取反放在相应组位,单片机C语言中的取反为“~”,例如取来的“秒”放在P1组口,就这样表示:“P1=~miao”,用“~”号就可以轻易取反。

还有需要注意的地方是,我们平常读数是从左到右读高位数到低位数,但是大多单片机的I/O口组是从低位到高位的,因此我们制作时要特别注意焊接LED灯的顺序,或者把单片机翻转摆放就可以解决这个问题。

读时钟的方法

如题图所示的每组数就是“10110”、“101011”、“100001”,在脑袋里进行简单的运算就可以得出时间为:“22:43:33”。科学发现,经常运算可以防止老年痴呆症^_^,因此,二进制时钟就有了它的意义所在了。

提醒:《炫彩LED二进制时钟》最后刷新时间 2024-03-14 01:23:25,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《炫彩LED二进制时钟》该内容的真实性请自行鉴别。