旋轉(zhuǎn)式電子桌椅設(shè)計報告_第1頁
旋轉(zhuǎn)式電子桌椅設(shè)計報告_第2頁
旋轉(zhuǎn)式電子桌椅設(shè)計報告_第3頁
旋轉(zhuǎn)式電子桌椅設(shè)計報告_第4頁
旋轉(zhuǎn)式電子桌椅設(shè)計報告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

年電子設(shè)計選拔賽題目:旋轉(zhuǎn)式電子桌牌參賽隊員:專業(yè):11級電氣四班參賽隊員:專業(yè):12級電氣一班參賽隊員:專業(yè):13級電氣一班2014-6-20

摘要為了滿足旋轉(zhuǎn)式電子桌椅的設(shè)計要求,基于視覺暫留特性設(shè)計并制作了一個13點線陣LED模塊的顯示屏。首先,在控制器的管理下,通過線狀LED控制和電機驅(qū)動控制這兩部分來完成基于STC89C52單片機的旋轉(zhuǎn)式電子桌椅文字顯示裝置的設(shè)計;經(jīng)過軟硬件調(diào)試,該部分實現(xiàn)了中英文字符顯示轉(zhuǎn)速顯示等功能。其次,用MSP430G2553測量直流電機的電壓和電流,通過LCM12864顯示。然后,通過NRF2401無線模塊、串口模塊與電腦進行無線通信,能通過上位機界面修改LED顯示屏的內(nèi)容。實際測試表明,所采用的設(shè)計方案先進有效,完全達到了設(shè)計要求。該顯示裝置電路簡單、顯示內(nèi)容穩(wěn)定清晰,并擴展了無線通信和上位機功能,客服了點陣LED顯示屏的不足,可以用于很多的場合,比如廣告牌、家庭裝飾、記分牌、娛樂顯示等。關(guān)鍵詞:視覺暫留;LED旋轉(zhuǎn)屏;無線通信;上位機界面;單片機

目錄摘要第二章 系統(tǒng)方案的設(shè)計與論證 21.1系統(tǒng)總體框架 21.2方案論證與比較 21.2.1系統(tǒng)供電方案 21.2.2顯示部分: 31.2.3芯片的選擇: 31.2.4鍵盤選擇: 41.2.5電機選擇 41.2.6電機驅(qū)動模塊的選擇: 41.2.7液晶的選擇: 51.2.8無線通信模塊選擇 5第二章理論分析與計算 62.1旋轉(zhuǎn)LED顯示屏簡介 62.2系統(tǒng)機械結(jié)構(gòu) 72.3重心調(diào)節(jié) 8第三章系統(tǒng)的硬件電路設(shè)計 93.1系統(tǒng)硬件框架圖 93.2單片機最小系統(tǒng) 93.3旋轉(zhuǎn)式LED模塊 93.4RF模塊 103.5串口通信模塊 103.6RF供電模塊 113.7LCD顯示模塊 11第四章系統(tǒng)的軟件設(shè)計 144.1系統(tǒng)程序流程圖 144.2上位機界面設(shè)計 144.3主控機程序流程設(shè)計 164.4從機程序流程設(shè)計 164.5MSP430測量程序流程設(shè)計 18第五章測試方法和結(jié)論 195.1測試方案及測試儀器 195.2數(shù)據(jù)測試 195.2.1電壓電流測量數(shù)據(jù) 195.1.2RF實際通信過程示波器圖 195.3測試結(jié)果分析 20第六章小結(jié) 21第七章參考文獻 21附錄一:主電路原理圖 22附錄二:部分源程序 23(一) 主控機主程序 23(二)從機主程序 25(三)MSP430測量主程序 27

