設(shè)計(jì)一個(gè)旋轉(zhuǎn)的LED時(shí)鐘,將一排LED燈組安裝在指針旋轉(zhuǎn)板上,利用人眼的視覺暫留效應(yīng),使用單片機(jī)I/O端口控制LED的點(diǎn)亮和熄滅形成圖像從而顯示出時(shí)鐘畫面。在介紹旋轉(zhuǎn)LED時(shí)鐘的實(shí)現(xiàn)原理和方案的同時(shí),給出了其硬件電路設(shè)計(jì)和軟件流程。
1 旋轉(zhuǎn)時(shí)鐘原理分析
??? 物體在快速運(yùn)動(dòng)時(shí),當(dāng)人眼看到的影像消失后,人眼仍能繼續(xù)保留其影像,約0.1秒左右,這種現(xiàn)象稱為視覺暫留現(xiàn)象。旋轉(zhuǎn)時(shí)鐘就是利用了視覺暫留效應(yīng),原理如圖1所示。圖1(a)中最內(nèi)側(cè)的一個(gè)發(fā)光二極管和最外側(cè)的一個(gè)發(fā)光二極管在點(diǎn)亮并繞電機(jī)軸高速旋轉(zhuǎn)后就形成了圖1(b)所示的內(nèi)框和外框。圖1(b)緊挨著外框的那個(gè)LED燈用來顯示時(shí)間刻度。假設(shè)12點(diǎn)那個(gè)刻度為0°,則每個(gè)小時(shí)時(shí)針之間的角度為360°÷12=30°,于是當(dāng)整一列發(fā)光二極管每旋轉(zhuǎn)30°,該LED燈就點(diǎn)亮一個(gè)瞬間以呈現(xiàn)出時(shí)間刻度。如果在小于0.1秒內(nèi)這列LED燈能旋轉(zhuǎn)完一圈,人眼就會(huì)誤認(rèn)為先后產(chǎn)生的12個(gè)刻度是同一時(shí)間顯示出來的。
??? 顯示秒針、分針和時(shí)針的方法跟顯示時(shí)間刻度的原理一樣。假設(shè)用10支發(fā)光二極管來顯示秒針,10支里面靠內(nèi)部的9支用來顯示分針,再靠內(nèi)的7支作為時(shí)針的顯示燈,如圖1(a)所示。若要顯示3點(diǎn)零5秒,在時(shí)問刻度的顯示基礎(chǔ)上,控制整列發(fā)光二極管在0°時(shí)點(diǎn)亮9支LED燈以顯示分針在12點(diǎn)位置上;緊接著整列發(fā)光二極管又轉(zhuǎn)過30°即到了1點(diǎn)的位置,此時(shí)點(diǎn)亮10支LED燈,用以顯示秒針在5秒的位置上;當(dāng)發(fā)光二極管再轉(zhuǎn)過60°時(shí),再點(diǎn)亮5支來顯示時(shí)針指在3點(diǎn)的位置上,如圖1(c)所示。因?yàn)榘l(fā)光二極管在不斷高速旋轉(zhuǎn),在1秒內(nèi)已經(jīng)重復(fù)點(diǎn)亮12點(diǎn)位置上的9支、1點(diǎn)位置上的10支和3點(diǎn)位置上的7支LED燈10次以上,人眼就會(huì)產(chǎn)生圖1(c)所示的畫面。時(shí)鐘畫面是由一列發(fā)光二極管繞圓心按順時(shí)針方向逐列高速掃描過去,每到一列單片機(jī)控制相應(yīng)的LED燈點(diǎn)亮或者熄滅,要在0.1秒內(nèi)掃描完一圈,重復(fù)執(zhí)行這樣的掃描,人的眼睛看上去就形成了一幅時(shí)鐘的畫面。轉(zhuǎn)速越高,LED燈越多,分辨率就越高,看上去就越逼真。
2 旋轉(zhuǎn)時(shí)鐘方案設(shè)計(jì)
??? 系統(tǒng)框圖如圖2:單片機(jī)負(fù)責(zé)數(shù)據(jù)的處理并控制LED的顯示;紅外接收模塊由一體化紅外接收頭和紅外接收管組成,分別負(fù)責(zé)處理紅外遙控器發(fā)出的調(diào)時(shí)信號(hào)和識(shí)別旋轉(zhuǎn)的起始位置的作用;時(shí)鐘模塊負(fù)責(zé)記錄時(shí)間數(shù)據(jù),節(jié)省單片機(jī)的資源,提高其工作效率,可在系統(tǒng)掉電后正常計(jì)時(shí),不需重新設(shè)定時(shí)鐘時(shí)間。
?
??? 結(jié)構(gòu)設(shè)計(jì)如圖3,將單片機(jī)、時(shí)鐘芯片、LED燈組、一體化紅外接收頭、紅外接收管等器件焊接在一塊指針板上,只需要外部送電就可以正常運(yùn)作。電路板中心鉆一個(gè)電機(jī)軸插孔,電機(jī)軸插入其中帶動(dòng)指針板旋轉(zhuǎn)。電源采用無線供電模塊則裝在底座上,無線供電的初次級(jí)線圈放在電機(jī)與單片機(jī)之間,中心線圈隨著PCB旋轉(zhuǎn),外線圈和電機(jī)一起固定。
3 旋轉(zhuǎn)時(shí)鐘硬件電路設(shè)計(jì)
3.1 電源設(shè)計(jì)
??? 供電電路如圖4所示,采用無線供電模塊,具有無觸點(diǎn)、噪聲小、壽命長的特點(diǎn)。在線圈距離很近的情況下,輸出效率很高。其中L1是發(fā)射線圈,接收端需要一個(gè)接收線圈,經(jīng)整流穩(wěn)壓后接入指針板的單片機(jī)和時(shí)鐘芯片.
3.2 指針板的硬件設(shè)計(jì)
??? 為使指針板輕巧,采用貼片式LED。本時(shí)鐘需要能顯示“12、3、6、9”這四個(gè)整點(diǎn)數(shù)字和秒針、分針、時(shí)針,用7支LED燈顯示數(shù)字,21支用來顯示秒、分、時(shí)三針,另外再加一支內(nèi)框一支外框燈,總共30支LED燈。為了節(jié)省單片機(jī)I/O管腳,并不是每支LED燈都由一個(gè)I/O管腳控制的。為了滿足驅(qū)動(dòng)電流,加一支三極管來驅(qū)動(dòng)。為使顯示穩(wěn)定,在指針板上加裝一個(gè)紅外接收管,當(dāng)接收到與之配對(duì)的紅外發(fā)光二極管發(fā)出的紅外線后,就會(huì)反向?qū)ǎ拥絾纹瑱C(jī)外部中斷。有了這個(gè)信號(hào),單片機(jī)就可以在指針板旋轉(zhuǎn)過程中實(shí)時(shí)檢測計(jì)算指針板的角度位置,并根據(jù)指針板所處的不同位置,點(diǎn)亮相應(yīng)的LED。
單片機(jī)主要用于對(duì)紅外遙控代碼的譯碼、讀寫DS1302的時(shí)間數(shù)據(jù)以及控制LED顯示熄滅。本設(shè)計(jì)充分運(yùn)用89C52的各個(gè)接口:首先是28支LED燈,由于有13支LED燈只用來顯示時(shí)針,所以它們是同時(shí)點(diǎn)亮或者熄滅的,可以接在同一個(gè)I/O接口上,取P2.7口。P0.0-P0.7和P2.0-P2.7這16個(gè)引腳分別與16支LED燈連接,可以用來顯示不同的字符;其次X1、X2引腳接12MHz晶振;P3.2口接一體化紅外接收頭,作為高優(yōu)先級(jí)的外部中斷;P3.3口接紅外接收管,作為低優(yōu)先級(jí)外部中斷;P1.5-P1.7分別接DS1302的SICK、I/O及CE引腳。電路原理如圖5所示。
?
3.3 紅外接收/發(fā)射控制單元
??? 在指針板旋轉(zhuǎn)工作狀態(tài)中,可利用紅外遙控器來給旋轉(zhuǎn)時(shí)鐘調(diào)時(shí)間。發(fā)射電路采用TC9012遙控芯片自制遙控器,TC9012是一塊用于東芝系列紅外遙控系統(tǒng)中的專用發(fā)射集成電路,接收部分直接采用了紅外一體化接收頭HS0038。
4 軟件設(shè)計(jì)
??? 旋轉(zhuǎn)時(shí)鐘軟件設(shè)計(jì)首先是各種初始化及DS1302的初始時(shí)間設(shè)定,然后單片機(jī)采用查詢方式查詢P3.3是否接收到了中斷信號(hào)。接收到中斷說明指針板已經(jīng)旋轉(zhuǎn)到起點(diǎn)。查詢到之后先讀取DS1302的時(shí)間,然后顯示到LED。當(dāng)有紅外遙控信號(hào)調(diào)整時(shí)間時(shí),紅外接收頭HS0038將接收到紅外遙控器發(fā)出的紅外脈沖,會(huì)以下降沿的方式給單片機(jī)一組下降沿脈沖中斷信號(hào),單片機(jī)接收到脈沖后,通過編程和定時(shí)器,記錄每一個(gè)脈沖的脈寬,實(shí)現(xiàn)對(duì)各種信號(hào)的識(shí)別,實(shí)現(xiàn)時(shí)鐘時(shí)間的調(diào)整。系統(tǒng)主程序流程如圖6所示。
5 結(jié)論
??? 本文實(shí)現(xiàn)了用30支LED燈旋轉(zhuǎn)掃描顯示的形式來取代大量的LED點(diǎn)陣矩陣板來顯示時(shí)鐘信息。貼片LED的設(shè)計(jì),體積??;采用紅外對(duì)管來同步轉(zhuǎn)速,使顯示的畫面穩(wěn)定;無線供電,無機(jī)械磨損,噪聲??;紅外遙控,調(diào)時(shí)方便。本設(shè)計(jì)能夠?qū)崿F(xiàn)低成本、高質(zhì)量的顯示宣傳效果,具有一定的實(shí)用價(jià)值。