旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)_第1頁(yè)
旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)_第2頁(yè)
旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)_第3頁(yè)
旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)_第4頁(yè)
旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、旋轉(zhuǎn)時(shí)鐘的設(shè)計(jì)摘要POV LED(POV即persistence of vision視覺暫留),它指的是,借助人的視覺暫留效果,通過少量LED燈的機(jī)械掃描方式來(lái)顯示各種字符或者圖像。其原理很簡(jiǎn)單,就是靠電動(dòng)機(jī)帶動(dòng)一排LED燈繞電機(jī)軸高速旋轉(zhuǎn),與此同時(shí)單片機(jī)控制各個(gè)LED燈在旋轉(zhuǎn)平面相應(yīng)的位置上點(diǎn)亮,構(gòu)成一幅點(diǎn)陣畫,雖然它們不是同時(shí)點(diǎn)亮的,但由于人的視覺暫留效果,會(huì)誤以為每個(gè)點(diǎn)都是同時(shí)點(diǎn)亮的。這就是我這篇論文研究的對(duì)象。研究的目的第一是為了鞏固大學(xué)四年所學(xué)的關(guān)于模數(shù)電及單片機(jī)的知識(shí),并加深對(duì)它們的印象;另外LED旋轉(zhuǎn)顯示器并沒有被人們廣泛認(rèn)知,作為電子愛好者就應(yīng)該把新鮮有趣的電子作品發(fā)揚(yáng)光大。論

2、文中我詳細(xì)地?cái)⑹隽藪呙栾@示的原理,介紹了各種掃描顯示的電子作品。通過對(duì)這些類似作品的比較,再加入我自己的想法和創(chuàng)意,確立了我所要制作的旋轉(zhuǎn)時(shí)鐘的方案。接著具體說明了制作旋轉(zhuǎn)時(shí)鐘所需要的硬件設(shè)備的功能與特性,主要包括單片機(jī)STC89C52、時(shí)鐘芯片DS1302以及紅外遙控芯片TC9012。之后進(jìn)行軟件設(shè)計(jì),畫出各程序的流程圖,并對(duì)重要程序代碼作了解釋。最后通過軟硬件調(diào)試得出結(jié)論,證明了我所設(shè)計(jì)的旋轉(zhuǎn)時(shí)鐘方案是可行的。希望通過我的寫作能讓更多人了解并喜歡POV LED。關(guān)鍵詞:視覺暫留;旋轉(zhuǎn)時(shí)鐘;掃描顯示AbstractPOV LED (POV is short for persistence o

3、f vision), it refers to that with the help of the effect of human POV, a few of LEDs can display the characters or images by the method of mechanical scanning. Its principle is very simple:a row of LEDs rotate around a motors axis at high speed, while the MCU controls each one of the LEDs to lighten

4、 in the corresponding position of the rotating plane, forming a lattice picture, although not all the LEDs are lightening at the same time, because of the effect of POV, we will mistake all the LEDs for lightening at the same time. This is my object of this thesis. The first purpose of my research i

5、s to consolidate the knowledge we have learnt in college; secondly the rotating LED display has not been understood by many people, as a lover of electronic works should carry the fresh and interesting electronic works forward. In my thesis I had expounded the principle of the scanning display, and

6、introduced numbers of the similar electronic works. After comparing these productions, and adding my own thoughts and ideas, I had established the program of the rotating clock which I wanted to make. Then I specified the function and characteristics of the hardware which were needed for making the

7、rotating clock, including the STC89C52, the clock chip DS1302 as well as the infrared remote control chip TC9012. Then I designed the software, drew the scheme, and explained the important code. Finally, after debugging the software and the hardware, I had made the conclusion that my alternative of

8、rotating clock was feasible. I hope that more people will know and like POV LED after reading my thesis.Keywords:persistence of vision;rotating clock;scanning display目錄前言1第1章 旋轉(zhuǎn)時(shí)鐘的原理及制作方案21.1 旋轉(zhuǎn)時(shí)鐘原理分析21.2 方案的確定3第2章 硬件設(shè)計(jì)52.1 指針板的硬件設(shè)計(jì)52.1.1 單片機(jī)端口分配52.1.2 指針板電源驅(qū)動(dòng)方式62.1.3 時(shí)鐘芯片DS130262.1.4 紅外對(duì)管82.2 紅外遙控設(shè)

9、備的硬件設(shè)計(jì)82.3 電源基板的硬件設(shè)計(jì)112.4 電機(jī)的選擇122.5 電刷的制作122.6 元器件焊接時(shí)應(yīng)注意的問題13第3章 軟件設(shè)計(jì)143.1 LED掃描顯示程序設(shè)計(jì)143.2 單片機(jī)讀寫DS1302程序設(shè)計(jì)163.3 單片機(jī)對(duì)紅外遙控代碼的譯碼程序設(shè)計(jì)18第4章 系統(tǒng)調(diào)試214.1 硬件調(diào)試214.2 軟件調(diào)試21結(jié)論22致謝23參考文獻(xiàn)24附錄1 旋轉(zhuǎn)時(shí)鐘電路原理圖25附錄2 旋轉(zhuǎn)時(shí)鐘PCB圖26附錄3 旋轉(zhuǎn)時(shí)鐘程序代碼27前言時(shí)下很流行一種用LED燈旋轉(zhuǎn)掃描來(lái)顯示各式各樣畫面的電子作品,即“POV LED”,它的核心部件還是單片機(jī)。用POV的原理來(lái)做顯示屏,優(yōu)勢(shì)主要表現(xiàn)在:能以少

10、量LED燈實(shí)現(xiàn)傳統(tǒng)方式下海量LED燈才能實(shí)現(xiàn)的顯示屏。例如POV的16個(gè)LED可以輕松地顯示16個(gè)漢字,而傳統(tǒng)LED屏需要4096個(gè)LED。另外字樣或圖案的顯示效果非常炫酷,可以脫離框架漂浮在半空中或者附在飛轉(zhuǎn)的車輪上。目前國(guó)內(nèi)外此類電子作品層出不窮,五花八門,各有其獨(dú)特的創(chuàng)新與魅力。從空間角度來(lái)看可分為二維掃描顯示和三維掃描顯示:前者是一列LED燈以一端為圓心作360度旋轉(zhuǎn)或者擺動(dòng)成像;后者是一排或一面LED燈垂直旋轉(zhuǎn)平面作空間旋轉(zhuǎn)來(lái)顯示字樣或圖案。旋轉(zhuǎn)時(shí)鐘是典型的二維掃描顯示。另外在自行車車輪上設(shè)計(jì)安裝這種電子作品更是一種時(shí)尚炫酷的潮流,不僅不需要電機(jī),更可以實(shí)現(xiàn)不用電源來(lái)顯示美麗鮮艷的圖

