超聲波懸浮控制系統(tǒng)設(shè)計(jì)_第1頁
超聲波懸浮控制系統(tǒng)設(shè)計(jì)_第2頁
超聲波懸浮控制系統(tǒng)設(shè)計(jì)_第3頁
超聲波懸浮控制系統(tǒng)設(shè)計(jì)_第4頁
超聲波懸浮控制系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-2-第1章緒論1.1研究目的及意義本文旨在探討一種新的計(jì)算機(jī)管理控制與監(jiān)控系統(tǒng),可以有效地防止越獄行為的發(fā)生。該系統(tǒng)采用變頻器和可編程序控制器,并配備網(wǎng)絡(luò)硬盤錄像機(jī),以及工業(yè)交換機(jī)網(wǎng)絡(luò),可以實(shí)現(xiàn)對(duì)設(shè)備的有效選擇和軟硬件的協(xié)同控制。本文著重闡述了計(jì)算機(jī)管理的服務(wù)、設(shè)施管理流程、控制機(jī)制、監(jiān)測系統(tǒng)的構(gòu)成、設(shè)計(jì)和操作指南。1.2國內(nèi)外研究現(xiàn)狀超聲波懸浮控制系統(tǒng)是一種基于超聲波技術(shù)實(shí)現(xiàn)物體懸浮和控制的技術(shù)系統(tǒng)。下面是關(guān)于國內(nèi)外研究現(xiàn)狀的簡要概述:懸浮技術(shù)也稱之為非接觸式支撐技術(shù),指的是一個(gè)系統(tǒng),它能夠以一個(gè)垂直的、無需接觸的方式,將一個(gè)力量傳遞給另一個(gè),這個(gè)力量的強(qiáng)度和另一個(gè)的重量一致,以此來維持另一個(gè)的穩(wěn)定,讓它保持一個(gè)懸掛的姿勢。通過采用非接觸式支撐技術(shù),我們能夠讓所需的材料保持靜止,無需與容器壁進(jìn)行接觸,從而克服了傳統(tǒng)接觸式操作的諸多弊端,同時(shí)也無需考慮到被懸浮物的電磁特征,因此,它非常適合進(jìn)行小型、高級(jí)的實(shí)驗(yàn)。當(dāng)前,許多不需要人工介入的無需人工介入的支持技術(shù)已經(jīng)被發(fā)明出來,包括但不限于:靜態(tài)、磁性、光學(xué)、空間、噪音和振蕩。2010年,經(jīng)過深入的理論探索,一種全新的軸承——超聲波懸浮軸承應(yīng)運(yùn)而生,它利用超聲波的能量來改變軸頸的懸浮狀態(tài),從而實(shí)現(xiàn)軸承的變形。為此,我們采用壓電換能器,精確地檢測軸承的懸浮間隙,同時(shí)還考察軸承的減摩特性,最終實(shí)現(xiàn)了一種更加優(yōu)異的軸承,它的優(yōu)勢遠(yuǎn)遠(yuǎn)大于傳統(tǒng)的滑動(dòng)軸承或滾動(dòng)軸承。研究發(fā)現(xiàn),在給定的轉(zhuǎn)速范圍內(nèi),超聲波軸承的振動(dòng)幅度較高,因此它的懸浮間隙也更加寬敞。此外,它的減摩特性也比傳統(tǒng)軸承更加出色。隨著技術(shù)的進(jìn)步,OCL、OTL等多種OTL電路已經(jīng)被廣泛應(yīng)用,從而極大地改善了超聲波電源的效能,同時(shí)也減少了其體積與重量。然而,由于其受到開關(guān)速度的局限,以及其獨(dú)特的晶體管開關(guān)特征,這類超聲波電源仍存在一些不足之處。隨著科技的進(jìn)步,全球范圍內(nèi)的超聲波檢測技術(shù)正迅猛地朝著數(shù)字化的方向前進(jìn),其中,數(shù)字式超聲波檢測儀器的普及程度尤為顯著,尤其是中國,更是推陳出新,涌現(xiàn)出大量的新型設(shè)備。近年來漁業(yè)用電子機(jī)器的開發(fā)極其迅速,捕魚作業(yè)由過去依靠“估計(jì)加經(jīng)驗(yàn)”發(fā)展到依據(jù)“科學(xué)加數(shù)據(jù)”,操作方式也有大的變革。近年來,超聲波診斷儀已經(jīng)成為圖像醫(yī)學(xué)診斷的重要工具,與X射線、CT和MRI一樣,它們都能夠提供準(zhǔn)確的診斷結(jié)果。超聲波檢查不會(huì)損害人體,因此被廣泛應(yīng)用于各種醫(yī)學(xué)領(lǐng)域,包括腹部和心臟診斷、婦產(chǎn)科和小兒科等。與傳統(tǒng)的圖像診斷儀相比,超聲波診斷儀具有體積小、價(jià)格低廉、操作簡單的優(yōu)勢,可以實(shí)時(shí)監(jiān)測心臟和胎兒的狀況,因此,它在當(dāng)今社會(huì)受到了越來越多的重視和應(yīng)用。當(dāng)超聲波穿過人體時(shí),它會(huì)不斷地壓縮和擴(kuò)張組織,從而產(chǎn)生熱量,消耗一定的能量。但是,隨著超聲波的持續(xù)傳播,振動(dòng)的強(qiáng)度會(huì)逐漸減弱,最終達(dá)到平衡狀態(tài)。超聲波的吸收衰減可以被用于診斷脂肪肝,因此,它可以作為一種有效的診斷方法,以更準(zhǔn)確地發(fā)現(xiàn)和治療脂肪肝。當(dāng)超聲波穿過具有不同聲阻的人體結(jié)構(gòu)的邊緣,就可能發(fā)生反射或者折射。A型顯示是通過測量振幅來衡量這種變化的,而B型則是通過測量圖片的亮度來評(píng)估這種變化的程度。A型和B型顯示均需要將超聲波波束從某個(gè)特定的角度轉(zhuǎn)換至另一種視角,以便將亮點(diǎn)清晰地展現(xiàn)出來,而M型則僅需要將波束從某個(gè)角度轉(zhuǎn)換至另一種視角,就可以清晰地展現(xiàn)出圖像。m型顯微鏡是一種常見的檢測工具,它可以幫助醫(yī)生檢查心房瓣膜及其周圍組織。1.3主要研究內(nèi)容采用一種新型的超聲波技術(shù),可以大大降低物體之間的摩擦力,從而實(shí)現(xiàn)懸浮操作,這也是本次設(shè)計(jì)的一大亮點(diǎn)。該技術(shù)利用介質(zhì)中的強(qiáng)大聲波的聲輻射壓力,將物體懸浮在介質(zhì)中,從而達(dá)到更好的效果。超聲波技術(shù)可以用來改變物體的聲音,比如說,在大冢實(shí)驗(yàn)室里,人們可以通過超聲波來模擬真實(shí)世界中的聲音,而其他人則使用可聽的頻率。超聲波技術(shù)可以采用多種不同的方式來傳播,例如,它可以在物體表面產(chǎn)生波浪,然后將其反射回原點(diǎn),也可以利用透明坦克產(chǎn)生強(qiáng)大的聲音。本文提出了一種全新的超聲波傳感器,用于測量懸浮物體的高度,其優(yōu)勢顯著,因?yàn)樗哂袠O低的振動(dòng)偏差和極強(qiáng)的抗干擾性,使得懸浮物體不僅能夠被穩(wěn)定地懸浮在空中,而且還可以通過超聲波傳感器準(zhǔn)確地測量傳感器與反射模型之間的距離,從而大大提升了懸浮物體的安全性和可靠性。超聲波傳感器能夠準(zhǔn)確地測量物體的距離,它們采用多種振蕩器技術(shù),從外部發(fā)射到內(nèi)部接收,再從內(nèi)部反射回去,從而實(shí)現(xiàn)對(duì)物體的實(shí)時(shí)監(jiān)測。這使得傳感器頭的小型化成為可能。

