汽車倒車測距儀設(shè)計_第1頁
汽車倒車測距儀設(shè)計_第2頁
汽車倒車測距儀設(shè)計_第3頁
汽車倒車測距儀設(shè)計_第4頁
汽車倒車測距儀設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、微型計算機課程設(shè)計汽車倒車測距儀微機原理課程設(shè)計汽車倒車測距儀學(xué) 院: 自動化 專 業(yè): 自動化 班 級:09(2)班 姓 名: 李軼平 學(xué) 號: 200930611066(15) 設(shè) 計 日 期:2010年1月13日目錄一、課程設(shè)計目的及要求31.1設(shè)計目的31.2設(shè)計內(nèi)容和要求31.3 設(shè)計任務(wù)3二、超聲波簡介42.1 超聲波的含義42.2 超聲波的特點4三、設(shè)計方案分析43.1 設(shè)計的思路43.2 硬件部分4四、硬件部分設(shè)計64.1整機連接圖64.2 8088最小系統(tǒng)64.3 8255與數(shù)碼管電路64.4 8253及8259部分電路6五、軟件部分設(shè)計65.1設(shè)計思路及流程圖65.2程序清

2、單8六、設(shè)計體會及總結(jié)12七、參考文獻12一、課程設(shè)計目的及要求1.1設(shè)計目的1.學(xué)會用匯編語言編寫一個較完整的實用程序。2. 掌握微型計算機技術(shù)應(yīng)用開發(fā)的全過程:分析需求、設(shè)計原理圖、選用元器件、布線、編程、調(diào)試、撰寫報告等步驟。3、復(fù)習(xí)鞏固本學(xué)期學(xué)到的相關(guān)知識,提高自身思考問題解決問題的能力,培養(yǎng)對本課程的興趣,提高動手的能力。4、加強課程學(xué)習(xí)與生活實踐的聯(lián)系,運用所學(xué)知識與日常生活實踐的結(jié)合。5、學(xué)會用8086/8088解決實際問題的能力、硬件使用原理。1.2設(shè)計內(nèi)容和要求1、設(shè)計一個微機控制的汽車倒車測距儀,能測量并顯示車輛后部障礙物離車輛的距離,同時用間歇的“嘟嘟”聲發(fā)出警報,“嘟嘟

3、”聲間隙隨障礙物距離縮短而縮短,駕駛員不但可以直接觀察到檢測的距離,還可以憑聽覺判斷車后障礙物離車輛距離的遠近; 開機后先顯示“”,并有開機指示燈。 CPU發(fā)射超聲波1ms,然后顯示60ms;即1ms+60ms為一個工作周期,等待回波,在次周期內(nèi)完成一次探測。 根據(jù)距離遠近發(fā)出報警聲并顯示距離。 障礙物距離小于1m,距離值變化5cm更換顯示,否則不更換;距離在1m以上,新值與原顯示值之差大于10cm更換,否則不更換。 用三LED位數(shù)碼管顯示障礙物距離2、硬件電路原理圖和軟件框圖;3、編寫控制程序,寫出設(shè)計任務(wù)書(總結(jié)報告)。1.3 設(shè)計任務(wù)1、選用8088和適當?shù)拇鎯ζ骷敖涌谛酒瓿上鄳?yīng)的功能

4、。2、用LED顯示器顯示電子鎖的當前狀態(tài)。3、畫出詳細的硬件連接原理圖。4、給出程序設(shè)計思路、畫出軟件流程圖。5、給出地址分配表。6、給出所有程序清單并加上必要注釋。7、完成設(shè)計說明書(列出參考文獻,所用器件型號)。二、超聲波簡介2.1 超聲波的含義當物體振動時會發(fā)出聲音,科學(xué)家們將每秒振動的次數(shù)稱為聲音的頻率,他的單位是HZ。我們?nèi)祟惗淠苈牭铰暡l率為20-20000HZ,當聲波的頻率大于20000HZ或小于20HZ時,我們便聽不到。因此我們把頻率高于20000HZ的聲波稱為超聲波。2.2 超聲波的特點(一) 超聲波在傳播時,方向性強,能量易于集中。 (二) 超聲波能在各種不同媒質(zhì)中傳播,

5、且可傳播足夠遠的距離。(三) 超聲波與傳聲媒質(zhì)的相互作用適中,易于攜帶有關(guān)傳聲媒質(zhì)狀態(tài)的信息(診斷或?qū)髀暶劫|(zhì)產(chǎn)生效應(yīng))。(治療) 超聲波是一種波動形式,它可以作為探測與負載信息的載體或媒介(如B超等用作診斷)。 聲波同時又是一種能量形式,當其強度超過一定值時,它就可以通過與傳播超聲波的媒質(zhì)的相互作用,去影響,改變以致破壞后者的狀態(tài),性質(zhì)及結(jié)構(gòu)(用作治療)。三、設(shè)計方案分析3.1 設(shè)計的思路本系統(tǒng)的設(shè)計思想是采用以C8051F單片機為核心,來設(shè)計一種低成本、高精度、微型化數(shù)字顯示超聲波測距儀。超聲波測距可測出回波和發(fā)射脈沖之間的時間間隔,利用S=Ct/2就可以算出距離,再在LED上顯示出來。當

