超聲波傳感器單片機(jī)課程設(shè)計(jì)_第1頁
超聲波傳感器單片機(jī)課程設(shè)計(jì)_第2頁
超聲波傳感器單片機(jī)課程設(shè)計(jì)_第3頁
超聲波傳感器單片機(jī)課程設(shè)計(jì)_第4頁
超聲波傳感器單片機(jī)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、成績 課程設(shè)計(jì)報(bào)告題 目 超聲波測距系統(tǒng)設(shè)計(jì) 課 程 名 稱 單片機(jī)原理及應(yīng)用 院 部 名 稱 機(jī)電工程學(xué)院 專 業(yè) 電氣工程及其自動化 班 級 12電氣工程及其自動化(單) 學(xué) 生 姓 名 潘成城 學(xué) 號 課程設(shè)計(jì)地點(diǎn) 工科樓 C304 課程設(shè)計(jì)學(xué)時(shí) 20 指 導(dǎo) 教 師 李國利 金陵科技學(xué)院教務(wù)處制目 錄一 、概述31.1課程設(shè)計(jì)應(yīng)達(dá)到的目的4 1.2 超聲波測距系統(tǒng)設(shè)計(jì)4二、總體設(shè)計(jì)方案及說明42.1系統(tǒng)總體設(shè)計(jì)思路42.2系統(tǒng)總體設(shè)計(jì)框圖5三、系統(tǒng)硬件電路設(shè)計(jì)5 3.1 單片機(jī)的最小系統(tǒng)6 3.1.1AT89C51單片機(jī)的功能與特點(diǎn)6 3.2系統(tǒng)原理分析6 3.2.1超聲波測距原理6

2、3.3 超聲波傳感器檢測電路6 3.3.1超聲波檢測電路圖7 3.3.2 超聲波發(fā)生及感應(yīng)過程7 3.4 超聲波測距接收7 3.4.1 HC-SR04模塊7 3.4.2 T40、R40超聲波傳感裝置介紹7 3.5 SCM1602顯示模塊9四 、系統(tǒng)軟件部分設(shè)計(jì)11 4.1 軟件流程圖11 4.1.1主程序流程圖11 4.1.2超聲波發(fā)生子程序11 4.2 系統(tǒng)源程序12五、系統(tǒng)仿真過程與結(jié)果13 5.1 Proteus仿真軟件14 5.2仿真編譯過程14 5.3仿真效果圖15六 、實(shí)物展示166.1實(shí)物元件與過程16 6.2實(shí)物運(yùn)行與調(diào)試15 6.3實(shí)物總結(jié)15七、總結(jié)18八 、參考文獻(xiàn)19附

3、錄,原理圖20摘 要本設(shè)計(jì)采用了AT89C51作為中心處理器,HC-SR04模塊進(jìn)行超聲波方面的發(fā)生與感應(yīng)。然后介紹了總體的系統(tǒng)設(shè)計(jì)框圖、思路及元件選型。接下來,分硬件和軟件兩部分進(jìn)行了設(shè)計(jì)的分析。硬件方面首先構(gòu)建了一單片機(jī)最小系統(tǒng),然后集成各芯片完成設(shè)計(jì)。軟件方面通過外部中斷,定時(shí)器中斷等完成開發(fā)的子程序的調(diào)用。最后重點(diǎn)詳細(xì)地講述了關(guān)于超聲波模塊的電路及收發(fā)過程。最后進(jìn)行了系統(tǒng)仿真,仿真結(jié)果表明,所設(shè)計(jì)的系統(tǒng)能夠滿足要求。本系統(tǒng)具有成本低,可靠性高和安全實(shí)用等特點(diǎn),廣泛應(yīng)用于社會生活的各個(gè)領(lǐng)域。 關(guān)鍵詞:AT89C51單片機(jī);超聲波模塊;最小系統(tǒng)一、概述1.1課程設(shè)計(jì)應(yīng)達(dá)到的目的通過本課程設(shè)

