<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89C51的控制LED搖搖棒設(shè)計(jì)

          基于AT89C51的控制LED搖搖棒設(shè)計(jì)

          作者: 時(shí)間:2014-06-05 來(lái)源:網(wǎng)絡(luò) 收藏

          搖搖棒本為開(kāi)發(fā)套件,全部采用直插的器件。顯示的采用了5mm超高亮30度聚光發(fā)光二極管,共 32只??刂菩酒捎煤昃纹瑱C(jī)STC11F03E,其內(nèi)部有3K的程序存儲(chǔ)空間,256字節(jié)的數(shù)據(jù)存儲(chǔ)空間,另外其內(nèi)部還有2K的EEPROM空間。設(shè)計(jì)可以通過(guò)串口,把下載的畫(huà)面數(shù)據(jù)到內(nèi)部的EEPROM,掉電后,也不會(huì)丟失。

          本文引用地址:http://www.ex-cimer.com/article/247851.htm

          本文通過(guò)研究利用事先編好程序來(lái)控制16個(gè)發(fā)光二極管,并配合左右手的搖晃來(lái)顯示字符和簡(jiǎn)易圖形的電子裝置(簡(jiǎn)稱為“搖搖棒”),設(shè)計(jì)并制作一個(gè)依靠搖動(dòng)能顯示字符、圖形的 顯示棒。此裝置利用A單片機(jī)對(duì)發(fā)光二極管陣列進(jìn)行控制。用滾珠開(kāi)關(guān)檢測(cè)當(dāng)前搖動(dòng)狀態(tài),單片機(jī)控制16個(gè)發(fā)光二極管進(jìn)行不同頻率的亮滅刷新,則只要搖動(dòng)就可以可顯示輸出文字及圖案等信息,從而達(dá)到在該視覺(jué)平面上傳達(dá)信息的作用。

          1 硬件系統(tǒng)的組成

          本設(shè)計(jì)的簡(jiǎn)單有趣的LED搖搖棒,它是基于單片機(jī)控制的電子裝置。具有按鍵進(jìn)行畫(huà)面切換和消除重影等功能,能使畫(huà)面清晰顯示出來(lái)。它主要由單片機(jī)控制部分,LED驅(qū)動(dòng)部分,LED顯示部分組成,其硬件組成框圖如圖1 所示。

           

           

          1.1 按鍵模塊

          本設(shè)計(jì)中通過(guò)一個(gè)畫(huà)面切換開(kāi)關(guān)對(duì)顯示的內(nèi)容進(jìn)行切換。在設(shè)計(jì)中通過(guò)滾珠開(kāi)關(guān)來(lái)控制搖搖棒只能向一邊搖動(dòng)時(shí)顯示信息,否則會(huì)出現(xiàn)鏡像字或鏡像畫(huà)面,也就是重影的現(xiàn)象??蛇x的搖動(dòng)控制開(kāi)關(guān)有水銀開(kāi)關(guān)和滾珠開(kāi)關(guān)兩種。水銀開(kāi)關(guān)穩(wěn)定性較高,但安全性較差。滾珠開(kāi)關(guān)雖然穩(wěn)定性稍差,但不容易被打破,安全度很高??紤]到實(shí)際應(yīng)用環(huán)境,故選用滾珠開(kāi)關(guān)作為系統(tǒng)的搖動(dòng)控制,由滾珠開(kāi)關(guān)帶來(lái)的不穩(wěn)定性可以通過(guò)軟件進(jìn)行彌補(bǔ)。手動(dòng)復(fù)位開(kāi)關(guān)的功能是控制系統(tǒng)的啟停。

          1.2 控制部分

          單片機(jī)最小系統(tǒng)作為整個(gè)系統(tǒng)的控制核心,它主要負(fù)責(zé)控制二極管的亮滅及顯示狀態(tài)。通過(guò)單片機(jī)的軟件編程及外部中斷,來(lái)控制搖搖棒的顯示效果。

          1.3 LED 顯示模塊

          此設(shè)計(jì)中根據(jù)LED點(diǎn)陣的顯示原理來(lái)設(shè)計(jì)顯示部分。點(diǎn)陣的顯示分為行掃描與列掃描兩種,列掃描是將字模數(shù)組通過(guò)點(diǎn)陣屏的行驅(qū)動(dòng)進(jìn)行輸入,然后通過(guò)列對(duì)每一行進(jìn)行掃描,當(dāng)列為低(高)電平、行為高(低)電平時(shí)則表示該點(diǎn)為圖案的一部分,將其讀出、顯示。而本次設(shè)計(jì)的LED 顯示棒數(shù)據(jù)傳輸原理與LED 點(diǎn)陣屏相似??梢园袻ED 顯示棒看成是LED點(diǎn)陣屏中的一列。為了使顯示的圖案清晰,在設(shè)計(jì)中使用了16 個(gè)高亮度LED 《http://bbs.dianyuan.com/tech/green》管將它們排成一列,整個(gè)屏在靜止時(shí)也就相當(dāng)于16 行×1 列。數(shù)據(jù)傳輸時(shí)同樣使用行送數(shù)據(jù)、列掃描。在擺動(dòng)過(guò)程中,應(yīng)用人眼的視覺(jué)暫留原理,被點(diǎn)亮的列不會(huì)很快的消失,而是隨著擺動(dòng)的方向繼續(xù)向前移動(dòng),只要移動(dòng)的速度高于視覺(jué)暫留的最短時(shí)間顯示內(nèi)容就不會(huì)熄滅,這樣,一幅圖案也就可以這樣被“擺動(dòng)”出來(lái)了。

          根據(jù)系統(tǒng)分析,具體的硬件電路連如圖2 所示。在具體制作硬件的時(shí)候,將16 個(gè)3mm 高亮度紅色的LED排列成整齊的一列。

           

           

          在proteus 下仿真調(diào)試的時(shí)候,給定的電源VCC 為5V,實(shí)際使用時(shí)用3 節(jié)干電池串聯(lián)4.5V 即可。

          2 系統(tǒng)軟件設(shè)計(jì)

          2.1 軟件設(shè)計(jì)思想

          在搖動(dòng)LED棒的時(shí)候單片機(jī)必須單程傳送數(shù)據(jù),否則顯示的圖形會(huì)產(chǎn)生重影,影響視覺(jué)效果。因此當(dāng)系統(tǒng)開(kāi)始工作后通過(guò)滾珠開(kāi)關(guān)的位置來(lái)使單片機(jī)實(shí)現(xiàn)單程傳送數(shù)據(jù)給LED.如果滾珠開(kāi)關(guān)位于右邊,則進(jìn)入外部中斷1 并將一變量置1,在變量為1期間讓單片機(jī)以一定的頻率將數(shù)據(jù)傳送給LED.如果滾珠開(kāi)關(guān)位于左邊,則進(jìn)入外部中斷0 并將變量置0.在這期間單片機(jī)不會(huì)傳送數(shù)據(jù)給LED.在送數(shù)據(jù)時(shí),數(shù)據(jù)送完后應(yīng)延時(shí)一段時(shí)間來(lái)使搖動(dòng)時(shí)顯示的每個(gè)字不會(huì)太擁擠,之后再立刻熄滅LED 并開(kāi)始重新判斷滾珠開(kāi)關(guān)的位置。

          2.2 軟件設(shè)計(jì)流程圖

          通過(guò)軟件設(shè)計(jì)思想的分析,得到該系統(tǒng)的主程序流程如圖3所示。

           

           

          系統(tǒng)開(kāi)始運(yùn)行,首先初始化整個(gè)系統(tǒng),然后等待外部中斷。當(dāng)用手搖動(dòng)到指定位置時(shí),由滾珠開(kāi)關(guān)觸發(fā)外部中斷,系統(tǒng)接收到外部中斷信號(hào)后,就傳送數(shù)據(jù),再經(jīng)過(guò)一段延時(shí)后開(kāi)始顯示。顯示完成返回主程序,等待下一個(gè)搖動(dòng)周期的到來(lái)。周而復(fù)始的晃動(dòng),則會(huì)顯示出相應(yīng)的信息。

          下面將設(shè)計(jì)一個(gè)LED顯示棒且需要有按鍵進(jìn)行內(nèi)容切換,它主要是由中央控制部分,LED驅(qū)動(dòng)部分,LED顯示部分以及電源部分組成,如圖4所示。

           

           

          圖4

          單片機(jī)將提取的字模進(jìn)行存儲(chǔ),當(dāng)接收到按鍵輸入的指令時(shí)單片機(jī)就將相應(yīng)的字模代碼通過(guò)I/O口輸出,使LED燈點(diǎn)亮,利用視覺(jué)暫留原理最終使圖案完整的顯示在擺動(dòng)的顯示屏中。

          3.1 LED燈的選擇

          傳統(tǒng)LED發(fā)光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經(jīng)濟(jì)。

          3.2外部中斷信號(hào)產(chǎn)生方式

          通過(guò)外部中斷可以控制數(shù)據(jù)開(kāi)始傳輸?shù)臅r(shí)刻。選擇好外部中斷來(lái)源是本次制作的難點(diǎn)及重點(diǎn)。使用慣性開(kāi)關(guān)。通過(guò)搖晃使得慣性開(kāi)關(guān)的擺桿與焊接的左右兩個(gè)觸點(diǎn)接觸,利用這種接觸產(chǎn)生的電平變化來(lái)觸發(fā)中斷,結(jié)合軟件控制顯示,制作簡(jiǎn)單,使用方便。 3.抗重影方案的選擇:使用外部中斷控制數(shù)據(jù)傳輸時(shí)刻。外部中斷信號(hào)由慣性開(kāi)關(guān)產(chǎn)生,觸發(fā)方式為下降沿觸發(fā)。慣性開(kāi)關(guān)左右兩邊的觸點(diǎn)分別與單片機(jī)兩個(gè)外部中斷接口相連,默認(rèn)為高電平,搖動(dòng)的擺桿接地。慣性開(kāi)關(guān)處于不同位置進(jìn)入不同的中斷,從而決定何時(shí)送數(shù)據(jù)。該方案簡(jiǎn)單易行,可以保證數(shù)據(jù)是單程傳輸?shù)?,避免了重影。不搖動(dòng)時(shí)把慣性開(kāi)關(guān)處在左邊就可以使LED棒熄滅,可以達(dá)到省電的效果。

          4 結(jié)論

          本次將使用單片機(jī)對(duì)搖動(dòng)顯示進(jìn)行實(shí)例化,設(shè)計(jì)一個(gè)LED搖動(dòng)顯示器來(lái)顯示文字、圖像等信息。掌握利用8051型單片機(jī)對(duì)發(fā)光二極管陣列進(jìn)行搖動(dòng)控制的方法。在設(shè)計(jì)中通過(guò)調(diào)試,使用外部中斷讓數(shù)據(jù)單程傳輸很好的取消了重影。通過(guò)改變傳送數(shù)據(jù)方式,由一個(gè)字符接一個(gè)字符傳送改為將一組字符一起傳送,傳送結(jié)束后再延時(shí)等,使顯示的內(nèi)容在扇形區(qū)域內(nèi)完整的顯示出來(lái),同時(shí)也解決了畫(huà)面連續(xù)出現(xiàn)沒(méi)有間斷的問(wèn)題。

          51單片機(jī)相關(guān)文章:51單片機(jī)教程


          led顯示器相關(guān)文章:led顯示器原理




          關(guān)鍵詞: T89C51 LED

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();