課程設計(論文)基于PIC的汽車倒車雷達_第1頁
課程設計(論文)基于PIC的汽車倒車雷達_第2頁
課程設計(論文)基于PIC的汽車倒車雷達_第3頁
課程設計(論文)基于PIC的汽車倒車雷達_第4頁
課程設計(論文)基于PIC的汽車倒車雷達_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、哈爾濱工業大學課程設計說明書(論文)0. 前言11. 課程設計的目的和要求12. 總體設計13. 硬件設計54. 軟件設計95. 系統操作說明166. 結束語177. 參考文獻17 0. 前言倒車障礙檢測系統所采用的超聲波傳感器技術可以探測到附近的障礙物,為駕駛員提供倒車警告和輔助泊車功能,其原理是利用超聲波探測倒車路徑上或附近存在的任何障礙物,并及時發出警告。所設計的檢測系統可以同時提供聲光并茂的聽覺和視覺警告,其警告表示是探測到了在盲區內障礙物的距離和方向。這樣,在狹窄的地方不管是泊車還是開車,借助倒車障礙報警檢測系統,駕駛員心理壓力就會減少,并可以游刃有余地采取必要的動作。隨著人們對汽車

2、輔助駕駛系統智能化要求的提高和汽車電子系統的網絡化發展,新型的倒車雷達應能夠連續測距并顯示障礙物距離,并具有通信功能,能夠把數據發送到汽車總線上去。本文介紹基于picf4520的倒車雷達。1. 課程設計的目的和要求1.1. 課程設計的目的單片機原理與課程設計的目的是綜合訓練利用單片機原理、c語言及電工電子技術等課程知識進行單片機應用系統設計的能力。根據設計題目的要求完成設計任務需求分析、系統方案總體設計及原理圖繪制、程序流程圖和代碼編寫等任務,設計一個能完成汽車倒車雷達任務的單片機系統。1.2. 課程設計的基本要求利用單片機的超聲波傳感器設計一個汽車倒車雷達,實時測量和顯示汽車尾部與障礙物的距

3、離,當距離值小于程序設定值時發出聲光報警,距離值可以通過串口傳送到汽車總線上。2. 總體設計2.1、基本工作原理系統采用超聲波測距原理。工作時,超聲波發射器發出超聲波脈沖,超聲波接收器接收遇到障礙物反射回來的反射波,準確測量超聲波從發射到遇到障礙物反射返回的時間,根據超聲波的傳播速度,可以計算出障礙物距離。超聲波測距具有在近距離范圍內有不受光線和雨雪霧的影響、結構簡單、制作方便和成本低等優點。高性能的單片機結合超聲波測距,可以實現功能強大、使用方便的倒車雷達。2.2、硬件總體設計2.2.1、系統組成方案ccpi/o端口uartpic單片機聲光報警信號調理超聲波發送器超聲波接收器信號調理led顯

4、示器電平轉換汽車總線圖1 倒車雷達系統框圖2.2.2、擴展單元編址2.2.3、顯示功能的定義使用一個i/o端口(port a或b或c或d)驅動led2.3、軟件總體設計2.3.1、存儲單元的分配、標志位的定義picf4520芯片:內部程序存儲器32k,數據存儲器(1536字節ram,256字節eprom),18個中斷源,5個i/o端口(port a、b、c、d、e), 4個定時器,2個ccp模塊。使用timer 0定時器產生40khz的脈沖波用于超聲波發送模塊,用timer 1定時器對超聲波的發送和接收時間間隔進行計時,用timer 2定時器產生pwm脈沖波,使提示聲音隨著距離值的減小而頻率增

5、大;用timer 3定時器進行計數,每100ms產生一次高優先級中斷,發生中斷后使timer 0定時器產生40khz的方波。使用一個i/o端口(port a或b或c或d)驅動led2.3.2、主程序框圖及清單開始微控制器初始化發送脈沖等待回波接收脈沖讀取時間計算距離距離=1.0m紅燈亮,綠燈滅,蜂鳴器響綠燈亮,紅燈滅,蜂鳴器不響1.0距離=10.0程序清單:void main (void)char selectpattern;char a;adcon1=ox7f;trisbbits.trisb4=0;/program rb4 as outputtrisbbits.trisb0=1;/progr