4、計(jì),使學(xué)生掌握控制系統(tǒng)設(shè)計(jì)的一般步驟,掌握系統(tǒng)總體控制方案的設(shè)計(jì)方法。使學(xué)生進(jìn)一步掌握微型計(jì)算機(jī)應(yīng)用系統(tǒng)的硬、軟件開發(fā)方法,輸入/輸出(I/O)接口技術(shù),應(yīng)用程序設(shè)計(jì)技術(shù),并能結(jié)合專業(yè)設(shè)計(jì)簡單實(shí)用的單片機(jī)應(yīng)用系統(tǒng)。針對課堂重點(diǎn)講授內(nèi)容使學(xué)生加深對單片機(jī)硬件原理的理解及提高C51語言程序設(shè)計(jì)的能力,為以后的畢業(yè)設(shè)計(jì)搭建了單片機(jī)系統(tǒng)應(yīng)用平臺,提高學(xué)生的開發(fā)創(chuàng)新能力。1.2超聲波測距系統(tǒng)設(shè)計(jì)設(shè)計(jì)一個(gè)基于單片機(jī)的超聲波測距系統(tǒng),要求:(1)系統(tǒng)功能:測距范圍:3cm-450cm,通過LCD1602顯示距離。(2)給出系統(tǒng)設(shè)計(jì)方案,畫出硬件連線圖,并說明工作原理;(3)畫出程序框圖并編寫程序。二、系統(tǒng)總

5、體方案設(shè)計(jì)2.1 系統(tǒng)總體設(shè)計(jì)思路本設(shè)計(jì)的構(gòu)建是基于89C51單片機(jī)外圍芯片的超聲信號檢測的。超聲波發(fā)生模塊送出片刻的40KHz的矩形波信號,遇物體反射后,被超聲波接收模塊接收并作為本設(shè)計(jì)的Input,單片機(jī)對此信號進(jìn)行判斷加工處理后,把計(jì)算出的距離結(jié)果傳到LCD顯示屏上,當(dāng)檢測距離小于預(yù)設(shè)值時(shí)報(bào)警模塊工作。本設(shè)計(jì)的硬件部分主要由AT89C51單片機(jī)控制模塊、超聲波發(fā)出和接收模塊、預(yù)警模塊以及LCD顯示模塊等幾部分組成。系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)框圖如圖1.1所示。本設(shè)計(jì)的軟件部分由C語言編寫,程序采用模塊化設(shè)計(jì)思想,將各功能單獨(dú)程序化成子程序塊并進(jìn)行debug,在完成主程序段的編寫和子程序的調(diào)用。系

6、統(tǒng)軟件部分主要include主程序段、delay子程序塊、超聲波發(fā)生與感應(yīng)子程序塊等。2.2 系統(tǒng)總體設(shè)計(jì)框圖本設(shè)計(jì)采用AT89C51為控制核心,由電源電路、單片機(jī)外圍電路、發(fā)射電路、接收電路、顯示電路、報(bào)警電路等部分組成,系統(tǒng)設(shè)計(jì)框圖如圖1.1所示。其主要需完成任務(wù)是對傳感器到障礙物中間的距離的測量及對測出距離的顯示以及小于預(yù)設(shè)值時(shí)的報(bào)警。圖1.1 系統(tǒng)總體設(shè)計(jì)框圖三、系統(tǒng)硬件部分設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng):能讓單片機(jī)regular work的最小硬件單元系統(tǒng),如圖3.4所示。 一般具有:復(fù)位circuit;時(shí)鐘震蕩circuit。此外,ISP下載口也belong單片機(jī)最小系統(tǒng)。

7、 復(fù)位電路如圖2.2所示。圖2.2 復(fù)位電路圖復(fù)位電路可將系統(tǒng)重置至一個(gè)已知的狀態(tài)。從單片機(jī)內(nèi)部來看,復(fù)位電路工作后,CPU將一些廠商早先設(shè)定的數(shù)載入至寄存器。該電路的principle是將Capacitance與Resistance接至復(fù)位引腳RST,組成Power on reset的功能。當(dāng)Reset level持續(xù)兩個(gè)machine cycle以上時(shí),reset有效。具體數(shù)值需由RC電路計(jì)算出time constant t=RC1(t10ms)。復(fù)位電路包括Reset button和Power on reset。(1)Reset button:并聯(lián)一開關(guān)在復(fù)位電容上。按下開關(guān),電容釋放之

