【word優(yōu)秀論文】基于單片機(jī)的無線點陣顯示屏設(shè)計_第1頁
【word優(yōu)秀論文】基于單片機(jī)的無線點陣顯示屏設(shè)計_第2頁
【word優(yōu)秀論文】基于單片機(jī)的無線點陣顯示屏設(shè)計_第3頁
【word優(yōu)秀論文】基于單片機(jī)的無線點陣顯示屏設(shè)計_第4頁
【word優(yōu)秀論文】基于單片機(jī)的無線點陣顯示屏設(shè)計_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)論文論文題目基于單片機(jī)的無線點陣顯示屏設(shè)計系別電子信息工程系專業(yè)電子信息工程班級學(xué)號學(xué)生姓名指導(dǎo)教師(簽名)完成時間年月摘要LED顯示屏是八十年代后期在全球迅速發(fā)展起來的新型信息顯示媒體。LED點陣屏是由許多發(fā)光二極管按規(guī)律排列所組成的點陣顯示屏幕,它可用來顯示字符、圖案等信息,具有可靠性高、使用壽命長、環(huán)境適應(yīng)能力強(qiáng)、性能價格比高等特點,因此在信息顯示領(lǐng)域得到了廣泛的應(yīng)用。本設(shè)計的顯示終端是用16塊88的單紅色點陣組成16行64列的點陣,全屏能顯示4個漢字,整機(jī)以40腳單片機(jī)STC89C4RD為核心,制作出可更新內(nèi)容的顯示屏,通過8塊74HC595級聯(lián)電路來控制點陣的64列的顯示,1塊74HC154和16個PNP三極管(2N3906)來控制選通點陣屏的16行。本設(shè)計是一種基于無線傳輸?shù)腖ED點陣屏顯示設(shè)計。系統(tǒng)上位機(jī)與下位機(jī)之間的通信采用RS232串口,再采用無線短距離通信方式,傳輸數(shù)據(jù),使得LED顯示終端既便于更換位置與安裝,又降低了運行費用,該設(shè)計可實現(xiàn)中英文字符的顯示,靜態(tài)和多種動態(tài)顯示。文中詳細(xì)介紹了LED點陣顯示的硬件設(shè)計思路、硬件電路各個部分的功能及原理、相應(yīng)軟件的程序設(shè)計,以及使用說明等。關(guān)鍵詞LED顯示屏;串行通信;無線傳輸;單片機(jī);上位機(jī)THEDESIGNOFWIRELESSLEDDISPLAYSCREENBASEDONMICROPROCESSORABSTRACTLEDDISPLAYSCREENISANEWINFORMATIONDISPLAYMEDIATHATRAPIDDEVELOPMENTOFTHEGLOBALINTHELATE80,LEDLATTICESCREENISCOMPOSEDOFMANYLIGHTEMITTINGDIODESAREARRANGEDACCORDINGTOTHERULEOFTHECOMPOSITIONOFTHEDOTMATRIXDISPLAYSCREEN,WHICHCANBEUSEDTODISPLAYINFORMATIONSUCHASCHARACTERS,PATTERNS,ANDHASTHEADVANTAGESOFHIGHRELIABILITY,LONGSERVICELIFE,ENVIRONMENTALADAPTATIONABILITY,HIGHERRATIOOFPERFORMANCETOPRICE,SOINTHEINFORMATIONDISPLAYHASBEENWIDELYAPPLIEDINTHEFIELDTHEDESIGNOFTHEDISPLAYTERMINALISTOUSE16PIECESOF8X8SINGLEREDDOTMATRIXCOLORCONSISTSOF16ROWSAND64COLUMNSOFTHEMATRIX,THEFULLSCREENCANDISPLAY4CHINESECHARACTERS,THE40FOOTSTC89C4RDMCUASTHECORE,MADETOUPDATETHECONTENTOFTHEDISPLAY,64COLUMNSTOCONTROLMATRIXBY8BLOCK74HC595CASCADECIRCUIT,ONE74HC154ANDSIXTEENPNPTRIODE2N3906TOCONTROLTHE16LINESSELECTIONMATRIXSCREENTHEDESIGNISALEDLATTICESCREENDISPLAYSYSTEMBASEDONWIRELESSTRANSMISSIONCOMMUNICATIONBETWEENHOSTCOMPUTERANDLOWERCOMPUTERBYRS232SERIALPORT,DATATRANSMISSIONBYWIRELESSSHORTDISTANCECOMMUNICATION,LEDDISPLAYTERMINAL,WHICHISCONVENIENTFORINSTALLATIONANDREPLACEMENT,BUTALSOREDUCETHEOPERATINGCOSTS,DISPLAYMODECANBEDISPLAYCHINEASEANDENGLISHCHARACTER,STATICANDDYNAMICDISPLAYTHISPAPERINTRODUCESINDETAILTHELEDDOTMATRIXDISPLAYHARDWAREDESIGN,HARDWARECIRCUITOFEACHPARTOFTHEFUNCTIONANDPRINCIPLE,THECORRESPONDINGSOFTWAREPROGRAMDESIGN,ASWELLASTHEUSEANDSOKEYWORDSLEDDISPLAYSERIALCOMMUNICATIONWIRELESSTRANSMISSIONCHIPMICROCOMPUTERUPPERMONITOR目錄第一章前言111項目背景112國內(nèi)外發(fā)展?fàn)顩r及發(fā)展趨勢113論文主要內(nèi)容2第二章系統(tǒng)總體設(shè)計321功能設(shè)計322總體方案323系統(tǒng)硬件總體設(shè)計方案524系統(tǒng)軟件總體設(shè)計方案6第三章系統(tǒng)硬件電路設(shè)計831下位機(jī)無線發(fā)射電路設(shè)計832LED點陣控制電路設(shè)計12第四章系統(tǒng)軟件設(shè)計1941軟件開發(fā)平臺及開發(fā)語言介紹1942上位機(jī)管理系統(tǒng)軟件設(shè)計2043下位機(jī)編程22第五章系統(tǒng)調(diào)試2551系統(tǒng)硬件調(diào)試2552系統(tǒng)軟件調(diào)試2552系統(tǒng)調(diào)試結(jié)果與分析28第六章總結(jié)與展望30參考文獻(xiàn)31附錄32致謝79第一章前言在快速發(fā)展的社會,作為新型的一種的顯示電子顯示屏已經(jīng)由最早時的燈泡構(gòu)造變?yōu)楝F(xiàn)在的由顯像管構(gòu)成。LED顯示屏是八十年代后期發(fā)展起來的,以其優(yōu)勢突出應(yīng)用于各行各業(yè),比如高亮度、動態(tài)顯示效果好、能耗、故障很低而且壽命長、豐富的顯示方式、高性價。LED顯示屏制作技術(shù)已經(jīng)相當(dāng)成熟,售價也不高,因此隨處可見,它作為信息顯示媒體,應(yīng)用領(lǐng)域廣泛,如商場、機(jī)場、車站和室外廣告都有LED顯示屏。本課題是根據(jù)信息顯示需求,考慮安裝和更換位置的基礎(chǔ)上,提出了一種利用無線傳輸數(shù)據(jù)的LED顯示屏的設(shè)計。11項目背景系統(tǒng)設(shè)計的是一個無線LED顯示屏,也就是說采用無線通信的方式,更新顯示顯示內(nèi)容,這樣做就可以達(dá)到便于安裝和更換位置的目的,同時也是為了節(jié)省費用。這樣對LED顯示屏的發(fā)展也有促進(jìn)作用的,更利于它的發(fā)展,控制技術(shù)有所創(chuàng)新。不管無線LED顯示屏應(yīng)用在哪里,都能夠達(dá)到塑造良好形象的目的,有很好的社會效益。本系統(tǒng)的設(shè)計很利于自己專業(yè)知識的提升,同時對LED顯示屏的發(fā)展也有積極的意義。12國內(nèi)外發(fā)展?fàn)顩r及發(fā)展趨勢八十年代后期LED點陣顯示屏的應(yīng)用極少,顯示屏控制技術(shù)也沒有的到提高。初期的LED點陣顯示屏一般是紅、綠雙基色,成本較高,已廣泛的在國外應(yīng)用、但在國內(nèi)很少。九十年代,全球信息產(chǎn)業(yè)發(fā)展迅速,信息技術(shù)不斷突破,我國的LED顯示屏也突飛猛進(jìn),技術(shù)也達(dá)到了國際先進(jìn)水平?,F(xiàn)在開發(fā)的LED大屏幕達(dá)到成熟期,LED器件成本大大下降,LED點陣顯示屏更得到了廣泛應(yīng)用。我國LED點陣顯示屏,發(fā)展迅速,幾年下來,取得了很好地成績,不少是具有相當(dāng)規(guī)模的企業(yè),位居骨干企業(yè)之中。我國LED點陣顯示屏水平處于領(lǐng)先地位,例如,目前世界最大LED點陣顯示屏是一個9500平米巨型LED顯示屏,面積達(dá)400平方,在上海世博會2010年開幕式上,這個屏幕使用P18表面貼裝技術(shù)制造,壓鑄鋁盒結(jié)構(gòu)。LED點陣顯示屏產(chǎn)業(yè)日益發(fā)展壯大,如今成為我國電子信息技術(shù)產(chǎn)業(yè)的相當(dāng)重要組成部分。據(jù)美國斯坦福資源國際市場開發(fā)的LED顯示屏產(chǎn)品,在LED顯示產(chǎn)品的當(dāng)前和未來市場都將采用以全高清為主。目前,LED顯示屏技術(shù)已經(jīng)基本把遇到的難關(guān)解決了,發(fā)光顯示裝置亮度很高,質(zhì)量好,價格降低了許多,從而推動需求的LED顯示屏的發(fā)展,很有市場發(fā)展?jié)撃?。LED顯示屏在未來將會更完美,應(yīng)用必定更廣泛。LED控制器設(shè)計個屏幕設(shè)計開始逐漸分離,我國LED產(chǎn)業(yè)發(fā)展迅速,從幾家年產(chǎn)值不高的企業(yè)發(fā)展到了幾十家年產(chǎn)值幾億元的骨干企業(yè),對整個行業(yè)來講具有很強(qiáng)的開發(fā)能力,在LED顯示屏系統(tǒng)中,中國與國際上擁有相同的技術(shù)水平。我國的在顯示屏的制造上,在幾十年間發(fā)展的非常迅速,但在顯示器件的封裝和設(shè)計上還是跟不上發(fā)達(dá)國家的技術(shù)水平,還有更加努力去研制。現(xiàn)代社會是一個信息社會,顯示技術(shù)必將發(fā)展迅速,二十一世紀(jì)必將發(fā)展成直流式平板顯示。如此說來,LED點陣顯示屏發(fā)展方向很有可能是平板顯示的直流產(chǎn)品,那么其發(fā)展趨勢就是標(biāo)準(zhǔn)化和規(guī)范化。13論文主要內(nèi)容根據(jù)設(shè)計要求,擬定論文的內(nèi)容和結(jié)構(gòu)安排如下(1)題目的選定根據(jù)選題要求,并結(jié)合自身興趣和所掌握的知識,決定做有關(guān)點陣顯示屏的題目,有你定了幾套方案,經(jīng)過分析和比較,最終決定以PC為上位機(jī),以單片機(jī)做主控制器,以及點陣屏的驅(qū)動電路,并選用單紅色LED點陣,制作出一個可以更新信息的LED點陣顯示屏。(2)方案實現(xiàn)根據(jù)設(shè)計思想與要求,應(yīng)選擇合適的器件來實現(xiàn)。根據(jù)功能要求,選定了以40腳單片機(jī)STC89C4RD為核心,74HC595組成級聯(lián)電路來做64列列驅(qū)動,控制點陣行驅(qū)動的74HC154和16個PNP型三極管(2N3906)來做點陣屏的行驅(qū)動。論文中詳細(xì)介紹了這些器件參數(shù)和在設(shè)計中的應(yīng)用。(3)軟件編程根據(jù)硬件的特點和要求,選用C語言編寫下位機(jī)管理模塊程序,而上位機(jī)管理模塊則選用VB語言來編寫,用模塊化的方法編寫程序。(4)系統(tǒng)調(diào)試硬件的制作和軟件編程設(shè)計都完成之后,還有要對系統(tǒng)進(jìn)行調(diào)試,先進(jìn)行硬件調(diào)試,然后進(jìn)行軟件調(diào)試,完善設(shè)計中的不足,實現(xiàn)設(shè)計的功能,最終完成設(shè)計。(5)結(jié)論在完成設(shè)計后仔細(xì)分析設(shè)計過程中遇到的問題,總結(jié)如何解決問題,以及積累經(jīng)驗和教訓(xùn)。第二章系統(tǒng)總體設(shè)計21功能設(shè)計本方案設(shè)計一個LED顯示屏,具體要求滿足以下條件(1)需選用51系列單片機(jī)作為微控制器MCU;(2)可以用上位機(jī)提取要顯示內(nèi)容的字模數(shù)據(jù),上位機(jī)可以通過串口發(fā)送數(shù)據(jù)給單片機(jī);(3)單片機(jī)控制無線模塊發(fā)送數(shù)據(jù)給LED顯示屏,顯示屏以大小為16行64列進(jìn)行字符顯示;(4)在肉眼觀察下LED點陣顯示屏每點都顯示清晰、均勻、穩(wěn)定。22總體方案要知道,LED作為信息顯示媒體,是要給更多的人提供信息的,所以應(yīng)用來流動人口比較多的戶外的,戶外環(huán)境很容易損壞電子器件的,所以硬件要求很高。硬件的設(shè)計一般采用模塊化設(shè)計,根據(jù)本設(shè)計功能的要求,本設(shè)計包括了上位機(jī)上的數(shù)據(jù)提取軟件設(shè)計,上位機(jī)與單片機(jī)的串口傳輸數(shù)據(jù)的設(shè)計,無線發(fā)送接收數(shù)據(jù)的設(shè)計,16塊88的的單紅色點陣組成的166紅點陣驅(qū)動電路設(shè)計。設(shè)計總體框圖如圖21所示上位機(jī)無線發(fā)送模塊無線接收模塊點陣控制電路1664點陣顯示屏串口圖21設(shè)計總體框圖221主控器的選擇單片機(jī)是一種集成器件,其本質(zhì)是一種微型計算機(jī),它由英特爾開發(fā),最初第一代是MCS85,現(xiàn)在是MCS51。單片機(jī)作為一種微機(jī),當(dāng)然就要進(jìn)行數(shù)學(xué)運算或邏輯運算,面向控制而設(shè)計的集成電路,可以用它來完成很多不同的控制任務(wù)。當(dāng)前應(yīng)用的MCS51單片機(jī)最基本的配置集成了CPU、ROM、RAM、32個I/O端口、全雙工串行口、計數(shù)器/定時器,并有控制功能較強(qiáng)的布爾處理器。單片機(jī)品種眾多,型號更是多樣化,CPU處理的位數(shù)選擇當(dāng)然也是很豐富的,有8,16,32到64位幾種選擇,根據(jù)需要來選擇。單片機(jī)片有豐富的I/O端口,部分單片機(jī)還集成有A/D轉(zhuǎn)換、“看門狗”等。它們的價格也不同,因此就很好地滿足了開發(fā)者的方便選擇。系統(tǒng)下位機(jī)的核心控制器是單片機(jī),所以單片機(jī)的選擇尤為重要,選對了單片機(jī),就基本上保證了系統(tǒng)工作的靈活性和穩(wěn)定性,其實對于單片機(jī)的選擇就是對其本身的性能和片內(nèi)資源的選擇。本設(shè)計的單片機(jī)要接收上位機(jī)發(fā)送的數(shù)據(jù)并進(jìn)行存儲,在既沒有沒有外擴(kuò)程序存儲器也沒有外擴(kuò)數(shù)據(jù)存儲器的情況下,本系統(tǒng)選擇了STC89C54RD加強(qiáng)型51單片機(jī),它有大容量的數(shù)據(jù)存儲區(qū)。STC89C54RD單片機(jī)最高時鐘頻率是80M,極大限度地提高了控制器的運行速度,集成了大容量的16KB程序存儲器及1280B的數(shù)據(jù)存儲器,并有在系統(tǒng)可編程功能以及在應(yīng)用可編程功能,可以遠(yuǎn)程軟件升級,不需要編程器,這樣就降低了開發(fā)復(fù)雜度。222數(shù)據(jù)傳輸方案論證(1)并行傳輸顧名思義,并行傳輸方式就是多個數(shù)據(jù)并排地進(jìn)行傳輸,每個數(shù)據(jù)單獨使用一條線路,同時進(jìn)行數(shù)據(jù)的傳輸,例如,8位的數(shù)據(jù)就要用8根并排的線路同時傳輸。并行傳輸方式傳輸速度很快,但是數(shù)據(jù)位多信道也要多,投資就相當(dāng)大了。(2)串行傳輸在MCS51和AT89中使用的是全雙工異步串行通信,分為異步傳輸、同步傳輸方式,串行傳輸是通過一條線路實現(xiàn)從一方到達(dá)另一方的數(shù)據(jù)傳送,同步傳輸時,數(shù)據(jù)是以數(shù)據(jù)塊的形式進(jìn)行傳輸?shù)摹鬏敺绞降乃俣嚷恍枰粭l線路通道傳輸,所以成本低、投資少、易實現(xiàn)。如果選用并行傳輸方式,控制電路驅(qū)動的線數(shù)、相應(yīng)的硬件數(shù)多。當(dāng)控制列數(shù)較多時,并行傳輸?shù)姆桨妇筒灰撞扇×恕_x用串行傳輸方式則數(shù)據(jù)傳輸采用的主要傳輸方式是控制電路可以只用一條通道線路,將列顯示的數(shù)據(jù)一位一位傳送到列驅(qū)動器。相比較下選用串行通信較合理。223顯示方案論證LED顯示屏通常有兩種顯示驅(qū)動方式(1)靜態(tài)顯示方式靜態(tài)驅(qū)動方式就是對LED器件的控制實行“1對1”的方式,就是把多個LED顯示段的每一點與單片機(jī)的一個I/O口相連接,根據(jù)數(shù)碼管型的公共端連接到VCC或GND端,這樣的顯示形式必須占用單片機(jī)一個獨立的I/O端口,單片機(jī)只需把要顯示的字形代碼發(fā)送到接口電路,要可以顯示字符了,因此,如果采用這種方式,當(dāng)顯示位數(shù)比較多時就會占用很多單片機(jī)的I/O口,I/O接口電路也更復(fù)雜,但它可以實現(xiàn)編程簡單,穩(wěn)定顯示,CPU效率更高等優(yōu)點,這種方式只適用LED器件較少的顯示電路。(2)動態(tài)顯示方式LED動態(tài)顯示方式其實利用人視覺暫留特性,一個LED動態(tài)點亮,其實它并沒有一直被點亮,只是按一定的頻率掃描,而我們看到他一直是亮的,看不出來燈有過熄滅,看著就像是一直連續(xù)著都亮。只要LED掃描頻率大于25HZ,就可以在我們眼睛里殘留影像,這樣我們的眼睛就能看到一幅完整的圖像了。采用動態(tài)顯,既節(jié)省了控制線數(shù),也節(jié)能,適用于大屏幕LED。本設(shè)計采用動態(tài)掃描的方式,在電路設(shè)計時,考慮用重疊處理的每一列中顯示的使用,同時顯示一行數(shù)據(jù),傳輸顯示數(shù)據(jù)的下一行的列,它可以節(jié)省掃描時間。在設(shè)計電路的時候16行使用一個行驅(qū)動器,64行就用8個列驅(qū)動器。顯示終端部分模塊的結(jié)構(gòu)框圖如圖22所示列圖22顯示模塊的結(jié)構(gòu)框圖23系統(tǒng)硬件總體設(shè)計方案該系統(tǒng)需依據(jù)硬件的功能制定一個切實可行的方案,選擇適合的器件,器件不僅能夠?qū)崿F(xiàn)所要求的功能也要可以兼容系統(tǒng),且方案必須要符合LED顯示原理及驅(qū)動方式才可以進(jìn)行,系統(tǒng)設(shè)計包括軟件和硬件兩個方面,其中硬件主要分為兩個部分下位機(jī)無線發(fā)射部分,用于完成上位機(jī)數(shù)據(jù)接收及發(fā)射。無線接收和點陣控制,用于完成數(shù)據(jù)接收和控制LED點陣屏。單片機(jī)微控制器行驅(qū)動8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣8X8點陣列驅(qū)動列驅(qū)動列驅(qū)動列驅(qū)動列驅(qū)動列驅(qū)動列驅(qū)動列驅(qū)動PC上位機(jī)上位機(jī)串口STC89C54RD單片機(jī)電源復(fù)位電路33V穩(wěn)壓NRF24L01發(fā)射模塊圖23下位機(jī)無線發(fā)射結(jié)構(gòu)圖下位機(jī)無線發(fā)射結(jié)構(gòu)如圖23所示,系統(tǒng)中PC上位機(jī)機(jī)可以設(shè)置命令和提取顯示數(shù)據(jù),在由它發(fā)送命令指令和顯示數(shù)據(jù),通過RS232發(fā)送給單片機(jī),單片機(jī)機(jī)接收后再通過無線模塊發(fā)送出去。無線接收和點陣控制結(jié)構(gòu)如圖24所示,主要包括LED驅(qū)動電路和無線接收電路。由于單片機(jī)端口驅(qū)動能力有限,不能夠直接驅(qū)動LED屏,否則LED屏幕亮度不夠或者不亮,所以要加驅(qū)動電路,驅(qū)動電路又可以分為行驅(qū)動和列驅(qū)動電路,分別驅(qū)動LED點陣顯示屏的16行和64列。無線接收到數(shù)據(jù)或命令,同時存儲在單片機(jī)中,單片機(jī)收到命令,就對LED進(jìn)行控制顯示信息。STC89C54RD單片機(jī)電源33V穩(wěn)壓列驅(qū)動行驅(qū)動復(fù)位電路1664點陣顯示屏NRF24L01接收模塊圖24無線接收和點陣控制結(jié)構(gòu)圖24系統(tǒng)軟件總體設(shè)計方案根據(jù)系統(tǒng)功能的需求,主控軟件必須具有更改顯示內(nèi)容和發(fā)送命令等功能,系統(tǒng)軟件設(shè)計主要分為上位機(jī)設(shè)計和下位機(jī)控制設(shè)計兩部分,上位機(jī)用VB語言編寫,上位機(jī)管理系統(tǒng)設(shè)計圖如圖25所示上位機(jī)管理系統(tǒng)轉(zhuǎn)換和發(fā)射系統(tǒng)設(shè)置顯示文本處理圖25上位機(jī)管理系統(tǒng)設(shè)計圖下位機(jī)編程語言用C語言編寫,因為采用了無線傳輸數(shù)據(jù),所以下位機(jī)軟件要分成兩部分。一部分為接收上位機(jī)的數(shù)據(jù),然后通過無線發(fā)送出去;另一部為無線接收和控制點陣顯示。下位機(jī)軟件編程結(jié)構(gòu)圖如圖26所示LED點陣顯示程序主程序各種顯示方式子程序串口接收程序無線發(fā)送程序主程序無線接收程序圖26下位機(jī)軟件編程結(jié)構(gòu)圖第三章系統(tǒng)硬件電路設(shè)計根據(jù)上位機(jī)的無線單紅色點陣顯示系統(tǒng)的功能可將整個設(shè)計方案劃分為上位機(jī)操作管理模塊、無線NRF24L01發(fā)送與接收、點陣屏控制和電源模塊四個部分,具體工作流程為上位PC機(jī)通過串口通信向單片機(jī)發(fā)送顯示命令和顯示數(shù)據(jù)內(nèi)容,單片機(jī)接收后執(zhí)行顯示命令處理顯示數(shù)據(jù)將顯示字符的內(nèi)容通過單片機(jī)I/O口串行輸出而且控制譯碼電路實現(xiàn)串并轉(zhuǎn)換并行輸出,最后由顯示驅(qū)動電路進(jìn)行電壓和電流的處理以達(dá)到LED顯示屏的顯示電流、電壓要求,從而使顯示屏顯示內(nèi)容2。四個模塊中的上位機(jī)管理單元是不需要硬件設(shè)計,其余均需要硬件設(shè)計,以下詳細(xì)介紹各單元電路設(shè)計。31下位機(jī)無線發(fā)射電路設(shè)計無線發(fā)射模塊中控制器STC89C54RD通過RS232串口接收上位機(jī)傳來的數(shù)據(jù),然后傳給NRF24L01無線收發(fā)模塊,NRF24L01無線收發(fā)模塊通過天線將數(shù)據(jù)發(fā)送出去。311STC89C54RD芯片介紹單片機(jī)是1971年誕生的,作為微型計算機(jī)一個很重要的分支,以極高的性能價格比,受到人們的重視和關(guān)注,應(yīng)用廣泛,發(fā)展迅速3。單片機(jī)種類繁多,MCS51系列單片機(jī)是一款技術(shù)相對成熟的控制器,比較受歡迎,價格便宜,性能又好,值得信賴。而圍繞51內(nèi)核衍生出來的單片機(jī)品中也很多,有很多增強(qiáng)型的單片機(jī),實用性更強(qiáng)。單片機(jī)是整個系統(tǒng)的核心部件,選擇合適的單片機(jī)才能保證系統(tǒng)的整體性能,單片機(jī)的選擇實際上就是對其內(nèi)部資源和靈活性的選擇。STC89C54RD增強(qiáng)型51單片機(jī)是低功耗,在系統(tǒng)應(yīng)用可編程,不占用戶資源的單片機(jī),兼容標(biāo)準(zhǔn)的8052單片機(jī),例如指令系統(tǒng)、片內(nèi)資源和硬件結(jié)構(gòu)。它的最高時鐘頻率是80MHZ,STC89C54RD單片機(jī)的實物圖如圖31所示。單片機(jī)STC89C54RD的特性4(1)加密性強(qiáng),無法解密;(2)超強(qiáng)抗干擾;(3)在系統(tǒng)可編程,可遠(yuǎn)程升級,無需編程器;(4)可送STCISP下載器,1萬片/人/天;(5)可供應(yīng)內(nèi)部集成MAX810專用復(fù)位電路的單片機(jī),惟有D版本才有內(nèi)部集成專用復(fù)位電路,原復(fù)位電路可以不用,也可以保留,不用復(fù)位電路時就將RESET引腳直接短接到GND。圖31STC89C54RD單片機(jī)的實物圖STC89C54RD單片機(jī)的封裝圖如圖32所示圖32STC89C54RD單片機(jī)的封裝圖4312NRF24L01無線收發(fā)模塊NRF24L01是挪威NORDICVLSI公司出品的一款新型射頻收發(fā)器件,采用4MMX4MMQFN20封裝;NRF24L01工作在ISM頻段2425GHZ。且內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能,并融合增強(qiáng)型SCHOCKBURST技術(shù),其中地址、輸出功率和通信頻道可通過程序進(jìn)行配置,適合用于多機(jī)通信。NRF2401功耗很低,在以6DBM的功率發(fā)射時,工作電流只有9MA而對應(yīng)接收機(jī)的工作電流只有123MA,多種低功率工作模式(掉電模式和待機(jī)模式)使節(jié)能設(shè)計更方便。NRF2401實物圖如圖33所示圖33NRF24L01實物圖工作模式NRF24L01可以設(shè)置為下列幾種主要的模式表31NRF24L01主要工作模式5模式PWR_UPPRIM_RXCEFIFO寄存器狀態(tài)接收模式111發(fā)送模式101數(shù)據(jù)在TX發(fā)送模式1010停留在發(fā)送模式直至數(shù)據(jù)發(fā)送完待機(jī)模式II101TX待機(jī)模式I10無數(shù)據(jù)傳輸?shù)綦娔J?313AMS111733芯片介紹AMS1117是一個正向低壓降穩(wěn)壓器,在1A電流下壓降為12V,AMS1117有兩個版本固定輸出版本和可調(diào)版本,固定輸出電壓為15V、18V、25V、285V、30V、33V、50V,具有1的精度;固定輸出電壓為12V的精度為。AMS1117內(nèi)部集成過熱保護(hù)和限流電路,是電池供電和便攜式計算機(jī)的最佳選擇。其引腳圖如圖34所示。圖34AMS1117管腳圖314NRF24L01無線收發(fā)模塊原理圖NRF24L01的應(yīng)用電路原理圖如圖35所示。NRF24L01的應(yīng)用電路并不復(fù)雜,它采用了增強(qiáng)型SCHOCKBURSTTM模式控制器,其中通過程序進(jìn)行可能夠?qū)νㄐ蓬l道和輸出功率進(jìn)行配置。低壓供電,需要輸入33V,電源供電時5V的,所以設(shè)計中通過AMS1117正向低壓穩(wěn)壓器輸出電壓為33V,供無線模塊NRF24L01使用。NRF24L01與單片機(jī)是利用SPI接口通信的,由于此設(shè)計中選用的單片機(jī)沒有SPI接口,所以用I/O口模擬。P10/T2EX345678RS9XDINWALVCUBGKMOQUFAPFJ圖35NRF24L01的應(yīng)用電路原理圖315RS232串口通信串口的概念并不復(fù)雜,它是按位BIT發(fā)送和接收字節(jié)的,是一種極其通用的計算機(jī)通信協(xié)議。串行通信方式分為兩種同步傳輸、異步傳輸,但當(dāng)前一般采用異步傳輸模式通信,異步傳輸用9支引腳DB9接口。RS232通信接口9支引腳的相關(guān)說明61CD載波檢測2RXD接收數(shù)據(jù);3TXD發(fā)送數(shù)據(jù);4DTR數(shù)據(jù)終端準(zhǔn)備好;5GND信號地;6DSR數(shù)據(jù)設(shè)備準(zhǔn)備好;7RTS請求發(fā)送;8CTS允許發(fā)送;9RI振鈴指示。串口的電氣特性(1)RS232串口通信距離是16米左右(2)RS232可以雙向傳輸,全雙工通訊,最高傳輸速率達(dá)20KBPS(3)RS232C上傳送的數(shù)字量采用負(fù)邏輯,且與地對稱(4)邏輯13V15V(5)邏輯03V15V單片機(jī)的串行發(fā)送端TXD和串行接收端RXD都是TTL電平,而PC機(jī)的COM口的RS232C連接器DB型9針插座是EIA電平,所以需要用到電平轉(zhuǎn)換芯片與單片機(jī)連接,通過串行線和PC相連接7。RS232電平的電壓轉(zhuǎn)換芯片選用MAX232,MAX232芯片是美信(MAXIM)公司專為RS232標(biāo)準(zhǔn)串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用5V單電源供電。其管腳圖如圖36所示。圖36MAX232管腳圖7單片機(jī)接110592MHZ的晶振,這樣單片機(jī)與串口通信時比較容易分頻成常見的標(biāo)準(zhǔn)串口通信波特率,按公式110592MHZ19257600384288005761920011529600,如果用12MHZ就無法整除了。單片機(jī)I/O口中的P3口是第二功能引腳,P30口和P31口分別是TXD和RXD,分別是單片機(jī)的串口的發(fā)送口與接收口,它們分別與MAX232的T2IN和R2OUT相連,通過標(biāo)準(zhǔn)的DC9接口與MAX232的連接,電路連接如圖37所示。P10/T2EX345678RS9XDINWALVCUBGMPFAUFOJONECTR圖37DC9串口通信原理圖32LED點陣控制電路設(shè)計以上章節(jié)介紹了NRF24L01無線收發(fā)模塊的發(fā)射模式應(yīng)用電路,由于其硬件連接電路和接收模式都是一樣的,本節(jié)就不再對無線接收硬件電路作介紹了。NRF24L01完成數(shù)據(jù)的接收后,經(jīng)控制器STC89C54RD處理后,最后要在LED點陣顯示屏上顯示出來。LED點陣顯示控制器依然是STC89C54RD,并且晶振頻率采用24MHZ或更高,以得的更高的刷新頻率。以下介紹LED點陣顯示原理、LED點陣顯示屏的行驅(qū)動電路和列驅(qū)動電路。LED點陣驅(qū)動電路地設(shè)計是要根據(jù)LED點陣屏的大小來的,本系統(tǒng)設(shè)計要設(shè)計一個1664規(guī)格的雙色LED點陣顯示屏,是用16個88的雙基色點陣模塊拼接而成的。321LED點陣行驅(qū)動電路由于單片機(jī)的I/O口不足,本系統(tǒng)的行驅(qū)動器選用的是一個譯碼器4線16路芯片74HC154,輸入點有4根數(shù)據(jù)線,有16路輸出,可用來對于控制LED點陣屏的116行,為了保證點陣屏有足夠的電流供給,還用到了16個三極管8550進(jìn)行擴(kuò)流,與74HC154共同構(gòu)成的行驅(qū)動電路,輸出口接單片機(jī)的P1口。以下介紹譯碼器74HC154和三極管8550。74HC154是一種高速CMOS器件,4位二進(jìn)制作為譯碼器74HC154的地址輸入,低有效輸出是16個互斥的。輸入使能門電路18、19號引腳作為74HC154譯碼器的選通,以消除輸出端上的通常譯碼“假信號”,也可用于譯碼器擴(kuò)展。該使能門電路包含兩個“邏輯與”輸入,必須置為低以便使能輸出端。任選一個使能輸入端作為數(shù)據(jù)輸入,74HC154可充當(dāng)一個116的多路分配器。當(dāng)其余的使能輸入端置低時,地址輸出將會跟隨應(yīng)用的狀態(tài)。實現(xiàn)解調(diào)功能的辦法是用4個輸入線寫出輸出線的地址,使得在一個選通輸入為低時數(shù)據(jù)通過另一個選通輸入。當(dāng)任何一個選通輸入是高時,所有輸出都為高8。74HC154芯片引腳圖如圖38所示。圖3874HC154引腳圖874HC154具有以下特性8(1)16線多路分配功能(2)4位二進(jìn)制碼輸入譯碼至16個互斥輸出(3)兼容JEDEC標(biāo)準(zhǔn)NO7A(4)ESD保護(hù)(5)邏輯電平CMOS(6)功耗考量低功耗或電池供電應(yīng)用(7)74HC154封裝與引腳SO24,SSOP24,DIP24,TSSOP274HC1544線16線譯碼器/解調(diào)器7(1)將4個二進(jìn)制編碼輸入譯成16個彼獨立的輸出之一(2)將數(shù)據(jù)從一條輸入線分劃到16個輸出的任意一個而完成解調(diào)功能(3)輸入箝位二極管簡化了系統(tǒng)設(shè)計(4)與大部分DTL和TTL電路兼容三極管2N3906是一種常用的普通PNP型小功率三極管。2N3906特性及應(yīng)用(1)集電極基極電壓VCBO40V(2)工作溫度55TO150(3)與NPN型2N3903做互補對稱管主要用途(1)開關(guān)應(yīng)用(2)射頻放大2N3906三極管(TO92封裝)管腳圖如圖39所示圖392N3906管腳圖注(1)發(fā)射極(2)基極(3)集電極在行驅(qū)動電路中,Y0Y15是16路獨立的低電平輸出口,剛好接到點陣的16行,因為只要OE1和OE2中有一個為高,A,B,C,D電平輸入都是無效的,只有它們都是低電平時,才能操作芯片,所以把這兩腳同時接到單片機(jī)一個I/O上進(jìn)行控制。Y0Y15輸出經(jīng)過一個限流電阻再接到三極管8550的基極,當(dāng)74HC154的輸出端輸出低電平時,2N3906就可以導(dǎo)通,電流就經(jīng)過2N3906放大再流入點陣。這樣才有足夠的電路供點陣驅(qū)動,否則LED屏幕亮度不夠或者不亮。LED點陣行驅(qū)動電路原理圖如圖310所示。4P0Y56789GNEVHURQ圖310行驅(qū)動電路322LED點陣列驅(qū)動電路本系統(tǒng)采用的列驅(qū)動芯片的74HC595,因為該芯片是串入并出,而且具有輸出鎖存功能。當(dāng)鎖存著本行的數(shù)據(jù)輸出時,還可以輸入下一行的數(shù)據(jù),這樣就可以實現(xiàn)重疊的處理數(shù)據(jù)。要控制的LED點陣的顯示,所以每一個88的LED點陣就要用一片74HC595控制。以下介紹74HC595芯片。74HC595芯片是硅結(jié)構(gòu)的CMOS器件,一種串入并出的芯片,電子顯示屏一般采用它做驅(qū)動芯片。74HC595是具有8位二進(jìn)制串行輸入,輸出并行的移位寄存器和存儲器,三種輸出狀態(tài)高阻、關(guān)、斷??梢酝瓿纱休敵隹刂葡乱患壖壜?lián)芯片。8位移位寄存器和一個存儲器分別是時鐘SCHCP的上升沿時輸入數(shù)據(jù),在STCP的上升沿進(jìn)入到存儲寄存器中去。倘若兩個時鐘連在一起,移位寄存器就比存儲寄存器提前一個脈沖。移位寄存器有一個串行移位輸入(DS),和一個串行輸出,和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)OE使能時即低電平,總線的數(shù)據(jù)由存儲寄存器輸出。74HC595芯片引腳圖如圖311所示,其特點如下9特點(1)高速移位時鐘頻率最大值大于25MHZ(2)標(biāo)準(zhǔn)串行(SPI)接口(3)串行輸出CMOS,可以用于多個器件的級聯(lián)(4)功耗低TA25,ICC4A(最大)74595的數(shù)據(jù)端(1)QAQH595的并行口輸出端,可以方便控制點陣的8個腳。(2)QH級聯(lián)輸出端。我將它接下一個595的SI端。(3)SI串行數(shù)據(jù)輸入端。74595的控制端說明SRCLR10腳主復(fù)位(低電平),接GND時數(shù)據(jù)清零,通常將它接VCC。SRCK11腳移位寄存器時鐘輸入,數(shù)據(jù)移位發(fā)生在上升沿。下降沿移位寄存器數(shù)據(jù)不變。RCK12腳表示上升沿時移位寄存器中的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲寄存器中去,而下降沿時存儲寄存器中的數(shù)據(jù)則不變。當(dāng)移位完成后,在RCK端產(chǎn)生一個正脈沖,更新顯示數(shù)據(jù)。/G13腳低電平時允許輸出。如果單片機(jī)的引腳有空余的,用一個引腳控制它,可以容易地實現(xiàn)閃爍和熄滅效果9。比通過數(shù)據(jù)端移位控制要節(jié)省時間和精力。圖31174HC595引腳圖974HC595引腳功能如表32所示表3274HC595引腳功能表【9】管腳編號管腳名管腳定義功能1、2、3、4、5、6、7、15QAQH三態(tài)輸出管腳8GND電源地9SQH串行數(shù)據(jù)輸出管腳10SCLR移位寄存器清零端11SCK數(shù)據(jù)輸入時鐘線12RCK輸出存儲器鎖存時鐘線13OE輸出使能14SI數(shù)據(jù)線74HC595的移位時鐘SCLK及數(shù)據(jù)鎖存信號RCLK接到單片機(jī)的P16和P17口進(jìn)行控制。而兩個數(shù)據(jù)輸入口SDI分別接兩個單片機(jī)I/O控制。LED點陣列驅(qū)動電路原理圖如圖312所示。QGNDMR0SHCPTOEVCULXZP圖31274HC595驅(qū)動列線路圖323級聯(lián)LED點陣顯示屏74HC595進(jìn)行級聯(lián),可共用同一個SCLK移位時鐘及RCLK數(shù)據(jù)鎖存信號。SDI口為數(shù)據(jù)輸入口,而數(shù)據(jù)移出是從SDO口,并從下一片的74HC595的SDI進(jìn)去,就這樣數(shù)據(jù)移位到了八片芯片中。74HC595級聯(lián)電路如圖313所示。Q1234567GND89MR0SHCPTOEVCULPX圖31374HC595級聯(lián)電路圖采用級聯(lián)的方法,一塊74HC595可以控制一塊88的LED點陣顯示,用8塊74HC595級聯(lián)起來,控制1664點陣顯示。采用行掃描的方法,就可以使得每行顯示不用的字符,也就是說每一瞬間只點亮一行。由于1664LED點陣顯示屏有16行,用一個416線譯碼器74HC154,剛好就可以驅(qū)動點陣的16行,它的輸入是0到15,輸出低電平有效,2N3906為PNP型三極管,低電平導(dǎo)通2N3906可以起到擴(kuò)大驅(qū)動電流的作用。1664LED點陣顯示線路如圖314所示。H01234567L89DXZQGNMRSCPTOEVCUPWED圖3141664LED點陣顯示線路圖第四章系統(tǒng)軟件設(shè)計在硬件設(shè)計好之后,還要進(jìn)行系統(tǒng)的軟件設(shè)計。系統(tǒng)軟件設(shè)計分為上位機(jī)軟件設(shè)計和下位機(jī)軟件設(shè)計,上位機(jī)軟件是上位機(jī)管理模塊功能設(shè)計,而下位機(jī)軟件是在硬件的基礎(chǔ)上,主要是無線數(shù)據(jù)傳輸模塊和LED點陣屏顯示模塊兩部分。本章介紹上位機(jī)管理模塊的編寫,上位機(jī)與下位機(jī)之間的通信協(xié)議的編寫,以及下位機(jī)各個功能模塊控制程序的編寫。41軟件開發(fā)平臺及開發(fā)語言介紹411KEIL開發(fā)平臺KEILC51是一款兼容51系列單片機(jī)的開發(fā)系統(tǒng),它可以用C語言來開發(fā),也可以用匯編來開發(fā)。該軟件有很多的常用庫函數(shù)和非常方便的調(diào)試工具?,F(xiàn)在開發(fā)51單片機(jī)大多數(shù)都是用這個開發(fā)工具,因為這個軟件生成的目標(biāo)代碼效率非常的高,所以很多大型的項目開發(fā)都很理想【11】。412VISUALBASIC60開發(fā)平臺VISUALBASIC60是微軟公司專門為VB語言開發(fā)的編程環(huán)境軟件,它具有圖形用戶界面開發(fā)的環(huán)境軟件。VISUALBASIC6012因為操作簡單、實用,所以從它開發(fā)以來專業(yè)程序員和編程愛好者都很熱愛。VISUALBASIC60有很多的組件,比如設(shè)計器、編輯器、等開發(fā)組件。VISUALBASIC60另外提供了窗口編輯,可直接進(jìn)行編輯和預(yù)覽窗口。413C語言介紹C語言是當(dāng)前國際上最通用的、很有發(fā)展前途的程序設(shè)計語言之一,具有高級、低級語言特性。既可編寫系統(tǒng)軟件,又可編寫應(yīng)用程序。C語言其實是把高級的語言的基本機(jī)構(gòu)和低級的語言的實用性統(tǒng)一在一起的編程語言,所以它既有了高級語言的特性,也有低級語言的功能。該編程語言可以以函數(shù)的方式給編程者運用,而且有循環(huán)、選擇和條件等基本語句,可以讓編程結(jié)構(gòu)化。目前,一般的程序員都是用C語言做程序設(shè)計的,它已成為軟件開發(fā)的主力。用C語言設(shè)計開發(fā)系統(tǒng)能夠很好的縮短開發(fā)時間周期,顯然增強(qiáng)了程序的可讀性,便于改善、移植和擴(kuò)充。414VB語言介紹VISUALBASIC,簡稱VB,VISUALBASIC是一種基于BASIC的編程語言,它是一種面向?qū)ο蟮目梢暬母呒壵Z言。該語言不僅僅執(zhí)行速度快,而且運用的方法簡單。無論是用來開發(fā)功能復(fù)雜的商用應(yīng)用軟件,還是用來開發(fā)簡單的個人應(yīng)用軟件,都非常的方便。因為該語言的編程環(huán)境采用的可視化編程環(huán)境,還有面向?qū)ο蟮脑O(shè)計方式,所以開發(fā)應(yīng)用程序操作簡單方便。只要是你能想到的編程項目,強(qiáng)大功能的VB語言一般都能幫你實現(xiàn)。不管你是要設(shè)計各種類型的用戶界面還是要利用其它應(yīng)用程序的對象,又或者是要處理文字圖象到使用數(shù)據(jù)庫,從開發(fā)個人或集體使用的小工具,到大型企業(yè)應(yīng)用系統(tǒng),更甚者是要通過INTERNET的遍及全球分布式應(yīng)用程序,都可在VISUALBASIC提供的工具找到。42上位機(jī)管理系統(tǒng)軟件設(shè)計上位機(jī)管理系統(tǒng)軟件是用RS232串口和下位機(jī)通信的,所以要對串口發(fā)送和接收進(jìn)行操作。首先根據(jù)系統(tǒng)建立主界面對話框,對串口進(jìn)行初始化,串口處理等,進(jìn)而實現(xiàn)給下位機(jī)發(fā)送數(shù)據(jù),在可視化界面上顯示出來,便進(jìn)行操作。421上位機(jī)功能設(shè)計上位機(jī)軟件管理系統(tǒng)可以實現(xiàn)設(shè)置波特率,選擇串口,在上位機(jī)軟件上輸入想要顯示的漢字,字母,數(shù)字,按下提取字模按鈕,可以看到相應(yīng)的16進(jìn)制數(shù)據(jù),按發(fā)送數(shù)據(jù)可以傳顯示信息給下位機(jī);控制命令有;顯示方式有動態(tài)閃爍、靜止方式可選,顯示速度有慢速,中速和快速三種調(diào)節(jié)方式,選擇想要的控制方式,按發(fā)送命令按鈕,可以控制點陣的顯示。422上位機(jī)軟件設(shè)計本設(shè)計的上位機(jī)軟件是采用VB來編寫的,該上位機(jī)既要實現(xiàn)字模數(shù)據(jù)的提取,還要實現(xiàn)和單片機(jī)的通信。當(dāng)上位機(jī)提取了相應(yīng)的字模數(shù)據(jù)后,再通過串口發(fā)送給單片機(jī)。上位機(jī)和單片機(jī)的通信采用的是VB內(nèi)部帶有的MSCOMM控件,該控件已經(jīng)包含串口傳輸數(shù)據(jù)的協(xié)議,只要設(shè)置好該控件,和編寫發(fā)送和接收的函數(shù)就可以實現(xiàn)與單片機(jī)的通信了。用VB編寫的上位機(jī)串口通信程序如圖41所示MSCOMM口初始化發(fā)送握手信息發(fā)送信息和校驗信息單片機(jī)接收單片機(jī)應(yīng)答校驗錯誤正確錯誤正確開始結(jié)束圖41上位機(jī)串口通信程序流程圖MSCOMM控件有兩種方式來處理消息,一種是用ONCOMM事件來直接獲取消息,另一種是用查詢COMMEVENT的屬性來判斷再獲取消息。該控件工作的原理是調(diào)用API函數(shù),API函數(shù)再把數(shù)據(jù)傳送給串口的驅(qū)動程序,驅(qū)動程序再通過串口傳送給單片機(jī)。只要理解該控件的各個屬性和事件,就可以正確的實現(xiàn)和單片機(jī)的通信了。點陣要顯示的字的數(shù)據(jù)叫字模,本系統(tǒng)的字模的順序是自上而下,由左到右,每行的左八位為一個字節(jié),右八位一個字節(jié),每個字節(jié)中高位在左。上位機(jī)根據(jù)要顯示的內(nèi)容從存放在電腦里面的字庫里面提取字模數(shù)據(jù),再用串口發(fā)送給單片機(jī)。HZK16文件是按照的是GB231280標(biāo)準(zhǔn),就是通常所說的國標(biāo)碼也叫區(qū)位碼的標(biāo)準(zhǔn)排列。國標(biāo)碼共有94個區(qū)SECTION,每個區(qū)94個位POSITION),因此也稱區(qū)位碼,其中0109區(qū)是符號、數(shù)字區(qū),1687區(qū)是漢字區(qū),而1015區(qū)、8894區(qū)為空白區(qū)域,計算機(jī)處理在漢字和ASCII字符的時候,一個ASCII字符就占用1個字節(jié),一個漢字要占用兩個字節(jié),這個值稱為漢字的內(nèi)碼14。其中第一個字節(jié)的值為區(qū)號加上3220H,第二個字節(jié)的值為位號加上3220H,為了與ASCII字符區(qū)別開,表示漢字的兩個字節(jié)的最高位都是1,也就是兩個字節(jié)的值都又加上了12880H。這樣,通過漢字的內(nèi)碼,就可以計算出漢字的區(qū)位碼,公式如下QHC132128C1160,WHC232128C2160QH,WH為漢字的區(qū)碼和位碼,C1,C2是漢字的第一、二字節(jié)。再用區(qū)碼和位碼就可以得到漢字字模在字庫中的位置LOCATION94QH1WH1一個點陣字模的字節(jié)數(shù)14。上位機(jī)界面圖如圖42所示圖42上位機(jī)界面圖43下位機(jī)編程系統(tǒng)軟件采用C語言編寫,按照模塊化的設(shè)計思路設(shè)計。無線發(fā)模塊的核心控制器為STC89C54,需里實現(xiàn)的功能是接收上位PC機(jī)通過RD232串口發(fā)送過來的數(shù)據(jù),再將數(shù)據(jù)通過NRF24L01模塊轉(zhuǎn)發(fā)出去。431無線發(fā)射編程單片機(jī)從串口接收上位機(jī)數(shù)據(jù),是一個個字節(jié)進(jìn)行接收的,當(dāng)全部接收完后,就可以用無線發(fā)送出去了。接收完數(shù)據(jù)后判斷是控制命令還是字模數(shù)據(jù),因為無線模塊一次只能發(fā)送32個字節(jié),所以如果是命令數(shù)據(jù),一次就可以發(fā)完,是字模數(shù)據(jù)的話,一次只能發(fā)一個字的數(shù)據(jù),有多少個字就要發(fā)送多少次。無線發(fā)射程序流程圖如圖43所示初始化等待上位機(jī)發(fā)送數(shù)據(jù)NRF24L01發(fā)送數(shù)據(jù)返回接收是否完成發(fā)送是否完成NN開始YY圖43無線發(fā)射程序流程圖432點陣顯示編程顯示屏軟件的編寫主要任務(wù)是給顯示屏提供想要顯示的信息數(shù)據(jù),同時設(shè)置各種控制信號,使顯示屏按設(shè)計的要求顯示信息。顯示屏顯示內(nèi)容可以通過NRF24L01接收顯示數(shù)據(jù),所以點陣顯示程序又分為無線接收和顯示驅(qū)動兩部分。無線接收程序流程圖如圖44所示初始化開始接收數(shù)據(jù)是否接收完成單片機(jī)返回NY圖44無線接收程序流程圖無線接收模塊的核心控制單元為STC89C54,需要實現(xiàn)的功能有可以通過NRF24L01接收數(shù)據(jù),接收數(shù)據(jù)用的是中斷,無線模塊接收到數(shù)據(jù)IRQ管腳會產(chǎn)生低電平發(fā)送給單片機(jī),使單片機(jī)產(chǎn)生一個外部中斷接收數(shù)據(jù),用中斷接收,可以馬上接收數(shù)據(jù),防止接收數(shù)據(jù)錯誤。接收完數(shù)據(jù)后保存到單片機(jī)內(nèi)部的EEPROM,實現(xiàn)掉電保存,最后更新顯示方式或者顯示內(nèi)容。在STC單片機(jī)中內(nèi)置了EEPROM(其實是采ISP/IAP技術(shù)讀寫內(nèi)部FLASH來實現(xiàn)EEPROM),這樣就節(jié)省了片外資源,使用起來就更加方便了。STC89C54內(nèi)部有16K的EEPROM,與EEPORM有關(guān)的寄存器有6個,分別是ISP_DATA、ISP_ADDRH、ISP_ADDRLISP_TRIG、ISP_CMD、ISP_CONTR。EEPROM的命令觸發(fā)必須對ISP_TRIG寄存器先寫入0X46,再寫入0XB9,無論單片機(jī)運行在什么工作頻率下,EEPROM的讀、寫、擦除操作的所需要的時間分別約為10US、60US、10MS。點陣顯示的控制器為無線接收單元的STC89C54,分別用74HC595和74HC154做點陣屏的列跟行的驅(qū)動,分別用于將單片機(jī)傳來的行掃描數(shù)據(jù)和行顯示串行數(shù)據(jù)轉(zhuǎn)換成并行輸出,行掃描數(shù)據(jù)是用來控制某一時刻要點亮哪一行的,行顯示串行數(shù)是要該行要顯示內(nèi)容的數(shù)據(jù)。工作原理是先選擇點陣的某一行,再向列驅(qū)動器74HC595寫入該行要顯示的數(shù)據(jù),將該行點亮,同時選中下一行并寫入該行要顯示的數(shù)據(jù)進(jìn)行顯示。這樣依此點亮,16行都點亮一遍后,又回到第一行,循環(huán)進(jìn)行掃描,只要屏幕刷新頻率大于25HZ,人眼看來就會感覺是所有行都同時點亮了。點陣屏顯示程序流程圖如圖45所示開始初始化從EEPROM中讀取數(shù)據(jù)循環(huán)控制點陣顯示是否有接收到新數(shù)據(jù)接收是否完成無線接收數(shù)據(jù)保存數(shù)據(jù)和更新顯示內(nèi)容或顯示方式NYNY圖45點陣屏顯示程序流程圖程序定義兩個32位長度的無符號LONG類型的數(shù)組,每個數(shù)組大小為16,數(shù)組的第一個數(shù)據(jù)就存放第一行的數(shù)據(jù),依次類推存完16行的數(shù)據(jù),一個數(shù)組緩存左邊兩個字,一個數(shù)組緩存右邊那兩個字,剛好能緩存完四個字的字模數(shù)據(jù),要顯示什么內(nèi)容,改變這兩個數(shù)組就內(nèi)容就可以了。實現(xiàn)靜態(tài)顯示內(nèi)容,只要每次把兩數(shù)組的內(nèi)容全部換為想要顯示的內(nèi)容,然后依次提取數(shù)組內(nèi)容去控制點陣驅(qū)動電路,就可以實現(xiàn)靜態(tài)顯示了。要實現(xiàn)右移功能,就是要把緩存左邊兩個字的那個數(shù)組的每個數(shù)據(jù)左移一位,丟棄最高位,再把緩存右邊兩個字的數(shù)組的每個數(shù)據(jù)也左移一位,把移出來的最高位加到左邊那個緩存數(shù)組的最低位,然后再把將要移進(jìn)的那個數(shù)據(jù)的最高位加到右邊緩存數(shù)據(jù)的最低位,這樣就能實現(xiàn)右移功能了,控制每次移位數(shù)據(jù)的間隔時間就可以控制左移的速度了。要實現(xiàn)上移功能,就是要把兩個數(shù)組的第一個數(shù)據(jù)丟棄,數(shù)組的第二個數(shù)據(jù)放到第一個數(shù)據(jù)的位置,依次類此,把第十六個數(shù)據(jù)放到了第十五個數(shù)據(jù)位置,然后再將要移進(jìn)的數(shù)據(jù)放到第十六個數(shù)據(jù)位置,這樣就實現(xiàn)了上移功能,控制數(shù)據(jù)的替換的時間間隔就能控制上移的移動速度了。用兩個數(shù)組緩存將要顯示的內(nèi)容,這樣對顯示內(nèi)容的操作就是對這兩個數(shù)組的操作,這樣就可以實現(xiàn)字體的各種顯示了。第五章系統(tǒng)調(diào)試硬件設(shè)計和軟件編程設(shè)計完成后,得出硬件實物。硬件實現(xiàn)后必須對其實行調(diào)試,檢查設(shè)計功能是否實現(xiàn)了。軟件硬件完成后開始進(jìn)行調(diào)試。調(diào)試可分為硬件調(diào)試,軟件調(diào)試。51系統(tǒng)硬件調(diào)試硬件調(diào)試是一個細(xì)致的工作要有耐心。硬件調(diào)試必須要掌握各功能模塊的原理圖原理和PCB布局,然后依據(jù)各個硬件功能模塊進(jìn)行調(diào)試。硬件調(diào)試主要是檢測電路板的焊接是否合理和各個芯片的輸出、輸入電壓是否滿足各自要求,最后檢測各硬件模塊能否實現(xiàn)設(shè)計所期望的功能。這樣我們就把硬件調(diào)試分三部分進(jìn)行調(diào)試(1)檢測所有焊點是否有虛焊的現(xiàn)象存在以及檢測線路是否有短路;先目測電路板外觀是否焊接完成,是否有氣泡、連焊、虛焊、漏焊等不良焊點,再用萬用表測試看是否有短路和虛焊的現(xiàn)象,若萬用表蜂鳴器持續(xù)鳴響,則表明電路有短路現(xiàn)象。先檢測電路板上的電源線和地線間是否短路,再逐個原件和逐條線路檢測,若發(fā)現(xiàn)短路或虛焊現(xiàn)象,應(yīng)當(dāng)即改正,以確保電路完好可用。(2)測試硬件電路中各個芯片在通電狀態(tài)下的工作輸入和輸出電壓值是否符合要求確保電路無短路和虛焊現(xiàn)象后,就可以通電測試所有電路板中芯片的輸入和輸出電壓是是不是在芯片工作要求的范圍內(nèi)。本系統(tǒng)電源輸入為5V電壓,上電后電路各元器件沒有發(fā)現(xiàn)過熱,異味,冒煙等不良現(xiàn)象。然后測試每個器件的工作電源,接GND及一些電平可以穩(wěn)定的端口的電壓。測試的結(jié)果為每個元器件電源端在43V48V之間滿足它們的電源電壓的需求,單片機(jī)I/O口在沒有接負(fù)載時端口電壓為45V。(3)測試串口系統(tǒng)的通信功能是否能夠?qū)崿F(xiàn)。串口部分的作用是單片機(jī)與上位機(jī)之間通信,檢測通信是否成功可以用串口調(diào)試助手發(fā)送幾組不同的數(shù)據(jù)給單片機(jī),單片機(jī)接收到數(shù)據(jù)后在發(fā)送回電腦,如果發(fā)送和接收回來的數(shù)據(jù)一樣,說明通信是正常的。52系統(tǒng)軟件調(diào)試當(dāng)完成硬件調(diào)試之后,就可以開始軟件調(diào)試了。軟件調(diào)試實質(zhì)就是編譯軟件以及將每個功能模塊程序分別下載進(jìn)去以檢驗各部分功能是否能實現(xiàn)。軟件調(diào)試,主要包括串口通信調(diào)試,無線通信調(diào)試,點陣驅(qū)動顯示調(diào)試。在串口通信調(diào)試中,首先用別人的串口調(diào)試助手軟件測試單片機(jī)與PC機(jī)的通信,如果通信都能正常,說明單片機(jī)的串口通信程序沒有問題了。就開始用VB編寫自己需要的上位機(jī),因為以前沒用過VB,所以要了解一下VB的語法,才開始編寫上位機(jī)。編寫本系統(tǒng)的上位機(jī),難點只有兩個,就是提取字模數(shù)據(jù)和實現(xiàn)與單片機(jī)的通信。通過上網(wǎng)查找資料和多次的反復(fù)修改程序,成功的實現(xiàn)了這兩個功能。無線通信調(diào)試,理解了無線模塊的工作原理,然后根據(jù)自己的需要設(shè)置無線模塊的寄存器。開始的時候,只是簡單的用一個字節(jié)來通信,為了檢測通信接收到的數(shù)據(jù)是否正確,我先讓帶串口的下位機(jī)作為無線通信的接收端,利用無線接收到的數(shù)據(jù)通過串口返回給電腦,在串口調(diào)試助手的窗口里顯示收到的數(shù)據(jù),然后對比發(fā)送端發(fā)送的數(shù)據(jù),多次調(diào)試后,通信成功并且接收數(shù)據(jù)正確。然后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論