系統(tǒng)方案的設(shè)計與論證1.1系統(tǒng)總體框架根據(jù)題目分析,本設(shè)計由機械旋轉(zhuǎn)部件、顯示電路、無線通信電路等幾部分構(gòu)成。通信電路通信電路用于通過計算機向顯示屏下載顯示內(nèi)容,由于顯示屏在高速旋轉(zhuǎn)的情況下不便于接線進行顯示內(nèi)容的更改,所以設(shè)計使用了RF通信電路,該模塊選用2.4GHz高速2Mbps無線收發(fā)芯片NRF24L01作為RF的實現(xiàn)芯片,采用NRF24L01高速嵌入式無線數(shù)據(jù)傳送模塊來實現(xiàn)通信??傮w框架如圖1-1所示。圖1-1總體框架1.2方案論證與比較1.2.1系統(tǒng)供電方案方案1:采用固定電池供電。即在電路板是直接附帶一個蓄電池,為系統(tǒng)供電。這種供電方式比較簡單。但是,有兩個問題難以解決。首先,高亮度LED的功耗比較大,而電池的蓄電量有限,這就難以實現(xiàn)系統(tǒng)的長期運作;其二,由于電池的體積和重量比較大,若固定在板子上,電量用完后,難以替換。若不固定,在電機轉(zhuǎn)動的時候可能會甩出去,引起安全隱患。同時,也增加了旋轉(zhuǎn)重心的調(diào)節(jié)的難度。故不采用此方法。方案2:采用電刷供電。即在電機的轉(zhuǎn)軸上,手工增加一個電刷,通過電刷為系統(tǒng)供電。此方法能夠讓系統(tǒng)長期供電,但是由于增加了電刷,電機的摩擦增大,勢必會使系統(tǒng)的功耗增加。故不采用此方法。方案3:從電機轉(zhuǎn)子中引出電源線,為系統(tǒng)供電。此方法直接在電機的轉(zhuǎn)子中引出電源線,通過整流濾波后,可以作為系統(tǒng)供電,同時也可以作為系統(tǒng)控制時序的中斷源。由于顯示屏在高速旋轉(zhuǎn)的情況下不便于接線,所以不采用該方案。綜合上面幾種,本系統(tǒng)采用復(fù)合供電方式,即:LED顯示屏采用固定蓄電池供電,電機采用12V電源供電,上下采用獨立供電方案。1.2.2顯示部分:顯示部分是本次設(shè)計最核心的部分,對于LED線陣有以下兩種方案:方案一:靜態(tài)顯示,將一幀圖像中的每一個二極管的狀態(tài)分別用0和1表示,若為1,則表示LED無電流,即暗狀態(tài);若為0則表示二極管被點亮。若給每一個發(fā)光二極管一個驅(qū)動電路,一幅畫面輸入以后,所有LED的狀態(tài)保持到下一幅畫。對于靜態(tài)顯示方式,所需的譯碼驅(qū)動裝置很多,引線多而復(fù)雜,成本高,且可靠性也較低。方案二:動態(tài)顯示,對一幅畫面進行分割,對組成畫面的各部分分別顯示,是動態(tài)顯示方式。動態(tài)顯示方式,可以避免靜態(tài)顯示的問題。但設(shè)計上如果處理不當(dāng),易造成亮度低,閃爍問題。因此合理的設(shè)計既應(yīng)保證驅(qū)動電路易實現(xiàn),又要保證圖像穩(wěn)定,無閃爍。動態(tài)顯示采用多路復(fù)用技術(shù)的動態(tài)掃描顯示方式,復(fù)用的程度不是無限增加的,因為利用動態(tài)掃描顯示使我們看到一幅穩(wěn)定畫面的實質(zhì)是利用了人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時間的長短,發(fā)光的亮度等因素.我們通過實驗發(fā)現(xiàn),當(dāng)掃描刷新頻率(發(fā)光二極管的停閃頻率)為50Hz,發(fā)光二極管導(dǎo)通時間≥1ms時,顯示亮度較好,無閃爍感.。經(jīng)過上述兩種方案比較,我們采用方案二。1.2.3芯片的選擇:方案一:采取并口輸入,能更準(zhǔn)確的控制到每一個led。使led旋轉(zhuǎn)屏能呈現(xiàn)更好的效果。方案二:選取串口輸入,但驅(qū)動力弱,對于旋轉(zhuǎn)LED顯示屏來說不穩(wěn)定。經(jīng)過上述兩種方案比較,我們采用方案一。1.2.4鍵盤選擇:方案一:采用獨立式鍵盤。由于各鍵相互獨立,每個按鍵各接一根輸入線,通過檢測輸入線的電平狀態(tài)可以很容易的判斷哪個按鍵被按下。此種鍵盤適用于按鍵較少或操作速度較高的場合。方案二:采用行列式鍵盤。它由行線和列線組成,按鍵位于行列的交叉點上,行線信號和列線信號分別通過兩個接口和CPU相連,通過行列掃描法判定按鍵的位置。方案三:采用并串轉(zhuǎn)換。將口線數(shù)據(jù)輸入到單片機的串行口,利用串行通信方式0擴展鍵盤接口,這樣節(jié)省了IO口,但犧牲了速度。綜合考慮,采用方案一與方案二的巧妙結(jié)合。1.2.5電機選擇方案1:采用步進電機。步進電機能夠準(zhǔn)確的定向,但是圖像或者文字的分辨率受到步進電機的步進角度的限制。并且步進電機以及控制電路成本較高,并且需要單片機控制,占用CPU的資源。方案2:采用普通的電機。此方案不占用單片機I/O口,節(jié)省單片機資源,使用方便,成本較低,通過簡單的改裝,可以給系統(tǒng)供電。綜合各方面考慮,為了節(jié)省成本,簡單系統(tǒng)電路,以及更方便的為系統(tǒng)供電,使系統(tǒng)能夠長期工作,故采用方案2。1.2.6電機驅(qū)動模塊的選擇:方案一:使用高耐壓復(fù)合晶體管芯片ULN2003來驅(qū)動電機。方案二:使用L298N電機驅(qū)動模塊。ULN2003最大工作電流為500mA,對于本系統(tǒng)中的直流減速電機驅(qū)動能力不足。相反,L298N電機驅(qū)動芯片工作電壓高,最高工作電壓可達46V,內(nèi)含兩個H橋的高電壓電流全橋式驅(qū)動器可以很好的控制本系統(tǒng)中的直流減速電機。故采用方案二。1.2.7液晶的選擇:方案一:帶中文字庫的128864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字.也可完成圖形顯示.低電壓低功耗是其又一顯著特點。不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊方案二:12232具有2560位顯示RAM(DDRAM),即80×8×4位具有與68系列或80系列相適配的MPU接口功能,并有專用的指令集,可完成文本顯示或圖形顯示的功能設(shè)置綜合考慮,我們采用方案一的串口,既節(jié)省了IO口,和得到更多的顯示信息。1.2.8無線通信模塊選擇方案1:使用采用紅外通信,電路簡單,但紅外通訊需要大量的編碼、譯碼,程序設(shè)計復(fù)雜,且由于AT89S52速度比較慢,在短時間難以做太多的運算,故不采用此方法。方案2:使用NRF2401無線模塊通信。nRF2401是單片射頻收發(fā)芯片,工作于2.4~2.5GHzISM頻段,芯片內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。芯片能耗非常低,以-5dBm的功率發(fā)射時,工作電流只有10.5mA,接收時工作電流只有18mA,多種低功率工作模式,節(jié)能設(shè)計更方便。且電路比較簡單,使用方法也簡單,只需把數(shù)據(jù)送到串口,就可以立即發(fā)送,只需進行初始化,不需要對數(shù)據(jù)進行曼切斯特編碼,具有全雙工的通信功能,受外界影響較小。在處理器運算速度相對比較慢的情況下,采用此方法。