8、前的電量,同時(shí),復(fù)位引腳電壓的拉高完成Reset。(2)Power on reset:在RST上外接一個(gè)RC充放電導(dǎo)電回路,即加入一個(gè)電容(一般為10uF)串聯(lián)至電源+5v,再加入一個(gè)電阻器(一般為10K)串聯(lián)至保護(hù)地。此外,要保證Reset成功,需使上電時(shí)復(fù)位引腳有足夠時(shí)間的high level。振蕩電路如圖2.3所示。 圖2.3 振蕩電路圖振蕩電路也叫做晶振電路,任務(wù)是為CPU設(shè)定時(shí)鐘頻率。單片機(jī)運(yùn)行所有語句的時(shí)間都由時(shí)鐘頻率決定。clock frequency越高,CPU運(yùn)行越快。單片機(jī)一般從外部接入時(shí)鐘頻率,典型的clock frequency有11.0592MHz/12MHz。單片機(jī)

9、通常共用一個(gè)晶體振蕩器來滿足各部分同步運(yùn)行。具體振蕩器經(jīng)常與鎖相環(huán)回路一起工作,以方便為系統(tǒng)提供clock frequency。圖2.4單片機(jī)最小系統(tǒng)3.1.1 AT89C51單片機(jī)的功能與特點(diǎn)AT89C51是一種具有l(wèi)ow voltage、low power consumption且high-performance等優(yōu)點(diǎn)的八位單片機(jī)。其內(nèi)部的芯片包含了一個(gè)8位微處理器、一個(gè)二百五十六字節(jié)數(shù)據(jù)存儲器及一個(gè)四千字節(jié)程序存儲器。CMOS工藝與UNRAM技術(shù)在AT89C51的制作過程中被使用,且它的指令集合和輸出引腳都與早期美國INTECo.于1980年研制的MCS-51單片機(jī)相兼容。AT89C51

10、因?qū)㈤W存與8位CPU結(jié)合在一個(gè)芯片中而成為一款高性能單片機(jī),89LV51是它的一個(gè)低電壓版本。AT89C51單片機(jī)已成為一種靈活性高、功能強(qiáng)且價(jià)格實(shí)惠并在各種控制領(lǐng)域被普遍運(yùn)用的方案。外型及管腳排列如圖所示。 功能概述AT89C51 含滿足國標(biāo)的功能:片內(nèi)振蕩器及時(shí)鐘發(fā)生電路、4KB程序存儲器 Flash ROM(保留表格、數(shù)據(jù)及程序)、256B數(shù)據(jù)存儲器RAM/SFR(保留可以READ/WRITE的數(shù)據(jù))、兩個(gè)16位定時(shí)/計(jì)數(shù)器、四個(gè)8位I/O 口線、一個(gè)五中斷源二優(yōu)先級中斷系統(tǒng)、一個(gè)雙向信號傳輸U(kuò)ART串行通信口。而且,AT89C51可以執(zhí)行靜態(tài)邏輯操作,此時(shí)最低的工作頻率可為0Hz,并有

