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

正文內(nèi)容

基于stm32的智能小車設(shè)計(jì)畢業(yè)設(shè)計(jì)-wenkub.com

2024-08-23 15:04 本頁面
   

【正文】 //TIM5 中斷 = 1。 //配置輸入分頻 ,不分頻 = 0x00。 //根據(jù) TIM_TimeBaseInitStruct中指定的參數(shù) 初始化 TIMx 的時(shí)間基數(shù)單位 //初始化 TIM5 輸入捕獲參數(shù) = TIM_Channel_1。 //預(yù)分頻器 = TIM_CKD_DIV1。GPIO_InitStructure)。 //使能 TIM5 時(shí)鐘 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE)。畢業(yè)設(shè)計(jì)的這三個(gè)月,我不僅收獲了知識、能力,也深刻的體會(huì)到了師情和友情的珍貴,這段時(shí)光將成為我人生中少有的美好回憶,路漫漫其修遠(yuǎn)兮,吾將上下而求索,我會(huì)以此激勵(lì)自己繼續(xù)努力,爭取使自己的人生對社會(huì)產(chǎn)生些許積極的價(jià)值! 參考文獻(xiàn) [1] 杜春雷 .ARM 體系結(jié)構(gòu)與編程 [M].北京:清華大學(xué)出版社, 20200201 基于 stm32 的智能小車設(shè)計(jì) 43 [2] 姚文詳,宋巖 .ARM CortexM3 權(quán)威指南 [M].北京:北京航空航天大學(xué)出版社, 202007 [3] 范書瑞 .CortexM3 嵌入式處理器原理與應(yīng)用 [M].北京:電子工業(yè)出版社,20200101 [4] 李寧 .基于 MDK 的 STM32 處理器開發(fā)應(yīng)用 [M].北京:北京航空航天大學(xué)出版社, 2020:1260. [5] 劉軍,張洋 .原子教你玩 STM32[M].北京:北京航空航天大學(xué)出版社,20200501 [6] 彭剛,秦志強(qiáng) .基于 ARM CortexM3 的 STM32 系列 [M].北京:電子工業(yè)出版社, 202001 [7] 張自強(qiáng),晏英俊 .基于 stm32 的步進(jìn)電機(jī)轉(zhuǎn)速控制實(shí)驗(yàn)設(shè)計(jì) [J].實(shí)驗(yàn)室科學(xué),202012, 13( 6) :5961 [8] 周柱,孟文,田環(huán)宇 .基于 stm32 智能小車設(shè)計(jì) [J].技術(shù)與市場, 202006,18( 6) :12 [9] 李亞巨,樊東 .基于 stm32f103zet6 的智能小車的制作 [J].電子制作,202011,( 19) :5253 [10] 趙志昊 .智能小車的制作 [J].科技傳播, 202011,( 21) :202203 [11] 李婕 .基于 STM32 的智能小車的制無線視頻監(jiān)控智能小車設(shè)計(jì) [D].蘭州:蘭州理工大學(xué)出版社, 20204:156 附錄 附錄 1 基于 stm32 的智能小車設(shè)計(jì) 44 void TIM5_Cap_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure。 當(dāng)然以上所有成績的取得都離不開老師和同學(xué)的幫助。在本次試驗(yàn)中,器件的物理尺寸限制了小車轉(zhuǎn)彎靈敏度的最大值,所以本實(shí)驗(yàn)的循跡模塊不是很理想,但是只要我們采用上述的兩種方法,一定可以提高循跡模塊的執(zhí)行效率。 因此,我們可以通過減少小車車輪基于 stm32 的智能小車設(shè)計(jì) 41 的直徑大小來解決此問題。 在保證小車速度適當(dāng)?shù)那闆r下,我們只有減少小車的轉(zhuǎn)彎時(shí)間來完成相應(yīng)的行為動(dòng)作,即提高小車的轉(zhuǎn)彎靈敏度。在本次試驗(yàn)設(shè)計(jì)中,由于循跡探頭的安裝距離小車車輪很近,當(dāng)循跡探頭采集數(shù)據(jù)傳輸?shù)?CPU時(shí),小車已經(jīng)向前行駛了一段時(shí)間。在硬件設(shè)計(jì)方案中包括對各個(gè)硬件電路所采用的器件進(jìn)行分析和對硬件電路的設(shè)計(jì)分析,從而決定器件的使用方案, 以及硬件電路圖的設(shè)計(jì)。整個(gè)智能小車系統(tǒng)以 stm32 微處理器為核心,外圍電路包括避障電路、循跡電路、電機(jī)驅(qū)動(dòng)電路等,這些外圍電路通過 stm32 微處理器結(jié)合起來,使得各個(gè)模塊在保證工作準(zhǔn)確性的同時(shí),提高了小車的智能化。因此我們只能通過對硬件進(jìn)行測試,來完成對整個(gè)產(chǎn)品設(shè)計(jì)的考核。} //清除 LINE2 上的中斷標(biāo)志位 基于 stm32 的智能小車設(shè)計(jì) 36 上文提到了各個(gè)模塊的電路設(shè)計(jì)及其程序設(shè)計(jì),本章就根據(jù)各個(gè)模塊的電路設(shè)計(jì)進(jìn)行相應(yīng)的編程。因此我們采用中斷的方式進(jìn)行循跡,因?yàn)椴捎玫氖?4 路循跡,所以我們需要 4個(gè)管腳與其一一對應(yīng),對應(yīng)關(guān)系如下表: 表 23管腳與紅外探測器位置對應(yīng)關(guān)系表 管腳名稱 紅外探測器位置 PE1 左 PE2 最左 PE3 右 PE4 最右 在配置好管腳與紅外位置關(guān)系之后,我們就需要進(jìn)行中斷初始化,中斷程序上文 節(jié)中已經(jīng)講過,我們在這里就不做介紹。 R4 正反饋的引入,不僅提高了電路的處理速度,而且可以免除由于寄生電路耦合而產(chǎn)生的自己震蕩。同理,在“ +”端電壓小于“ —”端電壓時(shí), LM339 輸出端電壓飽和使 IR 探測器輸出為低電壓。紅外循跡模塊實(shí)物圖如圖 所示: 圖 紅外模塊正反面 基于 stm32 的智能小車設(shè)計(jì) 32 本實(shí)驗(yàn) 使用的 IR5 集成模塊是由 5 個(gè)相同的 IR 探測器電路組成的,所以我們只需要了解一個(gè) IR 探測器的工作原理即可。 循跡模塊結(jié)構(gòu)及其原理 紅外探測器( IR)是由紅外發(fā)射管、紅外接收管和部分電路組成。要想使小車沿著黑帶運(yùn)動(dòng),必須使小車感應(yīng)到黑跡在什么地方,然后讓小車的中央處理單元驅(qū)動(dòng)硬件電路完成相應(yīng)的行為動(dòng)作。 flag=0。} if(flag=3) {flag=0。 rotate_Left()。 TIM_SetCompare2(TIM3,250)。flag++。//溢出時(shí)間總和 temp+=TIM5CH1_CAPTURE_VAL。 //CC1P=1 設(shè)置為下降沿捕獲 }}} 對采集的時(shí)間 t進(jìn)行處理,判斷前方是否有障礙 我們 對采集時(shí)間 t 的處理也是在 TIM5 的中斷服務(wù)函數(shù)中的,我們根據(jù) 因測量距離 =(高電平持續(xù)時(shí)間 t*340m/s) /2,得出只要高電平持續(xù)時(shí)間t1500us,距離就小于 25cm,就會(huì)判定前方有障礙,其詳細(xì)代碼如下: if(TIM5CH1_CAPTURE_STAamp。 //清空 TIM5CH1_CAPTURE_VAL=0。0X40) //捕獲到一個(gè)下降沿 { TIM5CH1_CAPTURE_STA|=0X80。0X3F)==0X3F)//高電平太長了 { TIM5CH1_CAPTURE_STA|=0X80。 ? 使能定時(shí)器 TIM_Cmd(TIM5,ENABLE )。 = 0。 ? 設(shè)置 TIM5 的 DIER 寄存器,使能捕獲和更新中斷功能。 = TIM_ICPSC_DIV1。 ? 設(shè)置 TIM5 的輸入比較參數(shù),開啟捕獲模式。 =TIM_CKD_DIV1。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE)。 其次,我們再看看 DMA/中斷使能寄存器( TIM5_DIER),因?yàn)槲覀兪褂玫氖峭ǖ?CH1,所以我們僅介紹控制通道 CH1 的位,如下圖所示: 圖 TIMx_DIER 各位描述 通過此圖我們知道,我們需要設(shè)置 CC1IE 為 1 即可。我們下面就簡單介紹下下這幾個(gè)寄存器。配置定時(shí)器 5代碼格式為: void TIM5_Cap_Init(u16 arr,u16 psc){? } 下面我們就詳細(xì)講解一下,如何開啟并使用通用定時(shí)器的輸入捕獲功能。 delay_ms(10)。首先我們把 TIM2設(shè)置為定時(shí)器中斷模式,代碼格式為 void TIM2_Int_Init(u16 arr,u16 psc)。標(biāo)準(zhǔn)信號 PWM 周期為 20ms,理論上來講脈寬為 1~2ms,實(shí)際我們的脈寬為 ~,脈寬與所轉(zhuǎn)的角度一一對應(yīng)。 舵機(jī)在避障模塊的主要作用前面已經(jīng) 提到,本節(jié)主要講解舵機(jī)的工作特性。測量時(shí)序圖如圖 所示: 基于 stm32 的智能小車設(shè)計(jì) 23 圖 超聲波時(shí)序圖 我們根據(jù)時(shí)序圖,可以編寫相應(yīng)的程序代碼。 避障模塊器件結(jié)構(gòu)及其原理 HCSR04 超聲波測距模塊測量范圍在 2cm400cm 之間,可以實(shí)現(xiàn)無接觸式測距功能。本次試驗(yàn)我們使用的是 HCSR04 超聲波檢測,超聲波由于具有檢測能力強(qiáng),傳播路徑寬,因此我們決定使用 HCSR04 器件。主要代碼詳見附錄 3. 避障模塊設(shè)計(jì) 在人類身體構(gòu)造系統(tǒng)中 ,眼睛可以使我們非常方便的采集到外界環(huán)境的信息 ,然后 把信息 及時(shí)的傳輸?shù)酱竽X,并對外界環(huán)境 信息 的變化做出相應(yīng)的處理 。 ? 操作 I/0 口 GPIO_SetBits(GPIOD,GPIO_Pin_8)。 =GPIO_Mode_Out_PP。 對于運(yùn)動(dòng)方向控制的代碼我們就以后退為例, 由于端口寄存器過于簡單,我們不在此介紹端口的寄存器。庫函數(shù)格式如下: Void TIM_SetComparex(TIM3,uint16_t Compare2)。 ? 使能 TIM3。 TIM_OC1Init(TIM3, amp。 = 0。 ? 設(shè)置 TIM3_CH CH CH3 的 PWM 模式,使能 TIM3 的 CH CH CH3輸出。 =0。 ? 初始化 TIM3,設(shè)置 TIM3 的 PSC 和 ARR。 ? 開啟 TIM3 時(shí)鐘以及復(fù)用功能輸出。如果我們想使能輸入 /捕獲 1,我們只需使用 CC1E 位。 其次我們介紹 捕獲 /比較模式寄存器( TIMx_CCMR1/2),總共有兩個(gè), TIMx_CCMR1 和TIMx_CCMR2, TIMx_CCMR1 控制通道 CH1 和 CH2, TIMx_CCMR2控制 CH3 和 CH4。我們先介紹這幾個(gè)寄存器,然后介紹如何使用庫函數(shù)產(chǎn)生 PWM輸出。電機(jī)驅(qū)動(dòng)模塊的主要器件為 LM293N,我們下面就詳細(xì)講解下電機(jī)驅(qū)動(dòng)模塊。 //控制 超聲波 掃描周期 TIM3_PWM_Init(1999,719)。 //設(shè)置 NVIC 中斷分組 2:2 位搶占優(yōu)先級, 2 位響應(yīng)優(yōu)先級 LED_Init()。本實(shí)驗(yàn)所采用的定時(shí)器以及功能如下表所示: 表 22 定時(shí)器介紹表 定時(shí)器名稱 定時(shí)器配置模式 主要功能 TIM2 定時(shí)器中斷模式 通過定時(shí)器中斷,控制超聲波的掃描周期 基于 stm32 的智能小車設(shè)計(jì) 15 TIM3 PWM 復(fù)用輸出模式 控制小車速度及舵機(jī)轉(zhuǎn)向 TIM5 輸入捕獲模式 采集超聲波發(fā)射到接受的高電平持續(xù)時(shí)間 t 主程序設(shè)計(jì)流程圖 在本節(jié)實(shí)驗(yàn)中,循跡模塊以及避障模塊都是采用中斷方式進(jìn)行工作的,因此 其主程序流程圖如 下圖 所示: 開 始系 統(tǒng) 初 始 化前 進(jìn) 圖 主程序流程圖 根據(jù)程序設(shè)計(jì)圖, 主 程序設(shè)計(jì)如下: int main(void) { u8 TIM5CH1_CAPTURE_STA=0。NVIC_InitStructure)。 = 0x00。 = ENABLE。 ? 初始化線上中斷,設(shè)置觸發(fā)條件 GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource1)。 基于 stm32 的智能小車設(shè)計(jì) 14 ? 初始化 I/O 為輸入 = GPIO_Pin_1。 最后經(jīng)過編號為 4 的與門進(jìn)入 NVIC 中斷控制器 ,如果 “中斷屏蔽寄存器”的對應(yīng)位置 0,外部的中斷請求信號不能傳輸?shù)?NVIC 中斷控制器 ,從而實(shí)現(xiàn)中斷的屏蔽 。 首先外部信號從編號為 1 的輸入線進(jìn)入。比如,上面通過控制 BRR 寄存器來控制電平的變化,官方庫封裝了一個(gè)函數(shù): Void GPIO_ResetBits(GPIO_TypeDef * GPIOx,uint16_t GPIO_Pin) {GPIOxBRR = GPIO_Pin。比如,我們在單片機(jī) C51 中,同樣,我們在 stmM32 的開發(fā)中過程中,我們同樣可以對寄存器直接操作: GPIOxBRR=0x0011。如圖所示,當(dāng)按鍵懸空時(shí) RST 輸入為高電平,當(dāng)按鍵按下時(shí), RST 腳輸入為低電平,從而電路復(fù)位。 stm32 最小系統(tǒng)電路設(shè)計(jì) Stm32 的最小系統(tǒng)電路主要由 系統(tǒng)時(shí)鐘電路、實(shí)時(shí)時(shí)鐘電路、 JTAG 調(diào)試接口電路,復(fù)位電路和啟動(dòng)模式選擇電路組成。 其內(nèi)部結(jié)構(gòu)圖如圖 所示: 圖 內(nèi)部結(jié)構(gòu)圖 基于 stm32 的智能小車設(shè)計(jì) 10 Stm32 處理器主系統(tǒng)主要由 4 個(gè)被動(dòng)單元和 4 個(gè)驅(qū)動(dòng)單元構(gòu)成。這兩個(gè)系列的產(chǎn)品在軟件和引腳封裝方面具有兼容性,并且擁有相同的片內(nèi) Flash 資源,使軟件的開發(fā)和升級更加方便。此中, A 系列是面向復(fù)雜的尖端應(yīng)用程序,用于運(yùn)行開放式的復(fù)雜操作系統(tǒng); R 是 Real 的首字母縮寫,是面向?qū)崟r(shí)系統(tǒng) 開發(fā)的; M是 Mirco 的首字母縮寫,專門面向低成本的微控制領(lǐng)域開發(fā)研究。 由 ARM公司設(shè)計(jì)的基于 ARMv7架構(gòu)的 Cortex系列的標(biāo)準(zhǔn)體系結(jié)構(gòu)在 2
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1