第二章理論分析與計算2.1旋轉(zhuǎn)LED顯示屏簡介LED顯示屏已廣泛應(yīng)用于廣告、車站、銀行、商場等公共場所。它具有功耗小、壽命長、色彩好等優(yōu)點?,F(xiàn)在的LED顯示屏的發(fā)光器件主要采用LED平板模塊,室內(nèi)顯示屏主要采用16行循環(huán)掃描的方法,即每16行為一個單元,在每一幀中,逐次每行亮十六分之一秒的時間,由于幀頻一般大于60Hz,我們并不覺察到掃描,而認(rèn)為是一幅穩(wěn)定的圖像。這種類型的顯示屏有兩個問題有待改進:第一、顯示屏整個面積全由LED模塊組成,器件數(shù)量多,成本高;第二、由于顯示屏是一個平面,而且LED象素點有一定視角限制,使顯示屏的可視范圍被局限到正面某個范圍之內(nèi),在應(yīng)用中使顯示屏的信息發(fā)布受到了空間的限制。新型的旋轉(zhuǎn)柱式顯示屏,克服了以上兩個不足,以機械轉(zhuǎn)動掃描方式代替逐行掃描,成本大大降低,可視范圍做到了360度。本文介紹了它的顯示原理,系統(tǒng)組成,指出了設(shè)計中要注意的幾個核心問題,并提出了一些新的發(fā)展方向。旋轉(zhuǎn)掃描的原理:由于人眼具有視覺暫留的特性,當(dāng)畫面以一定速率刷新時,我們看到的就是連續(xù)的圖像,電視機顯示采用逐點掃描方式,每秒鐘要刷新畫面50場(25幀),而在人眼中則是一幅完整的畫面,傳統(tǒng)LED顯示屏一般采用1/16掃描,16行進行逐行循環(huán)點亮,由于刷新速率足夠大,看到的也是一幅穩(wěn)定的畫面。它的原理示意如圖2-1所示,其中(a)(b)(c)(d)(e)分別是不同時刻的顯示狀態(tài),(f)為人眼看到的完整畫面“3”。在這種LED顯示屏中,采用的是逐行換位下移點亮器件的掃描方式,每一行都必須有LED顯示器件,這就使顯示屏的成本偏大。圖2-1傳統(tǒng)LED顯示屏的顯示原理圖旋轉(zhuǎn)掃描方式顯示器只有一列,由電機帶動它進行旋轉(zhuǎn),運行到某一位置時就顯示該位置的狀態(tài),到下一位置后又顯示下一位置的狀態(tài),即一列顯示器件要完成全部圖像的顯示,掃描過程由機械轉(zhuǎn)動更換位置來實現(xiàn).其顯示原理如圖2-2。所示。圖中a)b)c)是圖2-2旋轉(zhuǎn)柱式顯示屏的顯示原理圖不同時刻的顯示狀態(tài),d)是人眼看到的完整畫面“3”。由于旋轉(zhuǎn)掃描成像不是平面,而是一個柱面,所以稱之為旋轉(zhuǎn)柱式顯示屏,其觀看視角是360°。2.2系統(tǒng)機械結(jié)構(gòu)旋轉(zhuǎn)式LED文字顯示裝置示意圖如圖2-3所示。電機安裝在底座上,電機旋轉(zhuǎn)時帶動著旋轉(zhuǎn)式LED也旋轉(zhuǎn)。旋轉(zhuǎn)式LED和電機通過一個齒輪盤連接,大致結(jié)構(gòu)如圖2-3所示。圖2-3系統(tǒng)機械結(jié)構(gòu)2.3重心調(diào)節(jié)重心調(diào)節(jié)是最困難的一個技術(shù)環(huán)節(jié)。旋轉(zhuǎn)的重心直接關(guān)系到系統(tǒng)的穩(wěn)定的運行,以及安全性問題。旋轉(zhuǎn)的重心如果不在轉(zhuǎn)軸上的話,在高速的旋轉(zhuǎn)中,會產(chǎn)生劇烈的抖動,在巨大的離心力下,會使整個系統(tǒng)分解,產(chǎn)生安全隱患。所以,重心調(diào)節(jié)是必須解決的問題。下面介紹重心調(diào)節(jié)的方法。首先是電路板的外觀設(shè)置。根據(jù)物理質(zhì)心計算方法,可知道,均勻的圓盤的重心就在圓盤的中心。但是,由于電子器件的封裝,重量都是不同的,圓盤電路板的重心是不均勻分布的,比較難調(diào)節(jié),故不采用這種方法。 根據(jù)杠桿原理,當(dāng)支點兩端的物體的質(zhì)量與力距乘積相等時,杠桿就處于平衡。因此我采用了長條方型的電路板結(jié)構(gòu)。M1M2M2M1M1M2M2M1L2L1L2L1L1 L1 圖2-4杠桿原理示意圖如上圖2-4所示,只要M1*L1=M2*L2時,在布PCB的同時,只要通過簡單的測量和計算便可以使得杠桿處于平衡。