6、然還可以設(shè)置若干個鍵,以用來控制電路的工作狀態(tài)。限制的最大可測距離存有四個因素:超聲波的幅度,反射面的質(zhì)地,反射面和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。3.2 硬件部分 本制作需要以8088為核心,其他可能還需要用到計數(shù)器8253、并行接口芯片8255、中斷控制器8259,這些芯片我們在課堂上都已經(jīng)有了解,現(xiàn)在通過課設(shè)將他們運用到實際題目要求系統(tǒng)能夠用三位數(shù)碼管顯示當前的距離值,用到的數(shù)據(jù)端口會比較多。而8088的數(shù)據(jù)端口有限,需要通過8255進行并行擴展,通過8255擴展端口,以滿足設(shè)計的端口需要。同時題目要求用間歇的“嘟嘟”聲發(fā)

7、出警報,“嘟嘟”聲間隙隨障礙物距離縮短而縮短,駕駛員不但可以直接觀察到檢測的距離,還可以憑聽覺判斷車后障礙物離車輛距離的遠近,而且要求根據(jù)距離遠近發(fā)出報警聲并顯示距離。障礙物距離小于1m,距離值變化5cm更換顯示,否則不更換;距離在1m以上,新值與原顯示值之差大于10cm更換,否則不更換。這就需要有一個能夠準確計數(shù)和計時的芯片,而我們這學(xué)期微機課程所學(xué)的計數(shù)器8253剛好可以滿足這個要求,因而選用8255作為系統(tǒng)的計數(shù)器和計時器。系統(tǒng)需要通過中斷來判斷計時或計數(shù)是否完成,而中斷控制器8259有七個可屏蔽中斷口,通過與計數(shù)器8253輸出相連可以反映計數(shù)的結(jié)束與否。觸發(fā)單片機進行中斷處理,因而選用

8、8259作為中斷處理器。四、硬件部分設(shè)計4.1整機連接圖4.2 8088最小系統(tǒng)本設(shè)計8088最小工作模式中,用了1片8284A作為時鐘發(fā)生器, 74LS373,用作地址鎖存器;用了1片74LS245作為數(shù)據(jù)總線收發(fā)器,增加數(shù)據(jù)總線的驅(qū)動能力。原理圖如圖所示。當用晶體振蕩器作為振蕩源時,晶體振蕩器連在8284A 的X1和X2兩端上,F(xiàn)/接地。8284A輸出的時鐘頻率均為振蕩源頻率的三分之一。同時它對READY準備好信號和RESET復(fù)位信號進行同步,外部設(shè)備可以在任何時候發(fā)出這兩個信號,8284A的內(nèi)部邏輯電路在時鐘后沿(下降沿)處使READY和RESET有效。74LS373,作為地址鎖存器。8

9、282(8283)是帶有三態(tài)緩沖器的8位通用數(shù)據(jù)鎖存器。它們的引腳和內(nèi)部結(jié)構(gòu)如圖2.9所示。兩者的區(qū)別僅在于8282的8位輸入信號和輸出信號之間是同相的,而8283的是反相的。當系統(tǒng)中所連的存儲器和外設(shè)較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力,這時,要用1片74LS245作為總線收發(fā)器。74LS245是三態(tài)輸出8位雙向數(shù)據(jù)緩沖器, 是開啟緩沖器的控制信號。當有效時,允許數(shù)據(jù)通過緩沖器;當無效時,禁止數(shù)據(jù)通過緩沖器,輸出呈高阻狀態(tài)。DIR是數(shù)據(jù)傳送方向控制信號。4.3 8255與數(shù)碼管電路8255是Intel系列的并行接口芯片,本電路中8255作為8088系統(tǒng)與外部設(shè)備接口。如圖四所示8255數(shù)據(jù)線和

10、控制線與8088單片機相連,以使單片機可以對8255進行編程。8255的A、B、C端口均定義為輸出。A端口接數(shù)碼管的字形線通過對8255三個端口的定義可以控制超聲波的發(fā)射、蜂鳴器的鳴響和距離的顯示。8255的端口地址經(jīng)過分析可得88H-8AH(分別為端口A、端口B、端口C及方式控制字)4.4 8253及8259部分電路 8253內(nèi)部有3個獨立的16位定時計數(shù)器通道。計數(shù)器可按照二進制或十進制計數(shù),計數(shù)和定時范圍可在165535之間改變,每個通道有6種工作方式,計數(shù)頻率可高達2MHz以上。本設(shè)計中用74LS138對8253和8259進行選址,電路中用到通道0和通道1兩個計數(shù)端口,通道0用來計算超