11、案或者動(dòng)畫。試想一下,要是夜晚騎著這樣的自行車,將會(huì)是一道多么美麗的風(fēng)景,完全能為都市夜景錦上添花。另外還有搖搖棒,它不是360掃描而是擺動(dòng)掃描,但原理都是一樣的,通過人的手或者靠彈性機(jī)械結(jié)構(gòu)來(lái)?yè)u擺一排LED燈,就可以顯示文字或者簡(jiǎn)單的圖案,這種比較適合在演唱會(huì)上使用。國(guó)外的電子作品愛好者似乎更熱衷于三維掃描顯示,其實(shí)顯示原理跟二維的一樣,不過工程量比較大,體積也大了,機(jī)械結(jié)構(gòu)更厚實(shí)。多數(shù)還是只用一排LED,通過電機(jī)的帶動(dòng),使LED顯示板垂直于旋轉(zhuǎn)平面飛速旋轉(zhuǎn),形成一個(gè)虛擬的圓柱形空間,在圓柱的側(cè)面就能顯示各種圖案、文字或者是時(shí)間。有些愛好者將一排LED燈做成弧形,旋轉(zhuǎn)起來(lái)就成了球形,自然制作

12、地球儀最合適了。另外還有使用多排不同顏色的LED燈制作的顯示器,顯示的畫面不僅細(xì)密而且五彩繽紛,當(dāng)然工程量比較大,適于廠家去批量生產(chǎn)。我的畢業(yè)設(shè)計(jì)就是制作出一個(gè)類似這樣的電子作品旋轉(zhuǎn)時(shí)鐘,當(dāng)它工作時(shí),電機(jī)帶動(dòng)一排高亮LED繞電機(jī)軸旋轉(zhuǎn),LED燈在單片機(jī)控制下進(jìn)行一定規(guī)則的顯示,從而形成時(shí)鐘的時(shí)針、分針和時(shí)間刻度,并按每分每小時(shí)走動(dòng),模擬出一個(gè)炫彩的時(shí)鐘。接下來(lái)我就詳細(xì)敘述它的原理及制作過程。第1章 旋轉(zhuǎn)時(shí)鐘的原理及制作方案1.1 旋轉(zhuǎn)時(shí)鐘原理分析肯定有人會(huì)疑惑,就用圖1.1(a)中這么一列發(fā)光二極管就能顯示出一幅如圖1.1(b)這么漂亮的時(shí)鐘畫面嗎?其實(shí)原理很簡(jiǎn)單,就是利用了人眼的視覺暫留的錯(cuò)

13、覺。人的視覺有一種惰性,當(dāng)看一幅畫的時(shí)候,這幅畫的信息就保存在眼睛里了,即使這幅畫突然消失,但保存在眼睛里的信息還將保留一會(huì)兒(大約十分之一秒),大腦的感覺就好像這幅畫還存在似的,只要在1秒鐘內(nèi)這幅畫能間斷重復(fù)地顯示十次以上,即使它在閃爍,但人會(huì)覺得這幅畫是在一直穩(wěn)定地顯示著,這就是視覺暫留。(a)靜止?fàn)顟B(tài)下的旋轉(zhuǎn)時(shí)鐘 (b)工作中的旋轉(zhuǎn)時(shí)鐘圖 1.1 旋轉(zhuǎn)時(shí)鐘實(shí)物圖回到旋轉(zhuǎn)時(shí)鐘上,它也是利用了視覺暫留的原理。如圖1.2(a)所示,最內(nèi)側(cè)的一個(gè)發(fā)光二極管和最外側(cè)的一個(gè)發(fā)光二極管在點(diǎn)亮并繞電機(jī)軸高速旋轉(zhuǎn)后就形成了如圖1.2(b)所示的內(nèi)框和外框。緊挨著外框的那個(gè)LED燈用來(lái)顯示時(shí)間刻度,如圖1.

14、2(b)所示。假設(shè)12點(diǎn)那個(gè)刻度為0,那么每個(gè)小時(shí)時(shí)針之間的角度為36012=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í)間顯示出來(lái)的。顯示秒針、分針和時(shí)針的方法跟顯示時(shí)間刻度的原理一樣。我們假設(shè)用10支發(fā)光二極管來(lái)顯示秒針,10支里面靠?jī)?nèi)部的9支用來(lái)顯示分針,再靠?jī)?nèi)的7支作為時(shí)針的顯示燈,如圖1.2(a)所示。舉個(gè)例子,若要顯示3點(diǎn)零5秒,在時(shí)間刻度的顯示基礎(chǔ)上,控制整列發(fā)光二極管在0時(shí)點(diǎn)亮9支LED燈以顯示分針在12點(diǎn)位置上;緊接著整列發(fā)光二極管又轉(zhuǎn)過30即到了1點(diǎn)

