freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

兩輪自平衡小車角度檢測軟件設計畢業(yè)論文(編輯修改稿)

2025-07-25 17:05 本頁面
 

【文章內(nèi)容簡介】 //延時 SDA = 0。 //產(chǎn)生下降沿 Delay5us()。 //延時 SCL = 0。 //拉低時鐘線 }此段程序功能:I2C數(shù)據(jù)傳輸起始信號。SCL高電平時,SDA由高電平向低電平切換。 void ADXL345_Stop() { SDA = 0。 //拉低數(shù)據(jù)線 SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 SDA = 1。 //產(chǎn)生上升沿 Delay5us()。 //延時}此段程序功能:I2C數(shù)據(jù)傳輸停止信號。SCL高電平時,SDA由低電平向高電平切換。 數(shù)據(jù)傳輸格式在I2C總線起始信號后,發(fā)送到SDA線上的必須為8位的字節(jié),送出的第一個字節(jié)數(shù)據(jù)是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位,方向位為0,表示寫操作,即主器件把信息寫到所選從器件中,方向位為1,表示讀操作,即主器件從從器件讀信息。每次傳輸可以發(fā)送的字節(jié)數(shù)不受限制。每個字節(jié)后必須跟一個響應位。I2C總線的數(shù)據(jù)傳輸采用時鐘脈沖逐位串行傳送方式,在SCL低電平期間,SDA上的數(shù)據(jù)允許變化,SCL高電平期間,SDA上的數(shù)據(jù)必須保持穩(wěn)定,不能發(fā)生變化,因為此時SDA狀態(tài)的改變已被用來表示起始和停止條件,以便接收器件的采樣接收。 響應 I2C總線協(xié)議規(guī)定,數(shù)據(jù)傳輸必須帶響應,即每傳送一個字節(jié)數(shù)據(jù)后,都要有一個應答信號,以確定數(shù)據(jù)傳送是否正確。應答位的時鐘脈沖由主機產(chǎn)生。在響應的時鐘脈沖期間,發(fā)送器釋放SDA線(高)。在響應的時鐘脈沖期間,接收器必須將SDA線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低電平。 當從機不能響應從機地址時,從機必須使SDA保持高電平,表示無應答。然后主機產(chǎn)生一個停止條件終止數(shù)據(jù)傳輸。當主機為接受器件時,主機對最后一個字節(jié)不應答,以向發(fā)送器件表示數(shù)據(jù)傳送結(jié)束。此時器件應釋放SDA,以便主機產(chǎn)生一個停止信號。 設計中應答模塊的程序如下: void ADXL345_SendACK(bit ack) { SDA = ack。 //寫應答信號 SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 SCL = 0。 //拉低時鐘線 Delay5us()。 //延時 } 此段程序功能:發(fā)送應答信號。入口參數(shù):ack (0:ACK 1:NAK)。在連續(xù)讀出ADXL345內(nèi)部加速度數(shù)據(jù)模塊(),當讀取最后一個數(shù)據(jù)后,返回到函數(shù)SendACK的ack值為1,表示無應答,即終止傳輸。 bit ADXL345_RecvACK() { SCL = 1。 //拉高時鐘線 Delay5us()。 //延時 CY = SDA。 //讀應答信號 SCL = 0。 //拉低時鐘線 Delay5us()。 //延時 return CY。 } 此段程序功能:接收應答信號。 加速度傳感器模塊[10][11][13][[22][24][25] ADXL345概念ADXL345是一款小而薄的超低功耗3軸加速度計,分辨率高(13位),測量范圍達177。16g。數(shù)字輸出數(shù)據(jù)16位二進制補碼格式,可通過SPI(3線或4線)或I2C數(shù)字接口訪問。ADXL345非常適合移動設備應用。它可以在傾斜檢測應用中測量靜態(tài)重力加速度,還可以測量運動或沖擊導致的動態(tài)加速度。其高分辨率(),176。的傾斜角度變化。該器件提供多種特殊檢測功能?;顒雍头腔顒訖z測功能通過比較任意軸上的加速度與用戶設置的閾值來檢測有無運動發(fā)生。敲擊檢測功能可以檢測任意方向的單振和雙振動作。自由落體檢測功能可以檢測器件是否正在掉落。這些功能可以獨立映射到兩個中斷輸出引腳中的一個。ADXL345采用3mm5mm1mm,14引腳小型超薄塑料封裝。 ADXL345的I2C連接ADXL345的引腳配置如圖44所示,引腳功能描述如表42。圖44 引腳配置(頂視圖)表42 引腳功能描述引腳編號引腳名稱描述1VDD I/O數(shù)字接口電源電壓。2GND 該引腳必須接地。3RESERVED保留。該引腳必須連接到VS或保持斷開。4GND該引腳必須接地。5GND該引腳必須接地。6VS 電源電壓。7片選。8INT1 中斷1輸出。 9INT2 中斷2輸出。10NC 內(nèi)部不連接。11RESERVED保留。該引腳必須接地或保持斷開。12SDO/ALT ADDRESS串行數(shù)據(jù)輸出(SPI 4線)/備用I2C地址選擇(I2C) 13SDA/SDI/SDIO串行數(shù)據(jù)(I2C)/串行數(shù)據(jù)輸入(SPI 4線)/串行數(shù)據(jù)輸入和輸出(SPI 3線)。14SCL/SCLK 串行通信時鐘。SCL為I2C時鐘,SCLK為SPI時鐘。 當將引腳拉高至VDD I/O,如圖45所示,ADXL345處于I2C模式,需要簡單2線式連接。如果滿足了一系列總線參數(shù),便能支持標準 (100 kHz)和快速(400 kHz)數(shù)據(jù)傳輸模式。如圖46所示,支持單個或多個字節(jié)的讀取/寫入。ALT ADDRESS引腳處于高電平,器件的7位I2C地址是0x1D,隨后為R/位。這轉(zhuǎn)化為0x3A寫入,0x3B讀取。通過ALT ADDRESS引腳(引腳12)接地,可以選擇備用I2C地址0x53(隨后為R/W位)。這轉(zhuǎn)化為0xA6寫入,0xA7讀取。圖45 I2C連接圖對于任何不使用的引腳,沒有內(nèi)部上拉或下拉電阻,因此,引腳或ALT ADDRESS引腳懸空或不連接時,任何已知狀態(tài)或默認狀態(tài)不存在。使用I2C時,引腳必須連接至VDD I/O, ALT ADDRESS引腳必須連接至任一VDD I/O或接地。如果有其他器件連接到同一I2C總線,這些器件的額定工作電壓電平不能高于VDD I/O 。I2C正確操作需要外接上拉電阻RP。圖46 I2C器件尋址 程序設計中,ADXL345的I2C器件尋址示例: uchar Single_Read_ADXL345(uchar REG_Address){ uchar REG_data。 ADXL345_Start()。 //起始信號 ADXL345_SendByte(SlaveAddress)。 //發(fā)送設備地址+寫信號 ADXL345_SendByte(REG_Address)。 //發(fā)送存儲單元地址,從0開始 ADXL345_Start()。 //起始信號 ADXL345_SendByte(SlaveAddress+1)。 //發(fā)送設備地址+讀信號 REG_data=ADXL345_RecvByte()。 //讀出寄存器數(shù)據(jù) ADXL345_SendACK(1)。 ADXL345_Stop()。 //停止信號 return REG_data。 } 程序功能:單字節(jié)讀取。 單字節(jié)寫入和連續(xù)讀出ADXL345內(nèi)部加速度數(shù)據(jù)與此類似,都是根據(jù)圖46編寫。 ADXL345的功耗模式ADXL345自動調(diào)節(jié)功耗,與輸出數(shù)據(jù)速率成比例。如果需要額外省電,可采用低功耗模式。該模式下,內(nèi)部采樣速率降低,而噪聲略微變大。要進入低功耗模式,在BW_RATE寄存 器(地址0x2C)_中設置LOW_POWER位(位4)。表43為低功耗模式下的功耗,低功耗模式的優(yōu)勢從中可見。相對于正常功耗模式的數(shù)據(jù)速率,低功耗模式的數(shù)據(jù)速率并無任何優(yōu)勢,表43未列出。因此,低功耗模式下推薦僅使用表43所列的數(shù)據(jù)速率。表43 低功耗模式(TA = 25℃,VS = V,VDD I/O = V)下的典型功耗與數(shù)據(jù)速率輸出數(shù)據(jù)速率(Hz)帶寬(Hz)速率代碼IDD(181。A)40020010050252001005025110010111010100110000111906050454034設計中,在ADXL345的初始化模塊中有這樣一行程序:Single_Write_ADXL345(0x2C,0x08) ;從后面一節(jié)寄存器定義中知道,速率位設置為0111(D3~D0)。 ADXL345的初始化 初始化程序設計如下: void Init_ADXL345() { Single_Write_ADXL345(0x31,0x0B)。 //測量范圍,正負16g,13位模式 Single_Write_ADXL345(0x2C,0x08)。 // Single_Write_ADXL345(0x2D,0x08)。 //選擇電源模式 Single_Write_ADXL345(0x2E,0x80)。 //使能 DATA_READY 中斷 Single_Write_ADXL345(0x1E,0x00)。 //X 偏移量 Single_Write_ADXL345(0x1F,0x00)。 //Y 偏移量 Single_Write_ADXL345(0x20,0x05)。 //Z 偏移量 } ADXL345寄存器映射如表44。表44 寄存器映射地址名稱類型復位值描述十六進制十進制0x00 0 DEVIDR11100101器件ID,默認值為0xE50x01~0x1C 1~28保留R/保留,不要操作0x1D 29 THRESH_TAP R/00000000敲擊閾值0x1E30 OFSX R/00000000X軸偏移0x1F 31OFSY R/00000000Y軸偏移0x2032OFSZ R/00000000Z軸偏移0x21 33DUR R/00000000敲擊持續(xù)時間0x22 34 Latent R/00000000敲擊延遲0x2335 Window R/00000000敲擊窗口 0x24 36THRESH_ACT R/00000000活動閾值 0x25 37THRESH_INACT R/00000000靜止閾值0x26 38 TIME_INACT R/00000000靜止時間0x27 39 ACT_INACT_CTL R/00000000軸使能控制活動和靜止檢測0x28 40 THRESH_FF R/00000000自由落體閾值0x2941 TIME_FF R/00000000自由落體時間 0x2A 42 TAP_AXES R/00000000單擊/雙擊軸控制0x2B 43 ACT_TAP_STATUS R00000000單擊/雙擊源 0x2C 44 BW_RATE R/00001010數(shù)據(jù)速率及功率模式控制 0x2D45 POWER_CTL R/00000000省電特性控制 0x2E 46INT_ENABLE R/00000000中斷使能控制 0x2F 47 INT_MAP R/00000000中斷映射控制 0x30 48 INT_SOURCE R00000010中斷源 0x31 49 DATA_FORMAT R/00000000數(shù)據(jù)格式控制 0x3250 DATAX0 R00000000X軸數(shù)據(jù)00x33 51 DATAX1 R00000000X軸數(shù)據(jù)1 0x34 52 DATAY0 R00000000Y軸數(shù)據(jù)00x3553 DATAY1 R00000000Y軸數(shù)據(jù)1 0x36 54 DATAZ0 R00000000Z軸數(shù)據(jù)0 0x37 55 D
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1