第三章系統(tǒng)的硬件電路設(shè)計3.1系統(tǒng)硬件框架圖根據(jù)前面方案的論證,我們設(shè)計出本系統(tǒng)的總體架構(gòu)如圖3-1所示。圖3-1系統(tǒng)硬件框圖3.2單片機最小系統(tǒng)STC89C52單片機最小系統(tǒng)包括晶體振蕩電路、復(fù)位開關(guān)和電源部分。下圖為AT89C52單片機最小系統(tǒng)。圖3-2單片機最小系統(tǒng)圖3.3旋轉(zhuǎn)式LED模塊在單片機的IO口串聯(lián)一個電阻與led相連,最后接到VCC上。當(dāng)IO口為低電平時點亮led燈。圖3-3旋轉(zhuǎn)式LED模塊3.4RF模塊圖3-4RF模塊內(nèi)部結(jié)構(gòu)圖為了解決顯示屏在高速旋轉(zhuǎn)的情況下不便于接線進行顯示內(nèi)容的更改存在的問題,我們采用NRF24L01來實現(xiàn)主從控制器之間進行通信,NRF24L01是NORDIC公司最近生產(chǎn)的一款無線通信通信芯片,采用FSK調(diào)制,內(nèi)部集成NORDIC自己的EnhancedShortBurst協(xié)議??梢詫崿F(xiàn)點對點或是1對6的無線通信。無線通信速度可以達到2Mbps。NORDIC公司提供通信模塊的GERBER文件,可以直接加工生產(chǎn)。只需要為單片機系統(tǒng)預(yù)留5個GPIO,1個中斷輸入引腳,就可以很容易實現(xiàn)無線通信的功能,非常適合用來為MCU系統(tǒng)構(gòu)建無線通信能。圖3-4是NRF24L01的內(nèi)部結(jié)構(gòu)圖。3.5串口通信模塊為了解決RF無線通信與電腦上位機通信的同步數(shù)據(jù)處理問題,本系統(tǒng)采用STC89C52作為微處理器,通過串口通信將顯示屏更改的內(nèi)容發(fā)送到單片機上,然后再由RF無線通信模塊將數(shù)據(jù)發(fā)送給LED顯示屏微處理器。-圖3-5串口模塊電路3.6RF供電模塊由于電壓工作范圍:1.9V~3.6V,直接用5V給RF模塊供電會使其燒壞,為了保證其能正常工作,采用AMS1117穩(wěn)壓管給其提供3.3V電壓。3.3V供電模塊電路如圖3-6所示。圖3-63.3V供電模塊3.7LCD顯示模塊圖3-7LCD(12864)顯示液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字和圖形,內(nèi)置8192個中文漢字,128個字符,可與CPU直接接口,提供兩種界面來連接微機處理器(嵌入式處理器STC12C5A60S2):8位并行及串行兩種連接方式,有多種功能:光標(biāo)顯示,畫面移動,睡眠模式,外觀尺寸:93×70×12.5mm,視域尺寸:73×39mm,本系統(tǒng)使用8位串行連接方式,用LCD12864顯示直流電機將的電壓和電流值。3.8電壓、電流檢測模塊(一)主函數(shù)主函數(shù)的流程框圖如圖1所示。主函數(shù)主要是調(diào)用系統(tǒng)初始化函數(shù)和循環(huán)開啟ADC轉(zhuǎn)換,這是由于ADC10采用單通道單次轉(zhuǎn)換模式,每次采樣后需要重新開啟ADC,才會進行下一次信號采樣轉(zhuǎn)換。另外,信號的采樣與處理以及電壓值的顯示都是通過中斷來完成。(二)系統(tǒng)初始化函數(shù)系統(tǒng)初始化的流程框圖如圖2所示。該函數(shù)對看門狗的工作模式、所需的I/O口以及ADC10和12864進行定義或初始化配置。(三)ADC初始化函數(shù)ADC初始化的流程框圖如圖3所示。該函數(shù)的任務(wù)是對轉(zhuǎn)換控制寄存器ADC10CTL0和ADC10CTL1的初始化配置。其中,ADC10CTL0需要配置的是ADC10的開關(guān)、采樣周期、參考電壓、ADC10中斷使能;而ADC10CTL1則只需要對外部采樣通道和ADC的工作模式進行選擇。(四)液晶屏初始化液晶屏初始化的流程框圖如圖4所示。該函數(shù)需要寫指令控制:清屏指令、功能設(shè)定為基本指令集操作、地址歸0、開顯示且關(guān)閉光標(biāo)及其反白顯示。(五)中斷函數(shù)中斷函數(shù)用到了ADC中斷函數(shù)和看門狗中斷函數(shù)。ADC中斷函數(shù)的流程框圖如圖5所示,每4個ADC10CLKS周期會產(chǎn)生一次中斷,ADC10會將采集到的電壓值自動保存在轉(zhuǎn)換存儲寄存器ADC10MEM中,直接讀取該寄存器就可以取出數(shù)據(jù),再通過固定的轉(zhuǎn)換公式轉(zhuǎn)換成測得的電壓值??撮T狗中斷函數(shù)的流程框圖如圖6所示,每隔1s會產(chǎn)生一次中斷,更新液晶屏顯示的電壓值。第四章系統(tǒng)的軟件設(shè)計4.1系統(tǒng)程序流程圖系統(tǒng)軟件設(shè)計采用模塊化設(shè)計的方法,它是把一個功能完整的較大的程序分解為若干個功能相對獨立的較小的程序模塊,對各個程序模塊分別進行設(shè)計、編程和調(diào)試,最后把各個調(diào)試好的程序模塊聯(lián)成一個大的程序。模塊化程序設(shè)計的優(yōu)點是單個功能明確設(shè)計和調(diào)試比較方便、容易完成。一個模塊可以為多個程序所共享。模塊化編程的具體體現(xiàn)是把各個功能相對獨立的模塊作為子函數(shù),主程序是一個不斷循環(huán)檢測結(jié)構(gòu)。當(dāng)系統(tǒng)上電自檢、初始化后,進入信號輸出的循環(huán),并自動查詢面板按鍵的狀態(tài),以檢測用戶可能輸入的指令,確定程序?qū)⒁獔?zhí)行的功能。本系統(tǒng)軟件由上位機界面、主控機程序模塊、從機程序模塊以及MSP430測量模塊組成。4.2上位機界面設(shè)計上位機界面在易語言開發(fā)環(huán)境下調(diào)試并實現(xiàn)功能。易語言具有全可視化編程、集成化開發(fā)環(huán)境。集界面設(shè)計、代碼編寫、調(diào)試分析、編譯打包等于一體的優(yōu)點。圖4-1上位機操作界面