11、兩種省電運(yùn)行模式可供軟件運(yùn)行。Idle Mode可將CPU處于停止運(yùn)行狀態(tài),但允許中斷控制系統(tǒng)、串行通訊口、定時(shí)/計(jì)數(shù)器以及隨機(jī)存取存儲器持續(xù)運(yùn)行。Power Mode直到下一次硬件復(fù)位都會停止運(yùn)行振蕩器并且不允許其它所有部件運(yùn)行但會保留片內(nèi)隨機(jī)存取存儲器中的數(shù)據(jù)。 AT89CA51 引腳功能說明VCC:供電電壓。GND:接地。P0端:P0端為一組8位Open Drain型雙向input/output端,也即地址/總線復(fù)位端。每端能驅(qū)動8位TTL邏輯門。當(dāng)P0端被置為1時(shí),其變便成為高阻抗輸入端。P0端可被外部程序DATA存儲器使用,此時(shí),其被當(dāng)作DATA/ADDRESS的低八位使用。在閃存(

12、Flash)進(jìn)行program工作時(shí),P0 端輸入命令,當(dāng)閃存(Flash)運(yùn)行check任務(wù)時(shí),P0端輸出命令,同時(shí),確保P0端外部已連有pull-up resistor。P1端:P1端是一組配有內(nèi)部pull-up resistor的雙向input/output端,為功能最單一的一組端口。P2端:P2端也是一組配有內(nèi)部上拉電阻的雙向input/output端。當(dāng)cpu訪問外部存儲器時(shí),P2端輸出高八位地址信號。P3端:P3端同樣是一組配有內(nèi)部上拉電阻的雙向input/output端。同時(shí)P3端的每一個(gè)管腳都另有功能。主要屬性如表2-1所示。 表2-1 主要屬性控制信號引腳(RST、 ALE

13、、/PSEN 、/EA)RST / Vpd (9腳):復(fù)位輸入,1信號有效。當(dāng)CPU剛接入電源時(shí),其內(nèi)部各寄存器處于隨機(jī)狀態(tài),當(dāng)此輸入端可持續(xù)24個(gè)時(shí)鐘周期的1信號時(shí),就能完成復(fù)位任務(wù)。單片機(jī)正常工作時(shí), 此腳應(yīng)0.5V低電平。ALE/PROG(30腳):地址鎖存允許信號端(Address Latch Enable)。當(dāng)CPU讀取外部ROM時(shí),此管腳輸出信號的下降沿控制低八位地址的鎖存。平時(shí)運(yùn)行是,此管腳以振蕩頻率的六分之一穩(wěn)定發(fā)送正脈沖,能作對外輸出時(shí)鐘和定時(shí)信號。/PSEN:程序存儲器允許信號輸出端(Program Store Enable)。CPU讀取外部程序存儲器的讀選通信號。在訪問片

14、外ROM時(shí),每個(gè)機(jī)器周期/PSEN輸出2次脈沖。當(dāng)讀取外部數(shù)據(jù)存儲器時(shí),/PSEN不出現(xiàn)。/EA/VPP:片外程序存儲器訪問允許輸入端(External Access External)。當(dāng)/EA被置1時(shí),CPU讀取片內(nèi)存儲器(4K)PC值超過0FFFH,將自動運(yùn)行片外程序存儲器的程序。當(dāng)/EA被置0,CPU訪問片外EPROM/ROM,且運(yùn)行片外ROM的程序。引腳圖如圖2.1所示。 圖2.1 AT89C51引腳圖3.2 系統(tǒng)原理分析3.2.1 超聲波測距原理一般而言,人耳能聽到的聲波頻率為20赫茲-20000赫茲。Resonant frequency高于2KHz的聲波稱為“超聲波”。超聲波由于

15、其穿透能力強(qiáng)、在液體中傳播距離遠(yuǎn)、易獲得較集中的聲能、方向性好等特性,使其在實(shí)際生活中的各行各業(yè)得到廣泛應(yīng)用。假定聲波在固定介質(zhì)中傳播的速度一定,而且能測量得到聲波從送出到感應(yīng)到的時(shí)間,那么從聲源到目標(biāo)物體的距離就可以被準(zhǔn)確地計(jì)算出來。這就是本設(shè)計(jì)的測距原理。超聲波測距,簡單來說,就是通過連續(xù)地接收經(jīng)障目標(biāo)物體反射后的回波,進(jìn)而測出超聲波從發(fā)射到接收的往返時(shí)間,最后求出超聲波經(jīng)過的距離。其關(guān)系式如公式(1): (1)式中:S為所需測量的距離;c為超聲波在空氣介質(zhì)中的傳播速度;t為往返時(shí)間。3.3 超聲波傳感器檢測電路3.3.1 超聲波檢測電路圖HC-SR04模塊由發(fā)生電路和感應(yīng)電路主成,發(fā)生超

