基于單片機(jī)旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)
摘要:目前,社會、家庭普遍使用的是機(jī)械表盤時(shí)鐘,而一款打破傳統(tǒng)的電子旋轉(zhuǎn)時(shí)鐘如果推出就能夠以其新穎的創(chuàng)意來吸引人們,于是文章就研究并設(shè)計(jì)了一個基于單片機(jī)的電子旋轉(zhuǎn)時(shí)鐘。該設(shè)計(jì)主要依據(jù)人眼視覺暫留(Persistence of Vision)原理,使用電機(jī)帶動一定數(shù)量的發(fā)光二極管旋轉(zhuǎn),讓單片機(jī)控制發(fā)光二極管在相應(yīng)的位置點(diǎn)亮,只要點(diǎn)亮?xí)r間間隔小于人眼視覺暫留時(shí)間,就算不是同時(shí)點(diǎn)亮的,也能完整的呈現(xiàn)出一個模擬時(shí)鐘。
本文引用地址:http://butianyuan.cn/article/201610/307232.htm關(guān)鍵詞:旋轉(zhuǎn)時(shí)鐘;STC12C5A60S2芯片;無線供電;DS1302芯片;紅外遙控
1 前言
目前,時(shí)鐘的種類是越來越多樣,功能是越來越豐富了,但大多時(shí)鐘還是傳統(tǒng)上的時(shí)鐘,即固定的表盤與指針,其形式與功能都比較單一,故難以吸引人。而一款旋轉(zhuǎn)時(shí)鐘不僅在創(chuàng)意上擺脫了傳統(tǒng)時(shí)鐘的設(shè)計(jì)而且也能迎合人們獵奇的心理,并且功能也可以多樣化,不僅可以顯示時(shí)間、日期,甚至連文字都能夠顯示。文章基于單片機(jī)設(shè)計(jì)了一款跟傳統(tǒng)機(jī)械時(shí)鐘一樣具有秒針、分針、時(shí)針和表盤刻度的旋轉(zhuǎn)時(shí)鐘,并且具有準(zhǔn)確顯示即時(shí)時(shí)間和校準(zhǔn)時(shí)間功能,且均可由紅外遙控器方便完成。
2 總體設(shè)計(jì)思想及方案
文章擬采用16個發(fā)光二極管的亮滅來模擬時(shí)鐘表盤,其旋轉(zhuǎn)用一個直流電機(jī)轉(zhuǎn)動來實(shí)現(xiàn);時(shí)鐘的1s源信號用DS1302時(shí)鐘芯片產(chǎn)生;為了保證時(shí)鐘盤面顯示的穩(wěn)定采用紅外對管來實(shí)現(xiàn);為了對旋轉(zhuǎn)起來的電路板供電方便,采用無線供電;為了能夠方便地調(diào)節(jié)旋轉(zhuǎn)時(shí)鐘的時(shí)間,擬采用紅外遙控。故該系統(tǒng)的硬件模塊主要由以下幾部分組成:顯示模塊、無線供電模塊、單片機(jī)最小系統(tǒng)模塊、紅外遙控模塊、時(shí)鐘模塊、校準(zhǔn)模塊、電機(jī)驅(qū)動模塊。其系統(tǒng)原理框圖如圖2.1所示。其中無線供電模塊利用線圈耦合將能量傳輸給單片機(jī)系統(tǒng),單片機(jī)系統(tǒng)就能正常工作了。電機(jī)帶動單片機(jī)系統(tǒng)快速旋轉(zhuǎn);然后單片機(jī)再快速讀取時(shí)鐘模塊的時(shí)間,并將這些時(shí)間信息送給顯示模塊;顯示模塊就能根據(jù)這些時(shí)間信息控制相應(yīng)的發(fā)光二極管亮滅,再配合電機(jī)的旋轉(zhuǎn)就能實(shí)現(xiàn)時(shí)鐘的顯示了。由于整個時(shí)鐘是高速旋轉(zhuǎn)的,所以對時(shí)間、位置等參數(shù)的設(shè)置采用紅外遙控模塊來實(shí)現(xiàn)比較方便。時(shí)鐘模塊就是為整個系統(tǒng)提供準(zhǔn)確的時(shí)間,而校準(zhǔn)模塊是用來對時(shí)鐘顯示的起點(diǎn)進(jìn)行檢測。
3 單元模塊電路分析與設(shè)計(jì)
3.1 單片機(jī)最小系統(tǒng)模塊分析與設(shè)計(jì)
單片機(jī)最小系統(tǒng)模塊是由單片機(jī)芯片(STC12C5A60S2)、時(shí)鐘晶振電路和復(fù)位電路組成。其中復(fù)位電路能夠?qū)崿F(xiàn)按鍵復(fù)位和上電即復(fù)位的兩個功能。時(shí)鐘晶振電路使用12MHz的晶振,給單片機(jī)提供時(shí)鐘信號。STC12C5A60S2芯片的31腳(/EA端)接高電平,使其從內(nèi)部的程序存儲器讀取指令,為了防止31腳意外輸出低電平而將單片機(jī)燒壞,需要在31腳外接一個10K的電阻。
3.2 無線供電模塊分析與設(shè)計(jì)
無線供電模塊由發(fā)送模塊和接收模塊組成。其中無線發(fā)送模塊主要由三極管B772和9013以及初級線圈等組成。其中B772工作時(shí)發(fā)熱會很厲害,所以要外加散熱片。電路主要工作原理是根據(jù)法拉第電磁感應(yīng)定律,先將直流電變成交流電,然后通過初級線圈將能量發(fā)送出去,次級線圈最終感應(yīng)得電,在經(jīng)過相應(yīng)的電路從而完成對單片機(jī)供電。其中,直流電轉(zhuǎn)交流電部分采用的是一個自激震蕩電路。
無線接收模塊原理主要如下:首先次級線圈用來接收發(fā)送模塊的初級線圈發(fā)送出來的能量,因?yàn)榘l(fā)送模塊采用的是直流變交流將能量傳送出去,所以次級線圈最總感應(yīng)到的是交流電,而單片機(jī)的供電要求是直流電,所以必須經(jīng)過整流才能變成直流電,最后再經(jīng)7805穩(wěn)壓芯片,用來輸出穩(wěn)定的5V電源,用來給單片機(jī)供電。
3.3 電機(jī)驅(qū)動模塊分析與設(shè)計(jì)
電機(jī)驅(qū)動模塊使用的電機(jī)是RF370電機(jī),當(dāng)其工作電壓選在5V時(shí)它的轉(zhuǎn)速在2500~3100轉(zhuǎn)/分,電流也只需20mA,非常省電,并且轉(zhuǎn)速能滿足設(shè)計(jì)要求,旋轉(zhuǎn)時(shí)噪音也小,所以很適合用來完成設(shè)計(jì)。電機(jī)是通過一個2腳插針連接到無線供電發(fā)送模塊中的,此時(shí)5V電源給電機(jī)供電。由于電機(jī)工作的時(shí)候會儲存能量,當(dāng)停止工作的時(shí)候就會釋放掉,為了避免電機(jī)釋放的電流可能會燒壞其它電路,故需在電機(jī)兩端并聯(lián)一個限流二極管1N4148起保護(hù)電路作用。
3.4 時(shí)鐘模塊分析與設(shè)計(jì)
時(shí)鐘模塊就由時(shí)鐘芯片DS1302與其外圍硬件電路組成。DS1302芯片在2腳和3腳之間接一個32.768KHz的晶振,DS1302芯片內(nèi)部經(jīng)過分頻就能得到1Hz的標(biāo)準(zhǔn)信號,為時(shí)鐘提供精準(zhǔn)的時(shí)間信號。8腳的Vcc1外接3V紐扣電池,當(dāng)模塊斷電后,它能讓DS1302繼續(xù)工作來保存時(shí)間數(shù)據(jù);1 腳的VCC2也是要外接電源5V,當(dāng)雙電源時(shí)VCC2作為主電源給模塊供電;5腳(/RST)是復(fù)位/片選端,用來控制DS1302與外通信,接單片機(jī) P3.5引腳;7腳(SCLK)是串行時(shí)鐘輸入端,為數(shù)據(jù)傳輸提供時(shí)鐘,該腳與單片機(jī)的P3.7腳連接;6腳(I/ O)是串行數(shù)據(jù)輸入/輸出端(雙向),為通信時(shí)數(shù)據(jù)傳輸引腳,與單片機(jī)的P3.6腳連接。
3.5 校準(zhǔn)模塊分析與設(shè)計(jì)
由于旋轉(zhuǎn)時(shí)鐘要讓LED旋轉(zhuǎn)起來要有圓形的效果,那么就要借助傳感器或紅外對管來幫助判斷出起點(diǎn)位置,也能讓時(shí)鐘的盤面顯示固定。本設(shè)計(jì)采用的是紅外對管,其中紅外發(fā)射管是焊接在無線供電發(fā)送模塊中的,紅外接收管與單片機(jī)的P3.3引腳相連,當(dāng)接收管收到發(fā)射管信號時(shí),電阻值會變得很小,此時(shí)P3.3處輸出低電平;當(dāng)沒接收到信號時(shí),接收管的阻值就變的很大,此時(shí)P3.3處就輸出高電平,即產(chǎn)生了一個下降沿。P3.3腳是單片機(jī)外部中斷1的輸入引腳,如果將該中斷設(shè)置為下降沿觸發(fā),則來了下降沿就立馬觸發(fā)中斷,讓單片機(jī)轉(zhuǎn)去執(zhí)行起點(diǎn)檢測程序,以實(shí)現(xiàn)時(shí)鐘能夠正常準(zhǔn)確顯示。
3.6 顯示模塊分析與設(shè)計(jì)
顯示模塊就利用一排LED燈來實(shí)現(xiàn)顯示時(shí)鐘效果。在該設(shè)計(jì)中,借助16個LED燈與單片機(jī)的P1、P0引腳相連來完成,其中D1~D4是綠色LED 燈,D5~D16是紅色LED燈。D1用來顯示時(shí)鐘圓盤邊框,D2~D4用來顯示表盤刻度,如果時(shí)間是12點(diǎn)、3點(diǎn)、6點(diǎn)、9點(diǎn)時(shí)就亮3個燈,如果是其他時(shí)刻時(shí)就亮兩個燈。D5~D16是用來實(shí)現(xiàn)表盤指針的顯示,讓顯示效果跟實(shí)際的時(shí)鐘指針一樣。由于時(shí)鐘中,秒針最長,所以顯示秒針時(shí)D5~D16要全部點(diǎn)亮;分針的長度居中,所以顯示時(shí)就D8~D16要全部點(diǎn)亮;時(shí)針的長度最短,所以顯示時(shí)就只點(diǎn)亮D11~D16。
3.7 紅外遙控模塊分析與設(shè)計(jì)
紅外遙控模塊由遙控器和接收模塊組成,使用的遙控器采用的是NEC協(xié)議,許多家電的紅外遙控就是采用這種協(xié)議。接收模塊用到了紅外一體化接收頭 VS1838B,其中它的3引腳接電源5V,2腳接地,1腳把接收頭解調(diào)后的信號傳送到單片機(jī)的外部中斷0引腳(即P3.2),利用中斷未讓單片機(jī)實(shí)現(xiàn)紅外解碼。
4 軟件程序分析與設(shè)計(jì)
程序設(shè)計(jì)的主要思想是:先用一個定時(shí)器產(chǎn)生固定的時(shí)間中斷,中斷執(zhí)行的主要任務(wù)是讓一個變量(就取名為Count)自加1。這個變量Count很重要的,因?yàn)榫褪歉鶕?jù)它的值來決定顯示的。比如電機(jī)每旋轉(zhuǎn)一圈,Count就從0加到180,一個表盤有60個刻度(即因秒和分都是60),那Count每加 15,單片機(jī)就要驅(qū)動LED顯示相應(yīng)的時(shí)刻點(diǎn),一直加到180,那12個時(shí)刻度點(diǎn)就顯示出來了。所以Count的最大值最好與60成倍數(shù)關(guān)系。
解決時(shí)鐘指針的顯示就只要讀取DS1302的時(shí)間然后分別判斷Count是否到達(dá)秒、分、時(shí)相應(yīng)的Count值,如果到達(dá)了就分別顯示出秒針、分針、時(shí)針。比如讀取DS1302的秒值等于20,由于旋轉(zhuǎn)一圈Count最大180,而一圈共60秒,因180/60=3,那么當(dāng)Count從0加到180的過程中,當(dāng)加到20*3=60時(shí),此時(shí)單片機(jī)就要將秒針對應(yīng)的LED點(diǎn)亮。分針顯示原理與此類似,因?yàn)橐粋€表盤上分也是有60個刻度。而時(shí)針的算法就有區(qū)別了,因?yàn)橐粋€表盤上,時(shí)才有12個刻度。時(shí)的算法是這樣的,(Hour*15)+(Minu/4)。因?yàn)楸肀P一圈,Count加到180,而表盤上時(shí)只有 12個點(diǎn),所以180/12=15,再加上分的移動會影響時(shí)針的走動,之間的換算關(guān)系是:(Minu*3)/12,Minu*3是此時(shí)分對應(yīng)的Count 值,而分走360度時(shí)只走30度,所以360/30=12。綜合顯示時(shí)所對應(yīng)的Count值就是(Hour*15)+(Minu/4)。這樣做的要求就是定時(shí)器的中斷時(shí)間要密切配合電機(jī)旋轉(zhuǎn)周期,并且電機(jī)的轉(zhuǎn)速要穩(wěn)定。
5 系統(tǒng)功能測試分析
實(shí)物焊接電路如圖5.1和5.2所示。圖5.1是電路板正面,這上面能看到的模塊分別有單片機(jī)最小系統(tǒng)模塊、顯示模塊、時(shí)鐘模塊、紅外遙控接收模塊和無線供電接收模塊。圖5.2是電路板反面,這上面有紅外對管接收模塊,無線供電接收線圈。2個螺絲是用來配重的。
功能測試效果如圖5.3、5.4、5.5和5.6所示。其中圖5.3是系統(tǒng)上電后顯示的即時(shí)時(shí)間10:43:12;圖5.4表示時(shí)鐘正常走動9秒后的時(shí)間 10:43:21;圖5.5是調(diào)整時(shí)針效果圖,由剛才的10點(diǎn)調(diào)整到了1點(diǎn);圖5.6是調(diào)整分針效果圖,由剛才的39分調(diào)整到50分。由測試結(jié)果可以看出,電子旋轉(zhuǎn)時(shí)鐘運(yùn)行正常,時(shí)間顯示準(zhǔn)確、表盤顯示穩(wěn)定、調(diào)整時(shí)間功能亦能實(shí)現(xiàn),所以設(shè)計(jì)功能達(dá)到了預(yù)期要求。
6 結(jié)束語
測試結(jié)果表明,文中設(shè)計(jì)的旋轉(zhuǎn)時(shí)鐘相比于市場上其他的方案,具有以下優(yōu)點(diǎn):①表盤(包括刻度和指針)顯示穩(wěn)定,不會出現(xiàn)顫動現(xiàn)象;②時(shí)間走動能夠一直準(zhǔn)確正常,不會出現(xiàn)運(yùn)行一段時(shí)間后跑時(shí)錯誤,指針亂指等現(xiàn)象;③顯示的亮度一致,不會出現(xiàn)顯示亮度不勻稱現(xiàn)象。當(dāng)然,該設(shè)計(jì)也存在功能需要進(jìn)一步提升的地方,比如可以加入顯示日期和文字等,使表盤顯示的內(nèi)容增多,并且通過按鍵來切換顯示模式等。
評論