11、聲波發(fā)射到接收的時間,通道1用來定時,控制“嘟嘟聲”聲的頻率。其接口電路如圖三所示 可編程控制器8259是在多中斷源系統(tǒng)中,用于8088等單片機的CPU實現(xiàn)對外部中斷請求管理里工作,對他們實現(xiàn)優(yōu)先權(quán)的排隊,想CPU發(fā)出中斷請求信號,提供中斷類型碼,屏蔽中斷輸入等功能的中斷控制芯片。8259A采單片或多拍級聯(lián)方式,可管理不同多級中斷。本設(shè)計中使用了8259單級中斷,用了IRQ5、IRQ6、IRQ7三個中斷源,分別作為超聲波回波信號、響鈴頻率計時、計數(shù)器計數(shù)中斷。(8253端口地址為84H-87H)五、軟件部分設(shè)計5.1設(shè)計思路及流程圖 本次設(shè)計的軟件部分首先分別對各個芯片進行初始化處理,隨后,根

12、據(jù)要求,畫出相應(yīng)流程圖進行匯編編程設(shè)計5.2程序清單DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;數(shù)碼管顯示表(從0-9)LONG DW FFFFH ;距離值SELECT DB 01H,02H,03H NUM DB 00HRING DB 00H DATA ENDSSTACK SEGMENT STACKDW 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK, DS:DATA, ES:DATASTART:MOV AX,DATA MOV DS,AX MOV A

13、X,STACK MOV SS,AX MOV AX,DATA MOV ES,AX MOV DX,01HCLI;8253初始化 MOV AL,34H ;計數(shù)器0,方式2,二進制,低高位寫入;用于計算時間 OUT 87H,AL MOV AL,6CH ;1ms一次負脈沖 OUT 84H,AL MOV AL,38H OUT 84H,AL MOV AL,74H ;計數(shù)器1,方式2,二進制,低高位寫入;用于蜂鳴器的聲響 OUT 87H,AL MOV AL,6CH ;1ms一次負脈沖 OUT 84H,AL MOV AL,38H OUT 84H,AL ;8255初始化 MOV AL,80H ;配置A、B口為輸出

14、,工作于方式0MOV DX,8AH OUT DX,AL MOV AL,40H ;數(shù)碼管段選擇 MOV DX,88H OUT DX,AL MOV AL,07H MOV DX,84H ;選中三個數(shù)碼管 OUT DX,AL ;8259初始化 MOV AX,0000H ;段基地址MOV DS,AXLEA AX,INTR7 ;用于每5cm一次負脈沖 MOV SI,003CHMOV SI,AX MOV AX,SEG IN2 ;入口段基址 MOV SI,003EHMOV SI,AXLEA AX,INTR6 ;用于每30ms一次脈沖,作為控制喇叭的方波頻率 MOV SI,0038HMOV SI,AX MOV

15、AX,SEG IN1 MOV SI,003AHMOV SI,AXLEA AX,INTR5 ;用于接受超聲波時,產(chǎn)生中斷 MOV SI,0034HMOV SI,AX MOV AX,SEG IN0 MOV SI,0036HMOV SI,AX;發(fā)送1ms的脈沖SENT: MOV AL,02H OUT 61H,AL CALL DELAY1 ;延時1ms MOV AL,00H OUT 61H,AL IN AL,21 AND AL,1F ;開中斷5,6,7 OUT 21,AL MOV AX,SEG DATADISP: MOV AX,OFFSET LONG ;比較是否為初始值MOV SI,AXMOV AX,

16、SICMP AX,FFFFHJNE DIFMOV AL,40H ;相同則仍然顯示"-" OUT 60H,AL MOV AL,07H OUT 62H,AL JMP DISP ;且循環(huán),直至60ms中斷后,重新到GO處 MOV DS,AXDIF: MOV BX,0FFSET TABLE MOV DI,BXMOV BX,0FFSET SELECTMOV SI,BXCMP AX,64H ;比較1M,然后轉(zhuǎn)到不同的顯示程序JBE SMALLER ;對下述程序的解釋:如果當距離小于1米時,選擇調(diào)用smaller程序,否則調(diào)用bigger(bigger要求顯示十米為一個單位)BIGGER