第2章系統(tǒng)總體結(jié)構(gòu)2.1設(shè)計(jì)方案本系統(tǒng)由硬????????件????設(shè)計(jì)????????和程????序????????設(shè)計(jì)??兩??????部????分??構(gòu)??????成??。????硬??????件??設(shè)計(jì)????????分????為協(xié)????????調(diào)器????和????????終端設(shè)????????計(jì)????。協(xié)調(diào)器由一個(gè)主控制單片機(jī)和它的最小組件組成,它的電源電路由一個(gè)顯示屏和四個(gè)按鍵組成,而報(bào)警模塊則由兩個(gè)蜂鳴器組成。終端由一個(gè)主控制單片機(jī)和它的最小組件組成,它的電源電路由一個(gè)傳感器接口組成。2.2功能需求分析2.2.1技術(shù)路線:(1)Arduino芯片和超聲波發(fā)射器模塊構(gòu)成了整個(gè)系統(tǒng)的核心部分;(2)keil5是一個(gè)用于軟件平臺(tái)的程序;(3)畫原理圖用AD;(4)編程語言用C語言;(5)設(shè)計(jì)結(jié)構(gòu)框圖。2.2.2預(yù)期結(jié)果:通過本次作品的展示,我們設(shè)計(jì)了一個(gè)超聲波懸浮控制系統(tǒng),它具有以下功能:1.使用信號(hào)發(fā)生器,能夠產(chǎn)生特定頻率的電信號(hào);2.通過改變振蕩信號(hào)的頻率,功率放大器能夠產(chǎn)生更高的功率輸出;3.通過調(diào)整網(wǎng)絡(luò)參數(shù),可以顯著提升超聲波發(fā)生器的聲功率;4.反饋電路可以提供雙重反饋:一是輸出功率的變化,二是頻率的變化,以便更好地控制系統(tǒng)的運(yùn)行狀態(tài)。2.3總體方案設(shè)計(jì)第一步:在理論知識(shí)準(zhǔn)備階段,要深入理解設(shè)計(jì)課題,仔細(xì)研究其中所包含的內(nèi)容,以便更好地掌握相關(guān)知識(shí);第二步:明確系統(tǒng)的各個(gè)組成部分,梳理出它們之間的聯(lián)系,并搜集有關(guān)軟硬件的信息;第三步:制定詳細(xì)的計(jì)劃,明確系統(tǒng)的組成部分,建立一個(gè)宏觀的系統(tǒng)框架,并以此為基礎(chǔ)繪制出相應(yīng)的原理圖;第四步:利用先進(jìn)的軟件技術(shù),精確地構(gòu)建硬件電路,構(gòu)建各個(gè)功能模塊的詳細(xì)結(jié)構(gòu),以及由各種元素經(jīng)由精心安排的連接,最終完成整體的電路構(gòu)建;第五步:通過對(duì)系統(tǒng)控制流程的深入研究,完善軟件設(shè)計(jì),并將其轉(zhuǎn)化為可視化的主流程圖;第六步:通過模擬仿真,評(píng)估系統(tǒng)的性能,以確保其能夠滿足預(yù)期的控制需求,并將結(jié)果匯總成論文。2.4單片機(jī)型號(hào)選擇Arduino的作用是能通過超聲波傳感器來感知環(huán)境,通過控制超聲波發(fā)射器來反饋使物體懸浮,板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。它的電氣特性使得它在家庭電氣系統(tǒng)中的應(yīng)用更加廣泛,而且它的電氣特性還具有高精度、高穩(wěn)定性、高效率等優(yōu)點(diǎn)。Arduino的編制需要使用Wiring(Arduino)撰寫的語言,并使用Processing(Arduino)的設(shè)計(jì)環(huán)境。一個(gè)完整的Arduino項(xiàng)目不僅僅需要Arduino本身,還需要與一些PC端的應(yīng)用(如Flash、Processing)等相互協(xié)作,才能夠完成任務(wù)。MaxMSP)來實(shí)現(xiàn)。圖2.1Arduino芯片原理圖

