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

正文內(nèi)容

基于微控制器k60的光電智能車控制軟件設(shè)計(jì)論文-資料下載頁

2025-06-30 14:00本頁面

【導(dǎo)讀】寫相應(yīng)控制程序,制作完成一個(gè)能夠自主識別道路的模型汽車。在本次控制軟件設(shè)計(jì)中,為了實(shí)現(xiàn)車模直立行走,將車模直立行走主要的控制算法集中起來,形成控制算法總框圖。根據(jù)選用的傳感器等硬件方面的條件,需要采集的信號有:陀螺儀信號;加速度計(jì)信號;電機(jī)轉(zhuǎn)速脈沖信號;傳感器CCD信號。控制;車模方向控制,使用P(比例)控制。

  

【正文】 0xx [4]解爭龍 田俊華 許青林 大學(xué)信息技術(shù)基礎(chǔ) C 語言版 北京 科學(xué)出版社 20xx 西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 第 27 頁 附錄 A:部分程序源代碼 include include /*********************************************************************** * 函數(shù)名稱: CCD_init * 功能說明: CCD初始化 * 函數(shù)返回:無 ************************************************************************ void CCD_init(void) { gpio_init (PORTB , 23, GPO,HIGH)。 //SDIN gpio_init (PORTC , 3, GPO,HIGH)。 //CLK adc_init(ADC0, AD14) 。 } /*********************************************************************** * 函數(shù)名稱: StartIntegration * 功能說明: CCD啟動程序 * 函數(shù)返回:無 *********************************************************************** void StartIntegration(void) { unsigned char i。 SI_SetVal()。 /* SI = 1 */ SamplingDelay()。 CLK_SetVal()。 /* CLK = 1 */ SamplingDelay()。 SI_ClrVal()。 /* SI = 0 */ SamplingDelay()。 CLK_ClrVal()。 /* CLK = 0 */ for(i=0。 i127。 i++) { SamplingDelay()。 SamplingDelay()。 CLK_SetVal()。 /* CLK = 1 */ SamplingDelay()。 SamplingDelay()。 CLK_ClrVal()。 /* CLK = 0 */ 西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 第 28 頁 } SamplingDelay()。 SamplingDelay()。 CLK_SetVal()。 /* CLK = 1 */ SamplingDelay()。 SamplingDelay()。 CLK_ClrVal()。 /* CLK = 0 */ } /*********************************************************************** * 函數(shù)名稱: StartIntegration * 功能說明: CCD啟動程序 * 函數(shù)返回: 無 *ImageData = ad_once(ADC1, AD6a, ADC_8bit)。 *************************************************************************/ void ImageCapture(unsigned char * ImageData) { unsigned char i。 extern u8 AtemP 。 SI_SetVal()。 /* SI = 1 */ SamplingDelay()。 CLK_SetVal()。 /* CLK = 1 */ SamplingDelay()。 SI_ClrVal()。 /* SI = 0 */ SamplingDelay()。 //Delay 10us for sample the first pixel /**/ for(i = 0。 i 50。 i++) { SamplingDelay() 。 //200ns } //Sampling Pixel 1 *ImageData = ad_once(ADC1, AD6a, ADC_8bit)。 ImageData ++ 。 CLK_ClrVal()。 /* CLK = 0 */ for(i=0。 i127。 i++) { SamplingDelay()。 西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 第 29 頁 SamplingDelay()。 CLK_SetVal()。 /* CLK = 1 */ SamplingDelay()。 SamplingDelay()。 //Sampling Pixel 2~128 *ImageData = ad_once(ADC1, AD6a, ADC_8bit)。 ImageData ++ 。 CLK_ClrVal()。 /* CLK = 0 */ } SamplingDelay()。 SamplingDelay()。 CLK_SetVal()。 /* CLK = 1 */ SamplingDelay()。 SamplingDelay()。 CLK_ClrVal()。 /* CLK = 0 */ } /*********************************************************************** * 函數(shù)名稱: CalculateIntegrationTime * 功能說明:計(jì)算曝光時(shí)間 * 函數(shù)返回:無 ************************************************************************ extern u8 Pixel[128]。 /* 128個(gè)像素點(diǎn)的平均 AD值 */ u8 PixelAverageValue。 /* 128個(gè)像素點(diǎn)的平均電壓值的 10倍 */ u8 PixelAverageVoltage。 /* 設(shè)定目標(biāo)平均電壓值, 實(shí)際電壓的 10倍 */ s16 TargetPixelAverageVoltage = 30。 /* 設(shè)定目標(biāo)平均電壓值與實(shí)際值的偏差,實(shí)際電壓的 10倍 */ s16 PixelAverageVoltageError = 0。 /* 設(shè)定目標(biāo)平均電壓值允許的偏差,實(shí)際電壓的 10倍 */ s16 TargetPixelAverageVoltageAllowError = 2。 /* 曝光時(shí)間,單位 ms */ u8 IntegrationTime = 10。 void CalculateIntegrationTime(void) { /* 計(jì)算 128個(gè)像素點(diǎn)的平均 AD值 */ 西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 第 30 頁 PixelAverageValue = PixelAverage(128,Pixel)。 /* 計(jì)算 128個(gè)像素點(diǎn)的平均電壓值 ,實(shí)際值的 10倍 */ PixelAverageVoltage = (unsigned char)((int)PixelAverageValue * 25 / 128)。 PixelAverageVoltageError = TargetPixelAverageVoltage PixelAverageVoltage。 if(PixelAverageVoltageError TargetPixelAverageVoltageAllowError) IntegrationTime。 if(PixelAverageVoltageError TargetPixelAverageVoltageAllowError) IntegrationTime++。 if(IntegrationTime = 1) IntegrationTime = 1。 if(IntegrationTime = 20) IntegrationTime = 20。 } /*********************************************************************** * 函數(shù)名稱: PixelAverage * 功能說明:求數(shù)組的均值程序 * 函數(shù)返回:無 ************************************************************************ u8 PixelAverage(u8 len, u8 *data) { unsigned char i。 unsigned int sum = 0。 for(i = 0。 ilen。 i++) { sum = sum + *data++。 } return ((unsigned char)(sum/len))。 } /*********************************************************************** * 函數(shù)名稱: SendHex * 功能說明:采集發(fā)數(shù)程序 * 函數(shù)返回:無 ************************************************************************ void SendHex(unsigned char hex) { unsigned char temp。 temp = hex 4。 if(temp 10) { 西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 第 31 頁 uart_putchar(UART0,temp + 39。039。)。 } else { uart_putchar(UART0,temp 10 + 39。A39。)。 } temp = hex amp。 0x0F。 if(temp 10) { uart_putchar(UART0,temp + 39。039。)。 } else { uart_putchar(UART0,temp 10 + 39。A39。)。 } } /*********************************************************************** * 函數(shù)名稱: SendImageData * 參數(shù)說明: 采集圖像數(shù)據(jù) * 函數(shù)返回:無 ***********************************************************************/ void SendImageData(unsigned char * ImageData) { unsigned char i。 unsigned char crc = 0。 /* Send Data */ uart_putchar(UART0,39。*39。)。 uart_putchar(UART0,39。L39。)。 uart_putchar(UART0,39。D39。)。 SendHex(0)。 SendHex(0)。 SendHex(0)。 SendHex(0)。 for(i=0。 i128。 i++) { SendHex(*ImageData++)。 } SendHex(crc)。 uart_putchar(UART0,39。39。)。 } /********************************************************************* * 函數(shù)名稱: SamplingDelay 西安文理學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 第 32 頁 * 功能說明: CCD延時(shí)程序 200ns * 函數(shù)返回:無 ***************************************************************
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1