17、: CALL DISP_MOSTMOV BL,00 ;個位為0CALL DISP_DAN ;調(diào)用單位顯示子程序JMP DISPLAYSMALLER: CALL DISP_MOSTMOV BL,AH ;個位放入緩存CALL DISP_DAN ;調(diào)用單位顯示子程序JMP DISPLAYDISP_DAN: PUSH AXMOV AL,BBX+DI ;查表得顯示碼OUT 60,AL ;向數(shù)碼管輸出顯示碼MOV AL,BSI ;查表得數(shù)碼管片選OUT 62,AL ;向數(shù)碼管輸出片選 CALL DALLYINC SI ;片選+1POP AXRETDISP_MOST: MOV BL,64H ;除以100,得

18、百位 DIV BL ;百位放在AL,余數(shù)放在AH MOV BH,00 ;為查表顯示作準備 MOV BL,AL ;百位放入緩存 CALL DP_1 ;調(diào)用單位顯示子程序MOV AL,AH ;對余數(shù)再進行除法運算MOV AH,00 MOV BL,0AH ;除以10,得十位及個位(0AH表示十進制的10)DIV BL ;十位放在AL,個位放在AH(依次放)MOV BL,AL ;十位放入緩存CALL DP_1 ;調(diào)用單位顯示子程序RETCODE ENDSEND START ;中斷5,超聲波接受中斷,計算車與障礙物的距離 INTR5 PROC FARPUSH SI;壓堆棧(SI BX AX)PUSH B

19、XPUSH AXMOV AX,OFFSET COUNT;取5cm計數(shù)標志MOV SI,AXMOV AL,SIMOV BL,05HMUL BL ;乘以5cm,得總長度MOV BX,OFFSET LENGTH;放入LENGTH標志位MOV SI,BXMOV SI,AXPOP AXPOP BXPOP SIIRETINTR5 ENDP;中斷6,用于產(chǎn)生不同頻率來控制蜂鳴器發(fā)不同聲音INTR6 PROC FARPUSH SIPUSH AXMOV AX,OFFSET LONGMOV SI,AXMOV AX,SICMP AX,FFFFHJE BACKMOV AX,OFFSET SENTMOV SI,ALMO

20、V AL,SIDEC ALCMP AL,00HJNE BACK ;不為0則返回XOR DLOUT 61H,DL ;取反輸出給B口JMP BACKNOT_FFFF:MOV AL,00HOUT 61H,AL ;當檢測范圍大于10m關(guān)喇叭BACK:POP AXPOP SIIRETINTR6 ENDP;中斷7,用于累計COUNT值,代表距離INTR7 PROC FARPUSH SIPUSH AXMOV AX,OFFSET COUNTMOV SI,AXMOV AL,SIINC ALCMP AL,CCHJNE BBCAKMOV AL,00HMOV SI,AL ;COUNT標志位復(fù)位為00HMOV AX,O

21、FFSET LENGTHMOV SI,AXMOV AX,FFFFHMOV SI,AX ;length標志位復(fù)位為FFFFHBBACK:POP AXPOP SIJMP GOIRETINTR7 ENDP;延時子程序 延時1msDALLY PROC FAR PUSH CX PUSH AX MOV CX,0FFFFHD1: MOV AX,000FFHD2: DEC AX JNE D2 LOOP D1 POP AX POP CX RETDALLY ENDP;延時子程序 延時60msDALLY_60 PROC FAR PUSH CX PUSH AX MOV CX,78H D1: MOV AX,50H D2

22、: DEC AX JNE D2 LOOP D1 POP AX POP CX RETDALLY_60 ENDP 六、設(shè)計體會及總結(jié) 本次課設(shè)最基本的原來全部都來自于我們的書本,所以一切我們都需要回到書本,回到課堂曾經(jīng)用過的知識,我覺得這一點很好。我們可以通過我們學(xué)過的只是進行復(fù)習(xí)以及加深對他們的印象,并且將他們與實際結(jié)合起來。下面我就分軟件和硬件進行闡述。1、 硬件部分硬件部分主要又另外一位成員完成,但是要知道,硬件是軟件的前提,所以我們通過上網(wǎng)查閱資料,翻閱書本,花了大部分的時間在硬件的確定上,一旦硬件搞定了 ,那么剩下的就會得心應(yīng)手一些。此外,我們還一起研究學(xué)習(xí)了protel軟件,學(xué)會了如何繪制電路圖。在這其中也碰到了許多困難,我們通過一同協(xié)作克服了這些困難。2、 軟件部分 軟件部分主要由我來編寫完成。其實對于匯編語言的學(xué)習(xí)已經(jīng)由來已久,但是總是覺得匯編語言不是我們?nèi)藗兯苷莆盏母呒壵Z言。相比于C+這樣的高級編程語言,匯編語言可以說是相當復(fù)雜的一個工程。 老師曾經(jīng)教導(dǎo)我們,編程高

溫馨提示

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

評論

0/150

提交評論