15、的位置,此時(shí)點(diǎn)亮10支LED燈,用以顯示秒針在5秒的位置上;當(dāng)發(fā)光二極管再轉(zhuǎn)過60時(shí),再點(diǎn)亮5支來(lái)顯示時(shí)針指在3點(diǎn)的位置上,如圖1.2(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.2(c)所示的畫面。時(shí)鐘畫面是由一列發(fā)光二極管繞圓心按順時(shí)針方向逐列高速掃描過去,每到一列單片機(jī)控制相應(yīng)的LED燈點(diǎn)亮或者熄滅,要在0.1秒內(nèi)掃描完一圈,然后再重復(fù)執(zhí)行這樣的掃描,人的眼睛看上去就形成了一幅時(shí)鐘的畫面。轉(zhuǎn)速越高,LED燈越多,分辨率就越高,看上去就越逼真。(a)靜止時(shí) (b)小時(shí)刻度的呈現(xiàn)

16、 (c)指針的呈現(xiàn)圖 1.2 旋轉(zhuǎn)時(shí)鐘原理圖圖1.2中的時(shí)鐘指針是不走的,比較方便實(shí)現(xiàn),而現(xiàn)實(shí)中時(shí)鐘的指針是會(huì)走的,是每秒都在變的,這就要求顯示指針用的數(shù)據(jù)需要隨著時(shí)間的推移而不斷更新。單片機(jī)本身具有計(jì)時(shí)功能,設(shè)定好的時(shí)間一到(比如1秒),就刷新接有LED燈I/O接口的數(shù)據(jù),這樣每秒鐘的畫面都在變化,指針就仿佛在“走”了。各個(gè)時(shí)刻并不一定用點(diǎn)來(lái)顯示,還可以用數(shù)字來(lái)顯示,接下來(lái)分析下發(fā)光二極管是如何顯示數(shù)字時(shí)間的。如果一列LED燈在0.1秒內(nèi)轉(zhuǎn)一圈,那么我們最終看到的效果是這一列LED在一圈內(nèi)各個(gè)位置的圖像的疊加。圖1.3是用77的點(diǎn)陣來(lái)顯示數(shù)字3,在77的格子里亮用1表示,熄滅則為0,所以數(shù)字

17、“3”從上至下、從左至右編碼為、。如果我們用單片機(jī)控制這一列發(fā)光二極管在相鄰的7個(gè)等分時(shí)刻內(nèi)顯示7個(gè)不同的編碼值,旋轉(zhuǎn)一周后(小于0.1s)又重復(fù)輸出這些代碼,就會(huì)穩(wěn)定地顯示一個(gè)數(shù)字“3”。同理還可以顯示英文字符或者漢字,LED燈足夠多,分辨率足夠大。圖 1.3 數(shù)字3點(diǎn)陣圖1.2 方案的確定網(wǎng)上旋轉(zhuǎn)時(shí)鐘的資料比較多,款式也各有不同,但大致由底座、電機(jī)、指針板三大塊組成。底座主要用來(lái)固定電機(jī),是基礎(chǔ),必須要牢固;而電機(jī)是用來(lái)帶動(dòng)指針板高速旋轉(zhuǎn),是出力的“苦工”;指針板是核心部分,上面有單片機(jī)、LED燈以及各種外圍元器件,各種時(shí)鐘畫面就是靠指針板顯示出來(lái)的。通過對(duì)資料的整理總結(jié)出以下幾種方案:最

18、簡(jiǎn)單就是用七八支LED燈來(lái)顯示12個(gè)刻度點(diǎn)、分針和時(shí)針,顯示、計(jì)時(shí)都靠單片機(jī)完成,沒有掉電保護(hù)和調(diào)時(shí)功能,LED燈與單片機(jī)等各元件都由裝在指針板上的電池供電工作。這種方案雖然很簡(jiǎn)單,制作起來(lái)也較方便,但是由于電池裝在指針板上,電池又相對(duì)較重,在高速旋轉(zhuǎn)時(shí)一定要裝對(duì)重才能保持指針板平衡,這樣對(duì)電機(jī)的功率要求就比較大,而且浪費(fèi)電源。另外這種方案也沒有掉電保護(hù)和調(diào)時(shí)功能,即使用電腦通過軟件來(lái)調(diào)時(shí)間也很難調(diào)準(zhǔn),而且一旦掉電后就又得重新調(diào),基本上是無(wú)法顯示正確時(shí)間的,時(shí)鐘最重要的就是時(shí)間準(zhǔn)確,所以這種方案沒有實(shí)際意義,只能做擺設(shè),畢業(yè)設(shè)計(jì)當(dāng)然要做得有意義一點(diǎn),因此我不采取這種方案。最復(fù)雜的方案是除了指針

19、版外還在底座上加了塊基板,板上有電源插孔,通過變壓器送電進(jìn)來(lái),還有芯片,包括紅外解碼、按鍵檢測(cè)、聲控信號(hào)檢測(cè);指針板主要包括單片機(jī)、時(shí)鐘芯片、數(shù)十支高亮LED燈、溫度傳感器和蜂鳴器等??梢酝ㄟ^遙控或者直接用語(yǔ)言對(duì)基板下達(dá)指令,選擇旋轉(zhuǎn)時(shí)鐘開起或者關(guān)閉、顯示的模式如時(shí)鐘模式、溫度模式或者漢字模式,最重要的是可以當(dāng)場(chǎng)調(diào)時(shí)了。指針板上還有一個(gè)蜂鳴器,在執(zhí)行按鍵等控制命令時(shí)鳴叫以及鬧鐘鳴叫功能和整點(diǎn)鳴叫報(bào)時(shí)功能。溫度傳感器負(fù)責(zé)采集溫度,并可以顯示出來(lái)。另外有了時(shí)鐘芯片后旋轉(zhuǎn)時(shí)鐘就不怕掉電了,時(shí)鐘芯片有后備電源,會(huì)同步時(shí)間,下次開起后不用調(diào)就能顯示正確的時(shí)間。更巧妙的是指針板的電是通過電機(jī)軸用電刷的方式

20、提供的,就不需要經(jīng)常換電池了,而其指針板也輕了很多,電機(jī)功率可以取小一點(diǎn)。我所設(shè)計(jì)的旋轉(zhuǎn)時(shí)鐘是介于最簡(jiǎn)單和最復(fù)雜方案之間的。系統(tǒng)的總體結(jié)構(gòu)框圖如圖1.4所示,單片機(jī)負(fù)責(zé)數(shù)據(jù)的處理并控制LED的顯示;紅外接收模塊負(fù)責(zé)接收和處理紅外遙控器發(fā)出的紅外遙控信號(hào),因?yàn)樾D(zhuǎn)時(shí)鐘在旋轉(zhuǎn)顯示時(shí),不方便用按鍵調(diào)時(shí),所以引入紅外遙控技術(shù),使得作品更加實(shí)用;時(shí)鐘模塊負(fù)責(zé)記錄時(shí)間數(shù)據(jù),從而節(jié)省了單片機(jī)的資源, 提高其工作效率,并采用時(shí)鐘芯片,可在系統(tǒng)掉電后正常計(jì)時(shí),不需重新設(shè)定時(shí)鐘時(shí)間, 這使得時(shí)鐘的使用更加便捷。以上模塊都集成在指針板上。電源模塊則裝在底座上,經(jīng)變壓器送電給電機(jī),再經(jīng)穩(wěn)壓管通過電刷給指針板上各模塊供

21、電。圖 1.4 旋轉(zhuǎn)時(shí)鐘總體結(jié)構(gòu)框圖第2章 硬件設(shè)計(jì)2.1 指針板的硬件設(shè)計(jì)指針板是旋轉(zhuǎn)時(shí)鐘的關(guān)鍵部分,負(fù)責(zé)顯示功能,指針板上有一排超高亮的LED燈。它們就是顯示部件了,亮點(diǎn)所在。為了制作方便,我把單片機(jī)、時(shí)鐘芯片、發(fā)光二極管、一體化紅外接收頭等器件焊接在一塊指針型的電路板上,這樣可以使旋轉(zhuǎn)的電路成為一個(gè)獨(dú)立的系統(tǒng),只需要外部送電進(jìn)來(lái)就可以正常運(yùn)作。電路板中心鉆一個(gè)電機(jī)軸插孔,插孔為半圓并且半徑與電機(jī)軸相等,電機(jī)軸插入其中帶動(dòng)指針板旋轉(zhuǎn)。該電路板越輕越好,LED燈可用貼片式。LED燈數(shù)目根據(jù)不同用處可選多選少,我設(shè)計(jì)的時(shí)鐘需要能顯示“12、3、6、9”這四個(gè)整點(diǎn)數(shù)字和秒針、分針、時(shí)針,這樣我用

22、7支LED燈顯示數(shù)字,21支用來(lái)顯示秒、分、時(shí)三針,另外再加一支內(nèi)框一支外框燈,總共30支LED燈,也足夠用來(lái)顯示漢字和英文。在這個(gè)項(xiàng)目中,一共采用了30支LED。也就是說每一列上可以分辨的顯示點(diǎn)有30個(gè)點(diǎn)。當(dāng)然,這只是視覺上的顯示效果。但為了節(jié)省單片機(jī)I/O管腳,并不是每支LED燈都由一個(gè)I/O管腳控制的。通過分析,我發(fā)現(xiàn)靠近內(nèi)圈的那十幾支LED,除了用做顯示時(shí)鐘指針外,并不適合用來(lái)顯示字符。而在顯示指針時(shí),這部分LED的亮滅是同時(shí)發(fā)生的,這樣就可以用一個(gè)I/O口來(lái)控制這組LED,讓它們是同時(shí)亮或者同時(shí)滅。為了滿足驅(qū)動(dòng)電流,我加了一支三極管來(lái)驅(qū)動(dòng)。除了以上幾點(diǎn)外,需要考慮的還有顯示穩(wěn)定問題:

