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

正文內(nèi)容

畢業(yè)設(shè)計-基于atmega8單片機尋跡小車設(shè)計(參考版)

2024-11-14 10:10本頁面
  

【正文】 } } 39 附錄 2 實物電路圖 40 附錄 3 模擬電路圖 41 。 rightpwm=std_right+value。 value=PidSet()。 while(1) //循環(huán)巡線 { Sample()。 init_devices()。 38 int value=0。 return(Kp*err_P+Kd*err_D)。} } int PidSet() { err_P=err[0]。 } //左偏 1 if(num[5]1) {IR_state0=4。 } //中心 if(num[3]1) {IR_state0=0。} //右偏 2 if(num[1]1) {IR_state0=1。} //清楚數(shù)組 num[] adc_all()。i6。 OCR1B=y。 //避免 PWM 值超過計數(shù)器的最大值; if (y=countertop) y=countertop。 TCCR1B|=(1WGM13)|(1CS11)。//設(shè)置 OC1B 的初值 ICR1=countertop。//設(shè)置 TCNT1 的初值 OCR1A=x。 TCCR1B=0x0。break。 //左偏 2 case 2: err[0]=2。speed(2)。break。 //左偏 1 case 1: err[0]=1。speed(5)。break。 switch(IR_state0) { case 0: err[0]=0。 //定義速度 3,高速 } } 36 void ErrSet() //誤差處理函數(shù) { err[2]=err[1]。std_right=8000。break。 //定義速度 1,低速 case 5:std_left=5000。std_right=2020。 num[5]=adc_get(0x45)。 num[3]=adc_get(0x43)。 num[1]=adc_get(0x41)。 //轉(zhuǎn)換成 05(表示 05) return (unsigned char)(temp)。 //清標(biāo)志 temp=ADC。(1ADIF))){。 ADCSRA|=(1ADSC)。 //adc 高速模式選擇 } /************************************ atmega8 ADC 轉(zhuǎn)換程序 *************************************/ unsigned char adc_get(int q) // q 為要 ADMUX 值,可以選擇 ADC 通道 { unsigned int temp。//使能 ADC。 //關(guān)掉模擬比較器的電源 (禁用模擬比較器 ) ADMUX=(1REFS0)。 //timer interrupt sources SEI()。 GICR = 0x00。 //disable all interrupts port_init()。 DDRC = 0x00。 DDRB = 0xff。 int i=0。 //定義偏差,利用比例,差分 int std_left=0,std_right=0,t_b=0。 // 定義 IR 傳感器的狀態(tài) int err[3]={0}。 然后還要感謝大學(xué)四年來所有的老師,為我打下扎實的專業(yè)知識基礎(chǔ);同時還要感謝所有的同學(xué)們,正是因為有了他們的支持和鼓勵,此次畢業(yè)設(shè)計才會順利完成。 其次要感謝和我一起作畢業(yè)設(shè)計的其他同學(xué),他們在設(shè)計中勤奮工作,克服了許多困難來完成此次畢業(yè)設(shè)計,并承擔(dān) 了大部分的工作量。老師平日里工作繁忙,但在我做畢業(yè)設(shè)計的每個階段,從外出實習(xí)到查閱資料,設(shè)計草案的確定和修改,中期檢查等整個過程中都給予了我悉心的指導(dǎo)。 31 參考文獻(xiàn) [1]章政 ,吳懷宇 ,程磊 .大學(xué)生智能汽車設(shè)計基礎(chǔ)與實踐 .電子工業(yè)出社 .2020,7 [2]張建民 ,機電一體化系統(tǒng)設(shè)計 (第三版 ),高等教育出版社 2020,7 [3]熊和金 . 智能汽車系統(tǒng)研究的若干問題 ,2020,2:37~40 [4]姜培剛,蓋玉先 .機電 一體化系統(tǒng)設(shè)計 .北京 :機械工業(yè)出版社, [5]馬潮,詹衛(wèi)前,狄德根 .ATmega8 原理與應(yīng)用 .2020,3 [6]唐一平 ,機械工程專業(yè)英語 ,電子工業(yè)出版社 ,2020,10 [7]楊路明 ,郭浩志 .C 言語程序設(shè)計教程 .北京郵電大學(xué)出版社 ,2020,5 [8]郁有文 ,常建 ,程繼紅 .傳感器原理及工程應(yīng)用 (第二版 ).西安 :西安電子科技大學(xué)出版社 ,2020 [9]黃智偉 ,全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程 .北京 :電子工業(yè)出版社 ,2020 [10]鄒逢興,微機計算機原理與接口技術(shù) .北京:清華大學(xué)出版社, [11]周斌 ,李立國 ,黃開勝 .智能車光電傳感器布局對路徑的識別的影響研究 .電子產(chǎn)品世界 ,2020,5 139~140 [12]夏路易 ,石宗義 .電路原理圖與電路板設(shè)計教程 Protel :北京希望電子出版社 ,2020 [13] 沈文, AVR 單片機 C 語言開發(fā)編程入門指導(dǎo) .北京:清華大學(xué)出版社 [14] and of the CIRP,1989,2(38):627634 [15]Daniel Hunt ’ s Newest Threat. New York:Chapman and Hall,1987 32 謝 辭 經(jīng)過半年的忙碌和工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個 本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。在實際的小車運行中人需要要考慮很多問題,比如光電開關(guān)的誤差 ;實 際小車的運行速度是否會影響檢測黑線 ; 小車經(jīng)過不同角度的彎道速度應(yīng)該 取 多少 ; 還有 PID 控制中 PK 、 DK 取值 。在 Proteus 仿真中也得到了驗證,仿真很成功。不同之處在于仿真電路圖 以 按鍵 開關(guān)模擬光電開關(guān) 并 省去了程序下載電路。 30 結(jié) 論 本論文設(shè)計以 ATmega8 單片機為基礎(chǔ)設(shè)計了一套能自動巡線并行駛的小車電路及程序。 ( 5)黑線在偏右模擬同上。 ( 4)斷開所有開關(guān),閉合開關(guān) 5(黑線最左)。 ( 3)斷開所有開關(guān),閉合開關(guān) 4(黑線偏左)。此時左右電機都已相同速度轉(zhuǎn)動,左右示波器輸出相同占空比波形。如圖示波器 A、示波器 B 的接法。在仿真過程中為了便于觀察左右兩側(cè)電機電壓的占空比,在 Proteus 中調(diào)入示波器 A,示波器 B。以此模擬光電開關(guān)檢測到黑線。電路圖如圖 51 所示。其中, ISIS 能夠完成模擬電路仿真、數(shù)字電路仿真以及單片機實驗仿真。它綜合了編輯器和工程管理器的集成工作環(huán)境 ,使用符合 ANSI 標(biāo)準(zhǔn)的 C 語言來開發(fā)微控制器 MCU 程序的一個工具 。 } 27 第五章 ICC AVR 與 Proteus 仿真 前面,已經(jīng)完成了系統(tǒng)硬件連接 與軟件設(shè)計,在接下了的這章,就要進(jìn)行系統(tǒng)的仿真驗證整個系統(tǒng)的可行性,本次仿真系統(tǒng)采用的是 ICC AVR 和 Proteus 搭建的系統(tǒng)仿真調(diào)適平臺。 err_D=err[0]err[1]。 //定義三次的誤差值 char err_D=0,err_P=0。程序詳細(xì)見參照附錄 1 。電機的主要速度由速度等級程序選擇。 } 26 PID 算法源程序 在小車實際應(yīng)用中,只選用了 P(積分 )和 D(微分)算法。 //避免 PWM 值超過計數(shù)器的最大值; OCR1A=x。//設(shè)置工作模式及分頻 } 調(diào)節(jié)點空比程序: void timer1_PWM(unsigned int x,unsigned int y) //調(diào)節(jié) 占空比 { if (x=countertop) x=countertop。 TCCR1A|=(1COM1A1)|(1COM1B1)|(1WGM11)。 //設(shè)置 OC1B 的初值 ICR1= countertop。 //設(shè)置 TCNT1 的初值 OCR1A=x。 //設(shè)置 PB1 和 PB2 為輸出模式 TCCR1B=0x0。 后續(xù)可直接調(diào)用 timer1_PWM( )來調(diào)節(jié)占 空比。 //返回 ADC 值 } 25 PWM 調(diào)速源程序 PWM 調(diào)速程序分為初始化和調(diào)節(jié)占空比兩部分。 //讀數(shù) temp=temp*50/0x03ff。}//等待轉(zhuǎn)換完成 ADCSR|=(1ADIF)。 //開始轉(zhuǎn)換 while(!(ADCSRamp。 ADMUX=q。//這里選擇的是連續(xù)模式 SFIOR=0x00。 //關(guān)掉模擬比較器的電源 (禁用模擬比較器 ) ADMUX=(1REFS0)。由于 ATmega8 只有一個 ADC 轉(zhuǎn)換內(nèi)核,所以通用六次調(diào)用 adc_get()可以得到 PC0~PC5 六個端口電壓,判斷線的位確定小車的偏向。一旦檢測到某個 I/O 口有信號變化,就執(zhí)行相應(yīng)的判斷程序,把相應(yīng)的信號發(fā)送給電動機從而糾正小車的狀態(tài)。 REFV 為參考電壓。 ADC 轉(zhuǎn)換結(jié)果 轉(zhuǎn)換結(jié)束后 (ADIF 為高 ),轉(zhuǎn)換結(jié)果被存入 ADC 結(jié)果寄存器 (ADCL, ADCH)。 Bit 3 – ADIE: ADC 中斷使能 若 ADIE 及 SREG 的位 I 置位, ADC 轉(zhuǎn)換結(jié)束中斷即被使能。要注意的是,如果對 ADCSRA 進(jìn)行讀-修改-寫操作,那么待處理的中斷會被禁止。如果 ADIE 及 SREG 中的全局中斷使能位 I 也置位, ADC 轉(zhuǎn)換結(jié)束中斷服務(wù)程序即得以執(zhí)行,同時 ADIF 硬件清零。該位清零,終止連續(xù)轉(zhuǎn)換模式。 Bit 5 – ADFR: ADC 連續(xù)轉(zhuǎn)換選擇 該位置位時,運行在連續(xù)轉(zhuǎn)換模式。在轉(zhuǎn)換進(jìn)行過程中讀取ADSC 的返回值為 “ 1” ,直到轉(zhuǎn)換結(jié)束。第一次轉(zhuǎn)換 ( 在 ADC 啟動之后置位 ADSC,或者在使能 ADC 的同時置位 ADSC) 需要 25 個 ADC 時鐘周期,而不是正常情況 下的 13 個。 Bit 6 – ADSC: ADC 開始轉(zhuǎn)換 在單次轉(zhuǎn)換模式下, ADSC 置位將啟動一次 ADC 轉(zhuǎn)換。 表 42 MUX30 ADC 通道選擇表 MUX3..0 單端輸入 0 ADC0 1 ADC1 10 ADC2 11 ADC3 續(xù)表 4- 2 MUX3..0 單端輸入 100 ADC4 21 101 ADC5 11
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1