炫彩LED二進(jìn)制時(shí)鐘
學(xué)習數字電路的二進(jìn)制之后,覺(jué)得二進(jìn)制數很神奇,例如現在的電腦都是采用二進(jìn)制。二進(jìn)制容易實(shí)現,運算規則簡(jiǎn)單,只有0和1,兩種狀態(tài)的轉換速度極快,從而由簡(jiǎn)單的0和1構成了復雜的計算機世界。我國古代的一本奇書(shū)《易經(jīng)》中說(shuō)“萬(wàn)事萬(wàn)物都有陰陽(yáng)”,似乎有異曲同工之妙,這些都讓我對二進(jìn)制數產(chǎn)生好奇。直到有一天我在網(wǎng)絡(luò )上看到一個(gè)這樣的題目:
一片果林的成熟季節又到了,大批量的水果就要和買(mǎi)主交易,然而,買(mǎi)主來(lái)收購之前給農戶(hù)出了一個(gè)“難題”:將1000個(gè)水果事先放在10只籮筐里,待其到來(lái)時(shí)如果能整筐整筐地搬出來(lái)并湊夠臨時(shí)指定的數量,買(mǎi)賣(mài)照做還堅持長(cháng)期合作;如果做不到,預約好的買(mǎi)賣(mài)取消,今后也不來(lái)打交道了。
題目出得很巧妙,我一想想不出來(lái)就查看答案,原來(lái)是一個(gè)跟二進(jìn)制數相關(guān)的問(wèn)題,第一個(gè)籮筐裝1個(gè),第二個(gè)箱子裝2個(gè),后面的籮筐的數量都是前一個(gè)籮筐的一倍(最后一個(gè)除外),所以各個(gè)籮筐的數量分別為:1、2、4、8、16、32、64、128、256和489,這樣的話(huà)就可以任意取出所需的數量了。一看答案,驚嘆二進(jìn)制數的神奇之處,竟然能這樣任意表達出所需的數量。
二進(jìn)制時(shí)鐘誕生記
正好這幾天研究著(zhù)用DS1302時(shí)鐘芯片和單片機制作一個(gè)時(shí)鐘,突然想到,既然二進(jìn)制能用“10個(gè)箱子”任意取出“1000內的數”,那么是否可以制作出一個(gè)跟二進(jìn)制數相關(guān)的時(shí)鐘呢?當兩種思維結合在一起的時(shí)候,就可以產(chǎn)生出很多有趣的事情來(lái)。這么一來(lái),就很自然地想出了制作一個(gè)二進(jìn)制時(shí)鐘,但是用什么方式來(lái)顯示呢?看到手頭上有多種顏色的LED燈,于是想到就用發(fā)光二極管唄,燈亮就是“1”,燈滅就是“0”,一排LED的亮就形成一個(gè)二進(jìn)制數,從而讀出相應時(shí)間。這個(gè)想法讓我興奮不已,于是我開(kāi)始著(zhù)手單片機的編程,用單片機把在DS1302上取出的時(shí)間的BCD碼轉換成10進(jìn)制數直接放在一組I/O口上面,單片機會(huì )自動(dòng)把十進(jìn)制數轉換成以1和0表示的數放在一組的8個(gè)I/O口上,這樣一來(lái),在相應I/O口上連接LED燈就能顯示出“時(shí)間”來(lái)了。由于小時(shí)最多為“24”,因此只需要5個(gè)LED燈就可以完整表示,而“分”和“秒”部分要6個(gè)LED燈才能完整表示。
注意事項
還有需要注意的地方是,我們平常讀數是從左到右讀高位數到低位數,但是大多單片機的I/O口組是從低位到高位的,因此我們制作時(shí)要特別注意焊接LED燈的順序,或者把單片機翻轉擺放就可以解決這個(gè)問(wèn)題。
讀時(shí)鐘的方法
如題圖所示的每組數就是“10110”、“101011”、“100001”,在腦袋里進(jìn)行簡(jiǎn)單的運算就可以得出時(shí)間為:“22:43:33”??茖W(xué)發(fā)現,經(jīng)常運算可以防止老年癡呆癥^_^,因此,二進(jìn)制時(shí)鐘就有了它的意義所在了。
評論