16、聲波circuit主體具有Em78p153 SCM、MAX232chip及超聲波send裝置T40。感應(yīng)超聲波circuit主體具有 TL074operational amplifier及超聲波receiver R40組成。3.3.2 超聲波發(fā)生及感應(yīng)過程 CPU啟動system初始化。置EA為1打開總中斷,置“Trig”端10us的1信號,啟動HC-SR04模塊的EM78P153產(chǎn)生8段持續(xù)的40KHz矩形波,由MAX232電平轉(zhuǎn)換,增強(qiáng)發(fā)出功率。發(fā)生裝置把電信號變成超聲波信號發(fā)出。 當(dāng)CPU發(fā)出一端10us的啟動信號后,Trig端從低電壓變成高電壓,模塊發(fā)出超聲波的同時(shí),計(jì)時(shí)器開始計(jì)時(shí),等

17、待感應(yīng)裝置receive到信號,一旦感應(yīng)到立即停止計(jì)時(shí)。將時(shí)間T傳遞給單片機(jī),過程中ECHO端持續(xù)為1信號的Time為路程時(shí)間T。3.4超聲波測距接收3.4.1 HC-SR04模塊圖4.1 HC-SR04模塊實(shí)物圖HC-SR04超聲波測距模塊能完成2厘米到400厘米間距的非接觸式距離測量任務(wù),其電路簡易且售價(jià)實(shí)在。此外,其相對應(yīng)的單片機(jī)外圍電路也不復(fù)雜。該module具有發(fā)生circuit、感應(yīng)circuit及控制circuit。實(shí)物如圖4.1所示。 基本運(yùn)行流程置TRIG端口至少10us的1電平啟動超聲波發(fā)生;發(fā)生電路連續(xù)發(fā)出8個(gè)40khz的矩形波,等待感應(yīng)是否有回波;有回波,ECHO端輸出

18、1信號,1信號連續(xù)時(shí)間即超聲波完成路程所花的時(shí)間。模塊參數(shù)如下表4-1。表4-1模塊參數(shù)超聲波sequence chart如圖4.2所示。圖4.2 超聲波sequence chart如圖4-2sequence chart顯示,一旦單片機(jī)發(fā)出一端10us以上Transister-Transister-Logic脈沖信號,該模塊會連續(xù)送出8個(gè)40khz矩形波信號且開始等待感應(yīng)回波sign。只要感應(yīng)到回波sign,ECHO端就送出high level脈沖。輸出信號的Pulse width與Induction distance成正比。所以,將發(fā)出到感應(yīng)之間的T值代入公式能測算出汽車與物體的間距:距離=

19、高電平時(shí)間*聲速(340m/s)/2。Module主體包括Em78p153單片機(jī)、MAX232Chip、Input operational amplifier TL074、Ultrasonic sensingdevice:T40-16、R40-16。Em78p153單片機(jī)情況簡述Em78p153是采用高速CMOS工藝制造的8位single chip。采取EMC編程器往單片機(jī)內(nèi)Write程序instruction。編程人員可在13位選項(xiàng)位挑取符合其需求的選項(xiàng)位,之中的保護(hù)位能prevent程序被上載。電氣參數(shù)運(yùn)行Voltage參數(shù)(V):2.0-6.0;適應(yīng)Temperature區(qū)間():0-7

20、0;正常Frequency區(qū)間:DC-8MHz;4個(gè)內(nèi)建IRC振蕩器;2個(gè)雙向I/O端口;328bit片內(nèi)寄存器(SDRAM);EM78P153的封裝為14腳;Small Out-Line Package小外形封裝、Shrink Small-Outline Package)窄間距小外型塑封和dual inline-pin package雙列直插式封裝為3種封裝形式。pin分配如圖4.3所示。圖4.3 Em78p153pin腳圖MAX232MAX232chip是MAXIM Co.特為RS-232串口design的選擇單電源+5v供能的電平轉(zhuǎn)換chip。本設(shè)計(jì)只通過該chip完成level swi

