版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
蘇州科技學(xué)院本科生畢業(yè)設(shè)計(jì)(論文)PAGEPAGE94PAGEI基于MSP430單片機(jī)的無線LED廣告屏設(shè)計(jì)摘要LED點(diǎn)陣顯示屏的發(fā)展前景極為廣闊,為使該模塊LED顯示屏控制系統(tǒng)具有更加方便和靈活性,本文對系統(tǒng)的硬件做了精心設(shè)計(jì)。本文設(shè)計(jì)的主體思想是通過主機(jī)將實(shí)時(shí)時(shí)間,采集的環(huán)境溫度以及光照信息,由無線模塊傳送到從機(jī),動(dòng)態(tài)顯示在廣告屏上。綜合多方面的因素,最終確立了設(shè)計(jì)方案:主控制器選用MSP430單片機(jī),點(diǎn)陣屏選擇LED點(diǎn)陣單色圖文顯示屏,無線模塊采用NRF2401射頻收發(fā)芯片。基于單片機(jī)介紹了16*16LED顯示屏的設(shè)計(jì)與制作過程,內(nèi)容包括LED顯示屏的硬件電路、PCB設(shè)計(jì)、C語言程序設(shè)計(jì)與調(diào)試等方面,涉及到單片機(jī)電子產(chǎn)品設(shè)計(jì)和制作方面的各個(gè)環(huán)節(jié),認(rèn)識單片機(jī)的基本結(jié)構(gòu),工作原理及應(yīng)用方法,并提高單片機(jī)知識技術(shù)的運(yùn)用能力。關(guān)鍵詞單片機(jī);點(diǎn)陣;無線;LED廣告屏;NRF2401TheDesignofWirelessLEDAdvertisingScreensBasedonMSP430AbstractThedevelopmentofLEDdisplayhasafar-rangeprospect.TomakethismodularofLEDdisplaycontrolsystemmoreconvenienceandflexible.Thisprojectmadeelaboratedesignofsystemhardware.Themainideaofthedesignisthroughthehostwillreal-timetime,acquisitionenvironmenttemperatureandlightinformationtransferredbywirelessmodule,dynamicdisplayfrommachine,inadvertisingscreen,comprehensiveinmanyfactors.ThefinaldesignisthatthemaincontrollerchoosesMSP430microcontroller,bitmapscreenchoiceofLEDdotmatrixmonochromaticgraphicdisplay,wirelessNRF2401transceivermoduleUSESchips.Thisprojectintroducesthedesignof16*16LEDscreenbasedonSCMandmanufactureprocess,whichcontentincludestheLEDdisplayhardwarecircuit,PCBdesign,Clanguageprogramdesignandcommissioningetc,andinvolvesmicrocontrollerelectronicproductsdesignandmanufactureaspecttheeachlink.Besides,understandingthebasicstructure,microcontrollerworkingprincipleandapplicationmethods,andimprovetheutilizationabilitymicrocontrollerknowledgetechnology.KeywordsMCU;Dotmatrix;Wireless;LEDadvertisingscreen;NRF2401目錄第1章緒論 11.1 引言 11.2 研究課題的目的與意義 11.3課題研究的主要內(nèi)容 2第二章論文方案設(shè)計(jì) 42.1 系統(tǒng)方案總體分析 42.2 單片機(jī)的選擇 42.2.1C51單片機(jī) 42.2.2Mega16單片機(jī) 52.2.3MSP430單片機(jī) 52.3無線模塊的選擇 52.3.1NRF905模塊 52.3.2CC1020模塊 62.3.3NRF2401模塊 62.4 LED廣告屏的選擇 72.4.1按顏色分類 72.4.2按顯示器件分類 72.5LED驅(qū)動(dòng)模塊 72.5.1靜態(tài)鎖存 72.5.2動(dòng)態(tài)掃描 72.6 最終方案的確定 8第三章系統(tǒng)硬件設(shè)置 93.1 硬件電路的總體設(shè)計(jì) 93.2 單片機(jī)最小系統(tǒng) 103.2.1單片機(jī)MSP430的特點(diǎn) 103.2.2電源電路 113.2.3晶振電路 113.2.4復(fù)位電路原理圖 123.3 實(shí)時(shí)時(shí)鐘 123.4串行通信 143.5 LED點(diǎn)陣 143.6無線模塊 163.7溫度傳感器 163.8系統(tǒng)的電路設(shè)計(jì) 183.8.1LED電路原理圖 183.8.2單片機(jī)msp430最小系統(tǒng)的PCB版圖設(shè)計(jì) 19第4章軟件設(shè)計(jì) 204.1軟件設(shè)計(jì)方案 204.2實(shí)時(shí)時(shí)鐘模塊 204.2.1實(shí)時(shí)時(shí)鐘模塊簡介 204.2.2實(shí)時(shí)時(shí)鐘模塊的時(shí)序圖 214.2.3時(shí)鐘模塊操作流程圖 224.2.4模塊程序設(shè)計(jì) 234.3溫度,光照信息采集模塊 254.3.1溫度傳感器模塊的簡介 254.3.2溫度傳感器模塊的時(shí)序圖 264.3.3模塊操作流程 274.3.4模塊程序設(shè)計(jì) 274.3.5光敏傳感器模塊簡介 304.4無線模塊 314.4.1無線模塊簡介 314.4.2無線模塊的時(shí)序圖 314.4.3數(shù)據(jù)傳輸?shù)牧鞒虉D 344.4.4無線模塊程序設(shè)計(jì) 354.5LED點(diǎn)陣模塊 374.5.1點(diǎn)陣模塊簡介 374.5.2點(diǎn)陣模塊時(shí)序圖 374.5.3點(diǎn)陣模塊程序流程圖 384.5.4點(diǎn)陣模塊程序設(shè)計(jì) 39第5章論文實(shí)驗(yàn)與結(jié)論 435.1設(shè)計(jì)結(jié)果總結(jié) 435.2課題展望 45致謝 47參考文獻(xiàn) 48附錄A譯文 49附錄B外文原文 63緒論引言LED點(diǎn)陣顯示屏是一種簡單的漢字顯示器,由于其價(jià)廉、易于控制、使用壽命長等特點(diǎn),被逐步廣泛應(yīng)用于各種公共場合。在體育場館,大屏幕顯示系統(tǒng)可以顯示比賽實(shí)況及比賽比分、時(shí)間、精彩回放等;在交通運(yùn)輸行業(yè),可以顯示道路運(yùn)行情況;在金融行業(yè),可以實(shí)時(shí)顯示金融信息,如股票、匯率、利率等:在商業(yè)郵電系統(tǒng),可以向廣大顧客顯示通知、消息、廣告等等。據(jù)調(diào)查顯示,人們接收的信息有2/3的信息是通過眼睛取得的。顯示技術(shù)還應(yīng)用于工業(yè)生產(chǎn)、軍事、醫(yī)療單位、公安系統(tǒng)乃至宇航事業(yè)等國民經(jīng)濟(jì)、社會(huì)生活和軍事領(lǐng)域中,并起著重要作用,顯示技術(shù)已經(jīng)成為現(xiàn)代人類社會(huì)生活的一項(xiàng)不可或缺的技術(shù)。這類的點(diǎn)陣屏常用的通信方式是經(jīng)過一條RS-232串口線與電腦連接更換信息,操作簡單,使用方便,但是硬件連接上也會(huì)有一些局限性,因?yàn)樾枰B接的線比較多,如果要采集遠(yuǎn)距離信息需要的傳輸線太長,影響精確度。所以本文提出了一個(gè)新的設(shè)計(jì)理念,運(yùn)用單片機(jī)和無線模塊,通過SPI協(xié)議對LED進(jìn)行控制,實(shí)現(xiàn)LED顯示屏的設(shè)計(jì)過程。研究課題的目的與意義單片機(jī)自20世紀(jì)70年代問世以來,以極其高的性能價(jià)格比受到人們的重視和關(guān)注,所以應(yīng)用很廣,發(fā)展很快。單片機(jī)的特點(diǎn)是體積小、集成度高、重量輕、抗干擾能力強(qiáng),對環(huán)境要求不高,價(jià)格低廉,可靠性高,靈活性好,開發(fā)較為容易。正因?yàn)閱纹瑱C(jī)有如此多的優(yōu)點(diǎn),因此其應(yīng)用領(lǐng)域之廣,幾乎到了無孔不入的地步。在我國,單片機(jī)已被廣泛地應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測、智能儀表、智能化家用電器、航空航天系統(tǒng)和和國防軍事、尖端武器等各個(gè)方面。我們可以開發(fā)利用單片機(jī)系統(tǒng)以獲得很高的經(jīng)濟(jì)效益。更重要的意義是單片機(jī)的應(yīng)用改變了控制系統(tǒng)傳統(tǒng)的設(shè)計(jì)思想和方法。以前采用硬件電路實(shí)現(xiàn)的大部分控制功能,正在用單片機(jī)通過軟件方法來實(shí)現(xiàn)。這種以軟件結(jié)合硬件或取代硬件并能提高系統(tǒng)性能的控制技術(shù)稱為微控制技術(shù)。例如,本文所要論述的通過單片機(jī)來控制LED點(diǎn)陣顯示。LED是發(fā)光二極管英文LightEmittingDiode的簡稱,是六十年代末發(fā)展起來的一種半導(dǎo)體顯示器件,七十年代,隨著半導(dǎo)體材料合成技術(shù)、單晶制造技術(shù)和P-N結(jié)形成技術(shù)的研究進(jìn)展,發(fā)光二極管在發(fā)光顏色、亮度等性能得以提高并迅速進(jìn)入批量化和實(shí)用化。進(jìn)入八十年代后,LED在發(fā)光波長范圍和性能方面大大提高,并開始形成平板顯示產(chǎn)品即LED顯示屏。LED電子顯示屏是利用發(fā)光二極管點(diǎn)陣模塊或像素單元組成的平面式顯示屏幕。它是集微電子技術(shù)、光電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理技術(shù)于一體的顯示系統(tǒng),是目前國際上極為先進(jìn)的顯示媒體。由于它具有發(fā)光效率高、使用壽命長、組態(tài)靈活、色彩豐富、工作性能穩(wěn)定以及對室內(nèi)室外環(huán)境適應(yīng)能力強(qiáng)等優(yōu)點(diǎn)而日漸成為顯示媒體中的佼佼者。在我國改革開放之后,特別是進(jìn)入90年代國民經(jīng)濟(jì)高速增長,對公眾場合發(fā)布信息的需求日益強(qiáng)烈,LED顯示屏的出現(xiàn)正好適應(yīng)了這一市場形勢,因而在LED顯示屏的設(shè)計(jì)制造技術(shù)與應(yīng)用水平上都得到了迅速的提高,生產(chǎn)也得到了迅速的發(fā)展,并逐步形成產(chǎn)業(yè),成為光電子行業(yè)的新興產(chǎn)業(yè)領(lǐng)域。LED顯示屏經(jīng)歷了從單色、雙色圖文顯示屏,到圖像顯示屏的發(fā)展過程。隨著信息產(chǎn)業(yè)的高速發(fā)展,LED顯示屏作為信息傳播的一種重要手段成為現(xiàn)代信息化社會(huì)的一個(gè)閃亮標(biāo)志。近年LED顯示屏已廣泛應(yīng)用于室內(nèi)、外需要進(jìn)行服務(wù)內(nèi)容和服務(wù)宗旨宣傳的公眾場所如銀行、營業(yè)部、車站、機(jī)場、港口、體育場館等信息的發(fā)布,政府機(jī)關(guān)政策、政令,各類市場行情信息的發(fā)部和宣傳等。目前,對于那些需要顯示的信息量不是很大,分辨率不是很高,又需要制造成本相對比較低的場合,使用大、小屏幕LED點(diǎn)陣顯示器是比較經(jīng)濟(jì)適用的,它可以用單片機(jī)控制實(shí)現(xiàn)顯示字符、數(shù)字、漢字和簡單圖形,可以根據(jù)需要使用不同字號、字型。1.3課題研究的主要內(nèi)容本課題研究的內(nèi)容組要包括以下幾個(gè)內(nèi)容:(1)MSP430單片機(jī)、無線模塊NRF2401、電源轉(zhuǎn)換芯片AMS1117、實(shí)時(shí)時(shí)鐘模塊DS1302、溫度傳感器模塊DS1820、光敏傳感器模塊、串口通信RS232、LED顯示屏以及LED驅(qū)動(dòng)模塊的理論知識以及應(yīng)用,熟練掌握各個(gè)模塊的不同引腳的連接方式;(2)熟練掌握各個(gè)硬件電路,并將以上各個(gè)模塊融合在一起,設(shè)計(jì)出一幅合理的硬件電路圖,其中需要用到兩塊單片機(jī)msp430和兩塊無線模塊NRF24L01,分別將兩塊NRF24L01裝在兩塊單片機(jī)上,一個(gè)充當(dāng)發(fā)送模塊,一個(gè)充當(dāng)接受模塊,然后在接收模塊上將16*16LED點(diǎn)陣模塊按照自己程序里定義的引腳將其連接起來。(3)深入研究該課題涉及到的軟件知識,并用C語言編寫程序,最后仿真,將仿真結(jié)果記錄下來并進(jìn)行分析。其中的程序部分主要分為兩大部分,其中一個(gè)要編寫msp430的發(fā)送部分,一個(gè)用來編寫msp430的接收部分,并且用IAREmbeddedWorkbenchForMSP430這一款軟件對其程序經(jīng)行編譯、創(chuàng)建連接和調(diào)試,并根據(jù)編譯和調(diào)試結(jié)果對其程序進(jìn)行修改,直到其程序沒有出現(xiàn)錯(cuò)誤和警告為止。在保證程序沒有錯(cuò)誤的情況下,將msp430發(fā)送程序和msp430接收程序分別燒到相應(yīng)的兩個(gè)單片機(jī)內(nèi),這樣即完成了軟件部分。第二章論文方案設(shè)計(jì)系統(tǒng)方案總體分析該電路大致上可以分成單片機(jī)系統(tǒng)及外圍電路、無線模塊、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路以及LED廣告屏四大部分。主機(jī)通過采集溫度、日期、光照等信息并將其顯示到LED廣告屏上。其中溫度信息是通過溫度傳感器進(jìn)行采集的,日期時(shí)間是通過時(shí)鐘模塊采集的,光照信息是通過光敏傳感器來采集的。時(shí)鐘,溫度傳感器和無線模塊,以及廣告屏的編程,上位機(jī)與下位機(jī)的軟件流程設(shè)計(jì)思路如下:下位機(jī)上電后,先初始化內(nèi)部變量、時(shí)鐘、信息采集及通信模塊,然后進(jìn)行信息采集,下位機(jī)將采集到的信息通過無線模塊依次發(fā)送出去,上位機(jī)采集到時(shí)鐘,溫度以及光照信息之后,將日期時(shí)間,環(huán)境溫度及光信息顯示在液晶顯示模塊上,然后保存在EEROM里面,掉電不丟失。圖2.1電路整體方框單片機(jī)的選擇2.2.1C51單片機(jī)主要性能參數(shù):128*8字節(jié)內(nèi)部RAM32個(gè)可編程I/O口線2個(gè)16位定時(shí)/計(jì)數(shù)器6個(gè)中斷源可編程串行UART通道2.2.2Mega16單片機(jī)主要產(chǎn)品特征如下:兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器四通道PWM,兩個(gè)可編程的串行USART可工作于主機(jī)/從機(jī)模式的SPI串行接口具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器2.2.3MSP430單片機(jī)主要產(chǎn)品特征如下:同其它微控制器相比MSP430系列可以大大延長電池的使用壽命外部中斷引腳I/O口具有中斷能力定時(shí)器中斷可用于事件計(jì)數(shù)時(shí)序發(fā)生PWM等看門狗功能片內(nèi)USARTs綜上所述,采用51單片機(jī),如果要驅(qū)動(dòng)數(shù)列點(diǎn)陣顯示,通用51單片機(jī)會(huì)比較吃力,出現(xiàn)比較嚴(yán)重的閃爍停滯現(xiàn)象,此外,要實(shí)現(xiàn)文字的左右移動(dòng)和調(diào)整移動(dòng)速度等功能,都會(huì)給軟件設(shè)計(jì)帶來較多困難,所以該單片機(jī)不是本設(shè)計(jì)的最佳選擇;Ateml公司Mega16單片機(jī),它的功能相對51而言是比較多的,操作起來也比較容易,沒有特別突出的優(yōu)點(diǎn);而TI公司低功耗MSP430單片機(jī),具有強(qiáng)大的處理能力和運(yùn)行速度快,功耗超低,應(yīng)用方便等優(yōu)點(diǎn),在多年來已在全球得到了廣泛應(yīng)用,如工業(yè)控制,智能化儀器儀表,無線采集,手持設(shè)備,在這些方面應(yīng)用體現(xiàn)較高性價(jià)比,MSP430主要用戶需要對模擬信號進(jìn)行數(shù)字控制的領(lǐng)域,當(dāng)然,純數(shù)字的系統(tǒng)絕對可以用的。另外他帶有硬件乘法器在處理一些運(yùn)算時(shí)速度也較快,基于以上各種優(yōu)點(diǎn),最終方案確定為單片機(jī)msp430。2.3無線模塊的選擇2.3.1NRF905模塊挪威nordic公司推出的單片射頻發(fā)射器芯片NRF905基本特征如下:1、433/868/915工作頻段,433MHZ開放ISM頻段可免許使用。2、最高發(fā)射速率50KBPS,10dbm發(fā)射功率條件下,配置外置鞭狀天線有效通信距離在300米左右。3、室內(nèi)通信良好通信效果,4層之間可實(shí)現(xiàn)有效通信,抗干擾性能強(qiáng),很強(qiáng)的擾障礙穿透性能。4、單次最多可發(fā)送接收32字節(jié),并可軟件設(shè)置發(fā)送/接收緩沖區(qū)大小2/4/8/16/32字節(jié),其配置非常方便,功耗比較低,由于頻段的限制,本方案放棄。2.3.2CC1020模塊基本特性:1、工作電壓:3.3V~3.6V,推薦3.3V,直線通信距離600米左右
2、頻率范圍為402MHz-470MHz工作
3、低電流消耗(RX:19.9mA)
4、SPI接口配置內(nèi)部寄存器
5、標(biāo)準(zhǔn)DIP間距接口,便于嵌入式應(yīng)用該芯片特點(diǎn)外圍電路元器件復(fù)雜,好多器件難以在短時(shí)間內(nèi)采購齊全,故本方案也放棄。2.3.3NRF2401模塊挪威nordic公司推出的單片射頻發(fā)射器芯片NRF2401基本特征如下:1、2.4Ghz全球開放ISM頻段免許可證使用;2、最高工作速率1Mbps,高效GFSK調(diào)制,抗干擾能力強(qiáng),適合工業(yè)控制場合;3、可直接接各種單片機(jī)使用,軟件編程非常方便;4、收發(fā)完成中斷標(biāo)志,每次最多可發(fā)28字節(jié);5、CLK,DATA,DR三線接口,軟件編簡單。6、雙通道數(shù)據(jù)接收,內(nèi)置環(huán)行天線,開闊無干擾條件通信距離在100米左右。將以上三種芯片進(jìn)行對比,從距離,硬件復(fù)雜度和編程方面考慮,選擇方案三中nordic公司出品的NRF2401芯片構(gòu)成無線通信模塊。LED廣告屏的選擇2.4.1按顏色分類單基色顯示屏:單一顏色(紅色或綠色)。雙基色顯示屏:紅和綠雙基色,256級灰度、可以顯示65536種顏色。全彩色顯示屏:紅、綠、藍(lán)三基色,256級灰度的全彩色顯示屏可以顯示一千六百多萬種顏色。2.4.2按顯示器件分類LED數(shù)碼顯示屏:顯示器件為7段碼數(shù)碼管,適于制作時(shí)鐘屏、利率屏等,顯示數(shù)字的電子顯示屏。LED點(diǎn)陣圖文顯示屏:顯示器件是由許多均勻排列的發(fā)光二極管組成的點(diǎn)陣顯示模塊,適于播放文字、圖像信息。其中的LED點(diǎn)陣單色圖文動(dòng)態(tài)條幅屏(下文中簡稱條屏),因?yàn)槌杀镜土?、可靠性高、顯示效果優(yōu)良,所以成為點(diǎn)陣式LED漢字廣告屏中的主流產(chǎn)品。2.5LED驅(qū)動(dòng)模塊2.5.1靜態(tài)鎖存采用靜態(tài)鎖存方式,將每一個(gè)LED發(fā)光管的一端接至單片機(jī)的一個(gè)I/O口,另一端通過電阻接電源。這種方法可以直接驅(qū)動(dòng)LED,原理簡單,驅(qū)動(dòng)能力強(qiáng),LED的亮度也可以通過限流電阻調(diào)節(jié),非常方便,但此種方法太浪費(fèi)單片機(jī)的I/O口,只適合于較小的系統(tǒng)。2.5.2動(dòng)態(tài)掃描采用動(dòng)態(tài)掃描方式,通過三極管驅(qū)動(dòng)并聯(lián)在一起的LED發(fā)光管的一端(共陰或共2端),LED發(fā)光管的另一腳接通用I/O口,控制其亮滅。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。比較以上兩種方案,系統(tǒng)設(shè)計(jì)中采用方案二。最終方案的確定綜上所述,在本次設(shè)計(jì)中單片機(jī)選定為MSP430,無線模塊選定為NRF2401,點(diǎn)陣屏選定位LED點(diǎn)陣單色圖文顯示屏且驅(qū)動(dòng)模塊為動(dòng)態(tài)掃描。其中單片機(jī)和無線模塊各需要兩塊,其中一塊作為發(fā)送模塊,一個(gè)作為接收模塊,并且在接收模塊上將16*16LED點(diǎn)陣模塊連接上去,這樣在兩個(gè)NRF24L01之間可以通過無線傳播數(shù)據(jù),即所謂的無線傳輸。第三章系統(tǒng)硬件設(shè)置由第二章的系統(tǒng)整體設(shè)計(jì)方案的確定,我們開始著手選擇各個(gè)模塊所使用的硬件。包括單片機(jī),行列驅(qū)動(dòng)以及LED點(diǎn)陣。為該模塊化LED顯示屏控制系統(tǒng)具有更加方便和靈活性,特對系統(tǒng)的硬件做了精心設(shè)計(jì)。硬件電路包括LED驅(qū)動(dòng)模塊、PC機(jī)通信模塊等兩大模塊。硬件電路的總體設(shè)計(jì)本設(shè)計(jì)硬件部分包括上位機(jī)和下位機(jī)兩個(gè)部分,即充當(dāng)采集數(shù)據(jù)的主機(jī),和接收數(shù)據(jù),并顯示出來的從機(jī),由此可見,主機(jī)的結(jié)構(gòu)比較復(fù)雜一下,包括時(shí)鐘模塊,溫度、光照采集電路,串口以及無線模塊,從機(jī)相對簡單一下,除了單片機(jī)典型最小系統(tǒng)電路,只要接上無線模塊,用以接收主機(jī)發(fā)出的數(shù)據(jù),還有點(diǎn)陣模塊,將外界的信息顯示出來就可以了。光源采集光源采集電源模塊電源模塊無線發(fā)送模塊下位機(jī)無線發(fā)送模塊下位機(jī)溫度采集溫度采集串口接收串口接收模塊時(shí)鐘模塊時(shí)鐘模塊電源模塊上位機(jī)電源模塊上位機(jī)廣告屏顯示無線接收模塊單片機(jī)最小系統(tǒng)單片機(jī)片機(jī)芯片配以必要的外部器件,一般包括電源供入及電源開關(guān)、復(fù)位電路、晶振、輸入輸出電路等就能構(gòu)成最小系統(tǒng)。圖3.2單片機(jī)MSP430的各個(gè)引腳3.2.1單片機(jī)MSP430的特點(diǎn)MSP430F149芯片是美國TI公司推出的超低功耗微處理器,有60KB+256字節(jié)FLASH,2KBRAM,包括基本時(shí)鐘模塊、看門狗定時(shí)器、帶3個(gè)捕獲/比較寄存器和PWM輸出的16位定時(shí)器、帶7個(gè)捕獲/比較寄存器和PWM輸出的16位定時(shí)器、2個(gè)具有中斷功能的8位并行端口、4個(gè)8位并行端口、模擬比較器、12位A/D轉(zhuǎn)換器、2個(gè)串行通信接口等模塊。MSP430F149芯片具有如下特點(diǎn):1)功耗低:電壓2.2V、時(shí)鐘頻率1MHz時(shí),活動(dòng)模式為200μA;關(guān)閉模式時(shí)僅為0.1A,且具有5種節(jié)能工作方式。2)高效16位RISC-CPU,27條指令,8MHz時(shí)鐘頻率時(shí),指令周期時(shí)間為125ns,絕大多數(shù)指令在一個(gè)時(shí)鐘周期完成;32kHz時(shí)鐘頻率時(shí),16位MSP430單片機(jī)的執(zhí)行速度高于典型的8位單片機(jī)20MHz時(shí)鐘頻率時(shí)的執(zhí)行速度。3)低電壓供電、寬工作電壓范圍:1.8~3.6V;4)靈活的時(shí)鐘系統(tǒng):兩個(gè)外部時(shí)鐘和一個(gè)內(nèi)部時(shí)鐘;5)低時(shí)鐘頻率可實(shí)現(xiàn)高速通信;6)具有串行在線編程能力;7)強(qiáng)大的中斷功能;8)喚醒時(shí)間短,從低功耗模式下喚醒僅需6μs;9)ESD保護(hù),抗干擾力強(qiáng);10)運(yùn)行環(huán)境溫度范圍為-40~+85℃,適合于工業(yè)環(huán)境。MSP430系列單片機(jī)的所有外圍模塊的控制都是通過特殊寄存器來實(shí)現(xiàn)的,故其程序的編寫相對簡單。編程開發(fā)時(shí)通過專用的編程器,可以選擇匯編或C語言編程,IAR公司為MSP430系列的單片機(jī)開發(fā)了專用的C語言,可以通過WORKBENCH和C-SPY直接編譯調(diào)試,使用靈活簡單。3.2.2電源電路本系統(tǒng)需要使用+5V和+3.3V的直流穩(wěn)壓電源,其中MSP430Fl49及部分外圍器件需要+3.3V電源,另外部分需要+5V電源。在本系統(tǒng)中,以+5V直流電壓為輸入電壓,+3.3V由+5V直接線性降壓。圖3.3電源轉(zhuǎn)換電路原理3.2.3晶振電路由于MSP430有三個(gè)晶振源,兩個(gè)外部晶振,一個(gè)內(nèi)部RC晶振,所以在晶振電路中我連了兩個(gè)外部晶振一個(gè)32768Hz,另一個(gè)是8MHz。在程序中我們可以通過程序的要求,選著合適的晶振圖3.4晶振電路3.2.4復(fù)位電路原理圖手動(dòng)復(fù)位是最小系統(tǒng)常用的功能,本系統(tǒng)采用專用復(fù)位芯片IMP811實(shí)現(xiàn)手動(dòng)復(fù)位。圖3.5復(fù)位電路實(shí)時(shí)時(shí)鐘DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過AM/PM指示決定采用24或12小時(shí)格式。DS1302與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線(1)RES(復(fù)位),(2)I/O(數(shù)據(jù)線),(3)SCLK(串行時(shí)鐘)。在本設(shè)計(jì)中,時(shí)鐘芯片上這三個(gè)引腳直接跟MSP430F149的P3.0,P3.1,P3.2相連。時(shí)鐘/RAM的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31個(gè)字節(jié)的字符組方式通信。DS1302工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW。管腳描述X1X232.768KHz晶振管腳GND地RST復(fù)位腳I/O數(shù)據(jù)輸入/輸出引腳SCLK串行時(shí)鐘Vcc1,Vcc2電源供電管腳3.4串行通信圖3.7串行通信電路這是232串口通信的一個(gè)典型電路,Max232產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-VTTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。所以它可以做成一個(gè)雙串口的電路,分別接單片機(jī)的串行通信口或者實(shí)驗(yàn)板的其它串行通信接口,本設(shè)計(jì)不需要那么復(fù)雜,故只用了其中一組驅(qū)動(dòng)、接收器。LED點(diǎn)陣對于點(diǎn)陣型LED顯示可以采用共陰極或共陽極,本系統(tǒng)采用共陽極,其硬件電路如圖2.1所示。當(dāng)行上有一正選通信號時(shí),列選端四位數(shù)據(jù)為0的發(fā)光二極管便導(dǎo)通點(diǎn)亮。這樣只需要將圖形或文字的顯示編碼作為列信號跟對應(yīng)的行信號進(jìn)行逐次掃描,就可以逐行點(diǎn)亮點(diǎn)陣。只要掃描速度大于24Hz,由于掃描時(shí)間很快,人眼的視覺有暫留效應(yīng),就可以看到顯示的是完整的圖形或文字。圖3.88*8共陽極LED點(diǎn)陣?yán)?,若要圖中所示16個(gè)LED顯示一個(gè)“口”字的方框,則首先在列1~4上寫入列編碼信號,接著應(yīng)將對應(yīng)的行上加選通信號,即在行、列的信號端分別加上如表3.1所示數(shù)據(jù):表3.1在點(diǎn)陣上所加的行信號以及列選擇信號列1列2列3列4行10000行20110行30110行40000這樣,當(dāng)?shù)谝恍羞x通時(shí)列信號為0000;第二行選通時(shí)列信號為0110;第三行選通時(shí)列信號為0110;第四行選通時(shí)列信號為0000;再選通第一行送列信號0000……如此循環(huán)下去,當(dāng)刷新頻率足夠高時(shí)(大于24Hz),由于人眼的視覺暫留特性,便可觀察到穩(wěn)定的方框。3.6無線模塊圖3.9無線模塊NRF24L01集成版圖主要參數(shù):(1)2.4Ghz全球開放ISM頻段免許可證使用(2)最高工作速率2Mbps,高效GFSK調(diào)制,抗干擾能力強(qiáng)(3)126頻道,滿足多點(diǎn)通信和跳頻通信需要(4)內(nèi)置硬件CRC檢錯(cuò)和點(diǎn)對多點(diǎn)通信地址控制(5)低功耗1.9-3.6V工作,待機(jī)模式下狀態(tài)為22uA;掉電模式下為900nA(6)內(nèi)置2.4Ghz天線,體積小巧15mmX22mm3.7溫度傳感器下圖是常用的溫度傳感器芯片18b20的實(shí)物圖,它只有三個(gè)引腳,操作很簡單圖3.10溫度傳感器芯片以下是傳感器在板子上的電路圖3.11DS18B02下面簡要介紹一下溫度傳感器18b201.DS18B20基本知識DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點(diǎn)。因此用它來組成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。溫度/數(shù)據(jù)關(guān)系表3.2溫度數(shù)據(jù)關(guān)系溫度數(shù)字輸出/(二進(jìn)制)安息字輸出(十六進(jìn)制)+125°C000000001111101000FAh+25°C00000000001100100032h+1/2°C00000000000000010001h+0°C00000000000000000000h–1//2°C1111111111111111FFFFh–25°C1111111111001110FFCEh–55°C1111111110010010FF92h3、DS18B20的引腳介紹GND地信號DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。3.8.系統(tǒng)的電路設(shè)計(jì)3.8.1LED電路原理圖圖3.12LED電路原理3.8.2單片機(jī)msp430最小系統(tǒng)的PCB版圖設(shè)計(jì)圖3.13msp430最小系統(tǒng)的PCB版圖設(shè)計(jì)第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)方案在本次設(shè)計(jì)中,軟件部分有以下幾大塊:時(shí)鐘DS1302,溫度傳感器18B20和光敏傳感器,無線模塊,以及廣告屏的編程,上位機(jī)與下位機(jī)的軟件流程設(shè)計(jì)思路如下:下位機(jī)上電后,先初始化內(nèi)部變量、時(shí)鐘,信息采集及通信模塊,然后進(jìn)行信息采集,下位機(jī)將采集到的信息通過無線模塊依次發(fā)送出去,上位機(jī)采集到時(shí)鐘,溫度以及光照信息之后,將日期時(shí)間,環(huán)境溫度及光信息顯示在液晶顯示模塊上,然后保存在EEROM里面,掉電不丟失。下位機(jī)下位機(jī)上位機(jī)廣告屏顯示程序溫度采集程序光照采集程序時(shí)鐘信息程序無線模塊(發(fā)送)程序無線模塊(接收)程序圖4.1軟件設(shè)計(jì)方案的流程圖4.2實(shí)時(shí)時(shí)鐘模塊因?yàn)楸驹O(shè)計(jì)需要在顯示屏上顯示時(shí)間以及日期的信息,故需要用到實(shí)時(shí)時(shí)鐘模塊,以下就軟件方面對時(shí)鐘模塊做詳細(xì)的介紹:4.2.1實(shí)時(shí)時(shí)鐘模塊簡介DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過AM/PM指示決定采用24或12小時(shí)格式。DS1302與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線(1)RES(復(fù)位),(2)I/O(數(shù)據(jù)線),(3)SCLK(串行時(shí)鐘)。時(shí)鐘/RAM的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá)31個(gè)字節(jié)的字符組方式通信,DS1302工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW。4.2.2實(shí)時(shí)時(shí)鐘模塊的時(shí)序圖1)寄存器操作當(dāng)寫保護(hù)寄存器的最高位為0時(shí),允許數(shù)據(jù)寫入寄存器,寫保護(hù)寄存器可以通過命令字節(jié)8E、8F來規(guī)定禁止寫入/讀出。寫保護(hù)位不能在多字節(jié)傳送模式下寫入。它的寄存器分配如下:1RAM/CKA4A3A2A1A0RD/W2)寫操作時(shí)序讀寫操作需要嚴(yán)格按照時(shí)序圖來進(jìn)行,下面分別是1302的寫操作時(shí)序圖以上是DS1302一個(gè)字節(jié)寫入的時(shí)序圖。第一個(gè)字節(jié)是地址字節(jié),第二個(gè)字節(jié)是數(shù)據(jù)字節(jié),RST信號必須拉高,否則數(shù)據(jù)的輸入是無數(shù)的。換一句話說,RST信號控制數(shù)據(jù)時(shí)間信號輸入的開始和結(jié)束。地址字節(jié)和數(shù)據(jù)字節(jié)的讀取時(shí)上升沿有效,而且是由LSB開始讀入,3)讀操作時(shí)序讀一個(gè)字節(jié)和寫一個(gè)字節(jié)有明顯的不一樣,先是寫地址字節(jié),然后再讀數(shù)據(jù)字節(jié),寫地址字節(jié)時(shí)上升沿有效,而讀數(shù)據(jù)字節(jié)時(shí)下降沿有效,當(dāng)然前提是RST信號必須拉高,寫地址字節(jié)和數(shù)據(jù)字節(jié)同是LSB開始。讀一個(gè)字節(jié)和寫一個(gè)字節(jié)最大的區(qū)別是,寫一個(gè)字節(jié)的時(shí)候,MSP430的IO口一直保持輸出狀態(tài),相反的在讀一個(gè)字節(jié)時(shí)MSP430的IO口先是輸出狀態(tài),然后是輸入狀態(tài),且必須改變是在信號的順序。4.2.3時(shí)鐘模塊操作流程圖開始開始變量初始化變量初始化使DS1302不具備寫保護(hù)使DS1302不具備寫保護(hù)復(fù)位端產(chǎn)生一個(gè)高電平復(fù)位端產(chǎn)生一個(gè)高電平復(fù)位端產(chǎn)生一個(gè)高電平復(fù)位端產(chǎn)生一個(gè)高電平寫1302地址寫1302地址寫1302地址寫1302地址延時(shí)一段時(shí)間延時(shí)一段時(shí)間延時(shí)一段時(shí)間延時(shí)一段時(shí)間將該地址的數(shù)據(jù)讀出向該地址寫數(shù)據(jù)將該地址的數(shù)據(jù)讀出向該地址寫數(shù)據(jù)地址增加地址增加地址增加地址增加數(shù)據(jù)讀完了嗎?數(shù)據(jù)寫完了嗎?數(shù)據(jù)讀完了嗎?數(shù)據(jù)寫完了嗎?YY顯示數(shù)據(jù)顯示數(shù)據(jù)NN圖4.2時(shí)鐘模塊流程圖4.2.4模塊程序設(shè)計(jì)?初始化定義初始化定義就是將DS1302需要操作的三個(gè)口對應(yīng)跟單片機(jī)的I/O口相連,得以在接下去的子程序中顯得直觀一點(diǎn)#defineSET_SCKP3OUT|=0X01;#defineCLR_SCKP3OUT&=~0X01; #defineSET_SDAP3OUT|=0X02;#defineCLR_SDAP3OUT&=~0X02;#defineSET_RSTP3OUT|=0X04;#defineCLR_RSTP3OUT&=~0X04; 以上宏定義是將時(shí)鐘芯片DS1302的三個(gè)引腳定義到PD4、PD5、PD6三個(gè)口上,便于在下面的程序中顯得直觀一點(diǎn)unsignedcharl_tmpdate[7]={0,0,12,15,4,3,9};};//秒分時(shí)日月周年,可隨時(shí)更改unsignedcharwrite_rtc_address[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};//秒分時(shí)日月周年寫寄存器地址,最低位是讀寫位Unsignedcharread_rtc_address[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};//秒分時(shí)日月周年讀寄存器地址,最低位是讀寫位constunsignedchartable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff}; //共陽數(shù)碼管0-9'-''熄滅‘表?寫操作讀寫操作需要嚴(yán)格按照時(shí)序圖來進(jìn)行,對應(yīng)時(shí)序圖,我們可以通過軟件進(jìn)行操作:voidWrite_Ds1302(unsignedcharaddress,unsignedchardat)向寄存器寫數(shù)據(jù){ CLR_RST;_NOP();CLR_SCK;_NOP();SET_RST; _NOP();//啟動(dòng) Write_Ds1302_Byte(address); //發(fā)送地址 Write_Ds1302_Byte(dat); //發(fā)送數(shù)據(jù) CLR_RST; //恢復(fù)}voidWrite_Ds1302_Byte(unsignedchartemp)//寫一個(gè)字節(jié){{unsignedchari;for(i=0;i<8;i++) //循環(huán)8次寫入數(shù)據(jù){CLR_SCK;if(temp&0x01){SET_SDA;}//每次傳輸?shù)妥止?jié) elseCLR_SDA;temp>>=1; //右移一位SET_SCK;}}?讀操作同樣地,根據(jù)上一節(jié)提到的讀操作的時(shí)序圖,可以進(jìn)行如下的軟件操作:unsignedcharRead_Ds1302(unsignedcharaddress)//從寄存器讀取數(shù)據(jù){ unsignedchari,temp=0x00; CLR_RST;_NOP();CLR_SCK;_NOP();SET_RST;_NOP(); Write_Ds1302_Byte(address); DDRD&=~(1<<4); for(i=0;i<8;i++) //循環(huán)8次讀取數(shù)據(jù) { if(PIND&(1<<PD4)) temp|=0x80; //每次傳輸?shù)妥止?jié) CLR_SCK; temp>>=1; //右移一位 SET_SCK; } DDRD|=(1<<4);CLR_RST; _NOP(); //以下為DS1302復(fù)位的穩(wěn)定時(shí)間 CLR_RST;CLR_SCK;_NOP();SET_SCK;_NOP();CLR_SDA; _NOP();SET_SDA;_NOP();return(temp); //返回}voidRead_RTC(void) //讀取日歷{unsignedchari,*p;p=read_rtc_address; //讀的地址傳遞for(i=0;i<7;i++) //分7次讀取秒分時(shí)日月周年{l_tmpdate[i]=Read_Ds1302(*p);p++;}}voidSet_RTC(void) //設(shè)定日歷{ unsignedchari,*p,tmp; for(i=0;i<7;i++){//BCD處理,將十六進(jìn)制轉(zhuǎn)換為十進(jìn)制 tmp=l_tmpdate[i]/10; l_tmpdate[i]=l_tmpdate[i]%10; l_tmpdate[i]=l_tmpdate[i]+tmp*16; } Write_Ds1302(0x8E,0X00);//關(guān)閉寫保護(hù) p=write_rtc_address; //傳要寫的寄存器地址 for(i=0;i<7;i++) //7次寫入秒分時(shí)日月周年 { Write_Ds1302(*p,l_tmpdate[i]); p++; } Write_Ds1302(0x8E,0x80);//打開寫保護(hù)}4.3溫度,光照信息采集模塊4.3.1溫度傳感器模塊的簡介DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點(diǎn)。因此用它來組成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。1、DS18B20產(chǎn)品的特點(diǎn)(1)、只要求一個(gè)端口即可實(shí)現(xiàn)通信。(2)、在DS18B20中的每個(gè)器件上都有獨(dú)一無二的序列號。(3)、實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測溫。(4)、測量溫度范圍在-55°C到+125°C之間。(5)、數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。(6)、內(nèi)部有溫度上、下限告警設(shè)置。4.3.2溫度傳感器模塊的時(shí)序圖初始化.主機(jī)總線在T0時(shí)刻從電源降到0并保持400-960uS時(shí)間,然后再上升到電源大約在15-60uS后,18B20輸出低電平并保持60uS-240uS,然后上升到電源,完成初始化。寫0和1時(shí)序?qū)?時(shí)序?qū)?時(shí)序當(dāng)主機(jī)總線T0時(shí)刻從高拉到低電平時(shí),就產(chǎn)生寫時(shí)間時(shí)序,從T0時(shí)刻開始15uS之內(nèi)應(yīng)該將所需要的位送到總線上。寫0時(shí)序,總線輸出0后,15uS對總線采樣,若為低電平則寫入的位是0,若為高電平則寫入的位是1,連續(xù)寫2位的間隙應(yīng)該大于1uS。寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。讀時(shí)序?qū)τ贒S18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。4.3.3模塊操作流程初始化初始化設(shè)置18b20個(gè)數(shù)B設(shè)置18b20個(gè)數(shù)B匹配ROM跳過ROM匹配ROM跳過ROM讀存儲器變換溫度讀存儲器變換溫度存在緩沖區(qū)指針增1等待1s存在緩沖區(qū)指針增1等待1s初始化初始化初始化初始化B-1=0?否B-1=0?是圖4.3模塊操作流程圖4.3.4模塊程序設(shè)計(jì)由于DS18B20采用的是1-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求,即編程時(shí)要嚴(yán)格按照上面的時(shí)序圖來進(jìn)行。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時(shí)序,就是上面提到的初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。下面就本設(shè)計(jì)的程序做一下詳細(xì)的分析:(1)18b20初始化函數(shù)voidInit_DS18B20(void){unsignedcharx=0;SET_DQ;//DQ復(fù)位delay(8);//稍做延時(shí)CLR_DQ;//單片機(jī)將DQ拉低delay(80);//精確延時(shí)大于480usSET_DQ;//拉高總線delay(10);DDRB&=~(1<<7);x=(P2IN&0X80);//稍做延時(shí)后,如果x=0則初始化成功;x=1則初始化失敗delay(5);DDRB|=(1<<7);}(2)讀一個(gè)字節(jié)unsignedcharReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){CLR_DQ;//給脈沖信號dat>>=1;SET_DQ;//給脈沖信號DDRB&=~(1<<7);if(P2IN&(1<<7))dat|=0x80;delay(5);DDRB|=(1<<7);}return(dat);}(3)寫一個(gè)字節(jié)voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){CLR_DQ;if(dat&0x01)SET_DQ;elseCLR_DQ;delay(5);SET_DQ;dat>>=1;}delay(5);}(4)讀取溫度unsignedcharReadTemperature(void){unsignedchara=0;unsignedcharb=0;unsignedchart=0;Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號列號的操作WriteOneChar(0x44);//啟動(dòng)溫度轉(zhuǎn)換delay(200);Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號列號的操作WriteOneChar(0xBE);//讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度a=ReadOneChar();b=ReadOneChar();b<<=4;b+=(a&0xf0)>>4;t=b;//tt=t*0.0625;//t=tt*10+0.5;//放大10倍輸出并四舍五入return(t);}4.3.5光敏傳感器模塊簡介1、光敏傳感器的選擇光敏傳感器有很多類型,主要有:光電管、光電倍增管、光敏電阻、光敏三極管、太陽能電池、紅外線傳感器、紫外線傳感器、光纖式光電傳感器、色彩傳感器等,由于光敏電阻靈敏度高,體積小,重量輕,性能穩(wěn)定,價(jià)格便宜,因?yàn)樵诒敬卧O(shè)計(jì)中不需要很精確地采集外圍環(huán)境的光照信息,故選用光敏電阻來比較合適。光敏電阻可以作為程序的運(yùn)行指令與終止指令。光敏電阻就是一個(gè)傳感器,有“有信號”與“無信號”兩種狀態(tài),所以軟件編程相對很容易。因?yàn)樵O(shè)計(jì)中用到的光敏電阻實(shí)際上就相當(dāng)于是一個(gè)電阻,所以,只需要讀取它上面的電壓值就知道有沒有光照了,在本設(shè)計(jì)中,由于時(shí)間顯示,又要是實(shí)驗(yàn)結(jié)果盡量直觀,我們就將有光的時(shí)候在顯示屏上顯示“亮”,然后在用手遮住光敏電阻之后顯示“暗”,表示此時(shí)已經(jīng)沒有光照了。以下是設(shè)計(jì)中用到的程序(1)、端口初始化PORTD&=~_BV(PD7);//此口總保持低DDRD&=~_BV(PD7);//初始化為輸入,用外部上拉電阻保持總線的高電平因?yàn)楣饷綦娮枋歉鷨纹瑱C(jī)上的PD7口相連的,而在執(zhí)行過程中要隨時(shí)讀取上面的電壓值,故將PD7口初始化為輸入。(2)、顯示光照狀態(tài)的宏定義constunsignedcharbright[32]={/*--文字:亮--*//*--宋體12;此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16--*/0x01,0x00,0x7F,0xFC,0x00,0x00,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x04,0x7F,0xFE,0x40,0x04,0x87,0xC8,0x04,0x40,0x04,0x40,0x08,0x42,0x10,0x42,0x60,0x3E,0x00,0x00};//用來顯示有亮光時(shí)的漢字宏定義,即“亮”constunsignedchardark[32]={/*--文字:暗--*//*--宋體12;此字體下對應(yīng)的點(diǎn)陣為:寬x高=16x16--*/0x00,0x40,0x00,0x20,0x7B,0xFC,0x49,0x10,0x48,0x90,0x48,0xA0,0x7F,0xFE,0x48,0x00,0x49,0xF8,0x49,0x08,0x79,0xF8,0x49,0x08,0x01,0x08,0x01,0xF8,0x01,0x08,0x00,0x00};//用來顯示無亮光時(shí)的信息漢字宏定義,即“暗”(3)、讀取光敏電阻上的值點(diǎn)陣上顯示if((P2IN&0X80)==0X80) { for(i=0;i<32;i++) lhj[i]=bright[i];//將漢字“亮”的編碼復(fù)制到顯示緩存用來顯示display();//顯示 } else {for(i=0;i<32;i++) lhj[i]=bright[i];//將漢字“暗”的編碼復(fù)制到顯示緩存用來顯示display();//顯示 }4.4無線模塊4.4.1無線模塊簡介對nRF2401的配置接口由CE、PWR、CS組成。有4種工作模式(如表1所列),數(shù)據(jù)通過DATA、CLK1輸入。工作模式PWRCECS收發(fā)模式110配置模式101空閑模式100掉電模式0XX表4.1
4種工作模式其發(fā)射功率、工作頻率等所有工作參數(shù)全部通過軟件設(shè)置完成。系統(tǒng)工作之前必須對nRF2401進(jìn)行初始化配置,可通過DATA、CLK1串行輸入120位的配置位。nRF2401有2種通信方式:ShockBurst和Direct方式。ShockBurst方式時(shí),nRF2401可以自動(dòng)加載數(shù)據(jù)頭,進(jìn)行CRC等工作,對外部編程的工作量少,為此在此系統(tǒng)中采用ShockBurst方式。ShockBurst方式的發(fā)送、接收工作流程如下一節(jié)所示。4.4.2無線模塊的時(shí)序圖正如上幾節(jié)提到的,在編程時(shí)時(shí)序是非常重要的,所以向nRF2401A寫控制字操作也必須嚴(yán)格下面的時(shí)序進(jìn)行(1)、向nRF2401A寫命令字時(shí)序圖PWR_UP為高、CE為低時(shí),置位CS,芯片處于命令字寫入狀態(tài),通過通道1向芯片的控制字緩沖區(qū)寫入命令字,按照由高位到低位的順序,命令字全部寫入后,將CS置低,nRF24101A芯片將會(huì)根據(jù)命令字配置相應(yīng)的內(nèi)部模塊。在第一次配置操作結(jié)束后,只有最后兩個(gè)字節(jié)的命令字可以被更改,前16個(gè)字節(jié)的修改無效,如果需要修改前16個(gè)字節(jié)的命令字(如通道接收地址,接收數(shù)據(jù)長度等),則需要掉電(PWR_UP置低)后重新上電(PWR_UP置高),才能對芯片進(jìn)行徹底初始化操作。需要注意的地方:并不是18個(gè)Byte的命令字全部需要寫入,通常我們只需要寫后15個(gè)Byte即可;15個(gè)Byte的命令字在nRF2401.C文件中通過InitData[15]定義,用戶需根據(jù)自己的通信格式對之進(jìn)行修改;bit15~bit0可以根據(jù)需要反復(fù)修改,但是bit144~bit16只有上電后的第一次初始化有效。(2)、單片機(jī)向nRF2401A發(fā)送數(shù)據(jù)的時(shí)序如下MSB?LSB數(shù)據(jù)格式為如下:An~A0為接收機(jī)地址,不超過40位,通過更換地址,可以向多個(gè)nRF2401A模塊發(fā)送數(shù)據(jù);Dk~D0為待發(fā)送的數(shù)據(jù)。以上數(shù)據(jù)由單片機(jī)發(fā)送到nRF2401A之后,nRF2401A將會(huì)進(jìn)行打包并發(fā)射,打包后的數(shù)據(jù)格式為:其中Pre為8位的校驗(yàn)頭,CRC為8位或16位的校驗(yàn)尾,在ShockBurst模式下由nRF2401A自動(dòng)添加。需要注意的地方:Address、Data、CRC的位數(shù)之和不超過256;Address長度必須和目標(biāo)接接收通道的地址一致(數(shù)據(jù)和長度);Data長度必須和目標(biāo)接接收通道的接收數(shù)據(jù)寬度一致。發(fā)射端和接收端的RF頻率須一致,如兩端均采用通道1,則二者控制字的bit7~bit1一致,如接收端采用通道2,則發(fā)射端bit7~bit1值比接收端bit7~bit1值大8。(3)、單片機(jī)從nRF2401A讀取數(shù)據(jù)的時(shí)序如下當(dāng)接收端成功接收到數(shù)據(jù)后,將會(huì)置位對應(yīng)的數(shù)據(jù)請求管腳DR1/DR2,單片機(jī)通過查詢該管腳狀態(tài),或者通過中斷方式接收數(shù)據(jù),nRF2401.C文件提供的從nRF2401A讀取數(shù)據(jù)的函數(shù)有兩個(gè):4.4.3數(shù)據(jù)傳輸?shù)牧鞒虉D(1)、NRF2401ShockBurst方式發(fā)送流程圖配置NRF2401配置NRF2401數(shù)據(jù)碼=256-地址碼[8~40位]數(shù)據(jù)打包(地址碼+數(shù)據(jù))數(shù)據(jù)打包(地址碼+數(shù)據(jù))置CE為高置CE為高串行裝載數(shù)據(jù)CE置低CE置低NRF2401自動(dòng)加數(shù)據(jù)頭,并以250kbps或1Mbps的速率向外發(fā)數(shù)據(jù)NRF2401自動(dòng)加數(shù)據(jù)頭,并以250kbps或1Mbps的速率向外發(fā)數(shù)據(jù)此段在NRF2401中自動(dòng)完成,只需在MCU中延時(shí)大約200us即發(fā)送完畢?可發(fā)送完畢?NY(2)、NRF2401ShockBurst方式接收流程圖配置NRF2401配置NRF2401NRF2401是否接收到數(shù)據(jù)?NRF2401是否接收到數(shù)據(jù)?N在NRF2401中Y自動(dòng)完成NRF2401判斷地址是否正確?NRF2401判斷地址是否正確?MCU從NRF2401的FIFO中串行接收數(shù)據(jù),MCU從NRF2401的FIFO中串行接收數(shù)據(jù),F(xiàn)IFO讀空后DR1變高NYDR1被NRF2401置高,引發(fā)MCU中斷接收數(shù)據(jù),并判斷CRC是否正確?DR1被NRF2401置高,引發(fā)MCU中斷接收數(shù)據(jù),并判斷CRC是否正確?NY圖4.4數(shù)據(jù)傳輸流程圖4.4.4無線模塊程序設(shè)計(jì)(1)、數(shù)據(jù)發(fā)送程序單片機(jī)向nRF2401A傳送數(shù)據(jù)的函數(shù)有以下4個(gè):voidnRF2401_SendByte(unsignedintTxData),用于發(fā)送一個(gè)字節(jié)數(shù)據(jù);voidnRF2401_SendWord(unsignedintTxData),用于發(fā)送一個(gè)字?jǐn)?shù)據(jù);voidnRF2401_SendBuffer_Byte(unsignedintTxData[],unsignedintDataByte),用于發(fā)送一個(gè)字節(jié)數(shù)組;voidnRF2401_SendBuffer_Word(unsignedintTxData[],unsignedintDataWord),用于發(fā)送一個(gè)字?jǐn)?shù)組。以上幾個(gè)函數(shù)的流程是一樣的,只是發(fā)送數(shù)據(jù)的長度不同。函數(shù)的使用:voidnRF2401_SetAddress(unsignedintAddress[],unsignedintAddrByte):設(shè)置目標(biāo)nRF2401A的地址,發(fā)送端在發(fā)送數(shù)據(jù)前調(diào)用,只需要一次即可。其中Address[]數(shù)組為目標(biāo)nRF2401A地址,AddrByte為有效地址的字節(jié)數(shù)。voidnRF2401_SendByte(unsignedintTxData):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字節(jié)數(shù)據(jù)TxData);voidnRF2401_SendWord(unsignedintTxData):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字?jǐn)?shù)據(jù)TxData);voidnRF2401_SendBuffer_Byte(unsignedintTxData[],unsignedintDataByte):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字節(jié)數(shù)組TxData[]),其中DataByte為數(shù)組元素個(gè)數(shù);voidnRF2401_SendBuffer_Word(unsignedintTxData[],unsignedintDataWord):用于向nRF2401A發(fā)送一幀數(shù)據(jù)(目標(biāo)地址+一個(gè)字?jǐn)?shù)組TxData),其中DataWord為數(shù)組元素個(gè)數(shù);(2)數(shù)據(jù)接收程序當(dāng)接收端成功接收到數(shù)據(jù)后,將會(huì)置位對應(yīng)的數(shù)據(jù)請求管腳DR1/DR2,單片機(jī)通過查詢該管腳狀態(tài),或者通過中斷方式接收數(shù)據(jù),nRF2401.C文件提供的從nRF2401A讀取數(shù)據(jù)的函數(shù)有兩個(gè):voidnRF2401_ReceiveByte(unsignedintRxData[]),以Byte格式從nRF2401A讀取數(shù)據(jù);voidnRF2401_ReceiveWord(unsignedintRxData[]),以Word格式從nRF2401A讀取數(shù)據(jù)。以上兩個(gè)函數(shù)的操作流程是一樣的,只是存儲的數(shù)據(jù)格式不同。函數(shù)的使用:voidnRF2401_ReceiveByte(unsignedintRxData[]):以Byte格式從nRF2401A讀取數(shù)據(jù),接收數(shù)據(jù)存儲在數(shù)組RxData[]中。voidnRF2401_ReceiveWord(unsignedintRxData[]):以Word格式從nRF2401A讀取數(shù)據(jù),接收數(shù)據(jù)存儲在數(shù)組RxData[]中。(3)、其他程序其他程序如下:voidnRF2401_ON()://nRF2401A上電操作,在初始化nRF2401A之前執(zhí)行該操作;voidnRF2401_OFF()://nRF2401A掉電操作,在需要重新初始化nRF2401A時(shí)執(zhí)行該操作;voidnRF2401_Mode(unsignedintuiMode)://nRF2401A收/發(fā)模式切換,uiMode=0,設(shè)置nRF2401A為接收;uiMode=1,設(shè)置nRF2401A為發(fā)送;unsignedintnRF2401_RxStatus()://判斷nRF2401A是否有數(shù)據(jù)接收,如果已經(jīng)接收到數(shù)據(jù),返回值為“1”,如果沒有接收到數(shù)據(jù),返回值為“0”;4.5LED點(diǎn)陣模塊4.5.1點(diǎn)陣模塊簡介LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號燈各種信息的顯示屏幕。LED顯示屏控制系統(tǒng)實(shí)現(xiàn)顯示信息的刷新技術(shù)有動(dòng)態(tài)掃描和靜態(tài)鎖存兩種方式。一般室內(nèi)顯示屏多采用動(dòng)態(tài)掃描技術(shù),即一行發(fā)光二極管共用一行驅(qū)動(dòng)寄存器,根據(jù)共用一行驅(qū)動(dòng)寄存器的發(fā)光二極管像素?cái)?shù)目。室外顯示屏基本上采用靜態(tài)鎖存技術(shù),即每一個(gè)發(fā)光二極管都對應(yīng)有二個(gè)驅(qū)動(dòng)寄存器。動(dòng)態(tài)掃描法可以大大減少控制器的I/O口,因此應(yīng)用較廣。4.5.2點(diǎn)陣模塊時(shí)序圖本設(shè)計(jì)使用的點(diǎn)陣屏是由4個(gè)大小為φ1.9mm的8*8共陽點(diǎn)陣組成16*16點(diǎn)陣,點(diǎn)陣屏可拆裝,采用圓孔銅排針,連接性能非常好。驅(qū)動(dòng)部份使用兩個(gè)移位帶存儲器的74HC595和兩個(gè)移位寄存器74HC164組成,74HC595負(fù)責(zé)列掃描數(shù)據(jù),74HC164負(fù)責(zé)行掃描數(shù)據(jù)。列掃描采用三極管放大電流,加大掃描強(qiáng)度,提高點(diǎn)陣屏亮度。數(shù)據(jù)接口采用可并接方式,有輸入和輸出,方便并接多個(gè)單板,組成32*16、48*16、64*16等點(diǎn)陣。下圖就是點(diǎn)陣模塊的時(shí)序圖:4.5.3點(diǎn)陣模塊程序流程圖1)顯示驅(qū)動(dòng)程序顯示驅(qū)動(dòng)程序在進(jìn)入中斷后首先要對定時(shí)器T0重現(xiàn)賦初值,以保證顯示屏刷新率的穩(wěn)定,然后顯示驅(qū)動(dòng)程序查詢當(dāng)前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時(shí)候產(chǎn)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打開輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示,以下就是顯示驅(qū)動(dòng)程序的流程圖:進(jìn)入中斷進(jìn)入中斷定時(shí)器賦初值讀取行號并增加1送新行顯示數(shù)據(jù)消隱切換顯示數(shù)據(jù)發(fā)送新行號,打開顯示退出中斷圖4.5顯示驅(qū)動(dòng)程序流程圖2)系統(tǒng)主程序系統(tǒng)主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時(shí)器、中斷和端口;然后以“卷簾出”效果顯示圖形,停留約3s;接著向上滾動(dòng)顯示信息,然后以“卷簾入”效果隱去圖形。單元顯示屏可以接收來自控制器或上一級顯示單元模塊傳輸下來的數(shù)據(jù)信息和命令信息,并可將這些數(shù)據(jù)信息和命令信息部經(jīng)任何變化地再傳送給下一級顯示模塊單元中,因此顯示板可擴(kuò)展至更多的顯示單元,用于顯示更多的顯示內(nèi)容。下圖是系統(tǒng)主程序流程圖:開始開始系統(tǒng)初始化“卷簾出”顯示效果“上滾屏”顯示效果“左跑馬”顯示效果“卷簾入”顯示效果圖4.8系統(tǒng)總程序流程圖4.5.4點(diǎn)陣模塊程序設(shè)計(jì)1.IC-74HC59574HC595是硅結(jié)構(gòu)的CMOS器件,兼容低電壓TTL電路,它的引腳圖如下:圖4.974HC59574HC595是具有8位移位寄存器和一個(gè)存儲器,三態(tài)輸出功能。移位寄存器和存儲器是分別的時(shí)鐘。數(shù)據(jù)在SCHcp的上升沿輸入,在STcp的上升沿進(jìn)入存儲寄存器。如果兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲寄存器早一個(gè)脈沖,電路中,將兩個(gè)時(shí)鐘分開控制,目的是先移好位,再存儲數(shù)據(jù),這樣在移位的過程中,可保持輸出的數(shù)據(jù)。移位寄存器有一個(gè)串行移位輸入(Ds),和一個(gè)串行輸出(Q7‘),電路將其接入下一個(gè)IC的輸入(Ds)組成16位移位存儲。一個(gè)異步的低電平復(fù)位/MR,電路中不使用復(fù)位信號,將此腳直接接入電源VCC)。存儲寄存器有一個(gè)并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線,電路中直接將此腳接GND,做直接輸出。IC-74HC16474HC164是簡單的8位移位寄存器,下圖是它的引腳圖:圖4.1074HC164如上圖:輸入A、B在SCK時(shí)鐘脈沖作用下移入寄存器。A、B是與的輸入,電路將其合并做一個(gè)輸入,移位寄存器的最后一位輸出Qh接入下一個(gè)74HC164的輸入AB,組成16位移位寄存器,位的輸出經(jīng)過三極管放大電流加到點(diǎn)陣共陽端,即做為點(diǎn)陣的行控制。軟件部分:列的處理信號有三個(gè),SER、SRCLK、RCLK,SER做為列移位寄存器的輸入,SRCLK是移位時(shí)鐘,RCLK做為鎖存時(shí)鐘,當(dāng)將16個(gè)位數(shù)據(jù)在SRCLK的脈沖作用下移入寄存器后,就可以開啟RCLK時(shí)鐘,使寄存器中的數(shù)據(jù)存入鎖存器,因使能腳接0使能,數(shù)據(jù)直接輸出Q端,Q端數(shù)據(jù)經(jīng)限流電阻接入點(diǎn)陣COL腳位,即一行的數(shù)據(jù)顯示。另外兩個(gè)信號是AB和SCK,AB做為行移位寄存器的輸入,SCK是移位時(shí)鐘,AB的輸入在SCK的時(shí)鐘脈沖下移入寄存器,寄存器輸出端Q經(jīng)電阻接入三極管B極,控制三極管的導(dǎo)通和截止,從面控制點(diǎn)陣ROW腳位電量。每次移位行的輸出16個(gè)Q位只允許有一個(gè)是低電平,即是分時(shí)輪流的輸出低電平使用三極管輪流導(dǎo)通,從而使掃描至上而下進(jìn)行。對于16*16點(diǎn)陣,整個(gè)過程是先移出16個(gè)列數(shù)據(jù)信號,再移一個(gè)行信號,重復(fù)完成16行掃描。對于32*16點(diǎn)陣,整個(gè)過程是先移出32個(gè)列數(shù)據(jù)信號,再移一個(gè)行信號,重復(fù)完成16行掃描。對于48*16點(diǎn)陣,整個(gè)過程是先移出48個(gè)列數(shù)據(jù)信號,再移一個(gè)行信號,重復(fù)完成16行掃描。下面對程序設(shè)計(jì)做一下簡要的分析:voiddisplay(void)//顯示{ unsignedchari,ia,tmp; //定義變量 unsignedintj; PORTC=0xff; //置位高電平做準(zhǔn)備 CLR_AB; //將列數(shù)據(jù)位清0,準(zhǔn)備移位 for(i=0;i<16;i++){ //循環(huán)輸出16行數(shù)據(jù) CLR_SCK; //為列移位做準(zhǔn)備 CLR_SCLT; //為行鎖存做準(zhǔn)備 for(ia=8;ia>0;){ //每行48個(gè)點(diǎn),循環(huán)位移6個(gè)字節(jié) ia--; //循環(huán)四次 tmp=~lhj[i*8+ia]; //讀取點(diǎn)陣數(shù)據(jù)做輸出,這里用到ia目的是先讀取點(diǎn)陣數(shù)據(jù)的第8個(gè)字節(jié),因一行64個(gè)點(diǎn)由8個(gè)字節(jié)組成, //電路中的移位寄存器最后一位對應(yīng)最后一列,所以要先輸出一行中的第四個(gè)字節(jié)數(shù)據(jù) for(j=0;j<8;j++){ //循環(huán)兩次,每次移一個(gè)字節(jié), CLR_SCLH; //為列移位做準(zhǔn)備 if(tmp&0x01){SET_DATA;} elseCLR_DATA; //將數(shù)據(jù)低位做輸出,由電路圖可知,移位寄存器的最后一位對應(yīng)最后一列,因此先移最后一位 tmp>>=1; //將數(shù)據(jù)緩沖右移一位,為下次輸出做準(zhǔn)備 SET_SCLH; //將DATA上的數(shù)據(jù)移入寄存器 } //移入單字節(jié)結(jié)束 } //移入兩個(gè)字節(jié)結(jié)束 SET_SCK; //SCK拉高,列數(shù)據(jù)移位,相應(yīng)行拉低,三極管導(dǎo)通輸出電量到相應(yīng)行點(diǎn)陣管陽極(共陽) SET_SCLT; //SCLT拉高,將數(shù)據(jù)鎖存輸出到相應(yīng)行的點(diǎn)陣發(fā)光管顯示,顯示一行后將保持到下一行顯示開始 SET_AB; //列數(shù)據(jù)位只在第一行時(shí)為0,其它時(shí)候都為1,當(dāng)將這個(gè)0移入寄存器后,從第一位開始一直移位最后一位, //移位的過程,AB就必需是1,這是因?yàn)椴荒芡瑫r(shí)有兩個(gè)及兩個(gè)以上0的出現(xiàn),否則顯示出亂 } j=500; while(j--); //每一行的顯示,保持16個(gè)移位時(shí)間,因此,最后一行的顯示,也要加入保持時(shí)間,補(bǔ)償顯示的亮度 CLR_SCK; // SET_SCK; //將最后一行數(shù)據(jù)移出}voiddisplayS(unsignedinttimer) //指定時(shí)間掃描顯示{ unsignedchari; while(timer--){ //當(dāng)timer=1時(shí),大約1秒時(shí)間 i=600; while(i--) display(); }}第5章論文實(shí)驗(yàn)與結(jié)論5.1設(shè)計(jì)結(jié)果總結(jié)這次廣告屏的設(shè)計(jì)讓我學(xué)到了不少知識,第一次接觸并且了解了單片機(jī)msp430,對其內(nèi)部結(jié)構(gòu)和最小模塊系統(tǒng)有了一個(gè)深入的了解。為了完成畢業(yè)設(shè)計(jì)我也在平時(shí)工作緊張的情況下,盡己所能努力完成畢業(yè)設(shè)計(jì)。在該設(shè)計(jì)中共用到了兩個(gè)單片機(jī)msp430模塊,一個(gè)用來發(fā)送數(shù)據(jù),一個(gè)用來接收數(shù)據(jù),實(shí)物圖如下:圖5.1發(fā)送模塊實(shí)物圖圖5.2接收模塊實(shí)物圖圖5.3總電路實(shí)物圖如上圖所示,左邊為發(fā)送模塊,右邊為接收模塊,其中發(fā)送與接受之間用到了兩塊無線模塊NRF24L01,右邊接收到數(shù)據(jù)后將會(huì)將其結(jié)果顯示在LED點(diǎn)陣屏上,這樣在廣告屏上將會(huì)顯示信息。硬件電路連好以后,將msp430的發(fā)送程序燒到左邊的單片機(jī),msp430的接受程序燒到右邊的單片機(jī),最終的顯示結(jié)果如下圖:圖5.4最終顯示結(jié)果5.2課題展望本文通過設(shè)計(jì)單片機(jī)控制單色LED顯示屏的方法,對LED顯示模塊單元如何進(jìn)行行列信號控制及信號傳輸中的驅(qū)動(dòng)問題進(jìn)行了研究。介紹了硬件的原理以及連接的方法,軟件的設(shè)計(jì)流程以及部分代碼,并給出了完整的電路圖,經(jīng)調(diào)試后可以正常顯示溫度、光照、時(shí)間信息,并且可動(dòng)態(tài)顯示。軟件部分的設(shè)計(jì)跟硬件完美配合實(shí)現(xiàn)各個(gè)信息的顯示。通過LED點(diǎn)陣顯示原理,我們知道只要合理的安排行選信號以及列信號同時(shí)導(dǎo)通的組合順序就可以顯示任何的圖形、文字。軟件的設(shè)計(jì)就是完成將漢字點(diǎn)陣數(shù)據(jù)通過一些特殊的算法調(diào)整,得到跟LED點(diǎn)陣相對應(yīng)的數(shù)據(jù),并將這些數(shù)據(jù)以及控制信號傳送到LED點(diǎn)陣屏,來實(shí)現(xiàn)分屏掃描顯示以及左移掃描顯示的效果。致謝經(jīng)過本次的畢業(yè)設(shè)計(jì)實(shí)踐,讓我加深了對專業(yè)知識的認(rèn)識與了解,同時(shí)這對我個(gè)人而言,它既是一次展現(xiàn)我動(dòng)手能力的機(jī)會(huì),也是一次對我專業(yè)知識全方面的考查。在整個(gè)設(shè)計(jì)過程中,我時(shí)刻嚴(yán)格要求自己,并且不斷地反思自己的不足之處,爭取做到更好。我要感謝學(xué)校里為我們提供了這樣一個(gè)展現(xiàn)自己成果的平臺,在這樣一個(gè)平臺上,我們不僅可以擴(kuò)充自己的專業(yè)知識,而且也提高了自己的動(dòng)手能力。在這里,還要特別感謝我的指導(dǎo)老師。在這段時(shí)間里,他不辭辛苦
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度2025版二手房買賣合同空白含租賃權(quán)處理?xiàng)l款3篇
- 二零二五年度油茶林規(guī)模化種植管理服務(wù)合同3篇
- 二零二五年度智能薦設(shè)備采購與服務(wù)一體化合同2篇
- 2025年商場廣告位租賃合同標(biāo)準(zhǔn)范本3篇
- 二零二五年度影視內(nèi)容版權(quán)采購合同2篇
- 二零二五年度水電工程智能化控制系統(tǒng)設(shè)計(jì)與實(shí)施合同2篇
- 2025版高鐵物流運(yùn)輸與物流金融產(chǎn)品開發(fā)合同3篇
- 2025年度科技創(chuàng)新項(xiàng)目委托擔(dān)保合同2篇
- 二零二五年度建筑工程施工保修合同協(xié)議書3篇
- 二零二五年農(nóng)業(yè)合作協(xié)議主體變更及種植養(yǎng)殖協(xié)議3篇
- 獸藥生產(chǎn)質(zhì)量管理規(guī)范教材教學(xué)課件
- 變、配電室門禁管理制度
- T-SDEPI 043-2024 土壤有機(jī)污染物來源解析主成分分析法技術(shù)指南
- 小學(xué)體育期末檢測方案
- 手術(shù)室交接班制度
- 學(xué)校廚房設(shè)備售后服務(wù)方案
- 2024年四川內(nèi)江資中縣人民法院聘用制書記員招聘筆試參考題庫附帶答案詳解
- 3D打印技術(shù)在軍事領(lǐng)域的應(yīng)用
- 流程圖素材匯總大全
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試語文試題(解析版)
- 智能制造職業(yè)規(guī)劃
評論
0/150
提交評論