23、比如指針板旋轉(zhuǎn)掃描一圈完成了數(shù)字“12”的顯示,如果電機(jī)速度因?yàn)楦鞣N原因而不穩(wěn)定,轉(zhuǎn)下一圈所用的時(shí)間多于(或少于)上一圈的,那么數(shù)字“12”將會(huì)移到上一次顯示位置的左側(cè)(或右側(cè))。為了解決這個(gè)問題,在指針板上加裝一個(gè)紅外接收管,如圖2.1所示。當(dāng)接收到與之配對(duì)的紅外發(fā)光二極管(紅外發(fā)光二極管安裝在電機(jī)外殼上,并與接收管對(duì)齊)發(fā)出的紅外線后,就會(huì)反向?qū)?,接到單片機(jī)外部中斷,將會(huì)觸發(fā)外部中斷。指針板每旋轉(zhuǎn)一周,就會(huì)產(chǎn)生這樣一個(gè)中斷信號(hào),這個(gè)信號(hào)被稱為“過零信號(hào)”。有了這個(gè)信號(hào),單片機(jī)就可以在指針板旋轉(zhuǎn)過程中實(shí)時(shí)檢測(cè)計(jì)算指針板的角度位置,并根據(jù)指針板所處的不同位置,點(diǎn)亮相應(yīng)的LED,這樣每轉(zhuǎn)一圈就

24、能消除一圈的誤差,使得顯示內(nèi)容保持穩(wěn)定。接下來(lái)我介紹一下指針板的供電方式和所用到的各個(gè)芯片的資料。圖 2.1 用于同步的紅外對(duì)管2.1.1 單片機(jī)端口分配旋轉(zhuǎn)時(shí)鐘的核心部件單片機(jī)主要用于對(duì)紅外遙控代碼的譯碼,讀寫DS1302的時(shí)間數(shù)據(jù)以及控制LED顯示熄滅。對(duì)單片機(jī)的程序存儲(chǔ)量和控制能力要求并不高,選擇STC89C52單片機(jī)綽綽有余。本設(shè)計(jì)充分運(yùn)用89C52的各個(gè)接口:首先是28支LED燈,由于有13支LED燈只用來(lái)顯示時(shí)針,所以它們是同時(shí)點(diǎn)亮或者熄滅的,可以接在同一個(gè)I/O接口上,取P2.7口。P0.0-P0.7和P2.0-P2.7這16個(gè)引腳分別于16支LED燈連接,可以用來(lái)顯示不同的字符

25、;其次X1、X2引腳接12MHz晶振;P3.2口接一體化紅外接收頭,作為高優(yōu)先級(jí)的外部中斷;P3.3口接紅外接收管,作為低優(yōu)先級(jí)外部中斷;P1.5-P1.7分別接DS1302的SLCK、I/O及CE引腳。2.1.2 指針板電源驅(qū)動(dòng)方式根據(jù)我收集到的資料,整理出以下三種供電方式:一、電池供電。這是最簡(jiǎn)單的方法,直接在指針板上安裝兩到三節(jié)7號(hào)電池就行了。采用這種方式不用擔(dān)心電壓波動(dòng),也沒有接觸不良的問題,能夠十分穩(wěn)定地給指針板供電。但是電池很不耐用,經(jīng)常要換,既不經(jīng)濟(jì)又不環(huán)保,最大問題是太重,一般電機(jī)帶不動(dòng),需要選擇較大功率電機(jī),成本較大。二、自感應(yīng)發(fā)電。這種方法是將一根導(dǎo)線中間部分繞在電機(jī)內(nèi)部的

26、轉(zhuǎn)子上,電機(jī)旋轉(zhuǎn)時(shí)該導(dǎo)線切割磁場(chǎng),兩頭產(chǎn)生感應(yīng)電動(dòng)勢(shì),經(jīng)過整流后作為指針板上的電源。這種方式設(shè)計(jì)很巧妙,無(wú)機(jī)械磨損??上峁┑碾娏饔邢蓿荒苓m合LED 較少的旋轉(zhuǎn)時(shí)鐘,當(dāng)LED 數(shù)量較多時(shí),需要更大的電流,這種方式就不能滿足了。另外這種方式要對(duì)電機(jī)本身進(jìn)行改造,也有一定的難度。并不是所有的電機(jī)都適合這種改造,而且這種改造可能會(huì)給電機(jī)帶來(lái)?yè)p害。三、電刷傳導(dǎo)供電。就是在指針板上焊接一個(gè)滑環(huán),套在電機(jī)軸上,但要與電機(jī)軸絕緣,電刷扣在滑環(huán)上,并接直流電正極。負(fù)極接在電機(jī)軸上。這種方法既能提供較大的電流,又不會(huì)給指針板增重。缺點(diǎn)是有機(jī)械摩擦,會(huì)產(chǎn)生磨損,因此要求滑環(huán)和電刷材料要耐磨。另外,還得有足夠的彈

27、性,并且要耐銹,否則會(huì)導(dǎo)致接觸不良。當(dāng)然也會(huì)產(chǎn)生機(jī)械阻力,因此要求電機(jī)功率要較大一點(diǎn),還會(huì)產(chǎn)生機(jī)械噪音。經(jīng)過再三權(quán)衡,我還是選擇了用電刷供電的方法,因?yàn)檫@種方法并不難實(shí)現(xiàn),電刷對(duì)電機(jī)產(chǎn)生的機(jī)械阻力應(yīng)該小于裝電池所要克服的慣性力。2.1.3 時(shí)鐘芯片DS1302大多數(shù)的單片機(jī)沒有實(shí)時(shí)時(shí)鐘部件,一旦系統(tǒng)掉電時(shí)鐘就不能運(yùn)行,下次再運(yùn)行,時(shí)間就不準(zhǔn)確了。即便使用備用電池,但要維持單片機(jī)系統(tǒng)的較大功耗也是堅(jiān)持不了多久的。而我所做的旋轉(zhuǎn)時(shí)鐘用到的單片機(jī)主要是來(lái)準(zhǔn)確顯示時(shí)間的,因此實(shí)時(shí)時(shí)鐘部件必不可少,這里我用了MAXIM公司的DS1302時(shí)鐘芯片作為實(shí)時(shí)時(shí)鐘部件,保證時(shí)間的長(zhǎng)久準(zhǔn)確性。DS1302 有著很

