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

正文內(nèi)容

基于atmega8單片機(jī)尋跡小車(chē)設(shè)計(jì)(編輯修改稿)

2025-02-14 16:10 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 右端對(duì)齊(RIGHT ADJUSTED)的。但可以通過(guò)設(shè)置ADMUX寄存器中ADLAR位,調(diào)整為左端對(duì)齊(LEFT ADJUSTED)。如果轉(zhuǎn)換結(jié)果是左端對(duì)齊,并且只需要8位的精度,那么只需讀取ADCH寄存器的數(shù)據(jù)作為轉(zhuǎn)換結(jié)果就達(dá)到要求了。否則,必須先讀取ADCL寄存器,然后再讀取ADCH寄存器,以保證數(shù)據(jù)寄存器中的內(nèi)容是同一次轉(zhuǎn)換的結(jié)果。Bits 3:0 – MUX3:0: 模擬通道選擇位通過(guò)這幾位的設(shè)置,可以對(duì)連接到ADC 的模擬輸入進(jìn)行選擇,詳見(jiàn)表4。如果在轉(zhuǎn)換過(guò)程中改變這幾位的值,那么只有到轉(zhuǎn)換結(jié)束(ADCSRA 寄存器的ADIF 置位) 后新的設(shè)置才有效。表42 MUX30 ADC通道選擇表MUX3..0單端輸入0ADC01ADC110ADC211ADC3續(xù)表4-2MUX3..0單端輸入100ADC4101ADC5110ADC6111ADC71000 1001 1010 1011 1100 1101 1110(VBG)11110V(GND) ADC 控制和狀態(tài)寄存器-ADCSRAADCSRA寄存器如圖45所示Bit76543210ADEN ADSCADFRADIFADIEADPS2ADPS1ADPS0ADCSRA讀/寫(xiě)R/WR/WR/WR/WR/WR/WR/WR/W初值00000000圖45 ADCSRA 寄存器Bit 7 – ADEN: ADC 使能ADEN置位即啟動(dòng)ADC,否則ADC功能關(guān)閉。在轉(zhuǎn)換過(guò)程中關(guān)閉ADC將立即終止正在進(jìn)行的轉(zhuǎn)換。Bit 6 – ADSC: ADC 開(kāi)始轉(zhuǎn)換在單次轉(zhuǎn)換模式下,ADSC 置位將啟動(dòng)一次ADC 轉(zhuǎn)換。在連續(xù)轉(zhuǎn)換模式下,ADSC 置位將啟動(dòng)首次轉(zhuǎn)換。第一次轉(zhuǎn)換( 在ADC 啟動(dòng)之后置位ADSC,或者在使能ADC 的同時(shí)置位ADSC) 需要25 個(gè)ADC 時(shí)鐘周期,而不是正常情況下的13 個(gè)。第一次轉(zhuǎn)換執(zhí)行ADC初始化的工作。在轉(zhuǎn)換進(jìn)行過(guò)程中讀取ADSC 的返回值為“1”,直到轉(zhuǎn)換結(jié)束。ADSC 清零不產(chǎn)生任何動(dòng)作。Bit 5 – ADFR: ADC 連續(xù)轉(zhuǎn)換選擇該位置位時(shí),運(yùn)行在連續(xù)轉(zhuǎn)換模式。該模式下,ADC 不斷對(duì)數(shù)據(jù)寄存器進(jìn)行采樣與更新。該位清零,終止連續(xù)轉(zhuǎn)換模式。Bit 4 – ADIF: ADC 中斷標(biāo)志在ADC 轉(zhuǎn)換結(jié)束,且數(shù)據(jù)寄存器被更新后, ADIF 置位。如果ADIE 及SREG 中的全局中斷使能位I 也置位,ADC 轉(zhuǎn)換結(jié)束中斷服務(wù)程序即得以執(zhí)行,同時(shí)ADIF 硬件清零。此外,還可以通過(guò)向此標(biāo)志寫(xiě)1 來(lái)清ADIF。要注意的是,如果對(duì)ADCSRA 進(jìn)行讀-修改-寫(xiě)操作,那么待處理的中斷會(huì)被禁止。這也適用于SBI及CBI指令。Bit 3 – ADIE: ADC 中斷使能若ADIE 及SREG 的位I 置位, ADC 轉(zhuǎn)換結(jié)束中斷即被使能。Bits 2:0 – ADPS2:0: ADC 預(yù)分頻器選擇位由這幾位來(lái)確定XTAL 與ADC 輸入時(shí)鐘之間的分頻因子。 ADC 轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)束后(ADIF 為高),轉(zhuǎn)換結(jié)果被存入ADC 結(jié)果寄存器(ADCL, ADCH)。單次轉(zhuǎn)換的結(jié)果如下:其中:式中 為被選中引腳的輸入電壓。 為參考電壓。 軟件程序設(shè)計(jì) 程序總流程圖小車(chē)進(jìn)入尋跡模式后,即開(kāi)始不停地掃描與探測(cè)器連接的單片I/O 口,并經(jīng)過(guò)ADC將模數(shù)轉(zhuǎn)換成數(shù)字信號(hào)。一旦檢測(cè)到某個(gè)I/O 口有信號(hào)變化,就執(zhí)行相應(yīng)的判斷程序,把相應(yīng)的信號(hào)發(fā)送給電動(dòng)機(jī)從而糾正小車(chē)的狀態(tài)。軟件的主程序流程圖如圖46所示:Y開(kāi)始系統(tǒng)初始化是否完成全部任務(wù)?循跡子函數(shù)是否完成本次任務(wù)?結(jié)束NNY圖46主程序流程圖 ADC 源程序ADC源程序組分初始化和轉(zhuǎn)換程序。由于ATmega8只有一個(gè)ADC轉(zhuǎn)換內(nèi)核,所以通用六次調(diào)用 adc_get()可以得到PC0~PC5六個(gè)端口電壓,判斷線的位確定小車(chē)的偏向。ADC初始化源程序:void adc_init() // adc初始化{ ACSR=0x80。 //關(guān)掉模擬比較器的電源(禁用模擬比較器) ADMUX=(1REFS0)。 //選擇外部5V參考電壓 ADCSRA=(1ADEN)。//這里選擇的是連續(xù)模式SFIOR=0x00。 //adc高速模式選擇}ADC轉(zhuǎn)換程序:unsigned char adc_get(int q) // q 為要ADMUX值,可以選擇ADC通道{ unsigned int temp。 ADMUX=q。 ADCSRA|=(1ADSC)。 //開(kāi)始轉(zhuǎn)換 while(!(ADCSRamp。(1ADIF))){。}//等待轉(zhuǎn)換完成 ADCSR|=(1ADIF)。 //清標(biāo)志 temp=ADC。 //讀數(shù) temp=temp*50/0x03ff。 //轉(zhuǎn)換成050() return (unsigned char)(temp)。 //返回ADC值} PWM調(diào)速源程序PWM調(diào)速程序分為初始化和調(diào)節(jié)占空比兩部分。主程序首先調(diào)用init_time1_PWM() 初始化計(jì)數(shù)器1的初始值、端口模式和OCR1A、OCR1B寄存器內(nèi)的初始值。后續(xù)可直接調(diào)用timer1_PWM( )來(lái)調(diào)節(jié)占空比。PWM初始化程序:void init_timer1_PWM(unsigned int x,unsigned int y){ DDRB|=(1PB1)|(1PB2)。 //設(shè)置PB1和PB2為輸出模式 TCCR1B=0x0。 //先停止TC1 TCNT1=0。 //設(shè)置TCNT1的初值 OCR1A=x。 //設(shè)置OC1A的初值 OCR1B=y。 //設(shè)置OC1B的初值 ICR1= countertop。 //設(shè)置ICR的初值,即周期T。TCCR1A|=(1COM1A1)|(1COM1B1)|(1WGM11)。//工作模式,輸出模式 TCCR1B|=(1WGM13)|(1CS11)|(1CS10)。//設(shè)置工作模式及分頻}調(diào)節(jié)點(diǎn)空比程序:void timer1_PWM(unsigned int x,unsigned int y) //調(diào)節(jié)占空比{if (x=countertop) x=countertop。 //避免PWM值超過(guò)計(jì)數(shù)器的最大值; if (y=countertop) y=countertop。 //避免PWM值超過(guò)計(jì)數(shù)器的最大值; OCR1A=x。 OCR1B=y。} PID 算法源程序在小車(chē)實(shí)際應(yīng)用中,只選用了P(積分)和D(微分)算法。微分參數(shù)的三次誤差鑲嵌在速度選擇程序段中。電機(jī)的主要速度由速度等級(jí)程序選擇。PID計(jì)算出左右電機(jī)的速度差。程序詳細(xì)見(jiàn)參照附錄1 。define Kp 600 //定義比例系數(shù)define Kd 1200 //定義差分系數(shù)char err[3]={0}。 //定義三次的誤差值char err_D=0,err_P=0。 //定義偏差,利用比例,差分int PidSet(){ err_P=err[0]。 err_D=err[0]err[1]。 return(Kp*err_P+Kd*err_D)。} 第五章 ICCAVR與Proteus仿真前面,已經(jīng)完成了系統(tǒng)硬件連接與軟件設(shè)計(jì),在接下了的這章,就要進(jìn)行系統(tǒng)的仿真驗(yàn)證整個(gè)系統(tǒng)的可行性,本次仿真系統(tǒng)采用的是ICC AVR和Proteus搭建的系統(tǒng)仿真調(diào)適平臺(tái)。 ICC AVR與Proteus說(shuō)明ICCAVR是一款非常好用的AVR編譯軟件。它綜合了編輯器和工程管理器的集成工作環(huán)境,使用符合 ANSI 標(biāo)準(zhǔn)的 C 語(yǔ)言來(lái)開(kāi)發(fā)微控制器 MCU程序的一個(gè)工具。Proteus是當(dāng)前EDA(Electronic Design Auromation)市場(chǎng)上性價(jià)比最高和性能最強(qiáng)的一款單片機(jī)軟件仿真系統(tǒng),它由ISIS原理圖設(shè)計(jì)、仿真系統(tǒng)和ARES印制電路板設(shè)計(jì)系統(tǒng)組成。其中,ISIS能夠完成模擬電路仿真、數(shù)字電路仿真以及單片機(jī)實(shí)驗(yàn)仿真。 模擬光電檢測(cè)電路在Proteus仿真中,以電阻、LED燈和開(kāi)關(guān)串聯(lián)接入電源來(lái)以模擬光電開(kāi)關(guān)檢測(cè)黑線的過(guò)程。電路圖如圖51所示。PC0~PC5開(kāi)關(guān)5開(kāi)關(guān)4開(kāi)關(guān)3開(kāi)關(guān)2開(kāi)關(guān)1開(kāi)關(guān)0圖51 光電開(kāi)關(guān)模擬電路手動(dòng)閉合“開(kāi)關(guān)0”~“開(kāi)關(guān)5”中一個(gè),則相應(yīng)PC端口輸出高電平。以此模擬光電開(kāi)關(guān)檢測(cè)到黑線。表51 開(kāi)關(guān)閉合模擬黑線位置開(kāi)關(guān)0開(kāi)關(guān)1開(kāi)關(guān)2開(kāi)關(guān)3開(kāi)關(guān)4開(kāi)關(guān)5模擬黑線位置閉合開(kāi)開(kāi)開(kāi)開(kāi)開(kāi)最右端開(kāi)閉合開(kāi)開(kāi)開(kāi)開(kāi)偏右開(kāi)開(kāi)閉合開(kāi)開(kāi)開(kāi)中心開(kāi)開(kāi)開(kāi)閉合開(kāi)開(kāi)中心開(kāi)開(kāi)開(kāi)開(kāi)閉合開(kāi)偏左開(kāi)開(kāi)開(kāi)開(kāi)開(kāi)閉合最左端 Proteus仿真過(guò)程以及結(jié)果巡線小車(chē)程序使用ICC AVR軟件編寫(xiě)源代碼,導(dǎo)入Proteus中模擬運(yùn)行。在仿真過(guò)程中為了便于觀察左右兩側(cè)電機(jī)電壓的占空比,在Proteus中調(diào)入示波器A,示波器B。分別輸出右電機(jī)電壓波形圖和左電機(jī)電壓波形圖。如圖示波器A、示波器B的接法。圖52 示波器的接線及對(duì)應(yīng)電機(jī)Proteus仿真步驟及結(jié)論:(1)點(diǎn)擊Proteus左下角運(yùn)行程序,開(kāi)始模擬小車(chē)的運(yùn)行過(guò)程。此時(shí)左右電機(jī)都已相同速度轉(zhuǎn)動(dòng),左右示波器輸出相同占空比波形。(2)當(dāng)閉合開(kāi)關(guān)2或開(kāi)關(guān)3(黑線在中心)左右電機(jī)轉(zhuǎn)速任然相同。(3)斷開(kāi)所有開(kāi)關(guān),閉合開(kāi)關(guān)4(黑線偏左)。右電機(jī)轉(zhuǎn)速稍微比左電機(jī)快,觀察示波器,示波器A高電平持續(xù)時(shí)間比示波器B更長(zhǎng)。(4)斷開(kāi)所有開(kāi)關(guān),閉合開(kāi)關(guān)5(黑線最左)。右電機(jī)轉(zhuǎn)速明顯比左電機(jī)快,觀察示波器,示波器A高電平持續(xù)時(shí)間比示波器B更長(zhǎng)。(5)黑線在偏右模擬同上。結(jié)論:模擬小車(chē)巡線運(yùn)行成功。 結(jié) 論本論文設(shè)計(jì)以ATmega8單片機(jī)為基礎(chǔ)設(shè)計(jì)了一套能自動(dòng)巡線并行駛的小車(chē)電路及程序。其中電路圖包括實(shí)物電路圖和仿真電路圖兩套電路。不同之處在于仿真電路圖以按鍵開(kāi)關(guān)模擬光電開(kāi)關(guān)并省去了程序下載電路。程序中ADC子程序,PWM調(diào)速子程序,PID控制子程序,電機(jī)速度選擇程序都含有,并都能按預(yù)期的執(zhí)行。在Proteus仿真中也得到了驗(yàn)證,仿真很成功。但是仿真依然是處于理論的基礎(chǔ),只是驗(yàn)證的電路圖及程序的可行性。在實(shí)際的小車(chē)運(yùn)行中人需要要考慮很多問(wèn)題,比如光電開(kāi)關(guān)的誤差;實(shí)際小車(chē)的運(yùn)行速度是否會(huì)影響檢測(cè)黑線;小車(chē)經(jīng)過(guò)不同角度的彎道速度應(yīng)該取多少;還有PID控制中、取值。都這些問(wèn)題實(shí)際制作小車(chē)過(guò)程中都需要一一考慮并調(diào)試修改。 參考文獻(xiàn)[1]章政,吳懷宇,7[2]張建民,機(jī)電一體化系統(tǒng)設(shè)計(jì)(第三版),高等教育出版社2007,7[3]熊和金. 智能汽車(chē)系統(tǒng)研究的若干問(wèn)題,2001,2:37~40[4]姜培剛,:機(jī)械工業(yè)出版社,[5]馬潮,詹衛(wèi)前,,3[6]唐一平,機(jī)械工程專業(yè)英語(yǔ),電子工業(yè)出版社,2009,10[7]楊路明,2005,5[8]郁有文,常建,(第二版).西安:西安電子科技大學(xué)出版社,2003[9]黃智偉,:電子工業(yè)出版社,2007[10]鄒逢興,:清華大學(xué)出版社,[11]周斌,李立國(guó),2006,5 139~140[12]夏路易, :北京希望電子出版社,2002[13] 沈文,:清華大學(xué)出版社[14] and of the CIRP,1989,2(38):627634[15]Daniel Hunt ’s Newest Threat. New York:Chapman and Hall,1987 謝 辭經(jīng)過(guò)半年的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒(méi)有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。在這里首先要感謝張老師。老師平日里工作繁忙,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從外出實(shí)習(xí)到查閱資料,設(shè)計(jì)草案的確定和修改,中期檢查等整個(gè)過(guò)程中都給予了我悉心的指導(dǎo)。除了敬佩張老師的專業(yè)水平外,他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。其次要感謝和我一起作畢業(yè)設(shè)計(jì)的其他同學(xué),他們?cè)谠O(shè)計(jì)中勤奮工作,克服了許多困難來(lái)完成此次畢業(yè)設(shè)計(jì),并承擔(dān)了大部分的工作量。如果沒(méi)有他們的努力工作,此次設(shè)計(jì)的完成將 變得非常困難。然后還要感謝大學(xué)四年來(lái)所有的老師,為我打下扎實(shí)的專業(yè)知識(shí)基礎(chǔ);同時(shí)還要感謝所有的同學(xué)們,正是因?yàn)橛辛怂麄兊闹С趾凸膭?lì),此次畢業(yè)設(shè)計(jì)才會(huì)順利完成。 附錄1include include define uchar unsigned chardefine uint unsigned intdefine countertop 10000define Kp 600define Kd 1200uchar IR_state0=0。 // 定義IR傳感器的狀態(tài)int err
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1