




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、避障機(jī)器人紅外測距模塊設(shè)計與調(diào)試一、實訓(xùn)目的1、了解模數(shù)轉(zhuǎn)換器的基本功能;2、了解紅外測距模塊的基本功能及技術(shù)規(guī)格;3、掌握紅外傳感器工作原理。 二、實訓(xùn)設(shè)備1 硬件:HOST機(jī)一臺、基于機(jī)器人項目驅(qū)動的嵌入式教學(xué)實訓(xùn)平臺一套;2 軟件:Siliconlab IDE開發(fā)環(huán)境、調(diào)試器。三、實訓(xùn)原理紅外距離感應(yīng)模塊是專為機(jī)器人設(shè)計的測障傳感器,如圖所示。它通過發(fā)射紅外線并測量紅外線被反射的強(qiáng)度來輸出反映和物體距離的電壓信號,有效距離 1080厘米。紅外測距傳感器紅外測距功能編號名稱/功能1VCC 電源線2GND 地線3Vo 輸出信號線4發(fā)射管5接收管紅外傳感器基于三角測量原理。紅外發(fā)射器按照一定的
2、角度發(fā)射紅外光束,當(dāng)遇到物體以后,光束會反射回來,如圖所示。反射回來的紅外光線被CCD檢測器檢測到以后,會獲得一個偏移值L,利用三角關(guān)系,在知道了發(fā)射角度a,偏移距L,中心矩X,以及濾鏡的焦距f以后,傳感器到物體的距離D就可以通過幾何關(guān)系計算出來了。四、實訓(xùn)步驟1、正確連接PC 機(jī)、調(diào)試器和嵌入式教學(xué)實訓(xùn)平臺,連接紅外測距模塊;2、打開嵌入式教學(xué)實訓(xùn)平臺電源;3、打開工程,編譯、鏈接、進(jìn)入調(diào)試、運行程序,觀察lcd屏上顯示的測量值,移動機(jī)器人,觀察lcd屏上測量值的變化(思考測量值的變化的原理)4、測量傳感器的輸出特性曲線。 在實驗中需要中的函數(shù)及功能說明函數(shù)名:unsigned char G
3、etIR_Distance(unsigned char channle)函數(shù)說明:獲取紅外傳感器感測距離函數(shù)名:void ADC_PortInit()函數(shù)說明:ADC引腳初始化函數(shù)名:void ADC_Init()函數(shù)說明:ADC初始化函數(shù)名:unsigned char ADC_DistanceGet(unsigned char AD_port)函數(shù)說明:獲取AD_port端口紅外傳感器的值函數(shù)名:void ADC_ConvertStart()函數(shù)說明:AD轉(zhuǎn)換啟動函數(shù)名:void AD_PortSelection(AD_port)函數(shù)說明:AD轉(zhuǎn)換端口配置函數(shù)名:unsigned int A
4、DC_AvrDataGet(unsigned int *AD_data)函數(shù)說明:獲取平均值函數(shù)名:double SensorDistanceProcess(double x )函數(shù)說明:ADC值距離轉(zhuǎn)換#include "Sensor_AD.h"#define AD_NUM 10/*/! 函數(shù)名:unsigned char GetIR_Distance(unsigned char channle)/! 函數(shù)說明:獲取紅外傳感器感測距離*/unsigned char GetIR_Distance(unsigned char channle)xdata unsigned in
5、t ucIRDisValue = 0;if(channle<0 | channle>10)return 0;ucIRDisValue = ADC_DistanceGet(channle);ucIRDisValue = (int)SensorDistanceProcess(ucIRDisValue);if(ucIRDisValue>255)ucIRDisValue = 255;return (char)ucIRDisValue;unsigned int GetIRDistance(unsigned char channle)xdata unsigned int ucIRDisV
6、alue = 0;if(channle<0 | channle>10)return 0;ucIRDisValue = ADC_DistanceGet(channle);return ucIRDisValue;/*/! 函數(shù)名:unsigned char GetIRCol(unsigned char AD_Point)/! 函數(shù)說明:獲取灰度傳感器感測灰度值*/unsigned int GetIRCol(unsigned char ad_channle)xdata unsigned int ucGreyValue;if(ad_channle<0 | ad_channle>
7、9)return 0;ucGreyValue = ADC_DistanceGet(ad_channle);return (ucGreyValue);/*/! 函數(shù)名:void ADC_PortInit()/! 函數(shù)說明:ADC引腳初始化/!-/! 引腳圖:/!-/! 引腳 端口 AMX0P/!/! AD0-P1.7-0x07/! AD1-P2.0-0x08/! AD2-P2.1-0x09/! AD3-P2.2-0x0A/! AD4-P2.3-0x0B/! AD5-P2.4-0x0C/! AD6-P2.5-0x0D/! AD7-P2.6-0x0E/! AD8-P2.7-0x0F/! AD9-P3
8、.0-0x10*/void ADC_PortInit()unsigned char SFRPAGE_save = SFRPAGE;SFRPAGE = CONFIG_PAGE;/當(dāng)有語音的時候,P1口不能AD初始化P1MDIN &= 0x80; /P1.7模擬輸入P1SKIP |= 0x80; /交叉開關(guān)跳過模擬引腳P2MDIN = 0x00; /P2模擬輸入P2SKIP = 0xFF; /交叉開關(guān)跳過模擬引腳/P3MDIN &= 0x01; /P3.0模擬輸入 /P3SKIP |= 0x01; /交叉開關(guān)跳過模擬引腳XBR1 = 0x40; /交叉開關(guān)使能SFRPAGE = S
9、FRPAGE_save;/*/! 函數(shù)名:void ADC_Init()/! 函數(shù)說明:ADC初始化*/void ADC_Init()unsigned char SFRPAGE_save = SFRPAGE;ADC_PortInit();SFRPAGE = CONFIG_PAGE;ADC0CN= 0xC0; /跟蹤模式,開啟轉(zhuǎn)換ADC0CF = (SYSCLOCK/3000000 - 1) << 3;ADC0CF &= 0x04; /右端對齊EIE1 &= 0x08; /禁止ADC中斷/AD0EN = 1;REF0CN = 0x08;SFRPAGE = SFRPAG
10、E_save;/*/! 函數(shù)名:unsigned char ADC_DistanceGet(unsigned char AD_port)/! 函數(shù)說明:獲取AD_port端口紅外傳感器的值*/unsigned int ADC_DistanceGet(unsigned char AD_port)xdata unsigned char AD_counter=0;xdata unsigned char i = 0;xdata unsigned char adc0_h,adc0_l;xdata unsigned int ad_test;xdata unsigned int ADC_DataStore1
11、0 = 0,0,0,0,0,0,0,0,0,0;if(AD_port>0x0A)return 0xFF;AD_PortSelection(AD_port);ADC_ConvertStart();for(AD_counter=0;AD_counter<10;AD_counter+) while(!AD0INT);adc0_h = ADC0H;adc0_h &= 0x03;adc0_l = ADC0L; ADC_DataStoreAD_counter = (unsigned int)(adc0_h)<<8) + (unsigned int)adc0_l;/ADC_D
12、ataStoreAD_counter = (unsigned int)(adc0_l);AD0INT = 0;ADC_ConvertStart();i+;/ADC_FlagClear(); /ADC_DataStore0 = ADC_AvrDataGet(ADC_DataStore);/return SensorDataAD_port0;ad_test = ADC_AvrDataGet(ADC_DataStore);/ad_test+;/return (ADC_AvrDataGet(ADC_DataStore);return(ad_test);/*/! 函數(shù)名:void ADC_Convert
13、Start()/! 函數(shù)說明:AD轉(zhuǎn)換啟動*/void ADC_ConvertStart()unsigned char SFRPAGE_save = SFRPAGE;SFRPAGE = CONFIG_PAGE;AD0EN = 1;/EA = 0;AD0INT = 0;AD0BUSY = 1;SFRPAGE = SFRPAGE_save;/*/! 函數(shù)名:void AD_PortSelection(AD_port)/! 函數(shù)說明:AD轉(zhuǎn)換端口配置*/void AD_PortSelection(unsigned char port_unm)unsigned char SFRPAGE_save =
14、SFRPAGE;SFRPAGE = CONFIG_PAGE;switch(port_unm)case 0x01: AMX0P = 0x07; break;case 0x02: AMX0P = 0x08; break;case 0x03: AMX0P = 0x09; break;case 0x04: AMX0P = 0x0A; break;case 0x05: AMX0P = 0x0B; break;case 0x06: AMX0P = 0x0C; break;case 0x07: AMX0P = 0x0D; break;case 0x08: AMX0P = 0x0E; break;case 0
15、x09: AMX0P = 0x0F; break;case 0x0A: AMX0P = 0x10; break;default: break;AMX0N = 0x1F; /負(fù)輸入端選擇VDDSFRPAGE = SFRPAGE_save;/*/! 函數(shù)名:unsigned int ADC_AvrDataGet(unsigned int *AD_data)/! 函數(shù)說明:獲取平均值*/unsigned int ADC_AvrDataGet(unsigned int *AD_data)xdata unsigned int ucAD_avragy,k;xdata unsigned int *uiAD_
16、data = AD_data;xdata unsigned char i,j;xdata unsigned int AD_Array10;for(i=0;i<10;i+)AD_Arrayi = AD_datai;for(i=0;i<10;i+)for(j=0;j<10-i;j+)if(AD_Arrayj>AD_Arrayj+1)k = AD_Arrayj;AD_Arrayj = AD_Arrayj+1;AD_Arrayj+1 = k; ucAD_avragy = AD_Array3 + AD_Array4 + AD_Array5; return ucAD_avragy/3;/*/! 函數(shù)名:void ADC0_ISR (void) interrupt 10/! 函數(shù)說明:ADC中斷函數(shù)*/*void ADC0_ISR (void) interrup
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同管理的重要性大全二零二五年
- 二零二五光伏發(fā)電屋頂租賃合同
- 樓房使用權(quán)買賣合同書二零二五年
- 全托生學(xué)習(xí)管理制度
- 車間環(huán)保設(shè)施管理制度
- 車間班組管理制度文庫
- 保養(yǎng)店消防管理制度
- 豆制品廠退貨管理制度
- 酒店收銀崗位管理制度
- 輔助設(shè)備維修管理制度
- 《史記》《漢書》第九-整本書閱讀《經(jīng)典常談》名著閱讀與練習(xí)
- 環(huán)衛(wèi)設(shè)施設(shè)備更新實施方案
- 機(jī)械制造技術(shù)基礎(chǔ)(課程課件完整版)
- 江西省南昌市高三二??荚嚨乩碓囶}
- 廣東省高州市2023-2024學(xué)年高一下學(xué)期期中考試數(shù)學(xué)
- 2024年高等教育文學(xué)類自考-06050人際關(guān)系心理學(xué)考試近5年真題附答案
- 福建省公路水運工程試驗檢測費用參考指標(biāo)
- CBL聯(lián)合情景模擬人文護(hù)理查房
- 二級建造師繼續(xù)教育模擬考試題庫500題(含答案)
- JGJT322-2013 混凝土中氯離子含量檢測技術(shù)規(guī)程
- 《中藥學(xué)》教案完整版
評論
0/150
提交評論