28、強(qiáng)的功能。包括時(shí)鐘/日歷寄存器和31 字節(jié)(8位)的數(shù)據(jù)暫存寄存器,數(shù)據(jù)通信僅通過一條串行輸入輸出口。實(shí)時(shí)時(shí)鐘/日歷提供包括秒、分、時(shí)、日期、月份和年份信息。閏年可自行調(diào)整,可選擇AM/PM的12 小時(shí)制或24小時(shí)制。只通過三根線進(jìn)行數(shù)據(jù)的控制和傳遞:CE(輸入信號(hào),在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個(gè)功能:第一,CE開始控制字訪問移位寄存器的控制邏輯;其次,CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?;I/O(三線接口時(shí)的雙向數(shù)據(jù)線);SCLK(串行時(shí)鐘輸入)。通過備用電源可以讓芯片在小于1MW的功率下運(yùn)作。對(duì)時(shí)鐘寄存器初始化可以設(shè)定當(dāng)前時(shí)間,控制芯片的運(yùn)行,時(shí)間是用BCD碼保存的,RA

29、M可以用來(lái)存取用戶數(shù)據(jù),在用了備用電池后RAM內(nèi)的數(shù)據(jù)在系統(tǒng)掉電時(shí)能夠保持不丟失。芯片采用了簡(jiǎn)單的I2C 三線通信方式,便于節(jié)省芯片資源和與之接口的MCU的引腳。芯片有著2.05.5V的寬供電電壓范圍,在5V供電時(shí)其接口與TTL電平兼容。并且有著很低的功耗,在2.0V供電時(shí)僅耗300nA 的電流。引腳X1 和X2 連接32.768kHz 晶體,與內(nèi)部振蕩器組成時(shí)鐘。晶體的精度直接影響著芯片時(shí)間的準(zhǔn)確與否。DS1302有兩個(gè)電源引腳VCC1和VCC2,分別連接備用電池和電源VCC。VCC2與主電源連接,VCC1接備用電池。當(dāng)VCC2低于VCC1時(shí),芯片由VCC1供電;當(dāng)VCC2-VCC10.2V

30、時(shí),備用電池為芯片供電。在VCC2供電時(shí)芯片能夠?qū)釉赩CC1的備用電池充電,并且是否充電和充電電流都可以由芯片內(nèi)地址為08H的時(shí)鐘寄存器進(jìn)行控制。DS1302與單片機(jī)的硬件接線圖如圖2.2所示。圖 2.2 DS1302硬件接線圖在進(jìn)行任何數(shù)據(jù)傳輸時(shí),CE必須被制高電平(雖然CE被置為高電平,但內(nèi)部時(shí)鐘還是在晶振作用下不停地計(jì)時(shí)的),在每個(gè)SCLK上升沿時(shí)讀入數(shù)據(jù),下降沿時(shí)寫出數(shù)據(jù)。每個(gè)字節(jié)的傳輸都是由控制字節(jié)(如表2.1所示)指定的,控制字節(jié)的最高位Bit7必須是“1”,否則讀寫將會(huì)被禁止。bit6 為“0”則指定對(duì)時(shí)鐘/日歷寄存器進(jìn)行讀寫操作,為“1”則對(duì)RAM區(qū)的數(shù)據(jù)進(jìn)行讀寫操作,bit

31、1-bit5 指定相關(guān)寄存器進(jìn)行輸入輸出操作,最低位bit0 指定是輸入還是輸出,為“0”則為寫,相反則為讀,輸入輸出根據(jù)脈沖的上升沿和下降沿串行進(jìn)行。表 2.1 DS1302控制字節(jié)765432101RAM/用來(lái)表示相關(guān)寄存器的地址RD/控制字總是從最低位開始輸出。在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫時(shí)序如圖2.3所示。圖 2.3 DS1302數(shù)據(jù)讀寫時(shí)序通過8個(gè)脈沖便可讀取一個(gè)字節(jié),從而實(shí)現(xiàn)串行輸入與

32、輸出。最初通過8個(gè)時(shí)鐘周期載入控制字節(jié)到移位寄存器。如果控制指令選擇的是單字節(jié)模式,連續(xù)的8個(gè)時(shí)鐘脈沖可以進(jìn)行8位數(shù)據(jù)的讀寫操作。8個(gè)脈沖便可讀寫一個(gè)字節(jié)。載入控制字節(jié)后就可以對(duì)時(shí)鐘/日歷寄存器進(jìn)行相應(yīng)操作,時(shí)鐘/日歷寄存器如表2.2所示。表 2.2 時(shí)鐘/日歷寄存器讀寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2-BIT0范圍81h80hCH16-59秒0-15秒00-5983h82h16-59分0-15分00-5985h84h12020-2315-19時(shí)0-15時(shí)1-12/0-23/PM87h86h00016-31日0-15日1-3189h88h00010月月1-128Bh

33、8Ah000001-7周1-78Dh8Ch015-99年0-15年00-998Fh8EhWP0秒寄存器(81h、80h)的位7定義為時(shí)鐘暫停標(biāo)志(CH)。當(dāng)該位置1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位置為0時(shí),時(shí)鐘開始運(yùn)行。小時(shí)寄存器(85h、84h)的位7用于定義DS1302是運(yùn)行于12小時(shí)模式還是24小時(shí)模式。當(dāng)為高時(shí),選擇12小時(shí)模式。在12小時(shí)模式下,位5為1時(shí),表示PM。在24小時(shí)模式時(shí),位5是第二個(gè)10小時(shí)位(20-23時(shí))??刂萍拇嫫鳎?Fh、8Eh)的位7是寫保護(hù)位(WP),其它7位均置為0。在任何的對(duì)時(shí)鐘和RAM的寫操作之前,WP位必須為0。當(dāng)WP位為1時(shí),

34、寫保護(hù)位防止對(duì)任一寄存器的寫操作。2.1.4 紅外對(duì)管紅外對(duì)管是一種常用的光電器件。所謂對(duì)管就是由一支紅外線發(fā)射管和紅外線接收管組成。根據(jù)發(fā)射與接收的紅外線頻率不同,紅外對(duì)管有不同的型號(hào)。當(dāng)發(fā)射管與接收管的發(fā)射與接收窗靠近對(duì)齊時(shí),即紅外線照射到接收管上,則接收管導(dǎo)通,其中導(dǎo)通特性與普通二極管相似,這樣就組成了一個(gè)光電觸發(fā)系統(tǒng)。一般來(lái)說,紅外對(duì)管的有效距離為數(shù)米,如果想擴(kuò)大感應(yīng)距離可加裝透鏡。當(dāng)然我用在旋轉(zhuǎn)時(shí)鐘上就不用考慮距離問題,兩管的距離完全可以在幾厘米之內(nèi)。2.2 紅外遙控設(shè)備的硬件設(shè)計(jì)紅外遙控器使用方便,功能多。目前已廣泛應(yīng)用在電視機(jī)、VCD、DVD、空調(diào)等各種家用電器中,且價(jià)格便宜,市

35、場(chǎng)上非常容易買到。它由紅外發(fā)射電路與紅外接收電路組成。發(fā)射電路部分有兩種設(shè)計(jì)方案:一、用專用的遙控芯片來(lái)自制一個(gè);二、如果能將現(xiàn)成的家電遙控器上的按鍵解碼出來(lái),用作單片機(jī)系統(tǒng)的輸入,則解決了常規(guī)矩陣鍵盤線路板過大、布線復(fù)雜、占用IO口過多的弊病。我所要設(shè)計(jì)的遙控器只是用來(lái)給旋轉(zhuǎn)時(shí)鐘調(diào)時(shí),所以只需四個(gè)鍵,比較簡(jiǎn)單,就用TC9012這塊比較經(jīng)典的遙控芯片自制一個(gè)遙控器。TC9012是一塊用于東芝系列紅外遙控系統(tǒng)中的專用發(fā)射集成電路,采用CMOS工藝制造。它可外接32個(gè)按鍵,提供8種用戶編碼,另外還具有3種雙重按鍵功能。TC9012的管腳設(shè)置和外圍應(yīng)用線路都進(jìn)行了高度優(yōu)化,以配合PCB的布圖和低成本

36、的要求。結(jié)構(gòu)框圖如圖2.4所示。圖 2.4 TC9012結(jié)構(gòu)框圖KI0KI4這4位輸入腳用于鍵盤掃描輸入(平時(shí)為低電平,內(nèi)置下拉電阻);KO0KO7是8位輸出腳,用于鍵盤掃描輸出;REM為帶載波的遙控信號(hào)輸出;LMP用于指示燈輸出;SEL用于用戶編碼選擇跳線(平時(shí)為高電平,內(nèi)置下拉電阻)。TC9012的一幀數(shù)據(jù)中含有32位碼,包含兩次8位用戶碼,一次8位數(shù)據(jù)碼和8位數(shù)據(jù)碼反碼及最后位的同步位。引導(dǎo)碼由4.5ms的載波和4.5ms的載波關(guān)斷波形所構(gòu)成,以作為用戶碼、數(shù)據(jù)碼以及他們的反碼的先導(dǎo)。同步位(SY)是標(biāo)志最后一位編碼是“0”或“1”的標(biāo)識(shí)位,它只有0.56ms的有載波信號(hào)構(gòu)成。發(fā)射碼的格