21、tch任務(wù),將40kHz的矩形波從5V提升至20V,增強(qiáng)transmitting power。pin圖如圖4.4所示。圖4.4 MAX232引腳圖引腳介紹第一單元為電荷泵circuit。由1、2、3、4、5、6號pin及4個(gè)電容組成。作用為發(fā)生+12v和-12v兩個(gè)電源,滿足RS-232串口電平的require。第二單元為Data conversion通道。由7、8、9、10、11、12、13、14號pin組成兩個(gè)Data conversion。以上13號pin(R1IN)、12號pin(R1OUT)、11號pin(T1IN)、14號pin(T1OUT)為第一Data conversion;8

22、號pin(R2IN)、9號pin(R2OUT)、10號pin(T2IN)、7號pin(T2OUT)為第二Data conversion。第三單元為供電circuit。15號pin GND、16號引pin VCC。TL074(低噪聲JFET輸入operational amplifier)引腳圖如圖4.5所示。圖4.5 TL074pin圖具體引腳功能如表4-2所示:表4-2 引腳表11OUT輸出端(通道1)21IN+反相輸入端(通道1)31IN-同相輸入端(通道1)4VCC正電源52IN+同相輸入端(通道2)62IN-反相輸入端(通道2)72OUT輸出端(通道2)83OUT輸出端(通道3)93IN

23、-反相輸入端(通道3)103IN+同相輸入端(通道3)11GND接地端124IN-反相輸入端(通道4)134IN+同相輸入端(通道4)144OUT輸出端(通道4)TL074內(nèi)部組件數(shù)量如表4-3所示表4-3 TL074組件3.4.2 T40、R40超聲波傳感裝置介紹圖4.6 內(nèi)部構(gòu)造圖4.7 外觀形態(tài)T40-16與R40-16目前來看,超聲波發(fā)生裝置按如何發(fā)出超聲波能分為兩大種類:1.Electric發(fā)出超聲波, 包含Piezoelectrictype,magnetostrictivetype及 electrictype等;2.Mechanical發(fā)出超聲波,包含Garrtheflute,wh

24、istle 及sirenliquidflow等。 兩種類型send的超聲波的frequency、power和Acoustic characteristics大相徑庭,所以適用場合也不一樣。壓電式超聲波發(fā)生裝置是現(xiàn)在比較常用的。壓電式超聲波發(fā)生裝置根本上來講為采用Piezoelectric crystal的諧振來運(yùn)作的。其內(nèi)部include兩個(gè)Piezoelectric crystal和一個(gè)共振板。在它的兩極處輸入電壓,同時(shí)保證該頻率等于Piezoelectric crystal的固有振蕩頻率時(shí),Piezoelectric crystal就會產(chǎn)生共振,且使共振板一起振動,于是便能send超聲波了

25、。反之,若兩極處沒外加脈沖信號,當(dāng)共振板receive回波時(shí),會使Piezoelectric crystal產(chǎn)生振動,機(jī)械能將transform 電信號,此刻其便是超聲波感應(yīng)裝置。電路中采用T40-16T/R超聲波換能器便是Piezoelectrictype裝置。裝置說明Name:Piezoelectric ceramics超聲波傳感器;Type:T40-16T/R;Category:通用型;主frequency(KHZ):40;Outer diameter:16mm;工作說明:T表示發(fā)生裝置,R表示receiver,TR表示兩者兼用;電氣參數(shù)如下表4-4所示:表4-4 電氣參數(shù)傳感器實(shí)物如圖

26、4.8 所示。圖4.8 傳感器實(shí)物圖HC-SR04 具有超聲波的發(fā)生和感應(yīng)電路,因此,hardware方面不用再個(gè)人定制復(fù)雜的發(fā)生及感應(yīng)回路,software方面也不必再使用定時(shí)器來發(fā)生40Khz的矩形波驅(qū)動piezoelectric ceramics共振近而發(fā)出超聲波。調(diào)用該module時(shí),只需將Trig端置一端大于10us的high level信號,就能等待Echo端的high level信號輸出。CPU一旦掃描到trigger signal就打開定時(shí)器進(jìn)行計(jì)時(shí)。當(dāng)該端的high level信號消失時(shí)就完成計(jì)時(shí)并read定時(shí)器的Data,該Data為本次測距的time,然后帶入傳播速度公式