6、am rb0 as inputtriscbits.trisc0=0;/program rc0 as outputtriscbits.trisc1=0;/program rc1 as outputtriscbits.trisc2=0;/program rc2 as outputtriscbits.trisc6=0;/program rc6 as outputtriscbits.trisc7=1;/program rc7 as inputtrisd=0;/portd as outputtrise=0;/general purpose i/o mode,re0,re1,re2 as outputt0

7、con=0x48;/select internal clock and a prescaler of divide by 1rconbits.ipen=1;/ipen=1tmr1l=0;/preload timer 1 with 0xff00;tmr1h=0xff;t1con=0x04;/select internal clock seconds=minutes=0;/select clock at 00:00t2con=1;/select a prescaler of divide by 4ccp1con=0x0c;/ccp module off, active high outputtmr

8、2=0;/clear timer 2pr2=124;/timer 2 clears on 124ccpr1l=62; t3con=0x70;/select a presacler of divide by 8tmr3l=0x2c;tmr3h=0xcf;ipr1bits.tmr1ip=0;/make timer 1 low prioritypie1bits.tmr1ie=1;/enable timer 1 interruptipr2bits.tmr3ip=1;/make timer 3 high prioritypie2bits.tmr3ie=1;/enable timer 3 interrup

9、topenusart(usart_asynch_mode &/usart operates at 9600 baud usart_eight_bit & usart_brgh_high, 25);txstabits.txen=0;/transmit disabledtxstabits.trmt=1;/tsr emptyintcon2bits.intedg0=0;/make int0 negative edge-triggeredintconbits.int0ie=1;/enable int0intconbits.gieh=1;/enable high priority interruptsin

10、tconbits.giel=1;/enable low priority interruptst0conbits.tmron=1;/enable timer 0l=0;portcbits.rc0=0;/light green led portcbits.rc1=1;/turn off red led length=6.00;outwave();/ output pulse wavet3conbits.tmr3on=1;/enable timer 3while(1)clrwdt();/reset watchdogselectpattern=1;for(a=0;a3;a+)porte=select

11、pattern;/select a digitif(a=0)portd=look7(int)length|0x80;elseportd=look7(int)length;length-=(int)length;length*=10;selectpattern=(selectpattern1)|1;delay1ktcyx(3);/3ms delayif(txstabits.trmt=0)txstabits.txen=1;/transmit enabled超聲波發射電路發出超聲波的同時計數器開始計數,當遇到障礙物反饋信號到超聲波接收器接收,經cx20106接收電路處理后,產生一個低脈沖,該信號傳送

12、給單片機產生中斷,調用測距子程序,計算出測量距離,調用顯示子程序,根據不同的測量數值在液晶上顯示距離和報警。當1.0m距離10m,顯示測量距離,繼續測量;當距離小于1m時,顯示測量距離,紅燈亮、綠燈滅,并由rb0位驅動蜂鳴器報警。為增強抗干擾能力,系統每100ms發射一次超聲波,每次發射的超聲波包含10個波簇。這樣每秒可測約10個數據,可以滿足實時性要求。3.硬件設計系統以pic18f4520微控制器為核心,外圍電路由超聲波發射電路、超聲波接收電路、聲光報警電路、通信接口電路、液晶顯示電路五部分組成,下面逐一介紹。圖2 倒車雷達系統主控電路圖系統的主控電路圖如圖2所示。本系統中選用的pic18