第3章系統(tǒng)的的硬件部分設(shè)計(jì)3.1系統(tǒng)總體設(shè)計(jì)本系統(tǒng)由硬件設(shè)計(jì)和程序設(shè)計(jì)兩部分構(gòu)成。硬件設(shè)計(jì)分為協(xié)調(diào)器和終端設(shè)計(jì)。協(xié)調(diào)器由一個(gè)主控制單片機(jī)和它的最小組件組成,它的電源電路由一個(gè)顯示屏和四個(gè)按鍵組成,而報(bào)警模塊則由兩個(gè)蜂鳴器組成。終端由一個(gè)主控制單片機(jī)和它的最小組件組成,它的電源電路由一個(gè)傳感器接口組成。并且該設(shè)計(jì)能實(shí)現(xiàn)的功能如下:1.使用信號(hào)發(fā)生器,我們能夠產(chǎn)生特定頻率的電信號(hào);2.通過改變振蕩信號(hào)的頻率,功率放大器能夠產(chǎn)生更高的功率輸出;3.通過調(diào)整網(wǎng)絡(luò)參數(shù),可以顯著提升超聲波發(fā)生器的聲功率;4.反饋電路可以提供雙重反饋:一是輸出功率的變化,二是頻率的變化,以便更好地控制系統(tǒng)的運(yùn)行狀態(tài)。3.2系統(tǒng)的主要功能模塊設(shè)計(jì)3.2.1LCD顯示屏模塊設(shè)計(jì)LCD1602是一款高性能的lcd顯示器,可以清晰地展現(xiàn)出16*2的字體。然而,當(dāng)需要在LCD中清晰地展現(xiàn)一個(gè)字母的時(shí)候,就會(huì)變得非常困難,需要先確定RAM中的8個(gè)字母,然后將這些字母的不同的值設(shè)定在“1”、““0””之間,以便將““1””的值設(shè)定在正確的位置,而““0””的值則設(shè)定在“0”的值。通過使用內(nèi)置的字符發(fā)生器,我們能夠?qū)⒍鄺l漢字轉(zhuǎn)換為指定的漢字。為了更加便捷,我們只需要將漢字轉(zhuǎn)換為LCD1602中的文本,并輸入相關(guān)的代碼,然后按照RAM中的列號(hào)和行號(hào),將漢字轉(zhuǎn)換為指定的漢字,最后將漢字輸入到lcd1602中。通過調(diào)整尺寸,我們提供了一系列多樣化的大屏應(yīng)用。這些應(yīng)用包括:單屏切換、單屏獨(dú)立顯示、隨機(jī)拼接、全屏拼接、雙拼接、橫向展開等。此外,我們還提供了多種圖像邊緣的調(diào)整方式,如補(bǔ)償或遮擋,以及對(duì)于數(shù)字信號(hào)的漫游、縮放、延展、橫向展開、畫面切換、3D播放等。此外,我們還提供了多項(xiàng)顯示方案,以滿足您的多樣化要求。拼接屏可以通過拼接來實(shí)現(xiàn),它們可以直接使用,也可以通過組合來實(shí)現(xiàn)。拼接屏的外觀非常精細(xì),只需0.9mm的厚度,并且配備了高級(jí)的防水材料和“快散”型號(hào)的散熱器。DID液晶拼接技術(shù)具有出色的兼容性,既可接收復(fù)雜的數(shù)據(jù),又具備強(qiáng)大的功能,它既支持傳統(tǒng)的模擬信號(hào),又具備裸眼3D的智能體驗(yàn),使得它成為一種理想的拼接設(shè)備。(2):顯示器的電源來自于外部設(shè)備,可以提供持久的供電;VDD(2):為顯示器提供可靠的電源支持;V0是一種可以通過調(diào)整液晶顯示器的亮度來改善視覺效果的裝置;RS(4):通過調(diào)整電平,可以使用數(shù)據(jù)寄存器和指令寄存器來實(shí)現(xiàn)多種復(fù)雜的功能,從而滿足用戶的需求;RW(5):一種用于控制輸出的接口,它能夠在輸出端的電壓較大時(shí)執(zhí)行輸出,在輸出端的電壓較小時(shí)執(zhí)行輸出。如果RS與RW都處于較小的輸出端,則能夠發(fā)送出一條指令,或是將一個(gè)地址顯示出來;如果RS處于較小的輸出端,而RW處于較大的輸出端,則能夠發(fā)送出一條忙信號(hào);(6):當(dāng)E端電平由高電平降至較低時(shí),液晶模塊便會(huì)自動(dòng)觸發(fā)一個(gè)信號(hào),來控制輸入的變化;使用8位雙向數(shù)據(jù)線,將D0-D7(7-14)連接起來,可以有效地實(shí)現(xiàn)高速、可靠的通信;A(15):背光正極;K(16):背光負(fù)極;圖3.1顯示屏模塊原理圖3.2.2按鍵輸入模塊設(shè)計(jì)當(dāng)使用更多的IO口時(shí),我們可以使用將鍵盤的按鍵組合成一個(gè)矩形來更好地理解它們的位置。這種做法叫做逐行和逐列。掃描技術(shù)是一種用于檢測輸入信息的方法,它可以幫助我們快速定位輸入信息。例如,通過掃描第一行,我們可以快速定位第二行,并通過掃描第一列和第二列來確定輸入信息的位置。掃描技術(shù)可以幫助我們快速定位輸入信息,并使輸入信息更加準(zhǔn)確。原理圖如下。圖3.2按鍵輸入模塊原理圖3.2.3超聲波測距模塊設(shè)計(jì)通過應(yīng)力作為驅(qū)動(dòng)力,超聲波傳感器和超聲波發(fā)射器都能夠檢測到物體的運(yùn)動(dòng)。其中,應(yīng)力指的是物體受到電場的作用而產(chǎn)生的應(yīng)力,而這種應(yīng)力又會(huì)導(dǎo)致物體的運(yùn)動(dòng)。當(dāng)外界的正電荷和壓電陶瓷的極化正電荷發(fā)生碰撞,而當(dāng)外界的負(fù)電荷發(fā)生碰撞,這兩種電荷就會(huì)發(fā)生互抵,從而使得壓電陶瓷的厚度和長短發(fā)生減少或增大。但是,如果外界的極性發(fā)生了逆轉(zhuǎn),那么這種情況就會(huì)導(dǎo)致壓電陶瓷的厚度和長短發(fā)生增大或減小。使用雙晶振子的超聲波傳感器,將雙壓電陶瓷片按照逆向的極性排列,使得一片延展,而另一片則收緊。為了更好地傳輸信號(hào),雙晶振子的兩面均涂有薄膜電極,并且將電極的兩端分別連接至振動(dòng)板和電極的兩個(gè)端,從而實(shí)現(xiàn)超聲波傳感器的傳輸。雙晶振子是一種特殊的材料,它的外觀呈現(xiàn)出一個(gè)正方體,其周圍環(huán)繞著一圈圓弧,使得振子的振動(dòng)受到了雙重的約束。在振子的內(nèi)部,一個(gè)具有明顯的方位角的振子,它可以將振子的振動(dòng)聚焦在一個(gè)特定的位置,從而使得振子的振動(dòng)更加均勻,從而獲得更加穩(wěn)定的振蕩信號(hào)。(1)使用IO端的TRIG來檢測物體的位置,并提供最多10毫秒的高頻信息;(2)該模塊能夠同時(shí)產(chǎn)生8個(gè)40khz的方波,并能夠快速識(shí)別并反饋出任何信息;(3)當(dāng)某個(gè)信息被接受并被IO口ECHO檢測后,它會(huì)被轉(zhuǎn)換為某個(gè)高電平,這個(gè)高電平的持續(xù)時(shí)間即為該信息在傳播中的總長度,其中,傳播的總長度=(高電平的持續(xù)時(shí)間*聲速(340M/S))/2;(4)這個(gè)模塊的操作非常容易,只需要將電平調(diào)節(jié)到10US或更大,即可將電平設(shè)置到預(yù)設(shè)的閾值。然后,只要電平達(dá)到預(yù)設(shè)的閾值,便會(huì)啟動(dòng)時(shí)鐘,從而確定準(zhǔn)確的時(shí)刻,從而得到準(zhǔn)確的測量結(jié)果。通過持續(xù)的循環(huán)檢查,我們就能夠獲得您所需要的精確的位置信息。圖3.3超聲波測距模塊原理圖3.2.4單軸換能器的設(shè)計(jì)在選擇超聲換能器時(shí),應(yīng)該特別注意它的尺寸和形狀。這些因素都會(huì)影響它的懸掛性。在這篇文章中,我們將重點(diǎn)討論如何提高這種裝置的懸掛性。我們的研究對(duì)象是一種用于懸浮泡沫的單軸式換能器。(1)使用IO端的TRIG來檢測物體的位置,并提供最多10毫秒的高頻信息;當(dāng)一個(gè)物體被放置在一個(gè)具有聲波傳播的環(huán)境中時(shí),它就會(huì)被聲波所作用,這種作用力會(huì)使它的重力和它的磁力相抵消。因此,我們選擇了一種新型的單軸式換能器,它的工作頻率被定義為20KHz,當(dāng)一個(gè)半徑為R的泡沫球被放置在一個(gè)排除外界干擾聲波良好傳播的環(huán)境下時(shí),它會(huì)被一種叫做軸向聲波的力所作用,這種力的大小取決于它聲波頻率的高低。則公式(3-1)可知,此懸浮小球受到的軸向聲輻射力為(3-1)當(dāng)一個(gè)物體漂浮于聲音的環(huán)境中,它所承受的重量和聲波的傳播能量是相等的,因此,我們就能夠計(jì)算出物體的振幅u0,表示為公式(3-2)(3-2)在聲源的振幅A和在聲場空間內(nèi),媒介物的振動(dòng)速率的幅值u0之間存在著關(guān)系為式(3-3)的聯(lián)系。(3-3)則懸浮起泡沫球,聲源即換能器輻射端的振幅A為式(3-4)(3-4)當(dāng)一個(gè)物質(zhì)的密度越高,它就越容易漂移到聲輻射力越低的地方,而當(dāng)它的密度越低,它就越容易漂移到聲輻射力越高的地方。因此,要想讓一個(gè)物質(zhì)漂移到聲輻射力越低的地方,就必須讓它的密度越高,這樣它就越容易漂移到聲輻射力越低的地方。通過應(yīng)用聲懸浮力的公式,我們發(fā)現(xiàn)換能器輻射端的振幅僅僅存在于理論上,因此,在實(shí)際的設(shè)計(jì)過程中,我們需要把sin(2)kz=1的參數(shù)輸入,從而獲得換能器輻射端的振幅,其表達(dá)形式為式(3-5)(3-5)3.2.5換能器陣的設(shè)計(jì)要求在這篇文章中,我們提出了一種新的換能器系統(tǒng),它可以將泡沫塑料小球從地面上提升到空中,并且具有良好的懸浮性。這種系統(tǒng)的核心部分是一個(gè)可以使物體在空中保持穩(wěn)定的軸向聲學(xué)懸浮系統(tǒng)。采用20KHz的換能器陣列,將一個(gè)半徑約R的泡沫小球放置于一個(gè)由聲壓和重力達(dá)到平衡的聲學(xué)環(huán)境,其所承載的重力可以方程式表明:(3-6)(3-6)ρs表示泡沫塑料小球的密度,它的值等于ρs=100kg?m-3。由于泡沫小球和鋼球所承受的聲波傳播量相似,因此我們可以使用相似的表達(dá)式來進(jìn)行計(jì)算。因此,當(dāng)我們將一個(gè)物體放置于一個(gè)聲場空間時(shí),它的振幅A可以用式子(3-7)來表示。(3-7)由于泡沫塑料小球的密度相對(duì)較低,因此,我們需要努力讓它們保持一種靜止的狀態(tài),即保持其振幅不變。然而,當(dāng)我們把sin(2)kz=1的數(shù)據(jù)輸入到公式(3-8)后,就會(huì)發(fā)現(xiàn),振幅變化的幅度也會(huì)隨之發(fā)生變化,從而影響到振動(dòng)的強(qiáng)弱。(3-8)經(jīng)過改進(jìn),我們的新型換能器具有更高的振幅,輸出端的振幅達(dá)到了7.5μm,而后蓋板的振幅也達(dá)到了2μm。這意味著,我們的新型換能器具有更高的振幅放大率,達(dá)到了3.75。由于這些優(yōu)點(diǎn),我們決定采用半波長的換能器。鑒于換能器的傳輸距離受到一定的局限性,陣元軸心距的選定應(yīng)當(dāng)盡量保持一個(gè)合理的值,以確保能夠滿足最佳的傳輸效果。目前,我們的陣元軸心距已經(jīng)達(dá)到了16mm,這一值可以滿足我們的要求,而且,我們可以根據(jù)陣元軸心距的要求,精確地調(diào)整陶瓷片的尺寸,以達(dá)到最佳的傳輸效果。鑒于目前關(guān)于換能器陣的研究仍然相當(dāng)匱乏,我們將采用一種新穎的布局,即將兩個(gè)換能器元件按照一定的間隔進(jìn)行布局,其中,每個(gè)元件的輻射端面將采用一個(gè)凹陷的圓形,而這種布局的細(xì)節(jié)可參照?qǐng)D3.4。圖3.4換能器前端原理圖