4.3主控機程序流程設(shè)計首先,對單片機串口初始化,設(shè)置波特率為9600bit/s,以及nRF401初始化設(shè)置,因為nRF401是半雙工的無線通訊,所以初始設(shè)置為發(fā)射狀態(tài),選擇通信頻道1。然后,調(diào)用取模軟件對字符串進行取模,從串口通過nRF401把命令發(fā)送出去。圖4-2主控機程序框架圖4.4從機程序流程設(shè)計從機的程序開始,對NRF401、外部中斷0、定時器0進行初始化,然后進入默認(rèn)的中文顯示模式,因為13陣列每個點顯示的時間是由定時器確定的,但是,電機的轉(zhuǎn)速,一開始都是不確定的,先通過霍爾元件將電機的轉(zhuǎn)速測量出來。然后再四分屏顯示信息。下面簡單說下,自適應(yīng)算法的實現(xiàn)過程。首先,把假設(shè)旋轉(zhuǎn)一周顯示的點陣數(shù)為16*128。那就意味著旋轉(zhuǎn)一周需要顯示的點數(shù)為128個。由于電機旋轉(zhuǎn)一周產(chǎn)生的中斷次數(shù)為3次。那么每次外部中斷發(fā)生時,應(yīng)該掃描的點數(shù)為43個。在這里我設(shè)計為45個。也就是外部中斷產(chǎn)生時,定時器應(yīng)該產(chǎn)生的中斷次數(shù)為45次(也就是掃描45個點)。當(dāng)進入外部中斷時,通過判斷計時的中斷次數(shù)來重新調(diào)整計時器的值,如果定時器中斷次數(shù)大于45,表明LED顯示一個點的時間太短(圖象或者文字寬度減少),應(yīng)該適當(dāng)?shù)难娱L定時器定時時間;若定時器中斷次數(shù)小于45,表明LED顯示一個點的時間過長,應(yīng)該適當(dāng)減少定時器定時時間。通過對定時器定時時間的不斷調(diào)整(也就是調(diào)整LED顯示每一個點的時間),從而達到穩(wěn)定的顯示。這種方法只需在軟件上進行修改、調(diào)試,即使電機的轉(zhuǎn)速發(fā)生了改變,也能夠正確的顯示文字或圖象。圖4-3從機程序流程圖4.5MSP430測量程序流程設(shè)計

