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

正文內(nèi)容

軟件系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)設(shè)計-wenkub.com

2025-06-23 04:41 本頁面
   

【正文】 //1 GPIO_ResetBits(GPIOC, GPIO_Pin_9)。// GPIO_ResetBits(GPIOC, GPIO_Pin_8)。 GPIO_ResetBits(GPIOC, GPIO_Pin_8)。// GPIO_SetBits(GPIOC, GPIO_Pin_8)。 /* TIM1 Main Output Enable 使能TIM1外設(shè)的主輸出*/ TIM_CtrlPWMOutputs(TIM1,ENABLE)。TIM_OCInitStructure)。 //輸出極性 有效為低 // = TIM_OCNPolarity_Low。 //PWM模式2 先輸出無效電平 再輸出有效電平 = TIM_OutputState_Enable。 //無影響 = 0x0。 //重設(shè)為缺省值 /*TIM1時鐘配置*/ = 721。 TIM_OCInitTypeDef TIM_OCInitStructure。 /*調(diào)用庫函數(shù),初始化GPIOA*/ GPIO_Init(GPIOA, amp。GPIO_InitStructure)。 /*******************(IN1,IN2,IN3,IN4)******************/ /*選擇要控制的GPIOC引腳*/ = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9。 //檢測擋板信息 LED_DisplayStatus()。 Motor_Init()。 SysTick_Init()。 //Car_Run()。 //Car_Run()。 } } else { ucWall = Wall_Check()。 case 0x08: //靠左 Motor_Run_Speed(29, 18)。 0x04) == 0) { ucWall = Wall_Check()。 } else if (ucWall amp。 if (ucWall amp。 break。 0x04) == 0) { ucWall = Wall_Check()。 if (ucWall amp。 else LED3(OFF)。 0x08) LED2(ON)。/* * 函數(shù)名:LED_DisplayStatus * 描述 :用LED顯示當(dāng)前傳感器狀態(tài) * 輸入 :無 * 輸出 :無 */void LED_DisplayStatus(void){ if (ucWall amp。uint8_t ucWall。附錄本次畢業(yè)設(shè)計程序:主程序:include include include include include include include extern u8 TIM4CH3_CAPTURE_STA。(2)利用STM32F103R8T6微控制器完成對傳感器模塊、電機(jī)驅(qū)動模塊等功能模塊的控制,完成對墻壁信息分析與記錄,充分利用電腦鼠的開發(fā)設(shè)計優(yōu)勢,提高在測試環(huán)境中電腦鼠的智能運行、數(shù)據(jù)處理的能力與效率。路徑優(yōu)化利用數(shù)組記錄迷宮地圖信息以及迷宮中單元位置到起點的距離。上述記憶功能是利用直流電機(jī)、碼盤以及光電傳感器共同作用實現(xiàn)。本課題中,采用堆棧存儲路口信息。電腦鼠每行進(jìn)一個單元位置,即在行進(jìn)方向沒有擋板信息,對應(yīng)的字節(jié)變量會發(fā)生變化。 迷宮墻壁信息的記錄考慮控制模塊的硬件要求以及實際工作的效率,本次畢業(yè)設(shè)計利用一個字節(jié)的低四位表征電腦鼠所在位置單元周圍的迷宮墻壁信息。 電腦鼠樣機(jī)實物 改進(jìn)方向與研究方案在此次課題研究中,由于硬件與軟件條件的限制,電腦鼠功能設(shè)計仍有部分功能未充分實現(xiàn)。依據(jù)電腦鼠硬件模塊要求與功能模塊實現(xiàn)方式,利用微控制器輸出不同占空比的PWM信號實現(xiàn)對電機(jī)控制,并完成電腦鼠運動控制。每個位置單元為15cm15cm(長寬)的方格,擋板為10cm(高度厚度)。 //標(biāo)記捕獲到了上升沿 TIM_OC3PolarityConfig(TIM4, TIM_ICPolarity_Falling)。 //清空 //TIM4CH3_CAPTURE_VAL = 0。 0x40) //已經(jīng)捕獲到高電平 (捕獲到一個下降沿) { TIM4CH3_CAPTURE_STA |= 0x80。 0x3F) == 0x3F) //高電平太長 { TIM4CH3_CAPTURE_STA |= 0x80。 //輸入捕獲值 1u16 TIM4CH3_CAPTURE_VAL2。 //根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器 TIM_ITConfig(TIM4,TIM_IT_Update|TIM_IT_CC3,ENABLE)。 //先占優(yōu)先級2級 = 0。 //IC1F=0000 配置輸入濾波器 不濾波 TIM_ICInit(TIM4, amp。 = TIM_ICPolarity_Rising。 //設(shè)置時鐘分頻系數(shù):不分頻,沒用 = TIM_CounterMode_Up。 GPIO_ResetBits(GPIOB, GPIO_Pin_8)。 //使能GPIOB時鐘 = GPIO_Pin_8。 TIM_ICInitTypeDef TIM4_ICInitStructure。 Motor_Right_Stop()。 Motor_Left_Stop()。 }void Car_TurnBL(void){ Motor_Left_Back()。 Motor_Right_Stop()。 Motor_Right_Stop()。 }void Car_Run(void){ Motor_Right_Run()。 }void Motor_Back_Speed(u8 lspeed, u8 rspeed){ Motor_Left_Back()。 }void Motor_TurnR_Speed(u8 lspeed, u8 rspeed){ Motor_Left_Run()。 }void Motor_TurnL_Speed(u8 lspeed, u8 rspeed){ Motor_Left_Back()。}void Motor_Run_Speed(u8 lspeed, u8 rspeed){ Motor_Left_Run()。}/* * 函數(shù)名:Motor_Right_Stop * 描述 :右電機(jī)停止 * 輸入 :無 * 輸出 :無 * 調(diào)用 :內(nèi)部調(diào)用 */void Motor_Right_Stop(void){ // IN1: 0 // IN2: 0 GPIO_ResetBits(GPIOC, GPIO_Pin_7)。 //0 GPIO_SetBits(GPIOC, GPIO_Pin_8)。 // GPIO_SetBits(GPIOC, GPIO_Pin_9)。 }/* * 函數(shù)名:Motor_Left_Stop * 描述 :左電機(jī)停止 * 輸入 :無 * 輸出 :無 * 調(diào)用 :內(nèi)部調(diào)用 */void Motor_Left_Stop(void){ // IN3: 0 // IN4: 0 GPIO_ResetBits(GPIOC, GPIO_Pin_9)。 }/************************************************ 電機(jī)模塊功能函數(shù)*************************************************//* * 函數(shù)名:Motor_Left_Run * 描述 :左電機(jī)正轉(zhuǎn) * 輸入 :無 * 輸出 :無 * 調(diào)用 :內(nèi)部調(diào)用 */void Motor_Left_Run(void){ // IN3: 0 // IN4: 1// GPIO_ResetBits(GPIOC, GPIO_Pin_9)。 //通道2 TIM_Cmd(TIM1,ENABLE)。 //先不管 TIM_OC1Init(TIM1,amp。 //占空時間 39 中有39的時間為高,互補(bǔ)的輸出正好相反 = TIM_OCPolarity_Low。 //初始化TIMx的時間基數(shù)單位 /* Channel 1 Configuration in PWM mode 通道一的PWM */ = TIM_OCMode_PWM2。 //裝載值 1000k/40=25khz 就是說向上加的40便滿了 // = TIM_CKD_DIV1。 TIM_DeInit(TIM1)。}/* * 函數(shù)名:TIM1_Motor_Config * 描述 :TIM1配置,電機(jī)PWM信號,如周期、極性、占空比 * * 輸入 :無 * 輸出 :無 * 調(diào)用 :內(nèi)部調(diào)用 * 注釋 :L298N 開關(guān)頻率正常為25KHz,最大為40KHz, * 此處設(shè)置為25KHz */static void TIM1_Motor_Config(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure。 /*設(shè)置引腳速率為50MHz */ = GPIO_Speed_50MHz。 /*調(diào)用庫函數(shù),初始化GPIOC*/ GPIO_Init(GPIOC, amp。 /*開啟GPIOA,GPIOC,GPIOD 的外設(shè)時鐘*/ RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC, ENABLE)。微處理器下達(dá)驅(qū)動指令向前:分別對左右車輪產(chǎn)生PWM波,占空比為50%,驅(qū)動車。具體的工程實現(xiàn)中,改變輸入電機(jī)驅(qū)動鏈路的PWM占空比來實現(xiàn)上述對轉(zhuǎn)速和轉(zhuǎn)向的控制。(d)case 0x10:10000如果左前和左方存在墻壁且距離較近,向右調(diào)整電腦鼠電腦鼠(e)case 0x08:01000如果左方和前方均有墻壁(轉(zhuǎn)彎),如果距離較遠(yuǎn),向右調(diào)整,反之向右轉(zhuǎn)。 else MoveRight(3)。 } case 0x1c://none 四周不存在墻壁,向左轉(zhuǎn) { MoveLeft(3)。 } case 0x04://L LF 如果左方或左前方存在墻壁,如果墻壁過近(30度角左右),向右轉(zhuǎn);反之,向右調(diào)整 { if(sensorsStateAuxiliaryamp。 { if((~sensorsStateAuxiliary)amp。 break。 } case 0x0c://L { if(sensorsStateAuxiliaryamp。 else TurnLeft(2)。 迷宮探測算法在具體實現(xiàn)中,考慮到設(shè)計要求,本次畢業(yè)設(shè)計選用“左手準(zhǔn)則”作為搜尋準(zhǔn)則、選用“面向局部迷宮的搜尋策略”作為搜尋策略。(2)是基于前述功能的基礎(chǔ)上結(jié)合搜尋準(zhǔn)則和策略完成確定任務(wù)。 競賽迷宮模型圖4 軟件系統(tǒng)設(shè)計與實現(xiàn)此次課題電腦鼠軟件設(shè)計采用模塊化設(shè)計方法,通過主程序調(diào)用各模塊程序?qū)崿F(xiàn)設(shè)計任務(wù)。按照位置單元,迷宮可以劃分為88的方格。此外,利用非理想帶通濾波器截止頻率處幅頻響應(yīng)非理想的特征,通過調(diào)整發(fā)射頻率,例如到35KHz,可以實現(xiàn)探測范圍的控制,從而保證電腦鼠在行進(jìn)過程中與擋板的距離保持在預(yù)定范圍內(nèi),達(dá)到姿態(tài)調(diào)整的目的。因此,電腦鼠選取直流電機(jī)具有更明顯的優(yōu)勢和任務(wù)適應(yīng)性。如果在啟動階段,速度一次達(dá)到預(yù)定速度,啟動頻率有可能超過極限啟動頻率,而步進(jìn)電機(jī)會發(fā)生失步先現(xiàn)象,導(dǎo)致啟動失控。(3)啟動、反向、停止能連續(xù)完成,響應(yīng)快??紤]步進(jìn)電機(jī)與直流電機(jī)的特點,可以發(fā)現(xiàn):步進(jìn)電機(jī)能夠達(dá)到快速啟動與停止、精度高、反轉(zhuǎn)控制靈活的要求;直流電機(jī)能夠達(dá)到調(diào)速性能優(yōu)良、過載能力強(qiáng)、沖擊負(fù)載承受度高的要求。加減速齒輪利用閉環(huán)回路控制。步進(jìn)電機(jī)的核心思路是利用控制電路將供給的直流電轉(zhuǎn)換為分時的多相時序電流,并以此供電。采用74HC245作為驅(qū)動器與主控芯片的緩沖器,實現(xiàn)數(shù)據(jù)總線的雙向異步通信。在本次畢業(yè)設(shè)計中,基于STM32微處理器的控制模塊需要完成對傳感器探測模塊的迷宮環(huán)境與路徑信號做出處理和分析,并下達(dá)判定指令;對迷宮環(huán)境信息
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1