27、就能complete對距離的計(jì)算。3.5 SCM1602 顯示模塊 該模塊是由SCM1602液晶顯示器件組成,第3腳:VL為顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地電源時(shí)對比度最高,對比度過高時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10k的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號,當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變?yōu)榈碗娖綍r(shí),液晶模塊執(zhí)行

28、命令。第714腳:D0D7位8為雙向數(shù)據(jù)線。由上可知1602基本操作時(shí)序如下表2.5。其第1516腳:背光電源腳。SCM1602與單片機(jī)的應(yīng)用連接電路圖如圖2.5所示。 圖2.5 顯示電路圖四、系統(tǒng)軟件部分設(shè)計(jì)4.1 軟件流程圖4.1.1主程序流程圖本設(shè)計(jì)的軟件部分主要有主程序、發(fā)射超聲波程序、1ms定時(shí)器中斷程序、LCD液晶屏顯示程序組成。我們知道C語言程序?qū)?shí)現(xiàn)較復(fù)雜的算法能很高效的實(shí)現(xiàn),而匯編語言編寫程序的代碼對于普通人十分難理解,不易于軟件的維護(hù),而本設(shè)計(jì)的程序需要有相對復(fù)雜的運(yùn)算且有助于結(jié)構(gòu)化程序,所以程序語言選擇C語言。 首先初始化系統(tǒng)設(shè)置:置總中斷允許位EA為1、設(shè)置定時(shí)器T0、

29、T1工作模式為模式1(16位定時(shí)計(jì)數(shù)器模式)并將單片機(jī)各端口拉高。之后開始運(yùn)行功能模塊。 圖3.1主程序流程本設(shè)計(jì)使用頻率為12MHz的晶振電路,計(jì)數(shù)器的每一次計(jì)數(shù)就是1s。當(dāng)main程序中掃描到表示接收回波成功的標(biāo)志位Echo發(fā)送的time(高電平持續(xù)時(shí)間),將超聲波往返所花費(fèi)的time(計(jì)數(shù)器T0中的time)帶入到公式(3)運(yùn)算,就能計(jì)算出車尾與障礙物之間的距離,編程中設(shè)溫度為室溫20時(shí)的聲速為340m/s,則有:d=(ct)/2=172T0/10000cm (3)公式中,T0為計(jì)數(shù)器T0的time。計(jì)算出距離后結(jié)果將會被發(fā)送給共陽數(shù)碼顯示模塊,同時(shí),結(jié)果也將發(fā)至語音預(yù)警模塊。之后重復(fù)發(fā)

30、送超聲波進(jìn)行測距任務(wù)。4.1.2 超聲波測距子程序超聲波測距子程序的任務(wù)是將Trig引腳發(fā)送啟動脈沖信號(脈沖寬度大概是為10s),同時(shí)掃描標(biāo)志位Echo。一旦Echo為高電平,開始計(jì)時(shí)。最終完成對距離的計(jì)算。圖3.2 超聲波測距子程序4.2系統(tǒng)源程序#include /調(diào)用單片機(jī)頭文件#include#define uchar unsigned char /無符號字符型 宏定義 變量范圍0255#define uint unsigned int /無符號整型 宏定義 變量范圍065535sbit rs=P27; /LCD數(shù)據(jù)命令選擇端sbit lcden=P25; /LCD使能端sbit w

31、r=P26; /LCD讀寫端sbit trig=P37; /觸發(fā)控制信號輸入sbit echo=P36; /回響信號輸出sbit out=P21; /距離超出報(bào)警uchar code table= distance:; /數(shù)組定義void delay(uint z) /1ms延時(shí)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com) /LCD寫命令子程序rs=0;wr=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date) /LCD寫

