版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要電子水平儀是一種非常普遍的測(cè)量小角度的量具。用它可測(cè)量對(duì)于水平位置的傾斜度。基于傳感器、數(shù)字信號(hào)處理、單片機(jī)技術(shù)的數(shù)字水平儀是當(dāng)前傾角測(cè)試儀器數(shù)字化發(fā)展的方向。本畢業(yè)設(shè)計(jì)就是采用STC89C52單片機(jī)和ADI公司生產(chǎn)的三軸加速度傳感器ADXL345相結(jié)合,利用ADXL345三軸加速度傳感器感應(yīng)水平傾角,通過(guò)單片機(jī)的控制以及運(yùn)算將傾角以數(shù)值的形式直接在LCD顯示屏上進(jìn)行顯示、處理,從而使角度測(cè)量變得方便、快捷, 實(shí)現(xiàn)了傾角的高精度測(cè)量。通過(guò)ADXL345三軸加速度傳感器原理,提出了使用軟件和硬件結(jié)合的自動(dòng)校正技術(shù)進(jìn)行測(cè)量角度,最大限度簡(jiǎn)化了電路,提高了系統(tǒng)的穩(wěn)定性和可靠性。通過(guò)對(duì)本課題的研
2、究,讓我對(duì)水平儀有了一定的了解,在未來(lái)水平儀將在建筑方面起著重要作用,并且隨著時(shí)代發(fā)展,水平儀對(duì)角度的測(cè)量將越來(lái)越精細(xì),隨著光學(xué)應(yīng)用領(lǐng)域的不斷擴(kuò)展,也相應(yīng)的產(chǎn)生了一些基于光電原理的光電式水平儀和激光式水平儀,光電原理的應(yīng)用將是未來(lái)水平儀的發(fā)展方向。關(guān)鍵詞:智能水平儀;單片機(jī);ADXL345;角度AbstractElectronic level gauge is a very common small angle measurement. Measurement for the horizontal position of the inclination to use it. Based on
3、the digital level sensor, digital signal processing, computer technology is the current development of digital instrument tilt testing instrument in the direction of.This graduation design is the use of three axis accelerometer ADXL345 microcontroller STC89C52 and ADI company production of combinati
4、on, using the ADXL345 three axis acceleration sensor level angle, processing through the MCU control and operation will dip in numerical form directly in the LCD screen display, so that the angle measuring is convenient, quick, realize high precision measurement of angle. The principle of the ADXL34
5、5 three axis accelerometer, and proposes to use the combination of hardware and software of the automatic calibration technique for measuring the angle, the maximum simplifies the circuit, improves the stability and reliability of the system. This graduation design is the use of three axis accelerom
6、eter ADXL345 microcontroller STC89C52 and ADI company production of combination, using the ADXL345 three axis acceleration sensor level angle, processing through the MCU control and operation will dip in numerical form directly in the LCD screen display, so that the angle measuring is convenient, qu
7、ick, realize high precision measurement of angle. The principle of the ADXL345 three axis accelerometer, and proposes to use the combination of hardware and software of the automatic calibration technique for measuring the angle, the maximum simplifies the circuit, improves the stability and reliabi
8、lity of the system.Keywords: Intelligent level; MCU; ADXL345; angle 目 錄1 緒 論11.1 課題研究背景和意義11.2 國(guó)內(nèi)外水平儀發(fā)展現(xiàn)狀和趨勢(shì)11.3 系統(tǒng)設(shè)計(jì)的主要工作11.4 論文結(jié)構(gòu)及安排22 三軸加速度傳感器感應(yīng)原理32.1 ADXL345工作原理32.2 ADXL345寄存器映射52.3 ADXL345主要寄存器定義介紹62.4 測(cè)量?jī)A斜角度原理82.4.1 加速度傳感器進(jìn)行傾角測(cè)量簡(jiǎn)介82.4.2 ADXL345測(cè)量角度原理93 水平儀總體設(shè)計(jì)123.1 水平儀硬件設(shè)計(jì)123.1.1 單片機(jī)模塊133.1.2
9、 LCD液晶顯示模塊143.1.3 ADXL345接口設(shè)計(jì)163.1.4 ADXL345加速度傳感器模塊183.2 水平儀軟件設(shè)計(jì)203.2.1 I2C總線協(xié)議分析213.2.2 液晶顯示驅(qū)動(dòng)程序設(shè)計(jì)253.2.3 ADXL345加速度傳感器軟件模塊283.2.4 ADXL345加速度傳感器誤差校準(zhǔn)284 實(shí)驗(yàn)數(shù)據(jù)及總結(jié)30結(jié) 論33致 謝34附錄A 英文原文37附錄 B 漢語(yǔ)翻譯41附錄 C 主程序44附錄 D 電路原理圖551 緒 論1.1 課題研究背景和意義在高樓橋梁等建筑行業(yè),對(duì)建筑物自身在水平面傾斜度的測(cè)量和處理,需要一個(gè)能連續(xù)工作幾個(gè)月甚至一年以上采樣進(jìn)度很高的數(shù)字水平儀系統(tǒng),這就
10、要求該系統(tǒng)必須具有高精度微功耗的功能。水平儀從過(guò)去簡(jiǎn)單的氣泡水平儀到現(xiàn)在的電子水平儀已經(jīng)歷經(jīng)多次更新。電子水平儀是一種非常急需的測(cè)量小角度的量具。 隨著精密制造技術(shù)的發(fā)展,已有的電子水平儀不能滿足精度要求,國(guó)內(nèi)數(shù)顯式電子水平儀靈敏度,反應(yīng)時(shí)間等與國(guó)外相比,差距較大。研究分辨率更高,性能更好的智能電子水平儀具有重要意義。 為了提高水平儀的測(cè)量精度,擺脫傳統(tǒng)水平儀智能化程度低、數(shù)據(jù)處理能力差、抗震能力差等缺點(diǎn),必須利用現(xiàn)代科技設(shè)計(jì)一種新的水平儀。基于MEMS傳感器、數(shù)字信號(hào)處理、單片機(jī)的智能水平儀是今后水平儀的發(fā)展方向,可以應(yīng)用于建筑、石油、煤礦和地質(zhì)勘探等領(lǐng)域。本畢業(yè)設(shè)計(jì)將STC89C52單片機(jī)
11、和ADI公司生產(chǎn)的三軸加速度傳感器ADXL345相結(jié)合,實(shí)現(xiàn)了高精度數(shù)顯智能水平儀的設(shè)計(jì)。1.2 國(guó)內(nèi)外水平儀發(fā)展現(xiàn)狀和趨勢(shì)目前國(guó)內(nèi)已有的水平儀不能很好的滿足生產(chǎn)和應(yīng)用的需求,國(guó)內(nèi)電子水平儀的生產(chǎn)和研制能力與國(guó)外相比相對(duì)落后。尤其是存在著智能化程度不高,對(duì)數(shù)據(jù)缺乏處理能力,無(wú)法一次性測(cè)量出被測(cè)面傾斜角和方位角等缺點(diǎn)。近年來(lái),國(guó)內(nèi)在水平儀的研制開(kāi)發(fā)方面取得了不少進(jìn)展。國(guó)外蒸蒸日上,廠家繁多,種類齊全,速度越來(lái)越快,功耗越來(lái)越低,性能越來(lái)越強(qiáng),國(guó)內(nèi)除臺(tái)灣做的比較好外,大陸也有幾家具備研發(fā)和生產(chǎn)能力,如上海華虹、海爾等,只不過(guò)大陸產(chǎn)品占的市場(chǎng)份額太小了1.3 系統(tǒng)設(shè)計(jì)的主要工作 本畢業(yè)設(shè)計(jì)的主要目標(biāo)
12、是利用單片機(jī)和三軸加速度傳感器,設(shè)計(jì)一種高精度、大角度測(cè)量范圍、實(shí)時(shí)顯示、便攜式的智能水平儀。該水平儀測(cè)量的角度顯示在90以內(nèi),并且能通過(guò)三個(gè)軸的加速度正負(fù)值,判斷角度的傾斜方向,同時(shí),由于本系統(tǒng)是基于MEMS技術(shù),因此即使在惡劣的現(xiàn)場(chǎng)工業(yè)環(huán)境中,仍能表現(xiàn)出優(yōu)秀可靠的性能。經(jīng)過(guò)文獻(xiàn)的翻閱和芯片資料的對(duì)比,選擇了一套可行的方案。在硬件方面,可以用于測(cè)量?jī)A角的芯片有三種類型,分別是ADXL345三軸加速度傳感器、mma7455三軸加速度傳感器、三軸陀螺儀。通過(guò)對(duì)比,ADXL345具備數(shù)字輸出,高精度(3.9mg/LSB),誤差小等優(yōu)點(diǎn),因此選擇了ADXL345芯片作為測(cè)量?jī)A角的傳感器。同時(shí)選擇了集
13、成了單片機(jī)、LCD液晶顯示屏和一些基本元件的開(kāi)發(fā)板,減少設(shè)計(jì)的時(shí)間和復(fù)雜度。在軟件方面,采用C語(yǔ)言在Keil軟件中編程,使用I2C通信方式實(shí)現(xiàn)單片機(jī)和傳感器的數(shù)據(jù)傳輸;利用數(shù)學(xué)方法推倒出的角度計(jì)算公式計(jì)算角度大?。蛔詈蠼?jīng)過(guò)實(shí)際測(cè)量角度,計(jì)算出傳感器的測(cè)量誤差,在偏移寄存器中進(jìn)行校準(zhǔn)。1.4 論文結(jié)構(gòu)及安排本文將圍繞設(shè)計(jì)一個(gè)完整的電容式傳感器信號(hào)處理系統(tǒng)的過(guò)程展開(kāi),包括角度轉(zhuǎn)換模塊和數(shù)據(jù)處理模塊。本文主要內(nèi)容如下:第1章,緒論,闡述了選題背景和意義,分析了國(guó)內(nèi)外相關(guān)技術(shù)的發(fā)展動(dòng)態(tài)及研究現(xiàn)狀,并對(duì)本論文的主要工作進(jìn)行了介紹。第2章,通過(guò)對(duì)角度轉(zhuǎn)換中涉及的三軸加速度傳感器以及數(shù)據(jù)處理中涉及的A/D轉(zhuǎn)
14、換、數(shù)碼顯示等各部分綜合分析,確定本系統(tǒng)的總體方案,并給出系統(tǒng)總體結(jié)構(gòu)框圖,為后續(xù)設(shè)計(jì)做準(zhǔn)備。 第3章,先簡(jiǎn)單介紹了智能水平儀的硬件設(shè)計(jì)、軟件技術(shù),并對(duì)其選型和性能進(jìn)行分析。 第4章,設(shè)計(jì)結(jié)果實(shí)現(xiàn),分析數(shù)據(jù)。2 三軸加速度傳感器感應(yīng)原理2.1 ADXL345工作原理 ADXL345是一款小而薄的超低功耗三軸加速度測(cè)量系統(tǒng)(如圖2.1所示),分辨率高達(dá)13位,可選擇的測(cè)量范圍有2g,4g,8g或16g。數(shù)字輸出數(shù)據(jù)格式為16位二進(jìn)制補(bǔ)碼。ADXL345非常適合應(yīng)用在移動(dòng)設(shè)備中,它既能測(cè)量運(yùn)動(dòng)或沖擊導(dǎo)致的動(dòng)態(tài)加速度,也能測(cè)量靜止加速度,例如重力加速度,使得器件可作為傾斜傳感器使用。其高分辨率(3.
15、9mg/LSB)能夠測(cè)量不到1.0的傾斜角度變化。ADXL345的主要特性如下:超低功耗:Vs=2.5V時(shí)(典型值),測(cè)量模式下為23A,待機(jī)模式下為0.1A;用戶可以選擇不同的量程和分辨率,2g(10bit), 4g(11bit), 8g(12bit), 16g(13bit);(1)電源電壓范圍:2.0V至3.6V;I/O電壓范圍:1.7V至3.5VS;(2)SPI模式(3線和4線)和I2C模式數(shù)字接口;(3)通過(guò)串行命令可選測(cè)量范圍和帶寬;(4)32級(jí)FIFO緩沖器;(5)使用溫度范圍:-40至+85;(6)抗沖擊能力:10000g;(7)小而?。?mm*5mm*1mm,LGA封裝;(8)
16、應(yīng)用范圍:手機(jī)、醫(yī)療儀器,工業(yè)儀器、儀表、個(gè)人導(dǎo)航設(shè)備等。圖2.1 ADXL345芯片該加速度傳感器提供多種特殊檢測(cè)功能?;顒?dòng)和非活動(dòng)檢測(cè)功能通過(guò)比較任意軸上的加速度與用戶設(shè)置的閾值來(lái)檢測(cè)有無(wú)運(yùn)動(dòng)發(fā)生以及在各個(gè)軸上的加速度值是否超過(guò)用戶設(shè)置的閥值。敲擊檢測(cè)功能可以檢測(cè)任意方向的單振和雙振動(dòng)作。自由落體檢測(cè)功能可以檢測(cè)器件是否正在掉落。這些功能可以獨(dú)立映射到兩個(gè)中斷輸出引腳中的一個(gè)。芯片內(nèi)部集成式存儲(chǔ)器管理系統(tǒng)采用一個(gè)32級(jí)先進(jìn)先出(FIFO)緩沖器,可用于存儲(chǔ)32個(gè)X、Y和Z軸的數(shù)據(jù)樣本集,從而將主機(jī)處理器負(fù)荷降至最低,并降低整體系統(tǒng)功耗。同時(shí),低功耗模式支持基于運(yùn)動(dòng)的智能電源管理,從而以極低
17、的功耗進(jìn)行閥值感測(cè)和運(yùn)動(dòng)加速度測(cè)量。ADXL345為多晶硅表面微加工結(jié)構(gòu),置于晶圓頂部。由于應(yīng)用加速度,多晶硅彈簧懸掛于晶圓表面的結(jié)構(gòu)之上,提供力量阻力。差分電容由獨(dú)立固定板和活動(dòng)質(zhì)量連接板組成,能對(duì)結(jié)構(gòu)偏轉(zhuǎn)進(jìn)行測(cè)量。加速度使慣性質(zhì)量偏轉(zhuǎn)、差分電容失衡,從而傳感器輸出的幅度與加速度成正比。相敏解調(diào)用于確定加速度的幅度和極性。ADXL345的工作原理是:首先有前端感應(yīng)器感測(cè)加速度大小,然后感應(yīng)電信號(hào)器件將它轉(zhuǎn)換成可識(shí)別的電信號(hào),此時(shí)的信號(hào)還是模擬信號(hào)。在芯片內(nèi)部集成了AD轉(zhuǎn)化器,因此模擬信號(hào)經(jīng)過(guò)轉(zhuǎn)化器變?yōu)閿?shù)字信號(hào)輸出。與計(jì)算機(jī)系統(tǒng)數(shù)字信號(hào)輸出類似,AD轉(zhuǎn)換器輸出的也是16位的二進(jìn)制補(bǔ)碼。數(shù)字信號(hào)
18、經(jīng)過(guò)數(shù)字濾波器的濾波處理后,在控制和中斷邏輯單元的控制下訪問(wèn)32級(jí)FIFO,單片機(jī)通過(guò)串行接口讀取三個(gè)軸的加速度數(shù)據(jù)。單片機(jī)通過(guò)對(duì)寄存器的操作,發(fā)送對(duì)串口的讀寫(xiě)命令實(shí)現(xiàn)對(duì)ADXL345的控制。芯片內(nèi)部的功能框圖如圖2.2所示。圖2.2 ADXL345芯片功能框圖2.2 ADXL345寄存器映射 表2.1 寄存器映射地址名稱類型復(fù)位值描述十六進(jìn)制十進(jìn)制0x000DEVIDR器件ID0x01-0x1C1-28保留-保留不操作0x1D29THRESH_TAPR/敲擊閾值0x1E30OFSXR/X軸偏移0x1F31OFSYR/Y軸偏移0x2032OFSZR/Z軸偏移0x2133DURR/敲擊持續(xù)時(shí)間0
19、x2234LatentR/敲擊延遲0x2335WindowR/敲擊窗口0x2436THRESH_ACTR/活動(dòng)閾值0x2537THRESH_INACTR/靜止閾值0x2638TIME_INACTR/靜止時(shí)間0x2739ACT_INACT_CTLR/軸使能控制活動(dòng)和靜止檢測(cè)0x2840THRESH_FFR/自由落體閾值0x2941TIME_FFR/自由落體時(shí)間0x2A42TAP_AXESR/單擊/雙擊軸控制0x2B43ACT_TAP_STATUSR單擊/雙擊源0x2C44BW_RATER/數(shù)據(jù)速率及功率模式控制0x2D45POWER_CTLR/省電特性控制0x2E46INT_ENABLER/中斷
20、使能控制ADXL345共有30個(gè)寄存器(如表2.1所示),其中包括29個(gè)功能寄存器和1個(gè)識(shí)別設(shè)備標(biāo)識(shí)的只讀寄存器DEVID的,地址分別為0x1D至0x39和0x00。單片機(jī)對(duì)ADXL345的控制操作主要是通過(guò)對(duì)其寄存器的讀寫(xiě)來(lái)實(shí)現(xiàn)的,在訪問(wèn)寄存器之前要先發(fā)送一個(gè)字節(jié)的讀寫(xiě)地址信息。第7位是操作類型位,“1”表示讀操作,“0”表示寫(xiě)操作;第6位是讀寫(xiě)類型位,“1”表示多值讀寫(xiě),“0”表示單值讀寫(xiě)。字節(jié)第5位至第1位是寄存器地址,根據(jù)需要可以選擇30個(gè)寄存器中的任意一個(gè)進(jìn)行讀寫(xiě)操作,實(shí)現(xiàn)對(duì)加速度傳感器的初始化和不同功能的控制。2.3 ADXL345主要寄存器定義介紹寄存器OFSX、OFSY、OFS
21、Z(0x1E、0x1F、0x20)都是8位寄存器,在二進(jìn)制補(bǔ)碼格式中提供用戶設(shè)置偏移調(diào)整,比例因子為15.6mg/LSB。通過(guò)實(shí)際測(cè)量,確定各個(gè)軸平均的偏移量,儲(chǔ)存在這三個(gè)寄存器中,然后偏移寄存器的存儲(chǔ)值會(huì)自動(dòng)添加到加速度數(shù)據(jù)上,結(jié)果值存儲(chǔ)在輸出數(shù)據(jù)寄存器中。速率位(0x2C)能選擇器件帶寬和輸出數(shù)據(jù)速率,如表2.2所示。默認(rèn)值為0x0A,轉(zhuǎn)換后為100Hz的輸出數(shù)據(jù)速率。在本畢業(yè)設(shè)計(jì)中,選擇了適合I2C通信協(xié)議和頻率的輸出數(shù)據(jù)速率12.5Hz,十六進(jìn)制為0x08,若選擇太高的輸出數(shù)據(jù)速率和過(guò)低的通信速度會(huì)導(dǎo)致采樣的丟失,數(shù)據(jù)傳輸失敗。FIFO_CTL,設(shè)置緩存器具體的工作模式,比如Bypas
22、s、FIFO、Stream、Trigger 模式,各種模式區(qū)別如下:在Bypass 模式中,F(xiàn)IFO 緩存器是退化的,僅FIFO0存儲(chǔ)一次采樣結(jié)果,無(wú)論是否被讀取,新數(shù)據(jù)到來(lái)時(shí)將舊數(shù)據(jù)覆蓋;在FIFO 模式中,F(xiàn)IFO 緩存器不停地收集數(shù)據(jù)直到緩存器滿,此時(shí)如果沒(méi)有及時(shí)讀數(shù)據(jù),新到樣本數(shù)據(jù)將被丟棄,而當(dāng)FIFO 被讀取后,它將繼續(xù)收集新到數(shù)據(jù);在Stream 模式中,F(xiàn)IFO 緩存器不停地收集數(shù)據(jù),當(dāng)緩存器滿,自動(dòng)丟棄FIFO0,其他樣本值向前移位填充,最新數(shù)據(jù)填入FIFO31;在Trigger 模式中,F(xiàn)IFO 開(kāi)始工作與Stream 模式類似,收集樣本值直到FIFO 緩存器滿,然后丟棄最舊
23、的數(shù)據(jù),一旦觸發(fā)事件發(fā)生(由FIFO_CTL 寄存器中TRIG_SOURCE 位所定義),F(xiàn)IFO 將保留最后n 采樣值(其中n 在FIFO_CTL 寄存器中指定),然后像FIFO 模式一樣運(yùn)行,即FIFO 不滿時(shí),繼續(xù)收集新的樣本值。表2.2 輸出數(shù)據(jù)速率輸出數(shù)據(jù)速率(Hz)帶寬(Hz)速率代碼IDD(A)320016001111140160080011109080040011011404002001100140200100101114010050101014050251001902512.510006012.56.250111506.253.130110453.131.560101401.
24、560.780100340.780.390011230.390.20010230.20.10001230.10.05000023 寄存器INT_ENABLE(0x2E)字節(jié)格式如表2.3所示。寄存器設(shè)置位值為1,使能相應(yīng)功能,生成中斷;設(shè)置為0時(shí),阻止這些功能產(chǎn)生中斷。DATA_READY位、水印位和溢出位僅使能中斷輸出;這些功能總是處于使能狀態(tài),在本畢業(yè)設(shè)計(jì)中,在其輸出前進(jìn)行了中斷配置,然后讀取寄存器內(nèi)部數(shù)據(jù)。表2.3 寄存器INT_ENABLE字節(jié)格式D7D6D5D4DATA_READYSINGLE_TAPDOUBLE_TAPActivityD3D2D1D0InactivityFREE_F
25、ALLWatermarkOverrun范圍位(0x31)可以設(shè)置g范圍,如表2.4所述。在本設(shè)計(jì)中,選擇了16g范圍,全分辨率13位。 表2.4 范圍設(shè)置設(shè)置g范圍D1D0002g014g108g1116g寄存器DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0和DATAZ1(0x32至0x37)都是8位字節(jié),保存各個(gè)軸的輸出數(shù)據(jù)。寄存器0x32和0x33保存x軸輸出數(shù)據(jù),寄存器0x34和0x35保存y軸輸出數(shù)據(jù),寄存器0x36和0x37保存z軸輸出數(shù)據(jù)。輸出數(shù)據(jù)為二進(jìn)制補(bǔ)碼,DATAx0為最低有效字節(jié),DATAx1為最高有效字節(jié),其中x可代表X、Y或Z。DATA_ FORM
26、AT寄存器(地址0x31)控制數(shù)據(jù)格式。在本設(shè)計(jì)中所有寄存器都執(zhí)行多字節(jié)讀取,防止相繼寄存器讀取之間的數(shù)據(jù)變化。2.4 測(cè)量?jī)A斜角度原理2.4.1 加速度傳感器進(jìn)行傾角測(cè)量簡(jiǎn)介目前常用的確定平面系統(tǒng)傾斜的方法是對(duì)陀螺儀的輸出求積分。盡管這種方法簡(jiǎn)單明了。但隨著積分周期的增加,與零偏穩(wěn)定性相關(guān)的誤差也可能快速增大,即使當(dāng)器件處于靜止?fàn)顟B(tài)時(shí)也可能導(dǎo)致明顯的旋轉(zhuǎn)。在某些凈加速度或者重力加速度的應(yīng)用中,可以利用加速度傳感器來(lái)測(cè)量靜態(tài)傾斜角,這樣克服了陀螺儀的缺點(diǎn)。目前加速度傳感器測(cè)量角度的方法廣泛應(yīng)用于數(shù)碼相機(jī)水平檢測(cè),以及工業(yè)和醫(yī)學(xué)應(yīng)用中檢測(cè)器件方向等。利用加速度傳感器進(jìn)行傾斜檢測(cè)的基本假設(shè)是:加速
27、度只與重力相關(guān)。實(shí)際上,可以對(duì)信號(hào)輸出進(jìn)行信號(hào)處理,以消除其中的高頻組分,因而可以接受一定的交流加速度。傾斜角度檢測(cè)是利用重力矢量及其在軸上的投影來(lái)確定傾斜角由于重力是直流加速度,因此任何額外加入的直流加速度都會(huì)破壞輸出信號(hào)并且導(dǎo)致計(jì)算錯(cuò)誤。造成直流加速度的因素包括車輛以恒定速率加速時(shí)的時(shí)間,以及在加速度傳感器上導(dǎo)致向心加速度的旋轉(zhuǎn)器件。另外,當(dāng)目標(biāo)軸上的重力投影發(fā)生變化時(shí),通過(guò)重力旋轉(zhuǎn)加速度會(huì)導(dǎo)致明顯的交流加速度。在計(jì)算角度之前對(duì)加速度信號(hào)進(jìn)行的任何過(guò)濾都會(huì)影響輸出達(dá)到新靜態(tài)值的速度。綜上所述,在本畢業(yè)設(shè)計(jì)中,測(cè)量平面傾斜角度時(shí),要讓加速度傳感器在平面上保持一段時(shí)間的靜止,以保證角度測(cè)量的準(zhǔn)
28、確性。下面來(lái)介紹下ADXL345三軸加速度傳感器通過(guò)X、Y、Z軸上的重力加速度換算成傾斜角的基本原理。2.4.2 ADXL345測(cè)量角度原理通過(guò)ADXL345測(cè)量出X、Y、Z軸上的重力加速度分量大小,分別能得到X軸與水平面的夾角,Y軸與水平面的夾角,Z軸與水平面的夾角。設(shè)X軸的加速度分量為Ax,Y軸的加速度分量為Ay,Z軸的加速度分量為Az。對(duì)重力進(jìn)行力學(xué)分析可得如下公式: (2.1) (2.2) (2.3) 圖2.3 水平儀的測(cè)量數(shù)學(xué)模型示圖 水平儀測(cè)量?jī)A角的數(shù)學(xué)模型如圖2.3所示。如圖所示,DA代表X軸,DB代表Y軸,DG代表Z軸,DADB,假設(shè)X軸與水平面的夾角為,Y軸與水平面的夾角為,
29、X軸與Y軸所組成的平面DAB與水平面的夾角為。過(guò)D點(diǎn)做水平面的垂線,垂足為點(diǎn)E,那么DAE=。DBE=。過(guò)E點(diǎn)做AB的垂線與AB交于C點(diǎn),由立體幾何知識(shí)可知DCE就是平面EAB與水平面的夾角,即使水平儀要測(cè)量并顯示的角度。下面是推導(dǎo)、之間關(guān)系的過(guò)程,假設(shè)DE=1,由DEAE,DEBE可知: (2.4) 因?yàn)锳DB為直角三角形,所以: (2.5)將AB代入式(2)得: (2.6)又因?yàn)镈EC為一直角三角形,所以可得: (2.7)將式(1)代入式(5)得: (2.8)因?yàn)?,所以?(2.9)由,推出: (2.10)即可得出被測(cè)面與水平面間的夾角: (2.11)由圖2.4.1的數(shù)學(xué)模型可知,角就是加
30、速度傳感器Z軸與自然坐標(biāo)系Z軸間夾角。同理可得,加速度傳感器X軸與自然坐標(biāo)系X軸的夾角為: (2.12)加速度傳感器Y軸與自然坐標(biāo)系Y軸的夾角為: (2.13)綜上分析,因?yàn)閱纹瑱C(jī)能計(jì)算簡(jiǎn)單的反三角函數(shù),所以在程序中利用公式(2.10)就能計(jì)算出需要的傾斜角度(弧度值),再將其進(jìn)行轉(zhuǎn)化就能顯示直觀的角度值。在該畢業(yè)設(shè)計(jì)中,為了方便讀數(shù),無(wú)論Z軸的加速度值是正還是負(fù),都將的值取在0-90之間。3 水平儀總體設(shè)計(jì)電子水平儀的測(cè)量系統(tǒng)主要由單片機(jī)、ADXL345三軸加速度傳感器、數(shù)碼顯示屏以及電源四部分構(gòu)成。進(jìn)行測(cè)量時(shí),水平儀發(fā)生微小傾斜,傳感器的相對(duì)位置發(fā)生改變,按照測(cè)量算法就可得到傾斜角,結(jié)果通
31、過(guò)LED數(shù)碼顯示屏顯示出來(lái)。圖3.1 水平儀系統(tǒng)設(shè)計(jì)原理框圖 本設(shè)計(jì)在選用傳感器方面,對(duì)比了三種,最終使用了誤差小,精度高的ADXL345三軸加速度傳感器,選擇了ADXL345芯片作為測(cè)量?jī)A角的傳感器。在單片機(jī)方面最后使用了STC89C52單片機(jī),以及液晶12864LED顯示屏共同完成本設(shè)計(jì)。3.1 水平儀硬件設(shè)計(jì) 通過(guò)上述幾章的分析,在了解了ADXL345的基本工作原理之后,開(kāi)始進(jìn)行智能水平儀的硬件設(shè)計(jì)。根據(jù)設(shè)計(jì)需要確定各部分器件的選型,購(gòu)買合適的電路板,熟悉原理圖之后進(jìn)行連線測(cè)試工作。硬件是一套系統(tǒng)的“軀體”,是系統(tǒng)能夠成功運(yùn)行的基礎(chǔ),沒(méi)有一個(gè)穩(wěn)定而且可靠的硬件系統(tǒng),就無(wú)法保證系統(tǒng)的穩(wěn)定運(yùn)
32、行。硬件設(shè)計(jì)的主要任務(wù)是根據(jù)總體設(shè)計(jì)所確定方案的要求,選擇符合設(shè)計(jì)指標(biāo)所要求功能、精度、處理速度并且價(jià)格合理的器件,并在所選用元器件的基礎(chǔ)之上確定系統(tǒng)硬件擴(kuò)展所需用到的I/O 接口電路以及外圍設(shè)備電路,然后設(shè)計(jì)系統(tǒng)的原理圖,根據(jù)原理圖設(shè)計(jì) PCB電路圖,完成元器件的焊接和電氣特性測(cè)試。在該畢業(yè)設(shè)計(jì)中,我選擇了購(gòu)買已經(jīng)設(shè)計(jì)好的模塊來(lái)實(shí)現(xiàn)需要的功能。但是無(wú)論是硬件的設(shè)計(jì)還是選購(gòu)都要遵循如下原則: (1)盡可能選擇典型電路,并符合單片機(jī)的常規(guī)用法9,為硬件系統(tǒng)的常規(guī)化和模塊化打下良好的基礎(chǔ)。同時(shí)硬件系統(tǒng)的設(shè)計(jì)應(yīng)充分滿足系統(tǒng)的功能要求,并留有適當(dāng)余地,以便進(jìn)行二次開(kāi)發(fā)。(2)硬件設(shè)計(jì)應(yīng)結(jié)合軟件方案一并
33、考慮。在進(jìn)行總體設(shè)計(jì)時(shí),系統(tǒng)的整套方案應(yīng)了如指掌,充分考慮軟硬件的相互配合和相互影響。在不影響系統(tǒng)實(shí)時(shí)性的情況下,能夠由軟件實(shí)現(xiàn)的功能盡量由軟件實(shí)現(xiàn),這樣可以簡(jiǎn)化硬件結(jié)構(gòu)、節(jié)約硬件成本。 (3)系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配。如選用芯片,單片機(jī)構(gòu)成低功耗系統(tǒng)時(shí),系統(tǒng)中所有芯片都應(yīng)盡可能選擇低功耗產(chǎn)品;選用處理速度較快的處理器時(shí),系統(tǒng)中相關(guān)芯片都應(yīng)盡量選擇處理能力相近的芯片。 (4)單片機(jī)外圍電路較多時(shí),必須考慮其驅(qū)動(dòng)能力。驅(qū)動(dòng)能力不足時(shí),系統(tǒng)工作不可靠,可通過(guò)增設(shè)線驅(qū)動(dòng)器增強(qiáng)驅(qū)動(dòng)能力或減少芯片功耗來(lái)降低總線負(fù)載。根據(jù)設(shè)計(jì)的需要,將智能水平儀的硬件部分分為3個(gè)模塊:顯示模塊、單片機(jī)模塊、A
34、DXL345加速度傳感器模塊。整個(gè)系統(tǒng)的硬件框圖如圖3.2所示。 圖3.2 系統(tǒng)硬件框圖3.1.1 單片機(jī)模塊 單片機(jī)是本系統(tǒng)的核心部分,在這個(gè)模塊中包括了單片機(jī)芯片、電源電路、復(fù)位電路、繼電器電路、串行口通信電平轉(zhuǎn)換電路、鍵盤(pán)電路、數(shù)碼管電路和液晶顯示電路,如圖3.3所示。電源電路為整個(gè)系統(tǒng)提供穩(wěn)定的5V直流電,保證系統(tǒng)正常工作。串行口通信電平轉(zhuǎn)換電路既能實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)間的全雙工通信,又能用于與其它單片機(jī)通信,同時(shí)方便計(jì)算機(jī)中的程序燒寫(xiě)進(jìn)單片機(jī)。單片機(jī)的串行口具有兩條獨(dú)立的數(shù)據(jù)線:發(fā)送端TXD和接收端RXD,它允許數(shù)據(jù)同時(shí)往兩個(gè)相反的方向傳輸。一般通信時(shí)發(fā)送數(shù)據(jù)由TXD端輸出,接收數(shù)據(jù)由
35、RXD端輸入。 圖3.3 單片機(jī)硬件模塊3.1.2 LCD液晶顯示模塊為了使顯示效果更好,本畢業(yè)設(shè)計(jì)選擇了帶中文字庫(kù)的點(diǎn)陣液晶顯示屏FYD12864-0402B。該液晶屏支持4位/8位并行、2線或3線串行多種接口方式,內(nèi)置8192個(gè)16*16點(diǎn)漢字和128個(gè)16*8點(diǎn)ASCII字符集,顯示分辨率為128*64。靈活的接口方式和簡(jiǎn)單、方便的操作指令是12864顯示屏的優(yōu)點(diǎn),其基本特征如下: (1)低電源電壓(VDD為3.0V至5.5V); (2)顯示分辨率:128*64; (3)2MHz時(shí)鐘頻率; (4)驅(qū)動(dòng)方式:1/32DUTY、1/5BIAS; (5)內(nèi)置DCCD轉(zhuǎn)換電路,無(wú)需外加負(fù)壓 (6
36、)工作溫度:0+55,存儲(chǔ)溫度:-20+60; (7)背光方式:側(cè)部高亮白色LED,功率僅為普通LED的1/51/10。12864液晶顯示屏總共有20個(gè)管腳,根據(jù)表3.1的管腳功能描述,選擇并行接口模式,設(shè)計(jì)液晶屏與單片機(jī)連接的電路圖,如圖3.4所示。DB0DB7管腳連接到單片機(jī)的P0.0P0.7I/O接口,傳輸數(shù)據(jù)。RS管腳連接到單片機(jī)的P1.0端口,R/W管腳接到P1.1,EN管腳接到P1.2端口,改變?nèi)叩母叩碗娖綘顟B(tài)實(shí)現(xiàn)讀寫(xiě)不同的功能。 表3.1 并行接口管腳信號(hào)管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0-5V電源正3V0-對(duì)比度調(diào)整4RS(CS)H/LRS=1,表
37、示DB7DB0為顯示數(shù)據(jù);RS=0,表示DB7DB0為顯示指令數(shù)據(jù);5R/W(SID)H/LR/W=1,E=1,數(shù)據(jù)被讀到DB7DB0;R/W=0,E=10,DB7DB0的數(shù)據(jù)被寫(xiě)到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/L1:8位或4位并口方式,0:串口方式16NC-空腳17/RESETH/L復(fù)位端,低電平有效18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端20KVSS背
38、光源負(fù)端圖3.4 12864液晶屏模塊電路圖3.1.3 ADXL345接口設(shè)計(jì)DXL345為用戶提供SPI和I2C兩種與單片機(jī)通信的方式。在這兩種方式下ADXL345都是作為從機(jī)運(yùn)行。在該畢業(yè)設(shè)計(jì)中,采集三個(gè)軸的加速度數(shù)據(jù)和對(duì)其進(jìn)行控制操作都是通過(guò)I2C方式來(lái)完成的。下面分別介紹下這兩種通信方式。 (1) SPI通信接口設(shè)計(jì) SPI(Serial Peripheral Interface)即串行外圍設(shè)備接口,是Motorola首先在其處理器上推出的同步接口技術(shù)。每個(gè)SPI系統(tǒng)由一個(gè)主機(jī),一個(gè)或者多個(gè)從機(jī)構(gòu)成。主機(jī)是微控制器,提供SPI時(shí)鐘信號(hào);從機(jī)是接受SPI信號(hào)的集成電路,如ADXL345傳
39、感器。SPI模式可配置成3線或4線方式,4條線分別為SDI(數(shù)據(jù)輸入)、SDO(數(shù)據(jù)輸出)、SCLK(時(shí)鐘)和CS(片選)。連線方式如圖3.5和圖3.6所示。 圖3.5 ADXL345的SPI通信4線連接方式 圖3.6 ADXL345的SPI通信3線連接方式 在執(zhí)行不同不連續(xù)寄存器的讀取或?qū)懭霑r(shí),傳輸之間必須失效,新寄存器進(jìn)行另行處理。(2) I2C通信接口設(shè)計(jì)簡(jiǎn)單性和有效性是I2C總線最主要的優(yōu)點(diǎn)11。一方面,由于接口直接再組件之上,因此它占用的空間很小,減少了電路板的空間和芯片管腳數(shù)量。另一方面,總線的長(zhǎng)度最長(zhǎng)可以達(dá)到7.6米,能夠支持40個(gè)組件并以10KBPS的最大傳輸速率傳輸數(shù)據(jù)。I2
40、C另一個(gè)優(yōu)點(diǎn)是支持多主控,其中任何能夠進(jìn)行發(fā)送和接受的設(shè)備都可以成為主總線,并控制信號(hào)的傳輸和系統(tǒng)時(shí)鐘頻率。ADXL345的I2C通信過(guò)程:將引腳拉高至VDDI/O,通過(guò)簡(jiǎn)單的2線式連接,ADXL345便處于I2C模式。連線方式如圖3.6所示。如果滿足I2C總線協(xié)議規(guī)定和用戶手冊(cè),便能支持標(biāo)準(zhǔn)100kHz和快速400kHz數(shù)據(jù)傳輸模式。同時(shí)它還支持單個(gè)或者多個(gè)字節(jié)的讀取/寫(xiě)入。當(dāng)ALT ADDRESS引腳處于高電平時(shí),ADXL345的7位I2C地址是0x1D,讀寫(xiě)地址分別為0x3B和0x3A。當(dāng)ALT ADDRESS接地時(shí),可以選擇備用的I2C地址0x53,讀寫(xiě)地址分別為0xA7和0xA6。使
41、用該方式時(shí),引腳必須連接至VDDI/O,ALT ADDRESS引腳必須連接至任一VDDI/O或接地,否則任何已知狀態(tài)或默認(rèn)狀態(tài)將不存在。圖3.7 ADXL345的I2C通信連接方式3.1.4 ADXL345加速度傳感器模塊DXL345芯片共有14個(gè)管腳,管腳描述如表3.2所示。在前面已經(jīng)詳細(xì)敘述了I2C通信的基本原理,以及ADXL345與單片機(jī)I2C通信的連線方式,按照?qǐng)D3.7和引腳說(shuō)明,就能進(jìn)行ADXL345的接口設(shè)計(jì),如圖3.8所示。VDDI/O和VS接3.3V電壓,3腳和11腳的RESERVED懸空,8腳和9腳接單片機(jī)的中斷源,10腳NC懸空。12腳接地,其余3個(gè)引腳都接地。I2C通信需
42、要上拉電阻,因此11腳SCL、13腳SDA、7腳CS都接上10K的電阻。另外,需要在電源上接兩個(gè)電容,大小分別為10uF和0.1uF。最后,利用跳線將SDA和SCL腳與單片機(jī)I/O連接即可。引腳編號(hào)引腳名稱描述1VDDI/O數(shù)字接口電源電壓2GND該引腳必須接地3RESERVED保留,該引腳必須連接到VS或保持?jǐn)嚅_(kāi)4GND該引腳必須接地5GND該引腳必須接地6VS電源電壓7片選8INT1中斷1輸出9INT2中斷2輸出10NC內(nèi)部不連接11RESERVED保留,該引腳必須接地或保持?jǐn)嚅_(kāi)12SDO/ALT ADDRESS串行數(shù)據(jù)輸出(SPI 4線)/備用I2C地址選擇13SDA/SDI/SDIOI
43、2C數(shù)據(jù)/ SPI 4線數(shù)據(jù)輸入/SPI 3線數(shù)據(jù)輸入和輸出14SCL/SCLK串行通信時(shí)鐘。SCL為I2C時(shí)鐘,SCLK為SPI時(shí)鐘表3.2 ADXL345引腳描述 圖3.8 ADXL345電路模塊由于ADXL345的正常工作電壓是2.0V3.6V,而89C52單片機(jī)的工作電壓是5V,為了使ADXL345連接到系統(tǒng)電路中能正常工作,必須設(shè)計(jì)一個(gè)電平轉(zhuǎn)換電路。在本畢業(yè)設(shè)計(jì)中,利用芯片RT9161將5V輸入電壓轉(zhuǎn)換成3.3V輸出電壓,電路圖如圖3.9所示 圖3.9 電平轉(zhuǎn)換電路圖3.10 ADXL345模塊3.2 水平儀軟件設(shè)計(jì) 如果說(shuō)硬件是系統(tǒng)的“軀體”,那么軟件就是系統(tǒng)的“靈魂”。一套系統(tǒng)的
44、智能化在很大程度上是通過(guò)軟件表現(xiàn)出來(lái)的。在具有穩(wěn)定可靠硬件基礎(chǔ)的條件下,軟件對(duì)硬件系統(tǒng)各部件進(jìn)行統(tǒng)一調(diào)度,對(duì)從加速度傳感器部分采集到的數(shù)據(jù)信息進(jìn)行綜合計(jì)算處理,最終實(shí)現(xiàn)設(shè)計(jì)的各種功能。 對(duì)于本畢業(yè)設(shè)計(jì)而言,從硬件模塊的角度來(lái)講,軟件部分可以分為液晶顯示驅(qū)動(dòng)程序、單片機(jī)模塊初始化、ADXL345加速度傳感器模塊。模塊化的程序設(shè)計(jì)提高了程序的可讀性和可移植性,便于程序的調(diào)試,程序流程圖如圖3.11所示。單片機(jī)編程是使用Keil C51軟件,它是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),提供了豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具。同時(shí),程序燒錄軟件是STC官方
45、燒錄工作。單片機(jī)是整個(gè)系統(tǒng)的“心臟”,全部的軟件設(shè)計(jì)都要在單片機(jī)上運(yùn)行。但是在單片機(jī)模塊程序設(shè)計(jì)中,主函數(shù)設(shè)計(jì)的較為簡(jiǎn)單,主要內(nèi)容是單片機(jī)、LCD屏幕和ADXL345加速度傳感器的初始化,以及利用I/O端口模擬I2C讀寫(xiě)數(shù)據(jù),下面詳細(xì)介紹I2C通信協(xié)議和另外兩個(gè)模塊的程序設(shè)計(jì)。圖3.11 軟件設(shè)計(jì)流程圖3.2.1 I2C總線協(xié)議分析 I2C總線類型是由飛利浦半導(dǎo)體公司在八十年代初設(shè)計(jì)出來(lái)的,主要用來(lái)連接整體電路。隨著大規(guī)模集成電路技術(shù)的發(fā)展,單片機(jī)和外圍設(shè)備需要進(jìn)行擴(kuò)展,擴(kuò)展方式一種是并行總線,另一種是串行總線。由于串行總線連線少,結(jié)構(gòu)簡(jiǎn)單,因此飛利浦公司在十幾年前就推出I2C串行總線。I2C
46、協(xié)議是單片機(jī)與ADXL345加速度傳感器通信的協(xié)議。(1)I2C總線時(shí)序分析I2C總線具有以下幾點(diǎn)特征: 只要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL; 每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器; 它是一個(gè)真正的多主機(jī)總線,如果兩個(gè)或更多主機(jī)同時(shí)初始化,數(shù)據(jù)傳輸可以通過(guò)沖突檢測(cè)和仲裁防止數(shù)據(jù)被破壞; 串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下可達(dá)400kbit/s,高速模式下可達(dá)3.4Mbit/s; 連接到相同總線的IC數(shù)量只受到總線的最大電容400pF 限制。數(shù)據(jù)
47、位的有效性I2C總線進(jìn)行數(shù)據(jù)傳送時(shí),時(shí)鐘信號(hào)為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有在時(shí)鐘線上的信號(hào)為低電平期間,數(shù)據(jù)線上的高電平或低電平狀態(tài)才允許變化。圖3.12 I2C總線的位傳輸啟示和停止條件在I2C總線中,定義了起始條件S和停止條件P兩種情況,如圖3.13所示。當(dāng)SCL線是高電平時(shí),SDA線從高電平向低電平切換產(chǎn)生下降沿,這個(gè)情況表示起始條件。當(dāng)SCL線是高電平時(shí),SDA線由低電平向高電平切換產(chǎn)生上升沿,這個(gè)情況表示停止條件。起始條件和停止條件一般是由主機(jī)產(chǎn)生,總線在起始條件后被認(rèn)為處于忙的狀態(tài),在停止條件的時(shí)間里總線被認(rèn)為處于空閑狀態(tài)。如果產(chǎn)生重復(fù)起始條件而不產(chǎn)生停止條件,總線
48、會(huì)一直處于忙的狀態(tài),此時(shí)的起始條件(S)和重復(fù)起始條件(Sr) 在功能上是一樣的。圖3.13 起始和停止條件如果連接到總線的器件合并了必要的接口硬件,那么用它們檢測(cè)起始和停止條件是十分簡(jiǎn)便的,但是如果沒(méi)有這種接口的微控制器在每個(gè)時(shí)鐘周期至少要采樣SDA線兩次來(lái)判別是否有電平切換發(fā)生。字節(jié)格式通信過(guò)程中發(fā)送到SDA線上的每個(gè)字節(jié)必須為8位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個(gè)字節(jié)后必須跟一個(gè)響應(yīng)位(0是應(yīng)答,1是非應(yīng)答)。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB),如果從機(jī)要完成一些其他功能后才能接收或發(fā)送下一個(gè)完整的數(shù)據(jù)字節(jié),可以使時(shí)鐘線SCL保持低電平,迫使主機(jī)進(jìn)入等待狀態(tài),當(dāng)從機(jī)準(zhǔn)備好接收下一
49、個(gè)數(shù)據(jù)字節(jié)并釋放時(shí)鐘線SCL后數(shù)據(jù)傳輸繼續(xù)。應(yīng)答響應(yīng)數(shù)據(jù)傳輸必須帶響應(yīng),相關(guān)的響應(yīng)時(shí)鐘脈沖由主機(jī)產(chǎn)生。在響應(yīng)的時(shí)鐘脈沖期間發(fā)送器釋放SDA線(高)。在響應(yīng)的時(shí)鐘脈沖期間,接收器必須將SDA 線拉低,使它在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平。通常被尋址的接收器在接收到的每個(gè)字節(jié)后,除了用CBUS 地址開(kāi)頭的數(shù)據(jù),必須產(chǎn)生一個(gè)響應(yīng)。當(dāng)從機(jī)不能響應(yīng)從機(jī)地址時(shí),從機(jī)必須使數(shù)據(jù)線保持高電平,然后主機(jī)產(chǎn)生一個(gè)停止條件終止傳輸或者產(chǎn)生重復(fù)起始條件開(kāi)始新的傳輸。如果從機(jī)接收器響應(yīng)了從機(jī)地址,但是在傳輸了一段時(shí)間后不能接收更多數(shù)據(jù)字節(jié),主機(jī)必須再一次終止傳輸。這個(gè)情況用從機(jī)在第一個(gè)字節(jié)后沒(méi)有產(chǎn)生響應(yīng)來(lái)表示
50、。從機(jī)使數(shù)據(jù)線保持高電平,主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。如果傳輸中有主機(jī)接收器,它必須通過(guò)在從機(jī)不產(chǎn)生時(shí)鐘的最后一個(gè)字節(jié)不產(chǎn)生一個(gè)響應(yīng),向從機(jī)發(fā)送器通知數(shù)據(jù)結(jié)束。從機(jī)發(fā)送器必須釋放數(shù)據(jù)線,允許主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。讀寫(xiě)數(shù)據(jù)過(guò)程單片機(jī)進(jìn)行寫(xiě)操作時(shí),首先發(fā)送該器件的7位地址碼和寫(xiě)方向位“0”(共8位,即一個(gè)字節(jié)),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個(gè)應(yīng)答信號(hào),單片機(jī)在收到應(yīng)答信號(hào)后開(kāi)始傳送數(shù)據(jù)。單片機(jī)進(jìn)行讀數(shù)據(jù)時(shí),首先發(fā)送該器件的7位地址碼和寫(xiě)方向位“0”(偽寫(xiě)),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個(gè)應(yīng)答信號(hào)。然后,再發(fā)送一個(gè)字節(jié)要讀出存儲(chǔ)區(qū)的首地址,收到應(yīng)答后,單片機(jī)要重復(fù)一次起始信號(hào)并發(fā)出器件地址和讀方向位(“1”),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)答信號(hào)。當(dāng)最后一個(gè)字節(jié)數(shù)據(jù)讀完后,單片機(jī)應(yīng)返回“非應(yīng)答”信號(hào)(高電平),并發(fā)出終止信號(hào)結(jié)束讀操作。(2)單片機(jī)I/O端口作為I2C總
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高效離婚訴訟協(xié)議模板編制指南
- 兩人合伙購(gòu)車法律合同范本2024版B版
- 二零二五年度農(nóng)民工就業(yè)合同范本(勞動(dòng)權(quán)益保障)
- 2025年度智能倉(cāng)儲(chǔ)車間租賃管理合同模板3篇
- 二零二五年度出租車租賃市場(chǎng)推廣與廣告合作協(xié)議4篇
- 二零二五年度初中學(xué)校紀(jì)律教育與安全防護(hù)協(xié)議書(shū)4篇
- 二零二五版樓層套房租賃合同書(shū)(含室內(nèi)空氣凈化服務(wù))4篇
- 2025年度能源企業(yè)常年法律顧問(wèn)聘請(qǐng)合同3篇
- 2025年度體育館場(chǎng)地標(biāo)準(zhǔn)租賃與賽事宣傳推廣合同
- 2025年環(huán)保污水處理設(shè)施建設(shè)及運(yùn)營(yíng)合同4篇
- 2024年高考八省聯(lián)考地理適應(yīng)性試卷附答案解析
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書(shū)范文
- 中國(guó)高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 2024-2030年中國(guó)光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測(cè)分析研究報(bào)告
- 湖南省岳陽(yáng)市岳陽(yáng)樓區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書(shū)
- 杜仲葉藥理作用及臨床應(yīng)用研究進(jìn)展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無(wú)線廣播行業(yè)現(xiàn)狀分析
- 漢語(yǔ)言溝通發(fā)展量表(長(zhǎng)表)-詞匯及手勢(shì)(8-16月齡)
評(píng)論
0/150
提交評(píng)論