第五章測試方法和結(jié)論5.1測試方案及測試儀器測試方案:將MSP430模塊開啟后,用萬用表測量直流電機的電壓和電流值,反復(fù)測量多次并記錄數(shù)據(jù),然后比較LCD12864液晶顯示的電壓和電流值。開啟另外一個MSP430模塊,對電機進行PWM控制,用示波器演示PWM輸出引腳的波形。同時也用示波器測試無線發(fā)射是否成功。測試所用儀器見表4.1所示。表5-1 測試儀器序號名稱、型號、規(guī)格數(shù)量1FLUKE17B萬用表12TDS-2024數(shù)字存儲示波器15.2數(shù)據(jù)測試5.2.1電壓電流測量數(shù)據(jù)表5-3直流電機電壓、電流測量結(jié)果次數(shù)LCD顯示值萬用表測量值電壓值電流值電壓值電流值17.4V0.539A8.14V0.485A27.18V1.230A8.62V1.10737.07V1.136A7.78V1.022A46.94V1.024A7.63V0.922A56.81V1.0067.49V0.905A5.1.2RF實際通信過程示波器圖對于NRF2041的編程主要是通過命令以及中斷信號IRQ共同完成的。對于發(fā)射節(jié)點,如果使能ACK和IRQ功能,則當(dāng)通信成功以后(也就是發(fā)射節(jié)點接收到了接收節(jié)點送回來的ACK信號)IRQ線會置低;對于接收節(jié)點如果使能ACK和IRQ功能,則當(dāng)通信成功以后IRQ線會置低。根據(jù)以上情況,用示波器測試RF無線模塊是否收發(fā)成功。黃色信號是CE,綠色信號是IRQ,接收成功的示波器如下圖所示。圖5-1RF發(fā)射成功波形圖5.3測試結(jié)果分析從表5-2、5-3我們可以看出,在基礎(chǔ)部分,直流電機的電壓和電流值,誤差比較下,與預(yù)期效果比較符合。從圖5-1可知,從第一批SCK的最后一個信號到IRQ置低大致需要1ms,說明通信成功。