32、數(shù)據(jù)子程序rs=1;wr=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void main()uchar k,m;long temp; /距離TMOD=0x01; /設(shè)置定時(shí)器0為模式1TH0=0x00; /定時(shí)器清零TL0=0x00; /定時(shí)器清零ET0=1; /開定時(shí)器0中斷2EA=1; /開總中斷wr=0; lcden=0;out=0; /關(guān)閉報(bào)警write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);for(k=0;k13;k+)write_

33、date(tablek);delay(5);write_com(0x80+0x40+9); /LCD位置定位write_date(m); write_date(m); /距離單位mmwhile(1)TH0=0x00;TL0=0x00;trig=1; /觸發(fā)控制信號寫入1for(m=0;m20;m+) /延時(shí)等待20us_nop_();trig=0; /觸發(fā)控制信號寫入0while(!echo); /回響信號輸出為0TR0=1; /開啟定時(shí)器0while(echo); /等待回響信號TR0=0; /關(guān)閉定時(shí)器temp=TH0*256+TL0; /讀出定時(shí)器0的時(shí)間temp*=170; /距離 =

34、 速度 * 時(shí)間 將temp轉(zhuǎn)換成距離單位為mmtemp/=1000;if(temp=400) /距離小于40cm時(shí) 顯示當(dāng)前距離out=0;write_com(0x80+0x40+5);write_date(0x30+temp%1000/100);write_date(0x30+temp%100/10);write_date(0x30+temp%10);delay(1000);else /當(dāng)距離大于40cm時(shí)顯示000 并且開啟報(bào)警out=1;write_com(0x80+0x40+5);write_date(0x30+0);write_date(0x30+0);write_date(0x3

35、0+0);delay(1000);5、 系統(tǒng)仿真過程與結(jié)果5.1 Proteus仿真軟件Proteus軟件是由英國Lab Comenter Electronics 公司開發(fā)的EDA工具軟件,由ISIS和ARES兩個(gè)軟件構(gòu)成,其中ISIS是一款便攜的電子系統(tǒng)仿真平臺軟件,ARES是一款高級的布線編輯軟件。它集成了高級原理布線圖、混合模式SPICE電路仿真、PCB設(shè)計(jì)以及自動布線來實(shí)現(xiàn)一個(gè)完整的電子設(shè)計(jì)。通過Proteus ISIS軟件的VSM(虛擬仿真技術(shù)),用戶可以對模擬電路、數(shù)字電路、模數(shù)混合電路,以及基于微控制器的系統(tǒng)連同所有外圍接口電子元器件一起仿真。5.2 編譯過程仿真時(shí),在Keil

36、uVisions2軟件下打開,在此對話框下點(diǎn)擊Project項(xiàng)目,然后新建項(xiàng)目并命名超聲波測距,然后增加文件組測距源程序.C文件,接著設(shè)置目標(biāo)屬性使其生成HEX文件,隨后進(jìn)行編譯連接,即能獲得程序?yàn)?HEX的文件。最后將生成的.HEX文件導(dǎo)入電路后就可以進(jìn)行仿真。利用Proteus實(shí)現(xiàn)了對LCD1602顯示屏的仿真,說明程序和電路圖都沒有問題。仿真結(jié)束后,將程序放入電路中,即可顯示仿真結(jié)果。5.3 仿真效果圖初始狀態(tài)超量程狀態(tài)六、實(shí)物展示6.1 實(shí)物元件與過程成品如圖6.1,6.2所示。圖6.1 正面圖圖6.2 背面圖清單列表:元器件型號數(shù)量電阻1K1個(gè)電阻10K1個(gè)電解電容10V 10uF1個(gè)電解電容16V 47uF1個(gè)電解電容16V 0.1uF1個(gè)電解電容16V 470uF1個(gè)無極性電容30PF2個(gè)三極管90121個(gè)顯示SCM16021個(gè)芯片AT89C511個(gè)芯片MAX2321個(gè)芯片EM78P1531個(gè)芯片TL0741個(gè)排針3個(gè)蜂鳴器1個(gè)6.2實(shí)物運(yùn)行與調(dià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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論