37、式如下圖所示:圖 2.5 TC9012 的發(fā)射碼的格式用戶碼一共有8種,是利用“SEL”腳與“KO0KO7”中的任一腳相連接來(lái)進(jìn)行選擇的,可參考圖2.6。其中S0,S1,S2由SEL與KO0KO7的連接來(lái)確定;S3固定為“1”;S4,S5,S6,S7固定為“0”。比如當(dāng)KO6和SEL連接時(shí),客戶碼就為,轉(zhuǎn)換為16進(jìn)制即0EH。圖 2.6 TC9012的用戶碼設(shè)置接下來(lái)講解一下遙控器是如何輸出不同的“0”、“1”代碼的。當(dāng)按紅外遙控器上的按鍵后,就會(huì)有信號(hào)給遙控器上的TC9012芯片,TC9012遙控器設(shè)置4個(gè)按鍵輸入端KI0KI3和8個(gè)按鍵輸出端KO0KO7,由此設(shè)置了一個(gè)4*8的鍵盤,共32

38、鍵。鍵數(shù)據(jù)的編碼方式如下:0,0,0,KO2KO0,KI1,KI0。這樣芯片就能識(shí)別出按下的是哪個(gè)按鍵,然后編碼調(diào)制成相應(yīng)的二進(jìn)制碼,再通過紅外二極管發(fā)射出去。TC9012芯片是以脈沖位置調(diào)制方式(PPM)來(lái)調(diào)制編碼的,如圖2.7所示?!?”和“0”的區(qū)分取決于脈沖之間的時(shí)間,例如以38KHz的頻率發(fā)送0.56ms時(shí)間的脈沖集,再停發(fā)0.56ms,表示“0”;發(fā)送0.56ms,再停發(fā)1.68ms則表示“1”。再利用此載波信號(hào)去控制紅外信號(hào)的發(fā)送,這樣,這些代碼就可以通過紅外光被傳送出去,經(jīng)遠(yuǎn)處的紅外接收頭,經(jīng)單片機(jī)譯碼并執(zhí)行相應(yīng)程序,去控制指定對(duì)象。按鍵一直按著,將一幀碼發(fā)完后發(fā)固定的重復(fù)碼;

39、當(dāng)鍵松開時(shí),等該幀碼發(fā)完后進(jìn)入低功耗模式。用戶碼和鍵數(shù)據(jù)碼的發(fā)送均是低位在前,高位在后的。圖 2.7 TC9012輸出波形下圖為參考的遙控發(fā)射電路圖,由于只用于調(diào)時(shí),所以省去了其他各按鍵,只剩下K1K4四個(gè)按鍵。圖 2.8 紅外遙控發(fā)射原理圖制作該硬件部分要注意以下幾點(diǎn)1、將電源濾波電容盡可能靠近IC;電源濾波電容只需要使用104的瓷片電容即可;2、盡可能避免電源和地線走線過長(zhǎng)或過細(xì);3、盡可能把晶振電路放置在離芯片較近的位置;4、建議在三極管的發(fā)射極使用2歐姆的限流電阻;5、建議晶振旁邊的兩個(gè)諧振電容使用150pf以上,這樣可以防止高頻諧波。6、圖中SEL腳和KO7相連,所以客戶碼選擇為:0

40、E0E。再看接收電路,接收部分直接采用了紅外一體化接收頭HS0038,如圖2.9所示。主要功能是接收紅外遙控器的代碼信號(hào),經(jīng)放大、檢波、整形, 得到TTL 電平的代碼信號(hào), 再送給單片機(jī)。它被焊接在指針板上,與指針板其他元器件構(gòu)成一個(gè)系統(tǒng),而輸出管腳與單片機(jī)P3.2外部中斷引腳相連。其中心頻率為38.0KHz, 獨(dú)立的PIN 二極管同前置放大器集成在同一封裝上,封裝由環(huán)氧樹脂做成,可以作為一個(gè)特殊的紅外濾光器, 能防止自然光的干擾。它的特性有: 光電檢測(cè)和前置放大器集成在同一封裝內(nèi);內(nèi)帶PCM頻率濾波器;提高了對(duì)電場(chǎng)干擾的防護(hù)性;輸出電平兼容TTL與CMOS;對(duì)于自然光有較強(qiáng)的抗干擾性;輸出表

41、現(xiàn)穩(wěn)定, 低功耗;持續(xù)數(shù)據(jù)傳輸率可達(dá)800bit/s。 (a)HS0038封裝圖 (b)內(nèi)部結(jié)構(gòu)框圖圖 2.9 一體化紅外接收頭由于HS0038輸出的信號(hào)與接收到的紅外編碼信號(hào)是相反的,當(dāng)接收到紅外高電平信號(hào)時(shí),HS0038的輸出引腳將由高變?yōu)榈?。只要將該輸出引腳與單片機(jī)外部中斷口相連,就可在接收到紅外信號(hào)后向單片機(jī)發(fā)出中斷請(qǐng)求,之后再通過該中斷口向單片機(jī)寫入紅外信號(hào)。2.3 電源基板的硬件設(shè)計(jì)電源基板主要負(fù)責(zé)為電機(jī)提供穩(wěn)定的直流電,并通過電刷給指針板送電,是能源中心,如圖2.10所示。雖然結(jié)構(gòu)簡(jiǎn)單,但也是必不可少的一個(gè)環(huán)節(jié),必須要保證電源穩(wěn)定可靠。直接由+12V的變壓器通過插孔給電路板送電,

42、經(jīng)電容及電位器后接直流電機(jī)。再經(jīng)7805降壓穩(wěn)壓成+5V接到電刷上輸出電壓。圖 2.10 電源基板硬件圖電位器RP用于調(diào)節(jié)電機(jī)的轉(zhuǎn)數(shù),有3個(gè)引腳A、B、P,其中A、B兩端(靠外側(cè)的兩根引腳)的阻值固定并且是最大的,等于電位器的標(biāo)稱值。中間引腳P與兩端引腳之間的電阻值隨著電位器旋鈕的調(diào)節(jié)而改變。所以焊接時(shí)將兩端的任意一腳與中間的P腳焊接在一起。另外要注意電位器功率的選取。根據(jù)電機(jī)工作電流的不同,電位器的功率一般取2W以上。為了給指針板供上穩(wěn)定的+5V電壓,采用了L7805穩(wěn)壓管。它有四種封裝結(jié)構(gòu),如圖2.11所示。L7805能輸出電壓5V、電流1.5A大小的直流電,有內(nèi)部電流限流,熱停機(jī)和安全區(qū)

