




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科畢業(yè)設(shè)計(jì)(論文)創(chuàng)作誠(chéng)信承諾書(shū)1 .本人鄭重承諾:所提交的畢業(yè)設(shè)計(jì)(論文),題目基于單片 機(jī)的超聲波測(cè)距系統(tǒng)是本人在指導(dǎo)教師指導(dǎo)下獨(dú)立完,成的,沒(méi)有弄 虛作假,沒(méi)有抄襲、剽竊別人的內(nèi)容;2 .畢業(yè)設(shè)計(jì)(論文)所使用的相關(guān)資料、數(shù)據(jù)、觀點(diǎn)等均真實(shí)可 靠,文中所有引用的他人觀點(diǎn)、材料、數(shù)據(jù)、圖表均已標(biāo)注說(shuō)明來(lái)源;3 .畢業(yè)設(shè)計(jì)(論文)中無(wú)抄襲、剽竊或不正當(dāng)引用他人學(xué)術(shù)觀點(diǎn)、 思想和學(xué)術(shù)成果,偽造、篡改數(shù)據(jù)的情況;4 .本人已被告知并清楚:學(xué)校對(duì)畢業(yè)設(shè)計(jì)(論文)中的抄襲、剽 竊、弄虛作假等違反學(xué)術(shù)規(guī)范的行為將嚴(yán)肅處理,并可能導(dǎo)致畢業(yè)設(shè) 計(jì)(論文)成績(jī)不合格,無(wú)法正常畢業(yè)、取消學(xué)士學(xué)位資格或注銷并
2、 追回已發(fā)放的畢業(yè)證書(shū)、學(xué)士學(xué)位證書(shū)等嚴(yán)重后果;5 .若在省教育廳、學(xué)校組織的畢業(yè)設(shè)計(jì)(論文)檢查、評(píng)比中, 被發(fā)現(xiàn)有抄襲、剽竊、弄虛作假等違反學(xué)術(shù)規(guī)范的行為,本人愿意接 受學(xué)校按有關(guān)規(guī)定給予的處理,并承擔(dān)相應(yīng)責(zé)任。學(xué)生(簽名):日期:摘要超聲波是指人耳能聽(tīng)到的聲波范圍之外的聲音頻率。即頻率高于兩萬(wàn)赫茲的聲波即 為超聲波。由于超聲波頻率高,穿透性好,隨著各類電子工業(yè)的發(fā)展,超聲波廣泛應(yīng)用 于各行各業(yè)中。例如醫(yī)療上的B超即是通過(guò)超聲波來(lái)進(jìn)行檢測(cè)。汽車倒車時(shí)候的倒車?yán)?達(dá)系統(tǒng)也是利用超聲波的反射原理來(lái)進(jìn)行工作。由此可見(jiàn),超聲波的應(yīng)用范圍十分廣泛。本文是基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)。該系統(tǒng)能實(shí)時(shí)通
3、過(guò)超聲波實(shí)時(shí)檢測(cè)當(dāng)前 前方障礙物距離,并實(shí)時(shí)顯示在顯示器上。該系統(tǒng)以單片機(jī)為核心,外部根據(jù)超聲波器 件,實(shí)現(xiàn)超聲波的發(fā)射、接受、處理計(jì)算和顯示。系統(tǒng)的設(shè)計(jì)主要分為:硬件設(shè)計(jì)、軟 件設(shè)計(jì)和軟件仿真兒部分。硬件電路主要包括單片機(jī)系統(tǒng)電路、顯示電路、超聲波發(fā)射 接受電路等,所有的硬件電路決定了整個(gè)系統(tǒng)的工作運(yùn)行平臺(tái)。軟件設(shè)計(jì)則是對(duì)上述的 硬件電路進(jìn)行的C語(yǔ)言編程,使得硬件可以實(shí)現(xiàn)相對(duì)應(yīng)的功能,并在最后的proteus軟 件上進(jìn)行相對(duì)應(yīng)的仿真,實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)要求。關(guān)鍵詞:超聲波;單片機(jī);顯示器;測(cè)距7ABSTRACTUltrasound refers to the frequency of sound
4、outside the range of the sound that the human ear can hear. That is, the sound wave at frequencies liigher than twenty thousand Hz is called ultrasonic wave. Due to the liigh frequency and penetration of ultrasonic, with the development of various electronic industries, ultrasound is widely used in
5、all walks of life. For example, medical ultrasound is detected by ultrasound. Reversing radar system is also used to reflect the principle of ultrasonic wave. It can be seen that the application scope of ultrasound is very extensive.This paper is based on the design of ultrasonic ranging system base
6、d on MCU. The system can detect the distance of the front obstacle in real time and display it on the monitor in real time. The system takes MCU as the core, and realizes ultrasonic emission, reception, processing, calculation and display according to ultrasonic devices. The design of the system is
7、mainly divided into hardware design, software design and software simulation. The hardware circuit mainly includes the MCU system circuit, the display circuit, the ultrasonic transmitting receiving circuit and so on. All the hardware ckcuits detennine the operating platfbmi of the whole system. Tlie
8、 sofhvare design is the C language progi-anuniiig for the above hardware circuit, wliich makes the hardware realize the coiTesponding function, and cames on the coiTesponding simulation on the last Proteus Software, and realizes the system design requirement.Key words: ultrasonic wave; single cliip
9、microcomputer; display; ranging目錄1 引言61.1 設(shè)計(jì)背景61.2 設(shè)計(jì)功能62 系統(tǒng)總體設(shè)計(jì)72.1 理論分析72.2 元器件選型72.2.1 主控中心72.2.2 顯示器件選擇72.2.3 超聲波器件選型82.3 設(shè)計(jì)框圖83 硬件設(shè)計(jì)93.1 單片機(jī)簡(jiǎn)介93.2 顯示電路設(shè)計(jì)123.3 超聲波電路設(shè)計(jì)133.4 系統(tǒng)總電路圖144 軟件設(shè)計(jì)154.1 主程序設(shè)計(jì)154.2 顯示子程序設(shè)計(jì)164.3 超聲波程序設(shè)計(jì)175 Proteus 仿真驗(yàn)證206 畢設(shè)總結(jié)21謝辭22參考文獻(xiàn)23附錄:源程序241引言1.1 設(shè)計(jì)背景時(shí)代的快速發(fā)展帶動(dòng)的電子工業(yè)的極速
10、發(fā)展。各種測(cè)量產(chǎn)品不斷出現(xiàn),而使用超聲 波進(jìn)行距離的測(cè)量則是新興的一種測(cè)量方式。使用超聲波進(jìn)行距離的測(cè)量有系統(tǒng)簡(jiǎn)單, 精度高和響應(yīng)速度快等優(yōu)點(diǎn)。超聲波也是一種聲波信號(hào),只是超聲波的頻率在人耳朵的 接收范圍之外,因此將這種聲波稱之為超聲波。既然是波形,那么他肯定也遵循著波形 的一般規(guī)律。波形可以發(fā)射,碰到障礙物它會(huì)返回。利用這個(gè)原理就可以進(jìn)行超聲波的 距離測(cè)量使用超聲波來(lái)進(jìn)行距離的測(cè)量技術(shù)簡(jiǎn)單。不需要接觸就可以直接測(cè)量出距離。因此, 超聲波測(cè)距不受溫度,光照等外界自然因素的影響。唯一受影響的是超聲波不能夠在真 空環(huán)境下進(jìn)行工作。但是使用超聲波來(lái)進(jìn)行距離的測(cè)量相比其他測(cè)量方式而言,超聲波 測(cè)距具有
11、使用更加簡(jiǎn)單,響應(yīng)速度更加快的優(yōu)點(diǎn)。是超聲波測(cè)距可以廣泛應(yīng)用在世界上 的各行各業(yè)中。在高速上的車輛速度檢測(cè)就是通過(guò)超聲波來(lái)進(jìn)行車輛速度的檢測(cè),檢測(cè) 元器件按照一定的時(shí)間發(fā)出一定頻率的超聲波,當(dāng)車輛行駛過(guò)來(lái)時(shí),由于兩次發(fā)出超聲 波的時(shí)間已經(jīng)固定,然后當(dāng)超聲波接收到車輛的時(shí)候會(huì)反射回來(lái),這時(shí)候經(jīng)過(guò)計(jì)算兩次 時(shí)間之間車輛移動(dòng)的距離就可以計(jì)算出車輛當(dāng)前速度了。同樣的原理也可以應(yīng)用在B超 中,超聲波可以穿透一些物體,由于身體各部位反射超聲波能力不同,因此可以在電腦 上繪制出各個(gè)反射點(diǎn)的圖像,由此可以檢測(cè)人體內(nèi)部的情況。類似超聲波的應(yīng)用還有很 多,比如利用超聲波來(lái)進(jìn)行身高的測(cè)量,超聲波發(fā)射經(jīng)過(guò)頭頂反射區(qū)之
12、后就可以計(jì)算出 所測(cè)的人的身高了1.2 設(shè)計(jì)功能(1)根據(jù)超聲波發(fā)出的信號(hào),檢測(cè)當(dāng)前障礙物的距離。(2)將距離實(shí)時(shí)顯示在顯示器上,顯示在顯示器上;(3)系統(tǒng)功耗viOOmA。(4)刷新時(shí)間小于1秒;2系統(tǒng)總體設(shè)計(jì)2.1 理論分析超聲波測(cè)距的原理就是利用聲波從發(fā)射到反射回來(lái)之間這段時(shí)間,利用時(shí)間差和聲 速的關(guān)系進(jìn)的測(cè)量出當(dāng)前所測(cè)的距離。因此,主要的設(shè)計(jì)難點(diǎn)在于如何將超聲波發(fā)送出 去之后實(shí)時(shí)檢測(cè)什么時(shí)候接收到反射回來(lái)的信號(hào),并計(jì)算出從發(fā)射到接收所需要的時(shí)間。 由于聲音的傳播速度在室溫下一般為340米每秒。因此,利用公式即可計(jì)算出當(dāng)前所測(cè) 距離。將數(shù)據(jù)轉(zhuǎn)換之后送到顯示器上進(jìn)行顯示。2.2 設(shè)計(jì)框圖綜
13、上所述,系統(tǒng)可以分為:?jiǎn)纹瑱C(jī)最小系統(tǒng)、超聲波發(fā)射接受、顯示電路三大部分。 復(fù)位電路和時(shí)鐘電路是屬于單片機(jī)的最小系統(tǒng),輸入復(fù)位信號(hào)和時(shí)鐘脈沖信號(hào),超聲波 模塊是根據(jù)單片機(jī)來(lái)進(jìn)行超聲波的收發(fā),因此和單片機(jī)步進(jìn)有輸入也有輸出。最后單片 機(jī)根據(jù)數(shù)據(jù)控制顯示器進(jìn)行顯示。根據(jù)輸入輸出關(guān)系,可以繪制出如下圖所示的系統(tǒng)設(shè) 計(jì)框圖:圖2-1系統(tǒng)結(jié)構(gòu)圖2.3 元器件選型2.3.1 主控中心本次設(shè)計(jì)以單片機(jī)為主要核心部件,進(jìn)行超聲波元件的接收和發(fā)送操作。而單片機(jī) 最主要的工作是檢測(cè)從發(fā)射超聲波到接收超聲波這段過(guò)程所須的時(shí)間。因此,使用一般 的延時(shí)函數(shù)是不可能實(shí)現(xiàn)計(jì)時(shí)的功能。需要使用單片機(jī)自帶的定時(shí)計(jì)數(shù)功能,因此所選
14、 擇的單片機(jī)必須要有定時(shí)器的功能。目前來(lái)講,基本上所有的單片機(jī)都設(shè)置有定時(shí)器, 因此我們選擇比較常見(jiàn)的AT89C51單片機(jī)作為設(shè)計(jì)的核心。2.3.2 顯示器件選擇市面上常見(jiàn)的顯示器主要有液晶顯示器、點(diǎn)陣、數(shù)碼管三大類。液晶顯示器顯示效 果豐富,各種型號(hào)的液晶顯示器功能效果也不一致,最常見(jiàn)的液晶顯示器為L(zhǎng)CD 1602 顯示器,該型號(hào)的顯示器可以顯示英文和一些數(shù)字字符。點(diǎn)陣顯示屏則是更為常見(jiàn)的一 種顯示方式,例如馬路上的紅綠燈倒計(jì)時(shí)、各種企業(yè)的廣告牌均是有點(diǎn)陣屏顯示,但是 點(diǎn)陣屏的顯示方式比較難,成本也較大。數(shù)碼管是三大類顯示器中最簡(jiǎn)單的一種,無(wú)論 是編程難度還是價(jià)格上都是最小的。但是顯示效果比
15、較差,因此,綜上考慮,本次設(shè)計(jì) 選擇LCD 1602作為本次超聲波測(cè)距的主要顯示器件。2.3.3 超聲波器件選型市面上常見(jiàn)的超聲波器件有MEUIDENKI和HC-SR04兩種。兩種超聲波器件都是 通過(guò)發(fā)射和接受來(lái)進(jìn)行測(cè)量的,不同之處在于外殼封裝,MEUIDENKI封裝性較好,適 合用于工業(yè)生產(chǎn)中,但是價(jià)格也相對(duì)應(yīng)的比較貴??紤]到成本因素,本設(shè)計(jì)的超聲波器 件選擇HC-SR04o3硬件設(shè)計(jì)3.1單片機(jī)簡(jiǎn)介單片機(jī)是單片微型計(jì)算機(jī)的簡(jiǎn)稱,其可以根據(jù)程序來(lái)完成很多的操作。你就是說(shuō)我 們所需要實(shí)現(xiàn)的功能都可以通過(guò)程序來(lái)進(jìn)行編程。再將程序下載到單片機(jī),由此就可以 實(shí)現(xiàn)軟件和硬件的相結(jié)合。而這一切的實(shí)現(xiàn)都需
16、要通過(guò)單片機(jī)的引腳來(lái)進(jìn)行實(shí)現(xiàn),在此, 先對(duì)單片機(jī)的引腳做如下介紹:(僅僅介紹本次設(shè)計(jì)使用到的引腳)本次設(shè)計(jì)使用的是AT89C51單片機(jī),此種型號(hào)單片機(jī)與STC89C52RC單片機(jī)基本 上一致,只是生產(chǎn)廠家不同。AT系列的是美國(guó)AT&T公司生產(chǎn)的單片機(jī),而STC系列 則是國(guó)產(chǎn)宏晶單片機(jī),兩者在使用上和引腳上并沒(méi)有明顯區(qū)別,程序燒錄之后,可以直 接替換。但是需要注意的是,兩種單片機(jī)的燒錄方式有著根本上的區(qū)別。AT系列的單 片機(jī)需要ISP下載口,而STC系列的單片機(jī)支持冷啟動(dòng)燒錄,因此,在制作實(shí)物上, STC系列的單片機(jī)程序的下載更為簡(jiǎn)便,但是需要注意的是,在下載前需要斷電,當(dāng)需 要下載后上
17、電即可實(shí)現(xiàn)程序的下載。AT89C51單片機(jī)的外部端口數(shù)目眾多,其對(duì)應(yīng)的引腳功能如下所述:XTAL1 (19腳)和XTAL2 (18腳)單片機(jī)時(shí)鐘端口,時(shí)鐘信號(hào)經(jīng)過(guò)此處傳輸?shù)絾?片機(jī)中,具體的晶振頻率可根據(jù)設(shè)計(jì)要求設(shè)計(jì)。RST/Vpd (9腳)單片機(jī)的復(fù)位引腳。跟電腦的重啟端口是一樣的。外部接入復(fù)位 電路。VCC (40腳)和VSS (20腳)為供電端口,分別接+5V電源的正負(fù)端。P0 口:普通IO 口,內(nèi)部無(wú)上拉電阻,因此在作為IO 口使用時(shí),需要接入上拉電 阻。P1 口:內(nèi)部自帶上拉電阻,外部的引腳編號(hào)為P10P17。一般該引腳都用做IO 口。P2 口:內(nèi)部自帶上拉電阻,外部的引腳編號(hào)為P2
18、0P27。一般該引腳都用做IO 口。 但是相對(duì)于P1 口,P2 口的輸出電流要稍微大一些。P3 口:內(nèi)部自帶上拉電阻,外部的引腳編號(hào)為P30P37。P3 口除了作為一般的UO 口線外,一般都做第二功能口使用。對(duì)應(yīng)的第二功能口有:定時(shí)器、外部中斷、串口通 信等。ALE/PROG:此引腳可以直接懸空。PSEN: 一般此引腳可以直接懸空。EA/VPP:外部訪問(wèn)允許。此引腳可以控制單片機(jī)是否需要訪問(wèn)外部地址。當(dāng)其為低 電平時(shí),單片機(jī)訪問(wèn)外部地址,當(dāng)期為高電平時(shí),單片機(jī)僅僅訪問(wèn)內(nèi)部的程序地址。需要說(shuō)明的是,本章節(jié)的所有電路均是在Altium軟件中繪制出來(lái),因?yàn)锳ltium繪 制原理圖的背景是暗黃色,打印
19、時(shí)會(huì)有音響,因此,需要導(dǎo)出PDF黑白版本,由此可 以使得打印更加清晰。P1.0(ADO)PO.OPL.1(ADl)PO.lP1.2(AD2)P0.2PL.3(AD3)P0.3P1.4(AD4)P0.4P1.5(AD5)P0.5PL6(AD6)P0.6P1.7(AD7)P0.7P3.3(g?H)(AS)P2.0P3.2(INT0)(A9)P2.1(A10)P2.2P3.5(T1)(A11)P2.3P3.4(T0)(A12)P2.4(A13)P2.5直VPP(A14)P2.6(A15)P2.7> XTAL1XTAL2vccGNDRST(RXD)P3.0(TXD)P3.1P3.7(RD)ALE
20、PROGP3.6(UR)PSENU1AT89C51圖3-1單片機(jī)引腳圖而進(jìn)行單片機(jī)設(shè)計(jì)之前,單片機(jī)的最小系統(tǒng)是單片機(jī)設(shè)計(jì)的前提所在。單片機(jī)最小 系統(tǒng)是單片機(jī)能進(jìn)行工作的首要保證之一,類似于人的“心臟”。只有單片機(jī)最小系統(tǒng) 正常工作,單片機(jī)才能正常進(jìn)行輸入和輸出。而單片機(jī)最小系統(tǒng)一般來(lái)說(shuō),主要分為如 下三個(gè)大部分:下載電路、時(shí)鐘電路和復(fù)位電路。由于本次設(shè)計(jì)在仿真中可以直接雙擊 即可導(dǎo)入程序,不需要設(shè)置下載電路,因此,下載電路在此不用過(guò)多介紹,接下來(lái),著 重介紹設(shè)計(jì)時(shí)鐘電路和復(fù)位電路。時(shí)鐘電路顧名思義是能提供時(shí)鐘的電路。本次設(shè)計(jì)為超聲波測(cè)距系統(tǒng),需要準(zhǔn)確測(cè) 3.2顯示電路設(shè)計(jì)量超聲波從發(fā)射到返回所
21、需的時(shí)間,因此需要準(zhǔn)確定時(shí),而準(zhǔn)確定時(shí)必不可少的就是定 時(shí)器。定時(shí)器的時(shí)鐘脈沖來(lái)源于時(shí)鐘電路。本次設(shè)計(jì)的時(shí)鐘電路如下圖所示,該電路可 以細(xì)分為晶振部分和電容電路部分。晶振部分選用12MHz頻率的石英晶振,然后外部 接上兩個(gè)用來(lái)穩(wěn)定震蕩的電容,這就構(gòu)成了時(shí)鐘電路。C1圖3-4顯示電路圖7單片機(jī)是單線程器件,就是一次只能一個(gè)線程運(yùn)行,因此其速度上會(huì)有明顯的慢。 因此,單片機(jī)程序設(shè)計(jì)部分設(shè)計(jì)得不好的話,很容易導(dǎo)致單片機(jī)的死機(jī),因此,需要通 過(guò)復(fù)位按鍵使得單片機(jī)可以進(jìn)行復(fù)位。在下圖的單片機(jī)最小系統(tǒng)中,按鍵作為復(fù)位的主 要元器件,在按鍵沒(méi)有按下的時(shí)候,單片機(jī)的復(fù)位端口和電源之間是隔開(kāi)的狀態(tài)。當(dāng)按 鍵按下
22、后,電源直接連接到單片機(jī)的復(fù)位段,當(dāng)復(fù)位端的高電平持續(xù)時(shí)間超過(guò)2個(gè)機(jī)器 周期時(shí),刺激單片機(jī)進(jìn)行復(fù)位。VCCRS = Q oGND'llI +"10uFR7I10K上文所述,本次設(shè)計(jì)選擇的是LCD1602作為顯示器件,在顯示器上顯示當(dāng)前所測(cè) 的距離值。經(jīng)過(guò)查閱相關(guān)資料,可以得到該器件的引腳功能表如下圖所示:表2 LCD液晶引腳功能表編號(hào)符號(hào)引腳說(shuō)明1vss電源地2VDD電源正極3VL液晶顯示偏壓,對(duì)比度調(diào)節(jié)端口4RS數(shù)據(jù)/命令選擇5R/W讀/寫(xiě)選擇6E使能信號(hào)7-14D0D7數(shù)據(jù)傳輸線15A背光源的正輸入端16K背光源的負(fù)輸入端根據(jù)引腳功能繪制出來(lái)的顯示電路圖如下圖所示,在下圖
23、中,電源引腳按照相對(duì)應(yīng) 的接法即可。第3腳可以介入一個(gè)滑動(dòng)變阻器,滑動(dòng)的時(shí)候可以調(diào)節(jié)顯示器的顯示效果。 一般滑動(dòng)變阻器的阻值可以選擇1K左右即可。而剩下的引腳為控制端和數(shù)據(jù)傳輸端, 因此,需要分別接到單片機(jī)的IO 口。至于接到什么IO 口并無(wú)明顯要求,但是在一般的 設(shè)計(jì)來(lái)說(shuō),控制端接到P2 口,數(shù)據(jù)端接到POD,但是P0 口在高電平時(shí)輸出的電壓僅 僅為3.3V,需要接入上拉電阻方能驅(qū)動(dòng)輸出。LCDas 吧 月a 0<va z<lva “<1 wiva 2Lva 9Ka 2Lva vc -r j ri o c* og r c v. -r n ri 16)2一 9 g 寸 e c
24、i - o sli: auaaauaqwacI vcc vcc TGXD顯木器RPRP1IKGND3.3超聲波電路設(shè)計(jì)本次設(shè)計(jì)的超聲波測(cè)距系統(tǒng),主要進(jìn)行超聲波的發(fā)射和接受的器件為HC-SR04,實(shí) 物圖如下所示。可以看出,該實(shí)物一共有四個(gè)引腳,外部超聲波的收發(fā)為兩個(gè)圓形的通 孔。其中,除了常見(jiàn)的電源引腳之外,HC-SR04還有兩個(gè)引腳,trig表示的是信號(hào)開(kāi)始 引腳,該引腳需要使用單片機(jī)進(jìn)行控制。查閱HC-SR04官方提供的數(shù)據(jù)手冊(cè),可以知 道,若是想讓超聲波模塊開(kāi)始啟動(dòng)公共,只需要給該引腳一個(gè)不小于10us的高電平即 可,這時(shí)超聲波模塊會(huì)自動(dòng)發(fā)出8個(gè)40KHz的方波;而echo是數(shù)據(jù)接受引腳
25、,HC-開(kāi) 始工作后,即超聲波模塊發(fā)出方波之后echo引腳會(huì)自動(dòng)置高電平,直至接受到信號(hào)后 該引腳乂自動(dòng)變成低電平。所以,在硬件設(shè)計(jì)中,需要將這兩個(gè)引腳分別連接到單片機(jī) 的IO 口即可。圖3-5 HC-SR04超聲波模塊實(shí)物圖圖3-6超聲波測(cè)距電路設(shè)計(jì)圖73.4系統(tǒng)總電路圖K ADATA7 DATA6 DATA5 DATA4 nviAi DATA: DATA! “I八。 卜二 R/W 底VL voc GNDsLgTrb s.QIJXno) s.a P3.直 EXvfp XT.U1 XTAL2 RST3WPO.0 &苫1 (,g?0.3 aw 另285 (ADf:86 百袋-J (As飛
26、”0 ssVCC9S ®3CD3.04軟件設(shè)計(jì)一般對(duì)于單片機(jī)的程序編寫(xiě)主要是有c語(yǔ)言和匯編語(yǔ)言兩種方式,c語(yǔ)言屬于高級(jí) 語(yǔ)言,程序可讀性強(qiáng),易于修改。而匯編語(yǔ)言屬于底層語(yǔ)言,程序可讀性不高但是訪問(wèn) 寄存器地址等比較方便。系統(tǒng)較大時(shí),使用C語(yǔ)言編程要比匯編語(yǔ)言要方便得多,因此, 本次設(shè)計(jì)使用C語(yǔ)言來(lái)進(jìn)行程序的編寫(xiě)。主要的編輯軟件為keil4, keil4的具體搭建工 程不再贅述,在此直接講述系統(tǒng)的設(shè)計(jì)思路。5.1 主程序設(shè)計(jì)根據(jù)C語(yǔ)言的語(yǔ)法規(guī)則,一個(gè)程序中有且僅有一個(gè)主程序,主程序負(fù)責(zé)對(duì)各個(gè)子程 序進(jìn)行功能調(diào)用,循環(huán)使得程序在不斷往復(fù)執(zhí)行。在本次設(shè)計(jì)的超聲波測(cè)距系統(tǒng)中,主 程序需要對(duì)各
27、個(gè)元件進(jìn)行初始化操作,例如對(duì)HC-SR04和LCD顯示器的初始化,從而 進(jìn)入獲取發(fā)射子程序,等待接受,接收到信號(hào)后將信號(hào)進(jìn)行運(yùn)算處理。并控制在顯示器 上進(jìn)行顯示。開(kāi)始)圖4-1主程序設(shè)計(jì)流程圖5.2 顯示子程序設(shè)計(jì)顯示器使用LCD 1602, LCD 1602每行可以顯示16個(gè)字符,可以顯示品行,因此, 其可以顯示32個(gè)字符,完全符合本次設(shè)計(jì)需求。同樣,LCD1602的編程操作也是需要 遵循嚴(yán)格的時(shí)序操作,1602內(nèi)部驅(qū)動(dòng)為HD44780驅(qū)動(dòng)芯片驅(qū)動(dòng),HD44780內(nèi)置了 DDRAM, DDRAM是專門用來(lái)顯示數(shù)據(jù)的,共有80bits,根據(jù)說(shuō)明書(shū)可以列出如下表 所示的地址表:表3顯示位置和顯示
28、地址對(duì)應(yīng)表顯示位置13456DDRAM地址第一行0x000x010x020x030x040x05 第二行0x400x410x420x430x440x45由上圖可知,當(dāng)需要顯示某個(gè)字符,例如在第一行第一個(gè)位置顯示數(shù)字“1”時(shí), 需要往0x00的地址寫(xiě)入“ 1 ”對(duì)應(yīng)的代碼。而HD44780支持ASCII碼,也就是說(shuō),“ 1 ” 對(duì)應(yīng)的代碼即為1所對(duì)應(yīng)的ASCII碼。但是需要注意的是,由于DDRAM的設(shè)定,當(dāng) 需要顯示時(shí).,需要在地址的基礎(chǔ)上加上80H,即先發(fā)送0x80,然后再發(fā)送1對(duì)應(yīng)的ASCH 代碼,即可在第一行第一位置顯示數(shù)字1。由LCD1602的引腳介紹可知,1602分為寫(xiě)數(shù)據(jù)和寫(xiě)指令兩種
29、操作。查閱1602的圖4-2讀操作時(shí)序?qū)τ贚CD1602,具體的寫(xiě)指令數(shù)據(jù)可以從其數(shù)據(jù)手冊(cè)中得到,包括清屏、設(shè)置光標(biāo)7位等操作。在此不做過(guò)多贅述。圖4-3寫(xiě)操作時(shí)序由于并不需要從LCD1602中讀出數(shù)據(jù),只需往里寫(xiě)入數(shù)據(jù),因此,由上圖時(shí)序圖 可以看出,當(dāng)需要寫(xiě)指令時(shí))需要將RS端拉低,將RW拉低,經(jīng)過(guò)tR的時(shí)間間隔后, 將使能端拉高,送入數(shù)據(jù),延時(shí)一段時(shí)間后將使能端拉低,關(guān)閉數(shù)據(jù)輸入,由此即完成 一次寫(xiě)指令操作。寫(xiě)指令操作主要是為了能控制LCD1602的顯示方式,例如是否需要 光標(biāo)以及地址是否自動(dòng)加一等。寫(xiě)數(shù)據(jù)的時(shí)序圖與上圖一致,唯一不同之處是在開(kāi)始寫(xiě)數(shù)據(jù)之前,需要將RS端拉 高,然后RW端也
30、拉低,后續(xù)的操作完全與寫(xiě)指令相同。由此即可寫(xiě)入數(shù)據(jù)。5.3 超聲波程序設(shè)計(jì)根據(jù)上文可知,超聲波的工作原理可以簡(jiǎn)單描述為:障礙物其中:d為被測(cè)物于測(cè)距器的距離;S為聲波的來(lái)回路程;V為聲速;t為聲波來(lái)回 所用的時(shí)間。因此,在程序中需要控制HC-SR04的收發(fā),并通過(guò)計(jì)時(shí)來(lái)實(shí)現(xiàn)距離的測(cè)量。我們 從官網(wǎng)上查到HC-SR04的時(shí)序圖如下所示:IOuSJOTTL嫡發(fā)售馬VS訴發(fā)"Xi4UKHZ網(wǎng)沖償史內(nèi)郃發(fā)出售號(hào)輸tti回響回響電平模tb 估號(hào)H檢$則£巨愚成比例圖4-5超聲波時(shí)序圖根據(jù)時(shí)序圖可以知道,程序控制觸發(fā)信號(hào)保持10m的高電平就表示當(dāng)前控制了起 始信號(hào),起始信號(hào)結(jié)束后,模塊
31、自動(dòng)發(fā)出8個(gè)40KHz的超聲波信號(hào),而后ECHO引腳 會(huì)輸出高電平一直到接收到信號(hào)為止。因此,急于此原理,對(duì)應(yīng)的代碼設(shè)計(jì)如下:TRIG=1;觸發(fā)信號(hào)是高電平脈沖,寬度大于10usDelayUs2x(10);TRIG=0;while(!ECHO); 等待高電平TRO=1;while(ECHO); 等待低電平TR0=0;上述的代碼中僅僅是控制模塊的超聲波信號(hào)收發(fā),而超聲波測(cè)距最主要的還是超聲 波時(shí)間的測(cè)量,根據(jù)時(shí)間,結(jié)合聲速即可計(jì)算得到當(dāng)前的距離值。這一定時(shí)的過(guò)程由定 時(shí)器實(shí)現(xiàn)。定時(shí)器是單片機(jī)內(nèi)部自帶的一個(gè)寄存器,可以實(shí)現(xiàn)精準(zhǔn)定時(shí)。而設(shè)置定時(shí)器需要設(shè) 置下列3個(gè)個(gè)主要關(guān)鍵參數(shù):1:定時(shí)器的初始化;
32、單片機(jī)內(nèi)部自帶有兩個(gè)定時(shí)器,分別是定時(shí)器0和定時(shí)器1, 定時(shí)器0的優(yōu)先級(jí)要高于定時(shí)器1,而每個(gè)定時(shí)器都分別各有3個(gè)工作方式,方式0為 13位定時(shí)器,方式1是16位,方式2是8位,根據(jù)設(shè)計(jì)的不同需要來(lái)進(jìn)行設(shè)計(jì)。工作方式可以根據(jù)TMOD寄存器來(lái)進(jìn)行控制,TMOD的控制指令如下表所示:位7»6 c524"3,2723Q字節(jié)地址:89H-,GATEMl.M0GATEc/包MlM0TMOD.本次設(shè)計(jì)需要使用定時(shí)器0,方式1,因此TMOD=0X01;2:定時(shí)器初值的計(jì)算;既然要定時(shí),那么肯定要設(shè)置初值。定時(shí)器的工作類似于 一桶水,每個(gè)工作方式代表著桶的大小。例如處于工作方式1的通的體積
33、為10,當(dāng)桶內(nèi) 已經(jīng)有2份的水時(shí),再加入8份的水即可實(shí)現(xiàn)溢出。因此,定時(shí)器的初值就類似于桶內(nèi) 原有的水。例如,方式1的工作方式為16位,因此計(jì)數(shù)值最大為65536。當(dāng)定時(shí)器的初 值為15536時(shí),此時(shí)需要再震蕩50000次即可實(shí)現(xiàn)溢出,由于晶振頻率是12MHz,每 次震蕩所需時(shí)間為lus, 50000次震蕩對(duì)應(yīng)的是50ms,也就是說(shuō),每50ms溢出一次, 我們根據(jù)這個(gè)原理,就可以進(jìn)行準(zhǔn)確定時(shí)。3:定時(shí)器的開(kāi)始和關(guān)閉需要通過(guò)TR0/TR1來(lái)控制,為1時(shí)表示啟動(dòng),為0時(shí)表示 關(guān)閉。當(dāng)超聲波的觸發(fā)啟動(dòng)10uS后,此時(shí)ECHO也跟著變成高電平,此時(shí)程序立即啟動(dòng) TR0=b等待到ECHO變成低電平后,立
34、即TR0=0:這段時(shí)間就計(jì)算出來(lái)了,所以,對(duì) 應(yīng)的速度計(jì)算也的出來(lái)了,將數(shù)據(jù)轉(zhuǎn)換后送至顯示器顯示即可。對(duì)應(yīng)的代碼如下所示:TRIG=1; 觸發(fā)信號(hào)是高電平脈沖,寬度大于lOusDelayUs2x(10);TRIG=0;while(!ECHO); 等待高電平TRO=1;while(ECHO); 等待低電平TR0=0;S=TH0*256+TL0;取出定時(shí)器值高8位和低8位合并S=S/58;為什么除以58等于厘米, Y米=(X秒*344) /2/吠秒=(2*Y 米)/344>X 秒=0.0058*丫米-> 厘米=微秒/58TH0=0;TLO=O;清除定時(shí)器0寄存器中的值sprintf(D
35、isTempData,HS=%6.2f CM ",S); 打印輸出結(jié)果 LCD_Wi-ite_Stnng(O,O,DisTempData); 在液晶屏上顯示 DelayMs(250);延時(shí)決定采樣速度5 Proteus仿真驗(yàn)證在程序編寫(xiě)的時(shí)候,需要不斷的和proteus來(lái)進(jìn)行聯(lián)調(diào),以驗(yàn)證程序的正確性。由 于仿真中并沒(méi)有HC-SR04元器件,因此,僅僅是在仿真中觀察是否正確顯示,以佐證 系統(tǒng)設(shè)計(jì)的正確性。在proteus中搭建的仿真電路如下圖所示。JD16L TE<T>XT/iLZc7EXT>RETT12MHX,卜PDCVAJD PQ1/A>1 PDA>2
36、 PD3,A)3 PR4/A>4 PD»A>5 ruafA>o PO?A>?LBPTOTALE 6PR皿 pz.v.e PZ»A1D P23TAH PZ4/A12 rzfVAO PZ&AU PZTAISP1£P1.1P12P1JS P1.?P3IVR>:D P3.1fT>;(» P3WH3 P3WTT ra.WTD P3STF1P3AVW P3.7/UF33?3S IJ UJ”,用:R 田 PKCK«3<TEX>A-naaeci圖5-1系統(tǒng)仿真頁(yè)面圖從仿真上可以看出,顯示器上第一行顯示提示
37、信息,第二行顯示距離值,由于沒(méi)有 HC-SR04元件,因此第二行并未顯示,但是也可以反映出本次設(shè)計(jì)完美成功。6畢設(shè)總結(jié)本次設(shè)計(jì)為基于單片機(jī)的超聲波測(cè)距檢測(cè)系統(tǒng),該系統(tǒng)可以隨時(shí)測(cè)量障礙物的距離 情況,并實(shí)時(shí)現(xiàn)在在顯示器上。雖然說(shuō)本次設(shè)計(jì)完成了所有的設(shè)計(jì)要求,但是通過(guò)實(shí)際 測(cè)試,還是發(fā)現(xiàn)了本次設(shè)計(jì)仍存在較多不足之處:例如:(1) 本次設(shè)計(jì)沒(méi)有設(shè)計(jì)報(bào)警電路。就是說(shuō)當(dāng)具體小于一定值的時(shí)候,沒(méi)有進(jìn)行的任何報(bào)警操作。(2) 設(shè)計(jì)本次設(shè)計(jì)為超聲波測(cè)距系統(tǒng),如果能夠在電路中,家用一個(gè)語(yǔ)音播放模塊,實(shí)時(shí)播報(bào)當(dāng)前的測(cè)量距離值,那么將會(huì)有更好的實(shí)用性和操作 性。(3) 當(dāng)前的系統(tǒng)僅僅只能測(cè)一個(gè)點(diǎn)的距離值,要是能夠同
38、時(shí)測(cè)量多個(gè)點(diǎn)的超聲波距離那么系統(tǒng)效果會(huì)更好一些謝辭經(jīng)過(guò)幾個(gè)月的堅(jiān)持不懈,終于在論文末尾畫(huà)上了句號(hào)。從開(kāi)始的不知所措,到過(guò)程 的理清思路,選擇題LI,深入了解研究歷屆本科及碩士畢業(yè)生的經(jīng)典論文,學(xué)到了許多 寫(xiě)作方法和技巧、邏輯推理、論文結(jié)構(gòu)設(shè)計(jì),寫(xiě)作過(guò)程中指導(dǎo)老師給我指點(diǎn)迷津,我的 畢設(shè)離不開(kāi)老師和同學(xué)的幫助,要學(xué)習(xí)中他們經(jīng)常答我疑難雜問(wèn),不厭煩我的請(qǐng)教,在 生活中他們關(guān)心我的大學(xué)生活,讓我感覺(jué)校園就是個(gè)大家庭,有他們?cè)诰褪呛荛_(kāi)心,非 常感謝的感謝他們出現(xiàn)在我的大學(xué)生活中。如今畢設(shè)已經(jīng)完成,恩師和同學(xué)之情我會(huì)深 記在心。謝謝!參考文獻(xiàn)1沙占友.集成溫度傳感器原理與應(yīng)用.M北京:機(jī)械工業(yè)出版社,2
39、002, 8495.2劉君華.智能傳感器系統(tǒng).M西安:西安電子科技大學(xué)出版社,1999, 83705.3沙占友.智能化傳感器原理與應(yīng)用.M北京:電子工業(yè)出版社,2004, 99108.4趙負(fù)圖.傳感器集成電路手冊(cè).仃北京:化學(xué)工業(yè)出版社,2002, 692703.5張毅剛.MCS-51單片機(jī)原理及應(yīng)用.M哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004,81 94.6李玉峰,倪虹霞.MCS-51系列單片機(jī)原理與接口技術(shù).M北京:人民郵電出版社, 2004, 187-216.7林伸茂.8051單片機(jī)徹底研究經(jīng)驗(yàn)篇.j北京:人民郵電出版社,2004, 7-14.8沙占友.單片機(jī)外圍電路設(shè)計(jì).M北京:電子工業(yè)
40、出版社,2003, 3748.9何希才.傳感器及其應(yīng)用電路.M北京:電子工業(yè)出版社,2001, 3647.10 Intel: MCS-51 Family of Single Cliip Mirocomputers User1 s Manual, 1990, 39.11吳金戌,沈慶陽(yáng),郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用M.北京:清華大學(xué)出版社,2002.12高峰.單片微型計(jì)算機(jī)與接口技術(shù)M.北京:科學(xué)出版社,2003.13陳忠平.基于proteus的51系列單片機(jī)的設(shè)計(jì)與仿真M電子工業(yè)出版社.2008.14張毅剛.單片機(jī)原理及應(yīng)用:C51編程+Proteus仿真/高等學(xué)校教材M高等教育出 版社,2
41、012附錄:源程序4include <reg52.h>include <stdio.h>#include <math.h>-include "16O2.hH-include "delay.h"sbit TRIG = P1AO;sbit ECHO = P1A1 ;unsigned char DisTempData 16;/*定時(shí)器0初始化*/ void TIMOinit(A-oid)TMOD|= 0x01;/定時(shí)器0工作方式1TH0=0x00;TL0=0x00;ETO=1;EA=1;)/*主函數(shù)*/main()float S;距離
42、變量TIMOiiiitO; 初始化定時(shí)器0LCD_Iiiit(); /初始化 LCD LCD_Write_String(O,l /LY-UR04 demo"); while(l)TRIG=1;觸發(fā)信號(hào)是高電平脈沖,寬度大于10usDelayUs2x(10);TRIG=0;while(!ECHO); 等待高電平TR0=l;while(ECHO); 等待低電平TR0=0;S=TH0*256+TL0;取出定時(shí)器值高8位和低8位合并S=S/58; 為什么除以58等于厘米, Y米=(X秒*344) Z2X秒=(2*Y 米)/344-> X 秒=0.0058*Y 米-> 厘米=微秒/58TH0=0;TL0=0;清除定時(shí)器0寄存器中的值sprintf(DisTempData,HS=%6.2f CM",S); 打印輸出結(jié)果LCD_Wi-ite_String(O,O,DisTempData);在液晶屏上顯示DelayMs(250);延時(shí)決定采樣速度)/*定時(shí)器中斷子程序*/void Timei-O_isr('oid) iiitemipt 1 "ECHO=0;)/*名稱:LCD 1602論壇:編寫(xiě):shifang日期:2009.5修改:無(wú)內(nèi)容:引腳定義如下:1-VSS 2-VDD 3-VO 4-RS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險(xiǎn)公司實(shí)習(xí)報(bào)告
- 2025年教學(xué)設(shè)計(jì):三角形外角的演示策略
- 臨港商業(yè)物業(yè)管理服務(wù)預(yù)案50p
- 拋丸清理操作規(guī)程
- 2024年青海省中考一模地理試題(解析版)
- 2025年石家莊從業(yè)資格證貨運(yùn)考試試題
- 三農(nóng)村產(chǎn)業(yè)結(jié)構(gòu)調(diào)整實(shí)踐手冊(cè)
- 企業(yè)招聘面試安排表格
- 企業(yè)管理流程圖繪制的方法及技巧
- 工廠特殊崗位保密協(xié)議
- 課件-DeepSeek從入門到精通
- 心電監(jiān)護(hù)儀的操作及注意事項(xiàng) 課件
- GB/T 718-2024鑄造用生鐵
- 細(xì)胞生物學(xué)(全套1047張課件)
- 回字格+米字格練字模版(A4最大利用率)
- 幼小銜接--相鄰數(shù)PPT課件
- 橡膠履帶力學(xué)分析及優(yōu)化設(shè)計(jì)
- CFM56-7發(fā)動(dòng)機(jī)滑油系統(tǒng)及其常見(jiàn)故障分析(共41頁(yè))
- LS框架斷路器技術(shù)資料_圖文
- 《嵌入式技術(shù)》課程標(biāo)準(zhǔn)(STM32版)
- tplink-mr11u刷openwrt教程
評(píng)論
0/150
提交評(píng)論