第六章小結(jié)在這次選拔賽中,使我們熟悉的掌握51單片機和msp430單片機的編程,我們制作的旋轉(zhuǎn)式電子桌椅基本上完成題目的基本要求,實現(xiàn)了控制好直流電機的轉(zhuǎn)速,使直流電機的轉(zhuǎn)速平穩(wěn),也完成了無線通信和上位機模塊,但是有一些問題沒有完全解決,比如通信協(xié)議中的數(shù)據(jù)處理不是很完善。通過這次選拔賽,我們學(xué)到了很多,它鍛煉了我們的團隊合作能力;同時強化了我們隊專業(yè)知識的學(xué)習(xí),將理論應(yīng)用于實際。第七章參考文獻[1]陳尚松,雷加,郭慶.電子測量與儀器[M].北京:電子工業(yè)出版社,2005:108~126[2]徐科軍.傳感器與檢測技術(shù)[M].北京:電子工業(yè)出版社,2004:12~33[3]馬忠梅.單片機的C語言應(yīng)用程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,1999:20~83[4]王幸之.AT89系列單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004:33~52[5]Schultz.Candthe8051:ProgrammingandMultitasking.PTRPrentice-Hall.1993:33~52[6]何立民.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,2003:59~102[7]康華光.電子技術(shù)基礎(chǔ)模擬部分(第五版)[M].北京:高等教育出版社,2006:101~147[8]樊昌信,徐炳祥,吳成柯等.通信原理(第五版)[M].北京:國防工業(yè)出版社,2004:133~137[9]閻石,數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2006:109~114[10]譚浩強.C程序設(shè)計(第二版)[M].北京:清華大學(xué)出版社,2004:87~120.[11]戴佳,苗龍,陳斌.51單片機應(yīng)用系統(tǒng)開發(fā)典型實例[M].北京:中國電力出版社,2005:25~85.附錄一:主電路原理圖

