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

正文內(nèi)容

龍人寶貝機(jī)器人的結(jié)構(gòu)設(shè)計(jì)與控制畢業(yè)論文(參考版)

2025-07-01 23:08本頁(yè)面
  

【正文】 //向前 }}40。//向后 Left_Turn()。//向后 Right_Turn()。//向左 Left_Turn()。(irDetectRight==0))//兩邊同時(shí)接收到紅外線 { Backward()。//當(dāng)沒(méi)有IR信號(hào)返回時(shí),探測(cè)器的PC1口輸出狀態(tài)為高;當(dāng)它探測(cè)到被物體反射的38500 Hz和聲時(shí),它的輸出為低 if((irDetectLeft==0)amp。)。//當(dāng)沒(méi)有IR信號(hào)返回時(shí),探測(cè)器的PC0口輸出狀態(tài)為高;當(dāng)它探測(cè)到被物體反射的38500 Hz和聲時(shí),它的輸出為低 IRLaunch(39。)。 // } while(1) //死循環(huán) { IRLaunch(39。 // LOW_PORTD7。counter++)//開(kāi)始/復(fù)位信號(hào) { HIGH_PORTD7。*/for(uint16_t counter=1。 //在調(diào)試窗口顯示一條信息 /*聲明定義16位無(wú)符號(hào)整型變量counter,在開(kāi)始時(shí)Counter被設(shè)為1,并在每次重復(fù)的最后被增加1。 //設(shè)置PD2為輸出口 SET_DDRD5。 //設(shè)置PD6為輸出口 SET_DDRC3。 //定義整型變量,存儲(chǔ)右邊IR檢測(cè)器的狀態(tài) SET_DDRD7。 //串口初始化 int irDetectLeft。 //設(shè)置PC2輸出低電平 delay_nms(20)。 //設(shè)置PC2輸出高電平 delay_nus(1700)。 // LOW_PORTC3。i++) { HIGH_PORTC3。*/for(uint16_t i=1。 //延時(shí)20ms }}void Backward(void) //聲明一個(gè)向后子函數(shù){/*聲明定義16位無(wú)符號(hào)整型變量i,在開(kāi)始時(shí)i被設(shè)為1,并在每次重復(fù)的最后被增加1。 // LOW_PORTC2。 //設(shè)置PC3輸出低電平 HIGH_PORTC2。 //設(shè)置PC3輸出高電平 delay_nus(1700)。i=26。在循環(huán)重復(fù)前,如果i大于26,則循環(huán)結(jié)束。 //設(shè)置PC2輸出低電平 delay_nms(20)。 //設(shè)置PC2輸出高電平 delay_nus(1300)。 // LOW_PORTC3。i++) { HIGH_PORTC3。*/for(uint16_t i=1。 //延時(shí)20ms}void Left_Turn(void) //聲明一個(gè)向左子函數(shù){ /*聲明定義16位無(wú)符號(hào)整型變量i,在開(kāi)始時(shí)i被設(shè)為1,并在每次重復(fù)的最后被增加1。 // LOW_PORTC2。 //設(shè)置PC3輸出低電平 HIGH_PORTC2。 //設(shè)置PC3輸出高電平 delay_nus(1700)。 delay_nus(13)。 delay_nus(13)。counter38。R39。 delay_nus(13)。 delay_nus(13)。counter38。L39。 // 判斷紅外和聲是否遇到探測(cè)物}void IRLaunch(unsigned char IR){ int counter。 // 判斷紅外和聲是否遇到探測(cè)物}int PC1_state(void) //獲取PC1的狀態(tài){ return (PINCamp。 //延時(shí)20ms }}紅外線導(dǎo)航程序代碼如下:includeavr/ //寶貝車的標(biāo)準(zhǔn)頭文件includeavr/ //串口的頭文件int PC0_state(void) //獲取PC0的狀態(tài){ return (PINCamp。 // LOW_PORTC2。 //設(shè)置PC3輸出低電平 HIGH_PORTC2。 //設(shè)置PC3輸出高電平 delay_nus(1700)。counter130。在循環(huán)重復(fù)前,如果Counter大于等于130,則循環(huán)結(jié)束。 //設(shè)置PD7輸出低電平 delay_nus(166)。 //設(shè)置PD7輸出高電平 delay_nus(166)。counter=6000。在循環(huán)重復(fù)前,如果Counter大于6000,則循環(huán)結(jié)束。 //設(shè)置PC2為輸出口 printf(Program Running\n)。 //設(shè)置PD7為輸出口 SET_DDRC3。 //串口初始化 uint16_t counter。 EA=1。 //啟動(dòng)定時(shí)器 ES=1。 //波特率9600 TL1=0xfd。 //設(shè)置定時(shí)器T/C1工作在方式2,定時(shí)1工作于自動(dòng)重載模式 SCON=0x50。 sendfull=0。 oend=0。 iend=0。 return(c)。(ILEN1)]。} ES=0。}//_getkey:中斷控制_getkey函數(shù)//替換標(biāo)準(zhǔn)庫(kù)函數(shù)_getkey程序//getchar和gets函數(shù)使用_getkeychar _getkey(void){ char c。 putbuf(c)。 //等待發(fā)送緩沖區(qū)空 putbuf(0x0D)。\n39。} //設(shè)置緩沖區(qū)滿標(biāo)志 ES=1。 //向發(fā)送緩沖區(qū)傳送字符 if(((oend^ostart)amp。 //暫時(shí)串行口關(guān)閉中斷 outbuf[oend++amp。 //直接發(fā)送一個(gè)字符 SBUF=c。 //設(shè)置緩沖區(qū)滿標(biāo)志位 } else { sendactive=0。(OLEN1)]。 //緩沖區(qū)接收數(shù)據(jù) } } //發(fā)送數(shù)據(jù)中斷 if(TI) { TI=0。 //清接收中斷請(qǐng)求標(biāo)志 if(istart+ILEN!=iend) { inbuf[iend++amp。 if(RI) //接收中斷 { c=SBUF。 //發(fā)送緩沖區(qū)滿標(biāo)志bit bdata sendactive。 //接收緩沖區(qū)結(jié)束索引char idata inbuf[ILEN]。 //發(fā)送緩沖區(qū)存儲(chǔ)數(shù)組define ILEN 8 //串行接收緩沖區(qū)大小unsigned char istart。 //發(fā)送緩沖區(qū)起始索引unsigned char oend。 //串口初始化 串口初始化函數(shù),用來(lái)規(guī)定單片機(jī)串口是如何與PC通信的。 :函數(shù)uart_Init()的定義和實(shí)現(xiàn)。 其次要感謝我的同學(xué)對(duì)我無(wú)私的幫助,特別是在機(jī)械制圖方面,正因?yàn)槿绱宋也拍茼樌耐瓿稍O(shè)計(jì),最后我還要感謝那些曾給我授過(guò)課的每一位老師,是你們教會(huì)我專業(yè)知識(shí)。我的設(shè)計(jì)較為復(fù)雜煩瑣,但是老師仍然細(xì)心地幫我糾正設(shè)計(jì)中的錯(cuò)誤。比如,在輸出軸上的防水問(wèn)題考慮的不是很周到、機(jī)器人在遇到障礙物的時(shí)候停的很急,在機(jī)器人的外觀合理性、程序的合理性等方面都有待提高,希望下屆的師弟師妹們?nèi)缬凶鲞@個(gè)畢業(yè)設(shè)計(jì)課題的,能有進(jìn)一步的改善!致 謝經(jīng)過(guò)二個(gè)多月認(rèn)真而細(xì)致的努力,本次畢業(yè)設(shè)計(jì)已經(jīng)完成,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,有許多考慮不周的地方,如果沒(méi)有指導(dǎo)老師的指導(dǎo),想要順利完成畢業(yè)設(shè)計(jì)就要花費(fèi)很多的時(shí)間。可能大家也在錄制的視頻短片中發(fā)現(xiàn)了一些問(wèn)題與不足,在之后的總結(jié)中我也有提到,還請(qǐng)大家多多包涵!總結(jié)通過(guò)這次畢業(yè)設(shè)計(jì),讓我對(duì)機(jī)械設(shè)計(jì)以及單片機(jī)及編程有了更深一步了解。在展示之前首先利用Keil uVision2軟件將已編制的程序生成可執(zhí)行hex文件,使用AVR_fighter軟件通過(guò)USBASP下載器,將hex文件下載到單片機(jī)中,這樣便可以實(shí)現(xiàn)自己想要的對(duì)機(jī)器人各種運(yùn)動(dòng)的控制。 }}前面提到,只要我們給伺服電機(jī)以不同的脈沖寬度配合,就能實(shí)現(xiàn)各種運(yùn)動(dòng),比如勻速運(yùn)動(dòng)、向左(向右)轉(zhuǎn)彎。 LOW_PORTD5。counter++)//右邊發(fā)射 { HIGH_PORTD5。) for(counter=0。 } if(IR==39。 LOW_PORTD6。counter++) { HIGH_PORTD6。) for(counter=0。 if(IR==39。0x02)?1:0。0x01)?1:0。以下是實(shí)現(xiàn)機(jī)器人避障運(yùn)動(dòng)的部分程序,完整程序在附件中。具體流程如上圖所示,當(dāng)打開(kāi)電源開(kāi)頭,首先就恢復(fù)到中間位置,然后控制傾伺服電機(jī)運(yùn)動(dòng),前行,當(dāng)紅外線發(fā)射器接收到前方有障礙物時(shí),就會(huì)給伺服電機(jī)給一個(gè)適當(dāng)脈沖首先實(shí)現(xiàn)其停止,然后實(shí)現(xiàn)機(jī)器人的轉(zhuǎn)向。 //設(shè)置PC2輸出低電平 delay_nms(20)。 //設(shè)置PC2輸出高電平 delay_nus(1300)。 // LOW_PORTC3。counter++)//運(yùn)行3秒 { HIGH_PO
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1