43、等保護(hù),使其基本上堅(jiān)不可摧。如果能提供足夠的散熱條件,就可以輸出超過1A的電流。雖然L7800系列穩(wěn)壓管主要設(shè)計(jì)成固定電壓的穩(wěn)壓器,但這些器件也可以通過外部元件的配合獲取可調(diào)的電壓和電流。圖 2.11 穩(wěn)壓管L7800系列封裝圖2.4 電機(jī)的選擇電機(jī)主要分交流電機(jī)、直流電機(jī)、伺服電機(jī)、步進(jìn)電機(jī)等幾種。直流電機(jī)的控制簡(jiǎn)單,適合在小功率情況下應(yīng)用。旋轉(zhuǎn)時(shí)鐘對(duì)電機(jī)功率要求不高,所以選擇直流電機(jī)來(lái)帶動(dòng)電路板旋轉(zhuǎn)。電機(jī)實(shí)樣如圖2.12所示。由視覺暫留原理知電機(jī)旋轉(zhuǎn)一圈的時(shí)間必須小于0.1秒,所以電機(jī)的轉(zhuǎn)速要大于600rpm(rpm是電機(jī)轉(zhuǎn)速單位,1rpm=1分鐘轉(zhuǎn)動(dòng)一圈),可選用轉(zhuǎn)速約為1000rpm的

44、電機(jī),如果買不到1000rpm的電機(jī)也可以選擇更高轉(zhuǎn)速的電機(jī),可以通過降低電機(jī)工作電壓來(lái)使其減速,最簡(jiǎn)單的辦法就是使用大功率電位器。如果直流電機(jī)找不到合適的,也可以考慮使用計(jì)算機(jī)的散熱風(fēng)扇,這個(gè)散熱風(fēng)扇最大優(yōu)點(diǎn)就是運(yùn)行時(shí)噪聲低。圖 2.12 電機(jī)實(shí)物圖除了電機(jī)外還需要一個(gè)支架將電機(jī)固定起來(lái)。由于電機(jī)在帶動(dòng)指針板轉(zhuǎn)動(dòng)過程中速度比較快,指針板又有一定重量,而且配重也不一定做得很好,轉(zhuǎn)起來(lái)更是會(huì)是電機(jī)晃動(dòng),所以必須要穩(wěn)重的支架來(lái)牢牢固定住電機(jī)。2.5 電刷的制作首先找一截小金屬管,充當(dāng)滑環(huán)用,要求表面光滑耐磨,內(nèi)徑略大于電機(jī)軸的直徑,長(zhǎng)度要比電機(jī)軸稍短一點(diǎn)。然后將此滑環(huán)固定在指針板背面。接著在電機(jī)軸

45、上包裹幾圈膠布(要露出軸的頂部),直到半徑與滑環(huán)內(nèi)徑差不多大小,然后用打火機(jī)均勻加熱烘烤膠布,令其收縮,牢牢包裹住電機(jī)軸。將裹有膠布的電機(jī)軸插入滑環(huán)內(nèi)(滑環(huán)一定要與電機(jī)外殼絕緣),并且緊密接觸。再找一根彈性很好又耐磨的金屬導(dǎo)體來(lái)做電刷,并在底座上鉆上兩根螺釘,導(dǎo)體中間部分壓在滑環(huán)上,兩端則扣在兩根螺釘下面,導(dǎo)體的彈力使得它與滑環(huán)緊密接觸。最后把指針板安裝在電機(jī)軸上,電機(jī)軸與指針板地線之間用焊錫焊死。在焊接時(shí),注意調(diào)節(jié)指針板的重心,并確?;h(huán)(電源線)與電機(jī)軸(地線)之間不要搭焊短路。把電機(jī)外殼接到電源負(fù)端(注:電機(jī)外殼與電機(jī)軸是短路導(dǎo)電的),電刷接到電源正端。指針板就可以通電工作了。這時(shí)如果讓

46、電機(jī)轉(zhuǎn)動(dòng)起來(lái),電刷與滑環(huán)作相對(duì)摩擦運(yùn)動(dòng),仍舊可以源源不斷地把電源共給指針板。完整的電刷如圖2.13所示。圖 2.13 電刷側(cè)面效果2.6 元器件焊接時(shí)應(yīng)注意的問題要使旋轉(zhuǎn)時(shí)鐘能按原理正常運(yùn)作,除了硬件設(shè)計(jì)要合理外,各元器件的焊接環(huán)節(jié)也要足夠重視,須要注意以下一些問題:一、電烙鐵長(zhǎng)期使用后,頭部會(huì)生成一層氧化物,造成吃錫困難,要先用工具除去氧化物,經(jīng)加熱后插入松香中即可繼續(xù)使用。新買回來(lái)的烙鐵,必須先上錫后才能使用。二、在制作過程中,宜選用低熔點(diǎn)的焊錫絲和沒有腐蝕性的助焊劑,如松香。千萬(wàn)不能采用工業(yè)焊錫或酸性焊油。最好采用含有松香的焊錫絲,使用起來(lái)非常方便。三、電子元件在空氣中由于氧化的作用,引

47、腳上會(huì)附有一層氧化膜和一些污垢,焊前可用小刀刮掉氧化膜,并立刻涂上一層焊錫,然后再進(jìn)行焊接。四、焊接時(shí)應(yīng)使烙鐵溫度高于焊錫熔點(diǎn),但不能過高,以烙鐵頭碰到松香剛冒煙為宜;焊接時(shí)間太短,焊點(diǎn)溫度過低,焊點(diǎn)粗糙,易造成虛焊。反之,焊接時(shí)間過長(zhǎng),焊點(diǎn)焊錫容易流淌,并且可能造成電子元件和集成電路的損壞。五、焊接點(diǎn)上焊錫不能太少,太少了焊接不牢,而太多易造成外觀一大堆而內(nèi)部未接通。焊錫應(yīng)剛好將焊接點(diǎn)上元件引腳全部浸沒,輪廓隱約可見即可。六、注意烙鐵和焊接點(diǎn)的位置。用烙鐵頭上的搪錫面去接觸焊接點(diǎn),這樣傳熱焊接面積大,焊接速度快。七、焊接結(jié)束后,必須檢查有無(wú)虛焊、漏焊以及由于焊錫流淌而造成的元件短路。虛焊較難

48、發(fā)現(xiàn),可用鑷子夾住元件引腳輕輕拉動(dòng),如發(fā)現(xiàn)搖擺應(yīng)補(bǔ)焊。第3章 軟件設(shè)計(jì)旋轉(zhuǎn)時(shí)鐘軟件設(shè)計(jì)主要是針對(duì)單片機(jī)的程序設(shè)計(jì),可分為L(zhǎng)ED掃描顯示程序設(shè)計(jì)、單片機(jī)讀寫DS1302時(shí)鐘芯片程序設(shè)計(jì)、單片機(jī)對(duì)紅外遙控代碼的譯碼程序設(shè)計(jì)三大塊。程序設(shè)計(jì)的過程大致可以分為以下幾個(gè)步驟:(1) 編制說明要解決問題的程序框圖。(2) 確定數(shù)據(jù)結(jié)構(gòu)、算法、工作單元、變量設(shè)定。(3) 根據(jù)所用計(jì)算機(jī)的指令系統(tǒng),按照程序框圖用匯編語(yǔ)言或C語(yǔ)言編制出源程序。(4) 將編制的程序在計(jì)算機(jī)上調(diào)試,直至實(shí)現(xiàn)預(yù)定的功能。3.1 LED掃描顯示程序設(shè)計(jì)旋轉(zhuǎn)時(shí)鐘能否準(zhǔn)確顯示出時(shí)鐘的畫面關(guān)鍵在于指針板每到一個(gè)位置單片機(jī)是否能正確點(diǎn)亮相應(yīng)的