13、f4520片內有32kb閃存和1.5kb ram,因此無須外擴存儲器。超聲波發送模塊電路如圖3所示,由超聲波產生和發射兩部分組成。超聲波的產生采用軟件發生法,因為通過軟件發生法既可以減少硬件的復雜程度,降低系統的成本,又具有靈活性強、容易實現、穩定性好的優點。本系統利用pic18f4520單片機的定時器功能來產生穩定的40khz脈沖波,并通過i/o端口rb4輸出到超聲波發射部分。在超聲波發射電路中cd4049一共包括了6個非門,圖3中線路僅使用了3個,為了防止干擾或被靜電擊穿導致整個cd4049損壞,把沒有使用的那一側的3個非門串起來做接地處理。當控制端輸出一系列固定頻率脈沖時,在壓電陶瓷型超

14、聲波發射換能器ucm-40-t上就固定頻率的加正電壓和反電壓,發出大功率的超聲波,所得到的波形比其他方式效果更理想。圖3 倒車雷達超聲波發送模塊超聲波接收電路如圖4所示。壓電陶瓷型超聲波接收器 ucm-40-r 接收反射的超聲波轉換為40khz毫伏級的電壓信號,需要經過放大、處理、才能用于觸發單片機中斷。一方面傳感器輸出信號微弱,由于反射條件不同,需要放大倍數的范圍大約是1005000,另一方面傳感器輸出阻抗較大,需要高輸入阻抗的多級放大電路,而高輸入阻抗容易接收干擾信號。通常采用兩種方案:一是采用運算放大器組成多級選頻放大電路;二是采用專用的集成前置放大器。第一種方案容易產生自激振蕩,要使接

15、收電路達到很好靈敏度和抗干擾效果,電路的調試是較困難的。本系統采用專用的集成電路前置放大器 cx20106,它由前置放大器、限幅放大器、帶通濾波器、檢波器、積分器、整型電路組成。其中前置放大器具有自動增益控制功能,可以保證在超聲波傳感器接收較遠反射信號輸出微弱電壓時放大器有較高的增益,在近距離輸入信號強時放大器不會過載。調節芯片引腳5的外接電阻r3,將它的濾波器的中心頻率設置在40khz,達到了很好的效果。當接收到與濾波器中心頻率相符的信號時,其輸出引腳7輸出一個低電平,而輸出引腳7直接接到pic18f4520的上rb0/int0上,以觸發int0中斷。圖4 倒車雷達超聲波接收模塊集成電路cx

16、20106是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器。考慮到紅外遙控常用的載波頻率38khz 與測距超聲波頻率40khz 較為接近,可以利用它作為超聲波檢測電路。實驗證明,其具有很高的靈敏度和較強的抗干擾能力。取r3=200k時,f042khz,若取r3=220k,則中心頻率f038khz。圖5 聲光報警模塊報警模塊采用簡單的聲光報警電路,如圖5所示。發光二極管可以直接由pic單片機的i/o端口驅動,蜂鳴器通過一個npn三極管來驅動。先設定一個臨界值,當車尾與障礙物的距離小于設定的最小距離時,紅色指示燈閃亮,綠色指示燈熄滅。單片機向其端口發出pwm脈沖,隨著距離的減小,通過控制

17、pwm脈沖的占空比和周期使蜂鳴的頻率加劇,以此來提示駕駛員。圖6通信接口模塊通信接口電路如圖6所示。采用美信的max3232芯片,外圍電路非常簡單,只需要5個0.1f的電容器。該電路把單片機串口輸出信號隔離變換成 rs-232信號發送到汽車總線上。圖中rs232插座來和汽車的串口相連,tx和rx信號用來和pic單片機的管腳相連。圖7 led顯示器距離值的顯示采用3位led,pic單片機的i/o端口可以直接驅動led,進行動態顯示,原理圖如圖7所示。led數碼管采用共陰極數碼管,段碼由rd0-rd7控制,位碼由re0、re1、re2控制,三極管q2、q3、q4增加驅動能力。當re0為高,re1、

18、re2為低電平時,rd0-rd7上高電平的管腳便會點亮數碼管的相應段,這些段的不同組合便會顯示出0-9十個數字,三個數碼管輪流顯示,當顯示頻率大于25hz時,人眼的感覺就是連續顯示。4、軟件設計介紹本系統的主要子程序、中斷服務程序的框圖及程序清單(1) 子程序1:void outwave (void)程序功能:通過定時器timer 0產生40khz方波程序框圖如下:i = 0tmr0l=0tmr0l=12?i10?tmr0l25?portbbits.rb4=1l=0?t1conbits.tmr1on=1l=1;portbbits.rb4=0結束開始i=i+1/function to gener