附錄二:部分源程序主控機主程序#include"head.h"#include"RF.H" //RF發(fā)送模式//#include"dianzheng.h"#include"uart.h"/*RF發(fā)送延時函數(shù)和發(fā)送數(shù)據(jù)函數(shù)*/voidDelay()//@11.0592MHz延時時間為4*RF_BHms{uchari,j,k;k=30;do{ i=44;j=3; do{while(--j);}while(--i); }while(--k);}voidRF_FS(){uinti=0; RF_DJ; RF_BW(); for(i=0;i<32;i++){RF_W(uart_data[i+num_fs*32]);} num_fs++; if(i==32){i=0;} if(num_fs==5) {num_fs=0;} RF_END; RF_QD; }voidmain(void){ucharm;/*初始化部分*/RF_DJ;RF_INIT();RF_END;RF_SRX; InitUART();SendStr("UARTtest,技術(shù)論壇:請在發(fā)送區(qū)輸入任意信息");ES=1;/****************END*********************/while(1){//display(); //點陣顯示(后三行均為顯示處理)//shijian++;//if(shijian==50){shijian=0;wu++;}//if(wu==20){wu=0;}if(Flag_RF==1){ Flag_RF=0;//RF發(fā)送標(biāo)志位清零 for(m=0;m<20;m++) { if(!RF_IRQ){RF_DJ;RF_SRX;RF_END;RF_CIN;RF_CRX;RF_QD;} Delay(); RF_FS(); }}} }(二)從機主程序//#include"dianzheng.h"#include"STC12LE5204AD.H"#include"LED.H"#include"RF.H"uintnum=0;uintnum_js=0; //RF接收的移位標(biāo)志位(每次移32位)voidRF_DACL(){//從機號流水號誤碼命令數(shù)據(jù)uinti;if(RF_RREG(0X07)&0X30){RF_END;RF_SRX;return;}//接收中斷驗證 RF_BR();//設(shè)置連續(xù)讀模式 for(i=0;i<32;i++){pai3[i+num_js*32]=RF_R();} num_js++; if(num_js==5){num_js=0;TR0=1;}}voidmain(void){/*初始化部分*/RF_DJ;RF_INIT();RF_END;RF_SRX;IT0=1;//跳變沿出發(fā)方式(下降沿)EX0=1;//打開INT0的中斷允許。設(shè)置INT1IT1=1;EX1=1;TMOD=0x02; //選擇方式2TH0=0xA3; //0.1MSTL0=0xA3;ET0=1; //開定時器0中斷EA=1; //開總中斷TR0=1; //開定時器0P0=0xFF;P1=0xFF;/****************END*********************///TR0=1; while(1) { v=10000/n; bai=v%1000/100; shi=v%100/10; ge=v%10;// display(); //點陣顯示(后三行均為顯示處理)// shijian++;// if(shijian==50){shijian=0;wu++;}// if(wu==20){wu=0;} if(!RF_IRQ){TR0=0;RF_DJ;RF_DACL();RF_END;RF_CIN;RF_CRX;RF_QD;}//RF_END;RF_SRX; } }voidint0(void)interrupt0{ display1(); n=t; t=0; } voidtime(void)interrupt1{ t++; if(t==n/4) { display2(); } if(t==2*n/4) { display3(); } if(t==3*n/4) { display4(); }}(三)MSP430測量主程序/*msp430g2553電流檢測及PWM調(diào)速*/#include<msp430g2452.h>#defineuintunsignedint#defineucharunsignedchar#defineBIT(x)(1<<(x))#defineRange_3V0//量程為0~3V#defineRange_15V1//量程為0~15VvoidSystem_Init(void);voidADC_Init(void);voidLCD_Init();voidLCD_Send(uchartype,uchartransdata);voidDelay_nms(uintn);voidLCD_Pos(ucharx,uchary);voidLCD_Display_String(constuchar*pt,ucharnum);voidLCD_Display(longintData);voidLCD_Display_Digit(longintnum);ucharLCD_Table[]={'0','1','2','3','4','5','6','7','8','9','.','A'};longintVoltage;//全局變量VoltagelongintAO;//全局變量AuintVoltage_Range;voidSystem_Init(void){WDTCTL=WDT_ADLY_1000;//看門狗工作在定時器模式,1s中斷一次IE1|=WDTIE;//使能看門狗中斷P1DIR|=BIT0+BIT1+BIT6; //相應(yīng)的位端口設(shè)置為輸出P1DIR&=~BIT3;//P1.3作為按鍵輸入P1SEL|=BIT6;//P1.6作為PWM輸出P1IE|=BIT3;//P1.3interruptenabledP1IES|=BIT3;//P1.3Hi/loedgeP1REN|=BIT3;//P1.3pullupCCR0=10000;//PWM周期=(CCRO+1)/1048576,頻率=1.048576MHz/(CCRO+1))CCTL1=OUTMOD_7;//CCR1reset/setCCR1=1000;//CCR1PWM占空比%=(CCR1+1)/(CCRO+1)TACTL=TASSEL_2+MC_1+TACLR;//MCLK,upmode,適用于高頻率P1SEL|=BIT4;//P1.4為A4通道Voltage_Range=Range_3V;//Range_3V即量程為3V,Range_15V即量程為15VADC_Init();//ADC初始化;LCD_Init(); //液晶初始化}voidADC_Init(void){ADC10CTL0&=~ENC;//復(fù)位轉(zhuǎn)換允許位ADC10CTL0|=ADC10ON+ADC10SHT_0+SREF_0+ADC10IE;//設(shè)置轉(zhuǎn)換控制寄存器ADC10CTL0,ADC10ON=0x010,使ADC10內(nèi)核工作//ADC10SHT_0=0*0x800u,確定采樣周期為4xADC10CLKs//SREF_0=0*0x2000u,選擇參考電壓為VR+=AVCC,VR-=AVSS//ADC10IE=0x00使對應(yīng)通道轉(zhuǎn)換后產(chǎn)生中斷ADC10CTL1|=INCH_4+CONSEQ_0;//設(shè)置AD轉(zhuǎn)換控制寄存器ADC10CTL1,INCH_0=0*0x1000u,選擇通道A4//CONSEQ_1=1*2u,設(shè)置工作模式為單通道、單次轉(zhuǎn)換模式ADC10CTL0|=ENC+ADC10SC;//設(shè)置轉(zhuǎn)換控制寄存器ADC12CTL0,ENC=0x002使轉(zhuǎn)換允許位為1//ADC12SC=0x001使采樣/轉(zhuǎn)換控制位為1_EINT();//總中斷使能}#pragmavector=ADC10_VECTOR__interruptvoidADC10_Interrupt(void){uintdata;data=ADC10MEM;//將AD采樣值存入dataif(Voltage_Range==Range_3V)//V(實際)=(VR+-VR-)*data/1023+VR-Voltage=(uint)(0.540*35.4*data/10.23);//Voltage是實際電壓值的1000倍elseVoltage=(uint)(35.4*data/10.23*5.38);}#pragmavector=WDT_VECTOR__interruptvoidwatchdog_timer(void){LCD_Display(Voltage);//顯示電壓值}voidLCD_Init(){Delay_nms(2);LCD_Send(0,0x01);//清屏指令Delay_nms(2); //延時等待液晶完成復(fù)位LCD_Send(0,0x30); //功能設(shè)定:基本指令集操作Delay_nms(2);LCD_Send(0,0x02); //地址歸0Delay_nms(2);LCD_Send(0,0x0c); //開顯示,且關(guān)閉光標(biāo)及其反白顯示Delay_nms(2);}voidLCD_Send(uchartype,uchartransdata){ucharfirstbyte=0xf8;uchartemp,i,j;if(type)firstbyte|=0x02;P1OUT&=~BIT1;for(j=3;j>0;j--){switch(j){case3:temp=firstbyte;break;case2:temp=transdata&0xf0;break;case1:temp=(transdata<<4)&0xf0;br

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論