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

正文內(nèi)容

基于單片機(jī)的智能小車控制_畢業(yè)論文-閱讀頁

2024-12-07 21:30本頁面
  

【正文】 車碰到障礙物。紅外接收二極管江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 8 頁 共 56 頁 又叫紅外光電二極管,也可稱紅外光敏二極管。紅外接收二極管能很好地接收紅外發(fā)光二極管發(fā)射的波長為 94Onm 的紅外光信號(hào),而對于其他波長的光線則不能接收。 小車采用紅外線傳感器進(jìn)行避障的電路原理圖如下圖 25所示,實(shí)物圖如圖26 所示。 表 22 紅外模塊的功能指標(biāo) 使用芯片 NE555 工作電壓 5V 輸出模式 數(shù)字信號(hào) 測量距離 1CM 200CM 探測距離是否可以調(diào)節(jié) 是 檢測信號(hào) 探測到障礙物為高電平,無障礙物或超出探測范圍輸出低電平 LED 紅色為 Power 指示燈,綠色為 Status 指示燈 圖 25 紅外線傳感器進(jìn)行避障的電路原理圖 江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 9 頁 共 56 頁 圖 26 紅外線傳感器進(jìn)行避障的實(shí)物圖 HCSR04 超聲波測距模塊 HCSR04 超聲波測距模塊可提供 2cm400cm 的非接觸式距離感測功能,測距精度可達(dá)高到 3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。 (2)模塊自動(dòng)發(fā)送 8個(gè) 40khz 的方波,自動(dòng)檢測是否有信號(hào)返回; (3)有信號(hào)返回,通過 IO口 ECHO 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。 HCSR04 超聲波 測距模塊的時(shí)序圖如圖 27所示。一旦檢測到有回波信號(hào)則輸出回響信號(hào)。由此通過發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離。 HCSR04 超聲波 測距模塊的電路圖如圖 28所示,實(shí)物圖如圖 29所示。 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。 由于 自激 蜂鳴器是 直流電壓 驅(qū)動(dòng)的,不需要利用交流 信號(hào) 進(jìn) 行驅(qū)動(dòng),只需對驅(qū)動(dòng)口輸出驅(qū)動(dòng)電平并通過 三極管 放大驅(qū)動(dòng)電流就能使蜂鳴器發(fā)出聲音 (其驅(qū)動(dòng)電路如圖 210 所示 ), 利用 定時(shí)器 來做定時(shí),通過定時(shí)翻轉(zhuǎn)電平產(chǎn)生符合蜂鳴器要求的頻率的波形,這個(gè)波形就可以用來驅(qū)動(dòng)蜂鳴器了。對于現(xiàn)實(shí)電路我們可以采用數(shù)碼管,也可以采用液晶顯示。液晶又分字符型和點(diǎn)陣型,我們使用的液晶是 字符型液晶。液晶電路使用時(shí),如果發(fā)現(xiàn)液晶不亮可以調(diào)節(jié)連接液晶的電位器,調(diào)節(jié)液晶的亮度。 江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 12 頁 共 56 頁 VSS1VDD2VO3RS4RW5EN6D07D18D29D310D411D512D613D714BLA15BLK16J2LCD1602VCCRSRWENVCCGNDR810KGND 圖 211 液晶顯示電路 遙控部分獨(dú)立按鍵電路 遙控部分的獨(dú)立按鍵與單片機(jī)的接口設(shè)置為 、 、 、 、 ,分別控制小車的前進(jìn)、后退、左轉(zhuǎn)彎、右轉(zhuǎn)彎、以及功能切換。遙控部分的獨(dú)立按鍵電路如圖 212所示。主控芯片為 STC89C52RC單片機(jī)。程序編譯采用 Keil uVision4編程軟件, Keil uVision4程序編譯界面如圖 31所示。程序的燒錄軟件采用 STC_ISP_V479軟件燒寫編譯好的HEX文件, STC_ISP_V479軟件程序燒寫界面如圖 32所示。程序從主函數(shù)開始執(zhí)行, 24L01 無線模塊初始化,同時(shí)在主函數(shù)中定義單片機(jī)口對應(yīng)的按鍵按下時(shí)所發(fā)出的函數(shù)值。如果未發(fā)現(xiàn)按鍵按下 則在主函數(shù)中循環(huán)判斷是否有按鍵按下。 24L01 子程序模塊先初始化,初始化的同時(shí)在設(shè)置的寫入 reg 函數(shù)中寫入本地地址,寫入接收端地址,并且設(shè)置頻道 0自動(dòng) ACK 應(yīng)答允許。 江蘇理工學(xué)院畢業(yè)論文 (說明書 ) 第 17 頁 共 56 頁 開 始2 4 L 0 1 初 始 化寫 本 地 地 址寫 接 收 端 地 址設(shè) 置 頻 道 0 自 動(dòng) A C K 應(yīng) 答 允 許設(shè) 置 接 收 數(shù) 據(jù) 長 度 為 3 2 字 節(jié)設(shè) 置 信 道 工 作 為 2 . 4 G H Z允 許 接 收 地 址 只 有 頻 道 0發(fā) 射 速 率 為 1 M H Z結(jié) 束 圖 34 24L01子程序流程圖 小車部分主程序流程圖 小車部分主程序流程圖如圖 35 所示。各個(gè)模塊初始化完畢后,單片機(jī)判斷是否接受到了信號(hào),如果接收到信號(hào),則判斷相應(yīng)的按鍵值,如果沒有接收到按鍵值則返回繼續(xù)判斷是否接受到信號(hào)。而超聲波測距,并在液晶上顯示相應(yīng)距離,危險(xiǎn)距離報(bào)警都是貫穿在整個(gè) while( 1)的語句中的。只有在確保每個(gè)模塊都正常的情況下才能進(jìn)行總體的設(shè)計(jì)和總體的調(diào)試。 硬件部分 硬件的焊接 單片機(jī)的電路系統(tǒng)相對于簡單一些,對于焊接只要多練習(xí)就不會(huì)出現(xiàn)問題,但是,單片機(jī)的電路系統(tǒng)中只要出于一處的錯(cuò)誤,則會(huì)對檢測造成很大的不便,而且電路的交叉線較多,對于各種鋒利的引腳都要注意處理, 否則會(huì)刺破帶有包皮的導(dǎo)線,則會(huì)對電路造成短路現(xiàn)象。回想這些問題只要認(rèn)真多思考都是可以避免的,主要問題在于單片機(jī)上的測試用燈不亮,原因出于焊接時(shí)間過長導(dǎo)致電路板上的金屬片脫落,造成斷路。 24L01 無線電模塊 24L01 模塊是直接購買的模塊,在調(diào)試的時(shí)候按照商家提供的時(shí)序圖,編寫程序后卻一直無法通信,既不接受信號(hào)也不發(fā)送信號(hào)。 解決方案:在 電源處并入 1 個(gè) 104 瓷片電容, 1 個(gè) 100uF 電解電容,減少電源的波動(dòng)對模塊帶來的影響。所以設(shè)計(jì)了采用 7805,與 7809 并聯(lián)的方式作為 SONY適配器下級(jí)穩(wěn)壓輸出,成為了小車的外部供電電源。 在接下來的檢查中發(fā)現(xiàn),由于夏天天氣熱, 7809 散熱比較慢,而單個(gè) 7809的最高輸出電流在 。 解決方案:在 7809 旁邊并入一個(gè) 7809,相當(dāng)于加大了 7809 的輸出電流。該方 案的實(shí)施使得小車的續(xù)航能力大大提高。但是編寫后超聲波測量時(shí)值測量一次,不能一直保持測量狀態(tài)。在接下來程序的檢查中發(fā)現(xiàn)了超聲波中 count()計(jì)算函數(shù)放在了 while(1)函數(shù)外面。該方案的實(shí)施,使得小車能夠 一直保持測距的狀態(tài),并且在 LCM1602 上一直持續(xù)顯示正確的數(shù)值。 小車聯(lián)調(diào)的時(shí)候遇到了很多問題: ( 1) 在無線電模塊調(diào)試的時(shí)候,小車執(zhí)行的動(dòng)作與發(fā)射的信號(hào)的所需要執(zhí)行的動(dòng)作不一致,要求小車往左的時(shí)候小車并沒有往左轉(zhuǎn)彎,要求小車前進(jìn)的時(shí)候小車也并沒有前進(jìn)。重新再程序中定義 IO 口后,小車 就能按照無線信號(hào)發(fā)射的要求做出相應(yīng)的動(dòng)作。當(dāng)按鍵多次按下后,小車才執(zhí)行相應(yīng)的動(dòng)作。而且,按鍵的抖動(dòng)也會(huì)對無線的發(fā)射信號(hào)產(chǎn)生影響。實(shí)施該方 案后小車對信號(hào)的接受靈敏度大幅度提高,能夠準(zhǔn)確快速的做出相應(yīng)的信號(hào)所要求的動(dòng)作。同時(shí)通過本課題設(shè)計(jì)與裝配、調(diào)試,提高自己的動(dòng)手能力,鞏固已學(xué)的理論知識(shí),建立單片機(jī)理論和實(shí)踐的結(jié)合,了解傳感器各單元電路之間的關(guān)系及相互影響,從而能正確設(shè)計(jì)、計(jì)算定時(shí)計(jì)數(shù)的各個(gè)單元電路。提高動(dòng)手能力和排除故障的能力。 經(jīng)過多次的反復(fù)測試與分析,可以對電路的原理及功能更加熟悉,同時(shí)提高了設(shè)計(jì)能力與對電路的分析能力,同時(shí)在軟件的編程方面得到更高的提高,對編程能力得到加強(qiáng),同時(shí)對所學(xué)的知識(shí)得到很大的提高與鞏固。在我們作品制作的過程中,老師們給了我們很多耐心的指導(dǎo)和啟發(fā),不僅讓我學(xué)到了專業(yè)知識(shí),還讓我學(xué)到了很多做人的道理。 在作品的制作過程中,也得到了許多同學(xué)的寶貴建議,在此一并致以誠摯的謝意。 最后,向在百忙中抽出時(shí)間對本文進(jìn)行評審并提出寶貴意見的各位領(lǐng)導(dǎo)老師表示衷心地感謝!由于自身水平有限,設(shè)計(jì)中一定存在很多不足之處,敬請各位老師批評指正。 typedef unsigned char uint。 sbit MOSI =P1^1。 sbit CE =P1^3。 sbit IRQ =P1^5。 sbit KEY2=P2^1。 sbit KEY4=P2^3。 //*********************************************NRF24L01************************************* define TX_ADR_WIDTH 5 // 5 uints TX address width define RX_ADR_WIDTH 5 // 5 uints RX address width define TX_PLOAD_WIDTH 20 // 20 uints TX payload define RX_PLOAD_WIDTH 20 // 20 uints TX payload uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}。 //接收地址 uchar TxBuf[20]。 void inerDelay_us(unsigned char n)。 uint SPI_RW(uint uchar)。 void SetRX_Mode(void)。 uint SPI_Read_Buf(uchar reg, uchar *pBuf, uchar uchars)。 unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)。 //*****************************************長延時(shí)***************************************** void Delay(unsigned int s) { unsigned int i。 is。 for(i=0。 i++)。 //狀態(tài)標(biāo)志 sbit RX_DR =sta^6。 sbit MAX_RT =sta^4。n0。 } //**************************************************************************************** /*NRF24L01初始化 //***************************************************************************************/ void init_NRF24L01(void) { inerDelay_us(100)。 // chip enable CSN=1。 // Spi clock line init high SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH)。 // 寫接收端地址 SPI_RW_Reg(WRITE_REG + EN_AA, 0x01)。 // 允許接收地址只有頻道 0,如果需要多頻道可以參考 Page21 SPI_RW_Reg(WRITE_REG + RF_CH, 0)。 //設(shè)置接收數(shù)據(jù)長度,本次設(shè)置為 32字節(jié) SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07)。 for(bit_ctr=0。bit_ctr++) // output 8bit { MOSI = (uchar amp。 // output 39。, MSB to MOSI uchar = (uchar 1)。 // Set SCK high.. uchar |= MISO。 // ..then set SCK low again } return(uchar)。 CSN = 0。 // Select register to read from.. reg_val = SPI_RW(0)。 // CSN high, terminate SPI munication return(reg_val)。 CSN = 0。 // select register SPI_RW(value)。 // CSN
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1