freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

旋轉(zhuǎn)時鐘的設(shè)計-文庫吧

2024-11-16 01:02 本頁面


【正文】 30176。即到了 1點的位置,此時點亮 10支 LED燈,用以顯示秒針在 5秒的位置上;當(dāng)發(fā)光二極管再轉(zhuǎn)過 60176。時,再點亮 5支來顯示時針指在 3點的位置上,如圖 (c)所示。因為發(fā)光二極管在不斷高速旋轉(zhuǎn),在 1秒內(nèi)已經(jīng)重復(fù)點亮 12點位置上的 9支、 1點位置上的 10支和 3點位置上的 7支 LED燈 10次以上,所以人眼就會產(chǎn)生圖 (c)所示的畫面。時鐘畫面是由一列發(fā)光二極管繞圓心按順時針方向逐列高速掃描過去,每到一列單片機控制相應(yīng)的 LED 燈點亮或者 3 熄滅,要在 秒內(nèi)掃描完一圈,然后再重復(fù)執(zhí)行這樣的掃描,人的眼睛看上去就形成了一幅時鐘的畫面。轉(zhuǎn)速越高, LED燈越多 ,分辨率就越高,看上去就越逼真。 (a)靜止時 (b)小時刻度的呈現(xiàn) (c)指針的呈現(xiàn) 圖 旋轉(zhuǎn)時鐘原理圖 圖 中的時鐘指針是不走的,比較方便實現(xiàn),而現(xiàn)實中時鐘的指針是會走的,是每秒都在變的,這就要求顯示指針用的數(shù)據(jù)需要隨著時間的推移而不斷更新。單片機本身具有計時功能,設(shè)定好的時間一到(比如 1秒),就刷新接有 LED燈 I/O接口的數(shù)據(jù),這樣每秒鐘的畫面都在變化,指針就仿佛在“走”了。 各個時刻并不一定用點來顯示,還可以用數(shù)字來顯示,接下來分析下發(fā)光二極管是如 何顯示數(shù)字時間的。如果一列 LED燈在 ,那么我們最終看到的效果是這一列 LED在一圈內(nèi)各個位置的圖像的疊加。圖 7 7的點陣來顯示數(shù)字 3,在 7 7的格子里亮用 1表示,熄滅則為 0,所以數(shù)字“ 3”從上至下、從左至右編碼為 01000 100000 100000100100 100100 100100 0110110。如果我們用單片機控制這一列發(fā)光二極管在相鄰的 7個等分時刻內(nèi)顯示 7 個不同的編碼值,旋轉(zhuǎn)一周后(小于 )又重復(fù)輸出這些代碼,就會穩(wěn)定地顯示一個數(shù)字“ 3”。同理還可 以顯示英文字符或者漢字, LED燈足夠多,分辨率足夠大。 圖 數(shù)字 3點陣圖 方案的確定 網(wǎng)上旋轉(zhuǎn)時鐘的資料比較多,款式也各有不同,但大致由底座、電機、指針板三大塊組成。底座主要用來固定電機,是基礎(chǔ), 必須要牢固;而電機是用來帶動指針板高速旋轉(zhuǎn) ,是出力的“苦工”;指針板是核心部分,上面有單片機、 LED 燈以及各種外圍元器件,各種時鐘畫面就是靠指針板顯示出來的。 4 通過對資料的整理總結(jié)出以下幾種方案:最簡單就是用七八支 LED燈來顯示 12個刻度點、分針和時針,顯示、計時都靠單片機完成,沒有掉電保護和 調(diào)時功能, LED燈與單片機等各元件都由裝在指針板上的電池供電工作。這種方案雖然很簡單,制作起來也較方便,但是由于電池裝在指針板上,電池又相對較重,在高速旋轉(zhuǎn)時一定要裝對重才能保持指針板平衡,這樣對電機的功率要求就比較大,而且浪費電源。另外這種方案也沒有掉電保護和調(diào)時功能,即使用電腦通過軟件來調(diào)時間也很難調(diào)準(zhǔn),而且一旦掉電后就又得重新調(diào),基本上是無法顯示正確時間的,時鐘最重要的就是時間準(zhǔn)確,所以這種方案沒有實際意義,只能做擺設(shè),畢業(yè)設(shè)計當(dāng)然要做得有意義一點,因此我不采取這種方案。 最復(fù)雜的方案是除了指針版外還 在底座上加了塊基板,板上有電源插孔,通過變壓器送電進來,還有芯片,包括紅外解碼、按鍵檢測、聲控信號檢測;指針板主要包括單片機、時鐘芯片、數(shù)十支高亮 LED 燈、溫度傳感器和蜂鳴器等。可以通過遙控或者直接用語言對基板下達指令,選擇旋轉(zhuǎn)時鐘開起或者關(guān)閉、顯示的模式如時鐘模式、溫度模式或者漢字模式,最重要的是可以當(dāng)場調(diào)時了。指針板上還有一個蜂鳴器,在執(zhí)行按鍵等控制命令時鳴叫以及鬧鐘鳴叫功能和整點鳴叫報時功能。溫度傳感器負責(zé)采集溫度,并可以顯示出來。另外有了時鐘芯片后旋轉(zhuǎn)時鐘就不怕掉電了,時鐘芯片有后備電源,會同步時間 ,下次開起后不用調(diào)就能顯示正確的時間。更巧妙的是指針板的電是通過電機軸用電刷的方式提供的,就不需要經(jīng)常換電池了,而其指針板也輕了很多,電機功率可以取小一點。 我所設(shè)計的旋轉(zhuǎn)時鐘是介于最簡單和最復(fù)雜方案之間的。系統(tǒng)的總體結(jié)構(gòu)框圖如圖 示 ,單片機負責(zé)數(shù)據(jù)的處理并控制 LED的顯示;紅外接收模塊負責(zé)接收和處理紅外遙控器發(fā)出的紅外遙控信號 ,因為旋轉(zhuǎn)時鐘在旋轉(zhuǎn)顯示時 ,不方便用按鍵調(diào)時 ,所以引入紅外遙控技術(shù) ,使得作品更加實用;時鐘模塊負責(zé)記錄時間數(shù)據(jù) ,從而節(jié)省了單片機的資源 , 提高其工作效率 ,并采用時鐘芯片 ,可在系 統(tǒng)掉電后正常計時 ,不需重新設(shè)定時鐘時間 , 這使得時鐘的使用更加便捷。以上模塊都集成在指針板上。電源模塊則裝在底座上,經(jīng)變壓器送電給電機,再經(jīng)穩(wěn)壓管通過電刷給指針板上各模塊供電。 圖 旋轉(zhuǎn)時鐘總體結(jié)構(gòu)框圖 5 第 2 章 硬件設(shè)計 指針板的硬件設(shè)計 指針板是旋轉(zhuǎn)時鐘的關(guān)鍵部分,負責(zé)顯示功能,指針板上有一排超高亮 的 LED 燈 。它們就是顯示部件了,亮點所在。為了制作方便,我把單片機、時鐘芯片、發(fā)光二極管、一體化紅外接收頭等器件焊接在一塊指針型的電路板上,這樣可以使旋轉(zhuǎn)的電路成為一個獨立的系統(tǒng),只需要 外部送電進來就可以正常運作。電路板中心鉆一個電機軸插孔,插孔為半圓并且半徑與電機軸相等,電機軸插入其中帶動指針板旋轉(zhuǎn)。該電路板越輕越好, LED燈可用貼片式。LED 燈數(shù)目根據(jù)不同用處可選多選少,我設(shè)計的時鐘需要能顯示“ 1 9”這四個整點數(shù)字和秒針、分針、時針,這樣我用 7 支 LED 燈顯示數(shù)字, 21支用來顯示秒、分、時三針,另外再加一支內(nèi)框一支外框 燈 ,總共 30支 LED燈,也足夠用來顯示漢字和英文。在這個項目中,一共采用了 30支 LED。也就是說每一列上可以分辨的顯示點有 30個點。當(dāng)然,這只是視覺上的顯示效果 。但為了節(jié)省單片機 I/O管腳,并不是每支 LED燈都由一個 I/O管腳控制的。通過分析,我發(fā)現(xiàn)靠近內(nèi)圈的那十幾支 LED,除了用做顯示時鐘指針外,并不適合用來顯示字符。而在顯示指針時,這部分 LED 的亮滅是同時發(fā)生的,這樣就可以用一個 I/O 口來控制這組 LED,讓它們是同時亮或者同時滅。為了滿足驅(qū)動電流,我加了一支三極管來驅(qū)動。 除了以上幾點外,需要考慮的還有顯示穩(wěn)定問題:比如指針板旋轉(zhuǎn)掃描一圈完成了數(shù)字“ 12”的顯示,如果電機速度因為各種原因而不穩(wěn)定,轉(zhuǎn)下一圈所用的時間多于(或少于)上一圈的,那么數(shù)字“ 12”將會移 到上一次顯示位置的左側(cè)(或右側(cè))。為了解決這個問題,在指針板上加裝一個紅外接收管,如圖 所示。當(dāng)接收到與之配對的紅外發(fā)光二極管(紅外發(fā)光二極管安裝在電機外殼上,并與接收管對齊)發(fā)出的紅外線后,就會反向?qū)?,接到單片機外部中斷,將會觸發(fā)外部中斷。指針板每旋轉(zhuǎn)一周,就會產(chǎn)生這樣一個中斷信號,這個信號被稱為“過零信號”。有了這個信號,單片機就可以在指針板旋轉(zhuǎn)過程中實時檢測計算指針板的角度位置,并根據(jù)指針板所處的不同位置,點亮相應(yīng)的 LED,這樣每轉(zhuǎn)一圈就能消除一圈的誤差,使得顯示內(nèi)容保持穩(wěn)定。接下來我介紹一下指 針板的供電方式和所用到的各個芯片的資料。 圖 用于同步的紅外對管 單片機 端口分配 旋轉(zhuǎn)時鐘的核心部件單片機主要用于對紅外遙控代碼的譯碼,讀寫 DS1302的時間數(shù)據(jù)以及控制 LED顯示熄滅。對單片機的程序存儲量和控制能力要求并不高,選擇 STC89C52單片機 6 綽綽有余。本設(shè)計充分運用 89C52 的各個接口 :首先是 28支 LED燈,由于有 13 支 LED 燈只用來顯示時針,所以它們是同時點亮或者熄滅的,可以接在同一個 I/O接口上,取 。 16個引腳分別于 16支 LED燈連接,可以用來顯示不同的字符;其次 X X2引腳接 12MHz晶振; ,作為高優(yōu)先級的外部中斷; 口接紅外接收管,作為低優(yōu)先級外部中斷; DS1302的 SLCK、 I/O及 CE引腳。 指針板電源驅(qū)動方式 根據(jù)我收集到的資料,整理出以 下三種供電方式: 一、電池供電。這是最簡單的方法,直接在指針板上安裝兩到三節(jié) 7 號電池就行了。采用這種方式不用擔(dān)心電壓波動,也沒有接觸不良的問題,能夠十分穩(wěn)定地給指針板供電。但是電池很不耐用,經(jīng)常要換,既不 經(jīng)濟又不環(huán)保,最大問題是太重,一般電機帶不動,需要選擇較大功率電機,成本較大。 二、自感應(yīng)發(fā)電。這種方法是將一根導(dǎo)線中間部分繞在電機內(nèi)部的轉(zhuǎn)子上,電機旋轉(zhuǎn)時該導(dǎo)線切割磁場,兩頭產(chǎn)生感應(yīng)電動勢,經(jīng)過整流后作為指針板上的電源。這種方式設(shè)計很巧妙,無機械磨損??上峁┑碾娏饔邢蓿荒苓m合 LED 較少的旋轉(zhuǎn)時鐘,當(dāng) LED 數(shù)量較多時,需要更大的電流,這種方式就不能滿足了。另外這種方式要對電機本身進行改造,也有一定的難度。并不是所有的電機都適合這種改造,而且這種改造可能會給電機帶來損害。 三、電刷傳導(dǎo)供電。就是在指針 板上焊接一個滑環(huán),套在電機軸上,但要與電機軸絕緣,電刷扣在滑環(huán)上,并接直流電正極。負極接在電機軸上。這種方法既能提供較大的電流,又不會給指針板增重。缺點是有機械摩擦,會產(chǎn)生磨損,因此要求滑環(huán)和電刷材料要耐磨。另外,還得有足夠的彈性,并且要耐銹,否則會導(dǎo)致接觸不良。當(dāng)然也會產(chǎn)生機械阻力,因此要求電機功率要較大一點,還會產(chǎn)生機械噪音。 經(jīng)過再三權(quán)衡,我還是選擇了用電刷供電的方法,因為這種方法并不難實現(xiàn),電刷對電機產(chǎn)生的機械阻力應(yīng)該小于裝電池所要克服的慣性力。 時鐘芯片 DS1302 大多數(shù)的單片機沒有 實時時鐘部件 ,一旦系統(tǒng)掉電時鐘就不能運行 ,下次再運行,時間就不準(zhǔn)確了。即便使用備用電池 ,但要維持單片機系統(tǒng)的較大功耗也是堅持不了多久的。而我所做的旋轉(zhuǎn)時鐘用到的單片機主要是來準(zhǔn)確顯示時間的,因此實時時鐘部件必不可少,這里我用了 MAXIM公司的 DS1302時鐘芯片作為實時時鐘部件,保證時間的長久準(zhǔn)確性。 DS1302 有著很強的功能。包括時鐘 /日歷寄存器和 31 字節(jié)( 8位)的數(shù)據(jù)暫存寄存器,數(shù)據(jù)通信僅通過一條串行輸入輸出口。實時時鐘 /日歷提供包括秒、分、時、日期、月份和年份信息。閏年可自行調(diào)整,可選擇 AM/PM的 12 小時制或 24 小時制。只通過三根線進行數(shù)據(jù)的控制和傳遞: CE(輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。該引腳有兩個功能:第一, CE開始控制字訪問移位寄存器的控制邏輯;其次, CE 提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒ā?); I/O(三線接口時的雙向數(shù)據(jù)線 ); SCLK(串行時鐘輸入 )。通過備用電源可以讓芯片在小于 1MW 的功率下運作。對時鐘寄存器初始化可以設(shè)定當(dāng)前時間 ,控制芯片的運行 ,時間是用BCD碼保存的 ,RAM可以用來存取用戶數(shù)據(jù) ,在用了備用電池后 RAM內(nèi)的數(shù)據(jù)在系統(tǒng)掉電時能夠保持不丟失。芯片采用了簡單的 I2C 三線通信方式 ,便于節(jié)省芯片資源和與之接口的 MCU的引腳。芯片有著 ~ 的寬供電電壓范圍 ,在 5V 供電時其接口與 TTL 電平兼容。并且有著很低的功耗 ,在 300nA 的電流。引腳 X1 和 X2 連接 晶體 ,與內(nèi)部 7 振蕩器組成時鐘。晶體的精度直接影響著芯片時間的準(zhǔn)確與否。 DS1302有兩個電源引腳 VCC1和 VCC2,分別連接備用電池和電源 VCC。 VCC2與主電源連接, VCC1接備用電池。當(dāng) VCC2低于VCC1時 ,芯片由 VCC1供電;當(dāng) VCC2VCC1≥ ,備用 電池為芯片供電。在 VCC2 供電時芯片能夠?qū)釉?VCC1 的備用電池充電 ,并且是否充電和充電電流都可以由芯片內(nèi)地址為 08H 的時鐘寄存器進行控制。 DS1302與單片機的硬件接線圖如圖 。 圖 DS1302硬件接線圖 在進行任何數(shù)據(jù)傳輸時, CE必須被制高電平(雖然 CE被置為高電平,但內(nèi)部時鐘還是在晶振作用下不停地計時的),在每個 SCLK 上升沿時讀入數(shù)據(jù),下降沿時寫出數(shù)據(jù)。每個字節(jié)的傳輸都是由控制字節(jié) (如表 )指定的,控制字節(jié)的最高位 Bit7必須是“ 1”,否則讀寫將會被禁止。 bit6 為 “ 0”則指定對時鐘 /日歷寄存器進行讀寫操作,為“ 1”則對 RAM 區(qū)的數(shù)據(jù)進行讀寫操作, bit1bit5 指定相關(guān)寄存器進行輸入輸出操作,最低位 bit0 指定是輸入還是輸出,為“ 0”則為寫,相反則為讀,輸入輸出根據(jù)脈沖的上升沿和下降沿串行進行。 表 DS1302控制字節(jié) 7 6 5 4 3 2 1 0 1 RAM/CK 用來表示相關(guān)寄存器的地址 RD/WR 控制字總是從最低位開始輸出。在控制字指令輸入后的下一個 SCLK時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從最低位( 0 位)開始。同樣,在緊跟 8 位的控制字指令后的下一個 SCLK 脈沖的下降沿,讀出 DS1302 的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫時序如圖 。 圖 DS1302數(shù)據(jù)讀寫時序 8 通過 8 個脈沖便可讀取一個字節(jié),從而實現(xiàn)串行輸入與輸出。最初通過 8 個時鐘周期載入控制字節(jié)到移位寄存器。如果控制指令選擇的是單字節(jié)模式,連續(xù)的 8 個時鐘脈沖可以進行 8 位數(shù)據(jù)的讀寫操作。 8 個脈沖便可讀寫一個字節(jié)。載入控制字節(jié)后就可以對時鐘 /日歷寄存器進行相 應(yīng)操作,時鐘 /日歷寄存器如表 。 表 時鐘 /日歷寄存器 讀寄存器 寫寄存器 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2BIT0 范圍 81h 80h CH 1659秒 015秒 0059 83h 82h 1659分 015分 0059 85h 84h 12 0 2023 15
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1