九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

智能小車(chē)聲音引導(dǎo)系統(tǒng)設(shè)計(jì)與制作報(bào)告.doc

  • 資源ID:8963659       資源大?。?span id="24d9guoke414" class="font-tahoma">287KB        全文頁(yè)數(shù):20頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

智能小車(chē)聲音引導(dǎo)系統(tǒng)設(shè)計(jì)與制作報(bào)告.doc

聲音引導(dǎo)系統(tǒng)設(shè)計(jì)與制作報(bào)告 一、方案選擇與論證 1、整體方案選擇 方案一:本方案采用音頻收發(fā)的方式,由核心控制模塊80C51F020發(fā)出一個(gè)特定頻率的音頻脈沖信號(hào),前置音頻接收模塊接收并識(shí)別這個(gè)脈沖信號(hào)。將其轉(zhuǎn)變成TTL電平。采用FPGA對(duì)接受的信號(hào)進(jìn)行處理,經(jīng)過(guò)無(wú)線收發(fā)模塊通訊,將小車(chē)的定點(diǎn)位置傳至核心模塊單片機(jī)處理并控制小車(chē)在特定的范圍內(nèi)運(yùn)動(dòng)。 方案二:本方案采用語(yǔ)音收發(fā)的方式來(lái)控制小車(chē)的運(yùn)動(dòng),由核心控制模塊控制語(yǔ)音芯片,發(fā)送特定的語(yǔ)音信號(hào),再由語(yǔ)音識(shí)別模塊對(duì)語(yǔ)音進(jìn)行采集和數(shù)字化。采用FPGA對(duì)接受的信號(hào)進(jìn)行處理,經(jīng)過(guò)無(wú)線收發(fā)模塊通訊,將小車(chē)的定點(diǎn)位置傳至核心模塊單片機(jī)處理并控制小車(chē)在特定的范圍內(nèi)運(yùn)動(dòng)。 方案比較:方案一的核心控制算法由80C51F020完成。單片機(jī)的算法控制比較簡(jiǎn)單,容易實(shí)現(xiàn)。而FPGA的算法較復(fù)雜,但其對(duì)邊沿信號(hào)反應(yīng)時(shí)間快,所以利用FPGA處理接受音頻信號(hào)。方案二用到語(yǔ)音收發(fā)的方式,由于識(shí)別語(yǔ)音的收發(fā)模塊實(shí)現(xiàn)困難,所以本設(shè)計(jì)采用方案一。 2、控制理論計(jì)算方案選擇 方案一:可移動(dòng)聲源在運(yùn)動(dòng)前發(fā)出音頻信號(hào),根據(jù)三個(gè)接收器接收音頻的時(shí)間不同,可以算出聲源到接收器間的距離和聲源到中線OX的距離,即可移動(dòng)聲源起始位置定位。然后控制小車(chē)做垂直中線OX運(yùn)動(dòng),到達(dá)中線OX。再第二次發(fā)音頻信號(hào),定位此時(shí)可移動(dòng)聲源的位置,得出與中心點(diǎn)W的距離,使小車(chē)轉(zhuǎn)動(dòng)90度,運(yùn)動(dòng)至W點(diǎn)。 方案二:可移動(dòng)聲源發(fā)出音頻信號(hào)后,得到定位。根據(jù)弧度的計(jì)算,控制小車(chē)做弧線運(yùn)動(dòng)。到達(dá)至中線OX??梢苿?dòng)聲源第二次發(fā)出音頻信號(hào),得到與中心點(diǎn)W的距離,控制小車(chē)到達(dá)W點(diǎn)。 方案比較:方案一直接利用走垂直線的方法,算法簡(jiǎn)單。方案二用到弧長(zhǎng)和角度的算法,控制困難,且調(diào)試繁瑣。為了滿足方案的要求,所以本設(shè)計(jì)選擇方案一。 二、硬件設(shè)計(jì)與實(shí)現(xiàn) 硬件系統(tǒng)的框圖如圖1所示。單片機(jī)與FPGA通過(guò)無(wú)線的方式通訊。 單片機(jī) FPGA 電機(jī)控制 音頻發(fā)送 無(wú)線收發(fā) 音頻接受 無(wú)線收發(fā) 紅外對(duì)管測(cè)速 液晶顯示 圖1、硬件系統(tǒng)框圖 主要模塊電路如下: 1、 控制器模塊 實(shí)現(xiàn)音頻的接受和無(wú)線收發(fā)功能。FPGA模塊電路如圖2所示。接收經(jīng)過(guò)鎖相環(huán)選頻后的信號(hào)和單片機(jī)控制發(fā)送的同步無(wú)線信號(hào),通過(guò)處理后利用無(wú)線通訊將命令發(fā)會(huì)單片機(jī)。 圖2、FPGA控制模塊 2、 音頻接收模塊 該模塊通過(guò)駐極體話筒采集音頻信號(hào),駐極體話筒具有結(jié)構(gòu)簡(jiǎn)單、重量輕、體積小、無(wú)方向性、頻率響應(yīng)寬、保真度好等優(yōu)點(diǎn)。音頻信號(hào)通過(guò)前置放大、濾波。再將放大信號(hào)通過(guò)LM567鎖相環(huán)音頻譯碼芯片,構(gòu)建選頻電路,當(dāng)輸入信號(hào)的頻率落在其內(nèi)部壓控振蕩器中心頻率時(shí),輸出端將由原來(lái)的高電平變?yōu)榈碗娖?。鎖相環(huán)內(nèi)部壓控振蕩器中心頻率(f=1/1.1RC)由5、6腳外接的電阻與電容決定。所以在5腳接入10K的滑動(dòng)變阻器調(diào)節(jié),可確定被選定的頻率。經(jīng)過(guò)多次計(jì)算與驗(yàn)證,前置放大電路用TL082集成運(yùn)放。當(dāng)麥克風(fēng)接收到6k赫茲左右的頻率時(shí),輸出會(huì)有很明顯的電平跳變。電路原理如圖3。 圖3、音頻接收模塊原理圖 3、 電機(jī)控制模塊 根據(jù)大賽要求,電機(jī)控制采用MMC-ASSP作為電機(jī)驅(qū)動(dòng)的主控芯片。采用串口通信UART模式。該芯片提供三個(gè)通道控制電機(jī),即可同時(shí)控制三個(gè)電機(jī)運(yùn)轉(zhuǎn)。每一路直流電機(jī)需要CHnDCPWM和CHnDCDIR兩個(gè)引腳,CHnDCPWM用于PWM波輸出,CHnDCDIR用于指定電機(jī)轉(zhuǎn)向,外接一個(gè)全橋驅(qū)動(dòng)芯片控制直流電機(jī)工作。通過(guò)調(diào)節(jié)占空比控制電機(jī)的轉(zhuǎn)速。數(shù)據(jù)的輸入輸出端口(TXD和RXD)與主控MCU相連。如圖4所示。采用了H橋驅(qū)動(dòng)元件L298,避免了使用分立元件帶來(lái)的電路板復(fù)雜的問(wèn)題,電路簡(jiǎn)潔。且可以提供最大為4A的電流。MMC-ASSP控制電路如圖4所示,L298驅(qū)動(dòng)電路如圖5所示。 雙H橋驅(qū)動(dòng)IC 雙H橋驅(qū)動(dòng)IC 雙H橋驅(qū)動(dòng)IC CH1DCPWM CH1DCDIR CH1DCPWM CH1DCDIR CH1DCPWM CH1DCDIR Vdd UART/SPI RESET SLEEP RXD/SI TXD/SO REGC Vss I/O TXD RXD Vdd GND 電機(jī)1 電機(jī)2 電機(jī)3 主控MCU MMC-1 圖4、UART模式下直流電機(jī)控制模塊 圖5、電機(jī)驅(qū)動(dòng)模塊原理圖 4、 紅外對(duì)管測(cè)速模塊 用黑線將小車(chē)車(chē)輪圓盤(pán)平均15等分,采用光電傳感器RCRT5000檢測(cè)黑線,在一定時(shí)間內(nèi)計(jì)數(shù)檢測(cè)到的黑線條數(shù),計(jì)算出車(chē)速,由80C51F020控制液晶顯示。紅外對(duì)管模塊如圖6。 圖6、紅外對(duì)管測(cè)速原理圖 5、顯示模塊 顯示模塊主要由80C51F020的開(kāi)發(fā)板作為控制核心,另外顯示電路作為外圍電路。主要功能:紅外對(duì)管采集車(chē)輪轉(zhuǎn)動(dòng)的數(shù)據(jù),由單片機(jī)處理后經(jīng)過(guò)1602液晶顯示小車(chē)的車(chē)速。 三、軟件系統(tǒng)設(shè)計(jì) 1、80C51F020和FPGA總體程序流程 初始化 定時(shí)器開(kāi) 計(jì)數(shù) 等待接收到無(wú)線命令 音頻結(jié)束 關(guān)定時(shí)器 換算距離 延時(shí) 無(wú)線發(fā)送 初始化 發(fā)送無(wú)線信號(hào) 發(fā)送6kHZ音頻信號(hào) 延時(shí) 是 否 否 是 定位聲源 接收無(wú)線信號(hào) (幾乎同時(shí)發(fā)送) 控制電機(jī) 圖7、程序流程圖 2、MMC-1 ASSP電機(jī)控制程序流程 電機(jī)驅(qū)動(dòng)需要配置相對(duì)應(yīng)的寄存器,占空比給定寄存器(chnDuty)在用于直流電機(jī)驅(qū)動(dòng)時(shí)需要配置,主要是通過(guò)設(shè)定該寄存器選擇不同占空比,進(jìn)而調(diào)節(jié)電機(jī)轉(zhuǎn)速。另外,在配置完chnDuty寄存器后,還要設(shè)置工作模式寄存器(chnMode)選擇驅(qū)動(dòng)電機(jī)的類型。本方案選擇的是直流電機(jī)。具體程序流程如圖8所示。 延時(shí)50us,初始化結(jié)束 MMC-1上電 初始化 設(shè)置chnDuty 寄存器 設(shè)置chnMode寄存器 是 否 結(jié)束 圖8、MMC-1電機(jī)控制程序流程 四、硬件與軟件調(diào)試 本方案所用到的硬件電路不多,主要是音頻接收模塊、電機(jī)驅(qū)動(dòng)模塊和核心板電路。有關(guān)的硬件模塊調(diào)試主要就是音頻的接收。該操作比較簡(jiǎn)單。難度較大的是軟件調(diào)試,本方案軟件控制是核心。通過(guò)對(duì)音頻的控制和無(wú)線接受模塊控制小車(chē)在特定要求下運(yùn)動(dòng)。主要用到核心控制器80C51F020和FPGA進(jìn)行協(xié)同控制。調(diào)試在控制時(shí)序方面較困難,對(duì)音頻的采集處理有難度。 五、性能與指標(biāo)測(cè)試 1、測(cè)試儀器 數(shù)字示波器 DS1102C 功率函數(shù)信號(hào)發(fā)生器 YB1605P 直流穩(wěn)壓電源 YB1732A2A 秒表、2米卷尺 2、測(cè)試分析 本次設(shè)計(jì)用到聲音的引導(dǎo),會(huì)受到較大的干擾,前置的音頻接受與轉(zhuǎn)換的硬件也存在一定的誤差,導(dǎo)致FPGA測(cè)得的時(shí)序浮度比較大,所測(cè)得的數(shù)據(jù)穩(wěn)定性不高。不過(guò)對(duì)小車(chē)的控制比較到位。 六、總結(jié) 經(jīng)過(guò)4天3夜的努力,我們終于完成了本題的制作,在參數(shù)和功能上盡量完成要求。在理論設(shè)計(jì)計(jì)算方面,我們充分運(yùn)用了我們所掌握的知識(shí),力爭(zhēng)做到更好。在實(shí)際過(guò)程中,關(guān)于音頻信號(hào)的處理和相關(guān)時(shí)序處理遇到的問(wèn)題較大。這一方面成為本設(shè)計(jì)的關(guān)鍵所在。說(shuō)明了我們還是缺少相關(guān)知識(shí)技術(shù)和實(shí)際的工程經(jīng)驗(yàn)。通過(guò)此次大賽,我們隊(duì)的每個(gè)成員都獲益非淺。 參考文獻(xiàn) [1] 綜合電子設(shè)計(jì)與實(shí)踐.田良.南京:東南大學(xué)出版社,2002.3. [2] FPGA設(shè)計(jì)與應(yīng)用.劉皖,何道君,譚明.北京:清華大學(xué)出版社,2006. [3] C8051F單片機(jī)原理及應(yīng)用. 鮑可進(jìn). 北京:中國(guó)電力出版社,2006. [4] FPGA原理與實(shí)踐.張慶玲, 楊勇.北京:北京航空航天大學(xué)出版社,2006. 附  錄 附錄1. 單片機(jī)源程序 //020 串口UART0發(fā)送程序模塊 #include<c8051f020.h> unsigned int count,count1,count2; unsigned char lcd[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; unsigned int cnt; //用于控制發(fā)6KHz的方波的個(gè)數(shù) unsigned int a,b,c; bit flag_sound; //標(biāo)志位,用于控制發(fā)送方波的個(gè)數(shù) bit flag,flag1,flag2; bit key_flag; sbit key1=P0^5; sbit key2=P0^6; sbit sound=P0^7; sbit RS=P2^5;//液晶 sbit RW=P2^6; sbit EN=P2^7; sbit P30=P3^0;//EN_1,EN_2 sbit P31=P3^1; sbit P33=P2^3; void Delay(unsigned int i); void PORT_Init(void); void SYSCLK_Init(void); void UART0_INT(); void UART1_INT(); void E_int(void); void Wait_Busy(void); void Write_Data(unsigned char data_in); void Write_Code(unsigned char code_in); void Lcd_Init(void); void stright(void); void zhuanwan_left(void); void zhuanwan_right(void); void stop_8s(void); void delay_long(void); void stop(); void key_puanduan(); void Timer_INT(); void Delay(unsigned int i)//延時(shí)子程序 { while(i--); } void Timer_INT() interrupt 1 using 1 { if (cnt==b) //發(fā)10個(gè)周期的6KHz的方波 { TL0=0x69; //6KHz的頻率產(chǎn)生的定時(shí)器的值 TH0=0xff; flag_sound=1; TR0=0; cnt=0; } else { TL0=0x69; TH0=0xff; sound=~sound; cnt++; flag_sound=0; TR0=1; } } void PORT_Init(void) /**********端口的初始化***********/ { XBR0=0x04; //使UART0的TXD和RXD分別連接到P0.0,P0.1 XBR1=0x04; XBR2=0x44; P0MDOUT=0x60; /*******P口輸出方式的設(shè)置*********/ P1MDOUT=0X00; P2MDOUT&=0x00; P3MDOUT&=0x00; } void SYSCLK_Init(void) /*******系統(tǒng)時(shí)鐘初始化**********/ { unsigned int Q=0; /*******外部時(shí)鐘的配置*********/ OSCXCN=0x67; for(Q=0;Q<255;Q++); while((OSCXCN&0xe7)!=0xe7); OSCICN=0x88; } void wait_busy(void) { P1|=0x80; RS=0; RW=1; EN=1; Delay(10); while(P1&0x80); EN=0; } void Write_Data(unsigned char data_in) /*****發(fā)送數(shù)據(jù)函數(shù)*******/ { Wait_Busy(); RS=1; RW=0; EN=1; P1=data_in; Delay(100); EN=0; } void Write_Code(unsigned char code_in) /*****發(fā)送指令函數(shù)*******/ { Wait_Busy(); RS=0; RW=0; EN=1; P1=code_in; Delay(100); EN=0; } void LCD_Init(void) /********液晶初始化***********/ { Write_Code(0x01); Delay(100); Write_Code(0x38); Delay(100); Write_Code(0x0c); Delay(100); Write_Code(0x06); Delay(100); } void T1_inter() interrupt 3 /*****計(jì)時(shí)對(duì)數(shù)據(jù)進(jìn)行處理*****/ { if (count2==a) { TR1=0; TL1=0xFF; TH1=0x6f; flag2=1; count2=0; } else { TL1=0xff; TH1=0x6f; TR1=1; flag2=0; count2++; } } void E_int() interrupt 0//外部中斷函數(shù) { if (count1==c) { flag=1; count1=0; P30=0; P31=0; } else { count1=count1+1; count=count+1; } } void stright(void)//直走50cm { ///////////////直走/////////////////////////// //***********************//通道1PWMchnfreq的配置 TB80=1; //發(fā)送0X53--5-》寫(xiě)命令字,3-》通道1占空比給定寄存器 SBUF0=0X53; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0Xcc--占空比(控制轉(zhuǎn)速) SBUF0=0Xf6; while(~TI0); TI0=0; Delay(10000); //***********************//通道2PWMchnfreq的配置 TB80=0;//發(fā)送0X57 SBUF0=0X57; while(~TI0); TI0=0; Delay(10000); TB80=0;//發(fā)送0XCc SBUF0=0Xf8; while(~TI0); TI0=0; Delay(10000); //***********************//通道1,2不同步的同步模式寄存器synmode的設(shè)置 TB80=1;//發(fā)送0X5C SBUF0=0X5C; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X00 SBUF0=0X00; while(~TI0); TI0=0; Delay(10000); //***********************//通道1chnmode的配置 TB80=1;//發(fā)送0X50 SBUF0=0X50; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0Xc0 SBUF0=0Xc0; while(~TI0); TI0=0; Delay(10000); //***********************//通道2chnmode的配置 TB80=0;//發(fā)送0X54 SBUF0=0X54; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0Xc0 SBUF0=0XC0; while(~TI0); TI0=0; P30=1; P31=1; } void stop_8s(void) { while(~flag); flag=0; SCON1&=0xfd; SBUF1=0x0d; //////發(fā)送13cm/s while(SCON1&0x02==0x00); Write_Code(0x80); Write_Data(0x31); Write_Data(0x33); Write_Data(0x63); Write_Data(0x6d); Write_Data(0x2f); Write_Data(0x73); /////////停止////////////////////////////////////////////// a=400; TR1=1; flag2=0; while(~flag2) { Delay(10000); P33=~P33; } flag2=0; count2=0; P33=0; } void zhuanwan_left(void)//////右轉(zhuǎn) { EA=0;EX0=0; /////////轉(zhuǎn)90度////////////////////////////////////////////// //***********************///通道1PWMchnfreq的配置 TB80=1; //發(fā)送0X53 SBUF0=0X53; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X33 SBUF0=0XB4; //SBUF0=0Xf6; while(~TI0); TI0=0; Delay(10000); //***********************///通道2PWMchnfreq的配置 TB80=0;//發(fā)送0X57 SBUF0=0X57; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X33 SBUF0=0XB4; //SBUF0=0Xf7; while(~TI0); TI0=0; Delay(10000); //***********************///通道1,2不同步的同步模式寄存器synmode的設(shè)置 TB80=1;//發(fā)送0X5C SBUF0=0X5C; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X00 SBUF0=0X00; while(~TI0); TI0=0; Delay(10000); //***********************///通道1chnmode的配置 TB80=1;//發(fā)送0X50 SBUF0=0X50; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0Xe0 SBUF0=0XC0; while(~TI0); TI0=0; Delay(10000); //***********************///通道2chnmode的配置 TB80=0;//發(fā)送0X54 SBUF0=0X54; while(~TI0); TI0=0; Delay(10000); TB80=0;//發(fā)送0Xe0 SBUF0=0XE0; while(~TI0);//發(fā)送0X80 TI0=0; P30=1;P31=1; } void stop(void) { /////////停止////////////////////////////////////////////// P30=0;P31=0; Write_Code(0x80); Write_Data(0x20); Write_Data(0x20); Write_Data(0x20); Write_Data(0x20); Write_Data(0x20); Write_Data(0x20); } void zhuanwan_right(void)//左轉(zhuǎn) { EA=0;EX0=0; /////////轉(zhuǎn)90度////////////////////////////////////////////// //***********************///通道1PWMchnfreq的配置 TB80=1; //發(fā)送0X53 SBUF0=0X53; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X33 SBUF0=0XB4; //SBUF0=0Xf6; while(~TI0); TI0=0; Delay(10000); //***********************///通道2PWMchnfreq的配置 TB80=0;//發(fā)送0X57 SBUF0=0X57; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X33 SBUF0=0XB4; //SBUF0=0Xf7; while(~TI0); TI0=0; Delay(10000); //***********************///通道1,2不同步的同步模式寄存器synmode的設(shè)置 TB80=1;//發(fā)送0X5C SBUF0=0X5C; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0X00 SBUF0=0X00; while(~TI0); TI0=0; Delay(10000); //***********************///通道1chnmode的配置 TB80=1;//發(fā)送0X50 SBUF0=0X50; while(~TI0); TI0=0; Delay(10000); TB80=0;//發(fā)送0Xe0 SBUF0=0Xe0; while(~TI0); TI0=0; Delay(10000); //***********************///通道2chnmode的配置 TB80=0;//發(fā)送0X54 SBUF0=0X54; while(~TI0); TI0=0; Delay(10000); TB80=1;//發(fā)送0Xe0 SBUF0=0Xc0; while(~TI0);//發(fā)送0X80 TI0=0; P30=1;P31=1; } void main(void) { c=0; WDTCN=0xde; /********關(guān)看門(mén)狗*********/ WDTCN=0xad; count=0;count1=0; cnt=0;flag_sound=0; PORT_Init(); SYSCLK_Init(); LCD_Init(); SCON0=0xD0; //UART0工作在方式2,9位UART,可變波特率 SCON1=0x50; //UART1工作在方式1,8位UART,可變波特率 T2CON=0x30; T4CON=0x30; RCAP2L=0xb8; //設(shè)置波特率(定時(shí)器2作為波特率發(fā)生器) RCAP2H=0xff; RCAP4L=0x0b8; //設(shè)置波特率(定時(shí)器4作為波特率發(fā)生器) RCAP4H=0xff; EA=1; TR2=1; T4CON|=0x04; //開(kāi)定時(shí)器4 TI0=0; IT0=1; EX0=1; CKCON=0x00; /*****定時(shí)器0,1用的時(shí)鐘為系統(tǒng)時(shí)鐘的12分頻*****/ TMOD=0x11; /*****定時(shí)器1用來(lái)定時(shí),定時(shí)器0用來(lái)計(jì)被測(cè)脈沖******/ TH1=0x6f;TL1=0xff; /*****定時(shí)器1的初值*****/ ET1=1; TR1=0; /**********配置定時(shí)器0*************/ TL0=0x69; TH0=0xff; ET0=1; EA=1; TR0=0; flag=0; flag1=0; // P33=1; while(1) { P30=0;P31=0; // P33=1; while(key1&&key2); if (key1==0) key_flag=1; if (key2==0) key_flag=0; b=1000; TR0=1;//開(kāi)定時(shí)器0,6Khz方波 while(~flag_sound); flag2=0; a=30; TR1=1; while(~flag2); Delay(100);//主控MCU延時(shí)50US c=50; stright(); stop_8s(); if (key_flag==0) { zhuanwan_left(); } else { zhuanwan_right(); } stop(); EA=1; b=1500;//音量 TR0=1;//開(kāi)定時(shí)器0,6Khz方波 while(~flag_sound); a=30; TR1=1; while(~flag2); c=33; flag=0; P30=1;P31=1; EA=1;EX0=1; stright(); while(~flag); P30=0;P31=0; SCON1&=0xfd; SBUF1=0xc; while(SCON1&0x02==0x00); Write_Code(0x80); Write_Data(0x31); Write_Data(0x32); Write_Data(0x63); Write_Data(0x6d); Write_Data(0x2f); Write_Data(0x73); 附錄2. VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY TOP IS PORT( iCLK_50M : in std_logic; irst_n : in std_logic; iRXD :in std_logic; oRW : out std_logic; oRS : out std_logic; oEN : out std_logic; oLCD_DATA : out std_logic_vector(7 downto 0); F_CS,SD_CS : out std_logic ); end; ARCHITECTURE behave OF TOP IS signal R_data_done:std_logic_vector(7 downto 0); signal data1,data2,data3:std_logic_vector(7 downto 0); component rec is PORT( iCLK_50M : in std_logic; irst_n : in std_logic; iRXD : in std_logic; oR_data : out std_logic_vector(7 downto 0) ); end component; component manage is PORT( iCLK_50M : in std_logic; irst_n : in std_logic; iR_data : in std_logic_vector(7 downto 0); odata_1,odata_2,odata_3 : out std_logic_vector(7 downto 0) ); end component; component LCD_1602 is port( irst_n : in std_logic; --復(fù)位信號(hào) iCLK_50M : in std_logic; --50M時(shí)鐘輸入端 iData_1,iData_2,iData_3 : in std_logic_vector(7 downto 0); --預(yù)置值緩存 oRW : out std_logic; --LCD1602控制端RW oRS : out std_logic; --LCD1602控制端RS oEN : out std_logic; --LCD1602控制端EN oLCD_DATA : out std_logic_vector(7 downto 0) --LCD1602數(shù)據(jù)接口 ); end component; BEGIN F_CS<=1; SD_CS<=1; u1:rec port map(iCLK_50M=>iCLK_50M, irst_n=>irst_n, iRXD=>iRXD, oR_data=>R_data_done); u2:manage port map(iCLK_50M=>iCLK_50M, irst_n=>irst_n, iR_data=>R_data_done, odata_1=>data1, odata_2=>data2, odata_3=>data3); u3:LCD_1602 port map(irst_n=>irst_n, iCLK_50M=>iCLK_50M, iData_1=>data1, iData_2=>data2, iData_3=>data3, oRW=>oRW, oRS=>oRS, oEN=>oEN, oLCD_DATA=>oLCD_DATA); end; 附錄3. 電路圖 附錄3.1 FPGA核心板極其配置電路 附錄3.2 音頻接受模塊電路 附錄3.3 電機(jī)驅(qū)動(dòng)模塊電路圖 附錄3.4 紅外對(duì)管測(cè)速原理圖 附錄3.5電源電路模塊電路

注意事項(xiàng)

本文(智能小車(chē)聲音引導(dǎo)系統(tǒng)設(shè)計(jì)與制作報(bào)告.doc)為本站會(huì)員(jian****018)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!