49、LED燈,這是掃描顯示程序的核心內(nèi)容。為了方便程序的計(jì)算,我把連續(xù)的旋轉(zhuǎn)平面離散化,劃分成180份,每一份為一列,如圖3.1所示。圖 3.1 指針板旋轉(zhuǎn)平面劃分圖另外程序一定要與指針板旋轉(zhuǎn)周期聯(lián)系起來(lái)。根據(jù)視覺暫留的原理,一列發(fā)光二極管在同一位置出現(xiàn)的時(shí)間間隔應(yīng)該不大于0.1秒,即旋轉(zhuǎn)周期T100ms。為方便計(jì)算,取周期為90ms,則發(fā)光二極管每到一列位置上點(diǎn)亮并熄滅相應(yīng)LED燈的時(shí)間t=90ms180=0.5ms??捎密浖O(shè)置為點(diǎn)亮并延時(shí)0.4ms后熄滅,而剩下的0.1ms時(shí)間則留給單片機(jī)讀程序用。這樣程序處理完一列位置所用的時(shí)間差不多是0.5ms,之后又去處理下一列的LED燈的點(diǎn)亮情況。而

50、硬件上指針板經(jīng)過0.5ms,也正好轉(zhuǎn)到了下一列位置上。這樣軟件程序就能和硬件很好地配合。顯示程序?qū)懺谝粋€(gè)中斷內(nèi),通過裝在指針板和電機(jī)外殼上的紅外對(duì)管每對(duì)齊一次觸發(fā)外部中斷1并開啟中斷,執(zhí)行掃描顯示程序。所以在沒有其他更高級(jí)別中斷(遙控調(diào)時(shí)中斷)的開啟時(shí),掃描顯示中斷程序是一直在執(zhí)行的。程序編寫的思路大致是這樣的:首先用三個(gè)寄存器(可取30H-32H),分別存放從時(shí)鐘芯片讀取來(lái)的秒、分、時(shí)三個(gè)數(shù)據(jù),這樣每執(zhí)行一次中斷就能刷新一下時(shí)間數(shù)據(jù),保證顯示的時(shí)間正確;接著判斷是否為刻度位置,我設(shè)計(jì)的旋轉(zhuǎn)時(shí)鐘要求在第1773列、4248列、8793列、132138列分別顯示12、3、6、9這四個(gè)時(shí)刻點(diǎn),并在

51、第15、30、60、75、105、120、150、165列顯示整點(diǎn)刻度。總共要用36列來(lái)顯示這些刻度,一旦判別到某一列符合上述任意一列的條件,就把相應(yīng)代碼輸入到P2.0P2.6這七個(gè)I/O口來(lái)顯示這些刻度;若一列都不符合就去判是否為秒針顯示位置,判斷依據(jù)是當(dāng)前位置計(jì)數(shù)器的值是否等于30H寄存器內(nèi)的值乘以3,比如30H內(nèi)的數(shù)據(jù)是15秒,那么當(dāng)計(jì)數(shù)器的值為45是,就把顯示秒針的LED燈點(diǎn)亮(具體計(jì)算如表3.1所示)。同理顯示分針與時(shí)針,只不過它們點(diǎn)亮的LED燈數(shù)目不同,秒針最長(zhǎng),用21支來(lái)顯示、分針19支、時(shí)針17支。并控制點(diǎn)亮0.4ms后熄滅返回重新再次執(zhí)行上述程序。表 3.1 鐘面刻度的列號(hào)位

52、置計(jì)算指針刻度位置(列號(hào))秒針“秒”(059)3分針“分”(059)3時(shí)針“時(shí)”(011)15+“分”(059)4以下是掃描顯示程序的流程圖。圖 3.2 LED掃描顯示流程圖下面給出顯示程序及相關(guān)代碼解釋:EXT1 MOV R4, #00H ;顯示位置計(jì)數(shù)器,記錄旋轉(zhuǎn)過程中的位置MOV R0, #00H ;表內(nèi)數(shù)據(jù)位數(shù)DISPLAY: MOV A, R4CJNE A, #180, DIS_SCALE1 ;如果位置不等于180,說明沒有查完一圈RETI ;如果為180,表明顯示完一圈,返回主程序DIS_SCALE1: 判是否為12、3、6、9這四個(gè)數(shù)字的顯示位置,若是,點(diǎn)亮相應(yīng)LEDINC R0

53、 ;表內(nèi)位數(shù)加1MOV A, R0MOV DPTR, #TABLE1 ;表地址給DPTRMOV A, A+DPTR ;取表內(nèi)列數(shù)值MOV 40H, ACJNE R0, #29, COMPARE1 ;如果表內(nèi)位數(shù)不到29,跳去與位置計(jì)數(shù)值比較MOV R0, #00H ;=29,不是12、3、6、9四個(gè)點(diǎn)的刻度,清R0SJMP DIS_SCALE2 ;跳轉(zhuǎn)去判除12、3、6、9外的8個(gè)整點(diǎn)的位置COMPARE1: MOV A, R4 CJNE A, 40H, DIS_SCALE1 ;所取列數(shù)值不等于位置計(jì)數(shù)器值,跳回繼續(xù)取MOV A, R0 ;等于位置計(jì)數(shù)器值,準(zhǔn)備點(diǎn)亮相應(yīng)LEDMOV DPTR,

54、 #TABLE2MOV A, A+DPTR ;把相應(yīng)列數(shù)的亮燈信息取出來(lái)MOV P2, A ;P2口控制刻度點(diǎn)亮與否SJMP DIS_HR ;跳去判是否為時(shí)針顯示位置DIS_SCALE2: 判是否為1、2、4、5、7、8、10、11這八個(gè)刻度的顯示位置INC R0MOV A, R0MOV DPTR, #TABLE3MOV A, A+DPTRMOV 40H, ACJNE R0, #9, COMPARE2 ;不=9,跳轉(zhuǎn)判所取值是否等于顯示數(shù)據(jù)位置值SJMP DIS_HR ;=9表明不是八個(gè)刻度的顯示位置,跳轉(zhuǎn)COMPARE2: MOV A, R4 CJNE A, 40H, DIS_SCALE2

55、;不=顯示數(shù)據(jù)位置值,繼續(xù)取數(shù)比較MOV P2, #80H ;=顯示數(shù)據(jù)位置值,P2全部點(diǎn)亮,作為刻度顯示DIS_HR: MOV A, HUOR ;判是否為時(shí)針顯示位置MOV B, #15MUL ABMOV 41H, A ;相應(yīng)時(shí)間所對(duì)應(yīng)的時(shí)針位置列數(shù)計(jì)算公式為:MOV A, MINUTE ;“時(shí)”(011)15+“分”(059)4MOV B, #4DIV ABADD A, 41HCJNE A, R0, DIS_MIN ;不是時(shí)針顯示位置,跳去判是否為分針顯示位置MOV P0, #0F0HCLR P2.7 ;P0口高四位與P2.7口控制作為時(shí)針的LED燈DIS_MIN: MOV A, MINUTE ;判是否為分針顯示位置MOV B, #3 ;分針位置列數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論