第4章系統(tǒng)的軟件設(shè)計(jì)4.1軟件主流程圖本系統(tǒng)由硬件??設(shè)計(jì)和??程序設(shè)??計(jì)兩部??分構(gòu)成??。硬件??設(shè)計(jì)分??為協(xié)調(diào)??器和終??端設(shè)計(jì)??。協(xié)調(diào)器由一個(gè)主控制單片機(jī)和它的最小組件組成,它的電源電路由一個(gè)顯示屏和四個(gè)按鍵組成,而報(bào)警模塊則由兩個(gè)蜂鳴器組成。終端由一個(gè)主控制單片機(jī)和它的最小組件組成,它的電源電路由一個(gè)傳感器接口組成。(1)Arduino芯片和4超聲波發(fā)射器模塊構(gòu)成了整個(gè)系統(tǒng)的核心部分;(2)keil5是一個(gè)用于軟件平臺(tái)的程序;(3)畫原理圖用AD;(4)編程語言用C語言;(5)設(shè)計(jì)結(jié)構(gòu)框圖。圖4.1模塊原理圖4.2超聲波測距軟件設(shè)計(jì)通過應(yīng)力作為驅(qū)動(dòng)力,超聲波傳感器和超聲波發(fā)射器都能夠檢測到物體的運(yùn)動(dòng)。其中,應(yīng)力指的是物體受到電場的作用而產(chǎn)生的應(yīng)力,而這種應(yīng)力又會(huì)導(dǎo)致物體的運(yùn)動(dòng)。當(dāng)外界的正電荷和壓電陶瓷的極化正電荷發(fā)生碰撞,而當(dāng)外界的負(fù)電荷發(fā)生碰撞,這兩種電荷就會(huì)發(fā)生互抵,從而使得壓電陶瓷的厚度和長短發(fā)生減少或增大。但是,如果外界的極性發(fā)生了逆轉(zhuǎn),那么這種情況就會(huì)導(dǎo)致壓電陶瓷的厚度和長短發(fā)生增大或減小。使用雙晶振子的超聲波傳感器,將雙壓電陶瓷片按照逆向的極性排列,使得一片延展,而另一片則收緊。為了更好地傳輸信號(hào),雙晶振子的兩面均涂有薄膜電極,并且將電極的兩端分別連接至振動(dòng)板和電極的兩個(gè)端,從而實(shí)現(xiàn)超聲波傳感器的傳輸。在開啟系統(tǒng)前,主程序會(huì)進(jìn)行必要的準(zhǔn)備,以確保它能夠正常運(yùn)行。其中,T0的定時(shí)器模式是16位的,這是一個(gè)開啟的起點(diǎn)。隨著時(shí)間的推移,我們會(huì)開啟一個(gè)新的時(shí)刻,這個(gè)時(shí)刻的定時(shí)器會(huì)以40khz的方波,并且會(huì)以12MHZ的晶振,以及1us的機(jī)械周期,以此來確定被測物與測距設(shè)備的位置。一旦,我們就會(huì)根據(jù)定時(shí)器T0的時(shí)刻(也就是超聲波的傳播時(shí)長),準(zhǔn)確地估算它們的位置,并以圖形的形式展現(xiàn)給大家。一旦電路被激活,T1就會(huì)啟動(dòng)一個(gè)時(shí)間周期,并且將信號(hào)傳輸至65ms,然后T1就會(huì)觸發(fā)一個(gè)中斷,并且向其他信號(hào)發(fā)射一個(gè)40khz的脈沖信號(hào),從而實(shí)現(xiàn)信號(hào)的反向傳輸。此外,INTO中斷的功能就是將信號(hào)從一個(gè)0狀態(tài)傳輸至另一個(gè)狀態(tài),從而實(shí)現(xiàn)信號(hào)的反向傳輸,從而達(dá)到與預(yù)先規(guī)劃的設(shè)計(jì)相一致的目的。如果發(fā)生了外界的中斷,我們需要從ENINTF0和ENINTF1位移開這些位,以防止它們被重復(fù)使用。我們可以使用軟件來移開這些位,以防止它們被重復(fù)使用。一旦發(fā)生了這種情況,我們可以立即終止這個(gè)中斷,然后繼續(xù)執(zhí)行其他的任務(wù)。通過IO口TRIG,我們能夠?qū)崿F(xiàn)對(duì)目標(biāo)物體的遠(yuǎn)程定位,并且能夠提供最低10us的高電平信息。此外,該模塊還能夠同步傳輸8個(gè)40khz的方波,從而更好地滿足定位需求。此外,當(dāng)目標(biāo)物體接收到任何一個(gè)高電平,我們還能夠根據(jù)該電平的長度來確定其反向傳播的時(shí)長。通過這個(gè)模塊,我們能夠快速準(zhǔn)確地測量物體的位置.這個(gè)過程非常容易,只需要將電平調(diào)節(jié)至10US或更大,然后將電平調(diào)節(jié)至適合的時(shí)長,便能夠獲得所需的位置信息。這個(gè)過程的時(shí)長與聲速成正比,因此,我們能夠輕松地完成對(duì)物體的位置測量,流程圖如下。圖4.2程序流程圖4.3按鍵輸入模塊軟件設(shè)計(jì)當(dāng)系統(tǒng)初始化完成后,開始正常工作。按下不同按鍵分別執(zhí)行不同功能。當(dāng)系統(tǒng)初始化完成后,開始正常工作。按下不同按鍵分別執(zhí)行不同功能。在矩陣鍵盤??按鍵較??多時(shí)為??了減少??IO口??的運(yùn)用??,通過??按鍵排??列成矩??陣的方??式,采??用逐行??或者是??逐列掃??描,就??可以讀??出按鍵的狀態(tài)。掃描的概念????:??數(shù)碼????管掃??描????(輸出????掃??描)????原理??:????顯示第????一??位>????顯示??第????二位,????然??后循????環(huán)這??個(gè)????過程,????最??終實(shí)????現(xiàn)所??有????數(shù)碼管????同??時(shí)點(diǎn)????亮的??效????果。矩????陣??按鍵????掃描??(????輸入掃????描??)原????理:??掃????描第一????行??>掃????描第??二????行>>????>??>>????掃描??第????一列>????>??掃描????第二??列????>>得????出??按鍵????位置??,工作流程圖如下。圖4.3按鍵輸入模塊工作流程圖4.4LCD顯示屏模塊軟件設(shè)計(jì)當(dāng)單片機(jī)初始化完成后,系統(tǒng)開始正常工作。這個(gè)模塊可以將計(jì)算出來的數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制對(duì)照BCD碼,并將其發(fā)送到P0口,以實(shí)現(xiàn)動(dòng)態(tài)顯示。DISPLAY:PLAY:CLRP2.0SETBP2.1MOVA,40HMOVDPTR,#TABMOVCA,@A+DPTRMOVP0,ALCALLDL1MSMOVA,41HMOVCA,@A+DPTRSETBP2.0CLRP2.1MOVP0,ALCALLDL1MSDJNZR7,PLAYRETTAB:DB40H;0DB79H;1DB24H;2DB30H;3DB19H;4DB12H;5DB02H;6DB78H;7DB00H;8DB10H;9圖4.2LCD顯示屏模塊工作流程圖4.5超聲換能器陣的駐波懸浮傳輸能力在這篇文章里,我們提出了新的換能器陣元,它們既滿足了我們的設(shè)計(jì)需求,又能在懸掛狀態(tài)下工作。此外,我們還提出了將這些陣元通過特殊的結(jié)構(gòu)組裝在一起,以達(dá)到更好的效果。在這種情況下,我們可以通過改變諧振腔的長度來改善聲場的效果,從而提高整體的性能。通過對(duì)比不同的諧振腔長度,我們發(fā)現(xiàn),當(dāng)H=8.5mm的情況下,每個(gè)陣元都處于相應(yīng)的諧振頻率,而且2號(hào)陣元的輸入工作電流也是37.4V,因此,我們可以通過改變1號(hào)陣元的激發(fā)電流,將其逐漸升高,最終達(dá)到38.5V,以此來改變它的性質(zhì),并且可以通過這種方式來改變它的參數(shù),以達(dá)到更好的效果。將1陣元的輸入工作電壓降低到0,然后切換到2陣元,如圖4-10所示,當(dāng)輻射端與反射端的間距達(dá)到8.5mm時(shí),改變換能器陣元的輸入工作電流的大小,就能讓直徑約4mm的氣泡小球進(jìn)行駐波懸浮傳播。第5章系統(tǒng)測試5.1主板實(shí)物圖此主板由一組散熱片,一個(gè)IO接口,四個(gè)按鍵,一塊Arduino芯片等原件組成。其設(shè)計(jì)思路為由IO接口接入電流通過Arduino芯片中編寫的程序作用在超聲波發(fā)生裝置中使其運(yùn)行,通過靠近散熱器的按鍵可以使超聲波發(fā)射器發(fā)出的頻率小幅的增加,當(dāng)使懸浮物穩(wěn)定在超聲波發(fā)射器之間時(shí)可通過位于按鍵模塊中間的兩個(gè)按鍵進(jìn)行調(diào)節(jié)使懸浮物進(jìn)行短距離的移動(dòng),隨著運(yùn)行時(shí)間的延長主板的溫度隨之升高,通過散熱片進(jìn)行降溫散熱,當(dāng)系統(tǒng)溫度升高到一定程度時(shí)蜂鳴器會(huì)警報(bào)提醒停止運(yùn)行,可通過按下靠近IO接口的按鍵使超聲波發(fā)射器的功率恢復(fù)至開始運(yùn)行的狀態(tài)。圖5.1主板完整實(shí)物圖5.2測試原理通過采用超聲波換能器,將來自外部的能量從電能變換成機(jī)械能,從而將能量發(fā)送到“聲壓節(jié)點(diǎn)”,該裝置能夠?qū)⒙暡ǖ膹?qiáng)度從低到高,并且能夠?qū)⒙暡ǖ膹?qiáng)度變換到聲壓的強(qiáng)度,從而形成駐波,從而達(dá)到能量的有效分配。通過建立一個(gè)平衡的狀態(tài),將物質(zhì)固定在超聲波發(fā)射裝置中,從而實(shí)現(xiàn)物體的懸浮效果。圖5.2是單軸聲懸浮的原理圖?;钊曉囱b在長圓管的底部,在活塞輻射面的對(duì)面設(shè)有反射器,在其間建立駐波聲場,輻射面與反射面相距為半波長的整數(shù)倍。當(dāng)聲場中的輻射壓力與物體的重力相平衡時(shí)物體即懸浮在空間中。如果改變反射器的距離或振動(dòng)器的頻率,則可以移動(dòng)物體在空間中的位置。 圖5.2超聲波懸浮基本原理圖5.3實(shí)際運(yùn)行效果圖5.3超聲波發(fā)射器水平放置工作圖第6章總結(jié)與展望6.1總結(jié)盡管調(diào)試過程中遇到了一些挑戰(zhàn),但在老師的指導(dǎo)下,我最終成功地發(fā)現(xiàn)了問題,并且采取了有效的措施來糾正設(shè)計(jì)中的缺陷,從而使系統(tǒng)軟件的運(yùn)行更加高效。這些措施主要涉及到以下幾個(gè)方面:。(1)經(jīng)過功率模塊模擬仿真,我們發(fā)現(xiàn)調(diào)試輸出值與設(shè)計(jì)要求存在較大差距。經(jīng)過仔細(xì)檢查,我們發(fā)現(xiàn)電路板焊接存在一些技術(shù)缺陷,因此需要進(jìn)行重新焊接。(2)通過使用仿真軟件,我們發(fā)現(xiàn)了一些錯(cuò)誤的代碼。經(jīng)過調(diào)整,我們發(fā)現(xiàn),在啟動(dòng)程序流程時(shí),單片機(jī)并未正常復(fù)位。為了獲得更準(zhǔn)確的結(jié)果,我們在程序流程中添加了復(fù)位程序。(3)在進(jìn)行模擬仿真時(shí),我們發(fā)現(xiàn)端口號(hào)P0存在邏輯錯(cuò)誤。雖然這并不會(huì)對(duì)最終的輸出造成影響,但是在實(shí)際的印刷制版過程中,它確實(shí)會(huì)對(duì)電源電路造成損害。經(jīng)過調(diào)查,我們發(fā)現(xiàn),當(dāng)數(shù)據(jù)信息發(fā)送錯(cuò)誤代碼時(shí),我們無法區(qū)分忙碌狀態(tài)。經(jīng)過對(duì)忙碌情況的細(xì)致分析,系統(tǒng)軟件運(yùn)行良好,而且沒有出現(xiàn)任何異常的數(shù)據(jù)信息,也沒有出現(xiàn)任何邏輯錯(cuò)誤。6.2展望通過對(duì)區(qū)域監(jiān)控管理系統(tǒng)的深入分析,我們提出了一種基于單片機(jī)的自動(dòng)控制系統(tǒng),它可以有效地實(shí)現(xiàn)制造連動(dòng),其主要設(shè)計(jì)步驟如下:(1)經(jīng)過系統(tǒng)研究,我們發(fā)現(xiàn)周圍環(huán)境會(huì)對(duì)檢測設(shè)備產(chǎn)生重要影響。因此,我們提出了一種新的系統(tǒng),它能夠自動(dòng)控制聲音大小和指令,保證安全工作區(qū)域的監(jiān)控管理;(2)為了解決前面提到的問題,我們提出了一個(gè)新的方案,即使用聲音感應(yīng)器來收集數(shù)據(jù),并使用單片機(jī)來控制整個(gè)系統(tǒng)。雖然模擬仿真表明所有設(shè)計(jì)都符合技術(shù)規(guī)范,但是系統(tǒng)軟件仍存在一些缺陷,需要在今后的研究中加以完善。(3)在本設(shè)計(jì)中,我們沒有采用任何誤差控制的優(yōu)化算法,而是采用了PID優(yōu)化算法、模糊算法、神經(jīng)網(wǎng)絡(luò)控制算法等更加精確的控制方法,從而大大提升了實(shí)施的效率。(4)在未來的工作和學(xué)習(xí)中,工業(yè)觸摸屏可以通過引入計(jì)算機(jī)接口來實(shí)現(xiàn)更加高效的數(shù)據(jù)傳輸,比如通過智能手機(jī)APP實(shí)現(xiàn)實(shí)時(shí)的語音數(shù)據(jù)交互,從而使工作人員可以隨時(shí)隨地監(jiān)控機(jī)器的運(yùn)行狀態(tài)。參考文獻(xiàn)[1]常穎,楊志剛,吳博達(dá),程光明,田豐君,彭太江.超聲波懸浮性能及承載能力的實(shí)驗(yàn)研究[J].壓電與聲光,2019,27(2):197-199.[2]潘松,王冬,黃衛(wèi)清.基于超聲懸浮的微扭矩測量系統(tǒng)[J].傳感器與微系統(tǒng),2020(7):134-136.[3]王冬,潘松,黃衛(wèi)清.一種新型超聲的設(shè)計(jì)及實(shí)驗(yàn)研究[J].壓電與聲光,2019,32(6):926-928.[4]喬玉林,楊善林,臧艷,董新宇.超聲振動(dòng)對(duì)不同黏度潤滑油摩擦學(xué)性能的影響[J].潤滑與密封,2018,37(4):6-9.[5]包鋼,高焓,程廷海,肖承豐,李華.超聲減摩技術(shù)及其在氣動(dòng)系統(tǒng)中的應(yīng)用研究與展望[J].液壓與氣動(dòng),2020,0(3):1-10.[6]王洪臣,楊志剛,劉磊,楊利.基于軸向支撐超聲波懸浮高速電機(jī)的研究[J].壓電與聲光,2019,37(5):833-837.[7]王洪臣,楊利,楊志剛,劉磊.超聲振動(dòng)承載氣膜對(duì)電機(jī)轉(zhuǎn)子懸浮支承與減摩的研究[J].潤滑與密封,2018,40(12):66-70.[8]王洪臣,李錕,吳波,楊利,楊志剛.基于超聲波懸浮支撐的高速電機(jī)的設(shè)計(jì)[J].機(jī)床與液壓,2020,0(3):78-80.[9]常穎,吳博達(dá),楊志剛,程光明,田豐君.超聲波懸浮推力承載能力及減摩性能[J].吉林大學(xué)學(xué)報(bào):工學(xué)版,2018,34(2):222-225.[10]STMICROELECTRONICS.STM32F103xEDataSheet[J].STMICROELECTRONICS,2020(1):32-35.[11]Stalin.AsurveyofBluetoothdatatransmission[J].ActacommunicationsSinica,2020,33(4):143-151.Citation:60.[12]Smith.Designandimplementationofremoteintelligentdoorcontrolsystembasedonraspberrypie[J].Intelligentcomputerandapplication,2018,8(3):79-83.[13]Jackson.Designofintelligenthomedoorcontrolsystembasedonsinglechipmicrocomputer[J].Industrialtechnology,2019,0(19):105-105.[14]Stalin.AsurveyofBluetoothdatatransmission[J].ActacommunicationsSinica,2020,33(4):143-151.Citation:60.[15]Smith.Designandimplementationofremoteintelligentdoorcontrolsystembasedonraspberrypie[J].Intelligentcomputerandapplication,2018,8(3):79-83.[16]Jackson.Designofintelligenthomedoorcontrolsystembasedonsinglechipmicrocomputer[J].Industrialtechnology,2019,0(19):105-105.[17]ChowJC,WatsonJG,LuZQ,etal.DescriptiveanalysisofPM2.5andPM10atregionallyrepresentativelocationsdur-ingSJVAQS/AUSPEX[J].AtmosphericEnvironment,2019,30:2079-2112.附錄電路圖A圖A.1電路原理圖源代碼/**************************************************************************//***@filecore_cm3.c*@briefCMSISCortex-M3CorePeripheralAccessLayerSourceFile*@versionV1.30*@date30.October2009**@note*Copyright(C)2009ARMLimited.Allrightsreserved.**@par*ARMLimited(ARM)issupplyingthissoftwareforusewithCortex-M*processorbasedmicrocontrollers.Thisfilecanbefreelydistributed*withindevelopmenttoolsthataresupportingsuchARMbasedprocessors.**@par*THISSOFTWAREISPROVIDED"ASIS".NOWARRANTIES,WHETHEREXPRESS,IMPLIED*ORSTATUTORY,INCLUDING,BUTNOTLIMITEDTO,IMPLIEDWARRANTIESOF*MERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEAPPLYTOTHISSOFTWARE.*ARMSHALLNOT,INANYCIRCUMSTANCES,BELIABLEFORSPECIAL,INCIDENTAL,OR*CONSEQUENTIALDAMAGES,FORANYREASONWHATSOEVER.*******************************************************************************/#include<stdint.h>/*definecompilerspecificsymbols*/#ifdefined(__CC_ARM)#define__ASM__asm/*!<asmkeywordforARMCompiler*/#define__INLINE__inline/*!<inlinekeywordforARMCompiler*/#elifdefined(__ICCARM__)#define__ASM__asm/*!<asmkeywordforIARCompiler*/#define__INLINEinline/*!<inlinekeywordforIARCompiler.OnlyavaiableinHighoptimizationmode!*/#elifdefined(__GNUC__)#define__ASM__asm/*!<asmkeywordforGNUCompiler*/#define__INLINEinline/*!<inlinekeywordforGNUCompiler*/#elifdefined(__TASKING__)#define__ASM__asm/*!<asmkeywordforTASKINGCompiler*/#define__INLINEinline/*!<inlinekeywordforTASKINGCompiler*/#endif/*###################CompilerspecificIntrinsics###########################*/#ifdefined(__CC_ARM)/*RealViewCompiler*//*ARMarmccspecificfunctions*//***@briefReturntheProcessStackPointer**@returnProcessStackPointer**Returntheactualprocessstackpointer*/__ASMuint32_t__get_PSP(void){mrsr0,pspbxlr}/***@briefSettheProcessStackPointer**@paramtopOfProcStackProcessStackPointer**AssignthevalueProcessStackPointertotheMSP*(processstackpointer)Cortexprocessorregister*/__ASMvoid__set_PSP(uint32_ttopOfProcStack){msrpsp,r0bxlr}/***@briefReturntheMainStackPointer**@returnMainStackPointer**ReturnthecurrentvalueoftheMSP(mainstackpointer)*Cortexprocessorregister*/__ASMuint32_t__get_MSP(void){mrsr0,mspbxlr}/***@briefSettheMainStackPointer**@paramtopOfMainStackMainStackPointer**AssignthevaluemainStackPointertotheMSP*(mainstackpointer)Cortexprocessorregister*/__ASMvoid__set_MSP(uint32_tmainStackPointer){msrmsp,r0bxlr}/***@briefReversebyteorderinunsignedshortvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinunsignedshortvalue*/__ASMuint32_t__REV16(uint16_tvalue){rev16r0,r0bxlr}/***@briefReversebyteorderinsignedshortvaluewithsignextensiontointeger**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinsignedshortvaluewithsignextensiontointeger*/__ASMint32_t__REVSH(int16_tvalue){revshr0,r0bxlr}#if(__ARMCC_VERSION<400000)/***@briefRemovetheexclusivelockcreatedbyldrex**Removestheexclusivelockwhichiscreatedbyldrex.*/__ASMvoid__CLREX(void){clrex}/***@briefReturntheBasePriorityvalue**@returnBasePriority**Returnthecontentofthebasepriorityregister*/__ASMuint32_t__get_BASEPRI(void){mrsr0,basepribxlr}/***@briefSettheBasePriorityvalue**@parambasePriBasePriority**Setthebasepriorityregister*/__ASMvoid__set_BASEPRI(uint32_tbasePri){msrbasepri,r0bxlr}/***@briefReturnthePriorityMaskvalue**@returnPriMask**Returnstateoftheprioritymaskbitfromtheprioritymaskregister*/__ASMuint32_t__get_PRIMASK(void){mrsr0,primaskbxlr}/***@briefSetthePriorityMaskvalue**@parampriMaskPriMask**Settheprioritymaskbitintheprioritymaskregister*/__ASMvoid__set_PRIMASK(uint32_tpriMask){msrprimask,r0bxlr}/***@briefReturntheFaultMaskvalue**@returnFaultMask**Returnthecontentofthefaultmaskregister*/__ASMuint32_t__get_FAULTMASK(void){mrsr0,faultmaskbxlr}/***@briefSettheFaultMaskvalue**@paramfaultMaskfaultMaskvalue**Setthefaultmaskregister*/__ASMvoid__set_FAULTMASK(uint32_tfaultMask){msrfaultmask,r0bxlr}/***@briefReturntheControlRegistervalue**@returnControlvalue**Returnthecontentofthecontrolregister*/__ASMuint32_t__get_CONTROL(void){mrsr0,controlbxlr}/***@briefSettheControlRegistervalue**@paramcontrolControlvalue**Setthecontrolregister*/__ASMvoid__set_CONTROL(uint32_tcontrol){msrcontrol,r0bxlr}#endif/*__ARMCC_VERSION*/#elif(defined(__ICCARM__))/*ICCCompiler*//*IARiccarmspecificfunctions*/#pragmadiag_suppress=Pe940/***@briefReturntheProcessStackPointer**@returnProcessStackPointer**Returntheactualprocessstackpointer*/uint32_t__get_PSP(void){__ASM("mrsr0,psp");__ASM("bxlr");}/***@briefSettheProcessStackPointer**@paramtopOfProcStackProcessStackPointer**AssignthevalueProcessStackPointertotheMSP*(processstackpointer)Cortexprocessorregister*/void__set_PSP(uint32_ttopOfProcStack){__ASM("msrpsp,r0");__ASM("bxlr");}/***@briefReturntheMainStackPointer**@returnMainStackPointer**ReturnthecurrentvalueoftheMSP(mainstackpointer)*Cortexprocessorregister*/uint32_t__get_MSP(void){__ASM("mrsr0,msp");__ASM("bxlr");}/***@briefSettheMainStackPointer**@paramtopOfMainStackMainStackPointer**AssignthevaluemainStackPointertotheMSP*(mainstackpointer)Cortexprocessorregister*/void__set_MSP(uint32_ttopOfMainStack){__ASM("msrmsp,r0");__ASM("bxlr");}/***@briefReversebyteorderinunsignedshortvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinunsignedshortvalue*/uint32_t__REV16(uint16_tvalue){__ASM("rev16r0,r0");__ASM("bxlr");}/***@briefReversebitorderofvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebitorderofvalue*/uint32_t__RBIT(uint32_tvalue){__ASM("rbitr0,r0");__ASM("bxlr");}/***@briefLDRExclusive(8bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor8bitvalues)*/uint8_t__LDREXB(uint8_t*addr){__ASM("ldrexbr0,[r0]");__ASM("bxlr");}/***@briefLDRExclusive(16bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor16bitvalues*/uint16_t__LDREXH(uint16_t*addr){__ASM("ldrexhr0,[r0]");__ASM("bxlr");}/***@briefLDRExclusive(32bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor32bitvalues*/uint32_t__LDREXW(uint32_t*addr){__ASM("ldrexr0,[r0]");__ASM("bxlr");}/***@briefSTRExclusive(8bit)**@paramvaluevaluetostore*@param*addraddresspointer*@returnsuccessful/failed**ExclusiveSTRcommandfor8bitvalues*/uint32_t__STREXB(uint8_tvalue,uint8_t*addr){__ASM("strexbr0,r0,[r1]");__ASM("bxlr");}/***@briefSTRExclusive(16bit)**@paramvaluevaluetostore*@param*addraddresspointer*@returnsuccessful/failed**ExclusiveSTRcommandfor16bitvalues*/uint32_t__STREXH(uint16_tvalue,uint16_t*addr){__ASM("strexhr0,r0,[r1]");__ASM("bxlr");}/***@briefSTRExclusive(32bit)**@paramvaluevaluetostore*@param*addraddresspointer*@returnsuccessful/failed**ExclusiveSTRcommandfor32bitvalues*/uint32_t__STREXW(uint32_tvalue,uint32_t*addr){__ASM("strexr0,r0,[r1]");__ASM("bxlr");}#pragmadiag_default=Pe940#elif(defined(__GNUC__))/*GNUCompiler*//*GNUgccspecificfunctions*//***@briefReturntheProcessStackPointer**@returnProcessStackPointer**Returntheactualprocessstackpointer*/uint32_t__get_PSP(void)__attribute__((naked));uint32_t__get_PSP(void){uint32_tresult=0;__ASMvolatile("MRS%0,psp\n\t""MOVr0,%0\n\t""BXlr\n\t":"=r"(result));return(result);}/***@briefSettheProcessStackPointer**@paramtopOfProcStackProcessStackPointer**AssignthevalueProcessStackPointertotheMSP*(processstackpointer)Cortexprocessorregister*/void__set_PSP(uint32_ttopOfProcStack)__attribute__((naked));void__set_PSP(uint32_ttopOfProcStack){__ASMvolatile("MSRpsp,%0\n\t""BXlr\n\t"::"r"(topOfProcStack));}/***@briefReturntheMainStackPointer**@returnMainStackPointer**ReturnthecurrentvalueoftheMSP(mainstackpointer)*Cortexprocessorregister*/uint32_t__get_MSP(void)__attribute__((naked));uint32_t__get_MSP(void){uint32_tresult=0;__ASMvolatile("MRS%0,msp\n\t""MOVr0,%0\n\t""BXlr\n\t":"=r"(result));return(result);}/***@briefSettheMainStackPointer**@paramtopOfMainStackMainStackPointer**AssignthevaluemainStackPointertotheMSP*(mainstackpointer)Cortexprocessorregister*/void__set_MSP(uint32_ttopOfMainStack)__attribute__((naked));void__set_MSP(uint32_ttopOfMainStack){__ASMvolatile("MSRmsp,%0\n\t""BXlr\n\t"::"r"(topOfMainStack));}/***@briefReturntheBasePriorityvalue**@returnBasePriority**Returnthecontentofthebasepriorityregister*/uint32_t__get_BASEPRI(void){uint32_tresult=0;__ASMvolatile("MRS%0,basepri_max":"=r"(result));return(result);}/***@briefSettheBasePriorityvalue**@parambasePriBasePriority**Setthebasepriorityregister*/void__set_BASEPRI(uint32_tvalue){__ASMvolatile("MSRbasepri,%0"::"r"(value));}/***@briefReturnthePriorityMaskvalue**@returnPriMask**Returnstateoftheprioritymaskbitfromtheprioritymaskregister*/uint32_t__get_PRIMASK(void){uint32_tresult=0;__ASMvolatile("MRS%0,primask":"=r"(result));return(result);}/***@briefSetthePriorityMaskvalue**@parampriMaskPriMask**Settheprioritymaskbitintheprioritymaskregister*/void__set_PRIMASK(uint32_tpriMask){__ASMvolatile("MSRprimask,%0"::"r"(priMask));}/***@briefReturntheFaultMaskvalue**@returnFaultMask**Returnthecontentofthefaultmaskregister*/uint32_t__get_FAULTMASK(void){uint32_tresult=0;__ASMvolatile("MRS%0,faultmask":"=r"(result));return(result);}/***@briefSettheFaultMaskvalue**@paramfaultMaskfaultMaskvalue**Setthefaultmaskregister*/void__set_FAULTMASK(uint32_tfaultMask){__ASMvolatile("MSRfaultmask,%0"::"r"(faultMask));}/***@briefReturntheControlRegistervalue**@returnControlvalue**Returnthecontentofthecontrolregister*/uint32_t__get_CONTROL(void){uint32_tresult=0;__ASMvolatile("MRS%0,control":"=r"(result));return(result);}/***@briefSettheControlRegistervalue**@paramcontrolControlvalue**Setthecontrolregister*/void__set_CONTROL(uint32_tcontrol){__ASMvolatile("MSRcontrol,%0"::"r"(control));}/***@briefReversebyteorderinintegervalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinintegervalue*/uint32_t__REV(uint32_tvalue){uint32_tresult=0;__ASMvolatile("rev%0,%1":"=r"(result):"r"(value));return(result);}/***@briefReversebyteorderinunsignedshortvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinunsignedshortvalue*/uint32_t__REV16(uint16_tvalue){uint32_tresult=0;__ASMvolatile("rev16%0,%1":"=r"(result):"r"(value));return(result);}/***@briefReversebyteor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論