19、ate the pulse wavevoid outwave (void)int i;for(i=0;i10;i+)/ generate 10 wavestmr0l=0;doif(tmr0l=12)portbbits.rb4=1;if(l=0)t1conbits.tmr1on=1;/enable timer 1l=1;elseportbbits.rb4=0;while(tmr0l25)(2) 子程序2:void dotime (void)程序功能:通過定時器timer 1進行計數程序框圖如下:開始seconds=0;minutes=minutes+1;tmr1h=0xff;pir1bits.t

20、mr1if=0;seconds= seconds+1;timer 1溢出中斷發生?minutes=60?seconds=60?結束minutes=0;程序清單:void dotime (void)tmr1h=0xff;pir1bits.tmr1if=0;/clear timer 1 interruptseconds+;/increment secondsif(seconds=60)/if seconds hits 60seconds=0;/clear seconds back to zerominutes+;/increment minutesif(minutes=60)/if minutes

21、 hits 60minutes=0;/clear minutes(3) 子程序3:void int0(void)程序功能:計算距離值并用led顯示,當距離值小于1.0m時進行聲光報警開始清int0中斷,計算length值length10.0?length=1.0?portcbits.rc0=1;portcbits.rc1=0;t2conbits.tmr2on=1;0.9length=1.0pr2=124; ccpr1l=620.8length=0.90.7length=0.80.6length=0.70.5length=0.60.4length=0.5pr2=35; ccpr1l=20;pr2

22、=45; ccpr1l=25;pr2=55; ccpr1l=30;pr2=70; ccpr1l=35;pr2=90; ccpr1l=45;pr2=110; ccpr1l=55rc0=0; rc1=1;t2conbits.tmr2on=0;seconds=minutes=0; t1conbits.tmr1on=0; tmr1h=0xff; tmr1l=0; l=0;結束程序清單:void int0(void)char a;intconbits.int0if=0;length=(60*minutes+seconds)*0.5*256*340*1.0e-6;txreg=length;/send da

23、tatxstabits.trmt=0;/tsr fullif(length10.0)if(length=1.0)portcbits.rc0=1;/turn off green led portcbits.rc1=0;/light red led t2conbits.tmr2on=1;/start timer 2 & pwmif(lengh0.9)pr2=124;/timer 2 clears on 124ccpr1l=62;else if(length0.8)pr2=110;ccpr1l=55; else if(length0.7)pr2=90;ccpr1l=45;else if(length

24、0.6)pr2=70;ccpr1l=35;else if(length0.5)pr2=55;ccpr1l=30;else if(length0.4)pr2=45;ccpr1l=25;elsepr2=35;ccpr1l=20;elseportcbits.rc0=0;/light green led portcbits.rc1=1;/turn off red led t2conbits.tmr2on=0;/stop timer 2 & pwmseconds=minutes=0;/clear recordst1conbits.tmr1on=0;/disable timer 1tmr1h=0xff;t

25、mr1l=0;l=0;(4) 中斷程序1:void myhighint (void)程序功能:高優先級中斷。當超聲波接收傳感器接收到脈沖波時產生int0高優先級中斷;當timer 3 定時器溢出時產生次高優先級中斷。程序框圖如下:開始 調用int0()函數int0中斷發生?timer 3 溢出中斷發生?tmr3l=0x2c;tmr3h=0xcf;pir2bits.tmr3if=0;outwave();結束程序清單:void myhighint (void)if(intconbits.int0if=1)int0();else if(pir2bits.tmr3if=1)/output a wave every 100mstmr3l=0x2c;tmr3h=0xcf;pir2bits.tmr3if=0;outwave();(5) 中斷程序2:void mylowint (void

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論