專(zhuān)業(yè)綜合設(shè)計(jì)課程設(shè)計(jì)-單片機(jī)測(cè)距系統(tǒng)_第1頁(yè)
專(zhuān)業(yè)綜合設(shè)計(jì)課程設(shè)計(jì)-單片機(jī)測(cè)距系統(tǒng)_第2頁(yè)
專(zhuān)業(yè)綜合設(shè)計(jì)課程設(shè)計(jì)-單片機(jī)測(cè)距系統(tǒng)_第3頁(yè)
專(zhuān)業(yè)綜合設(shè)計(jì)課程設(shè)計(jì)-單片機(jī)測(cè)距系統(tǒng)_第4頁(yè)
專(zhuān)業(yè)綜合設(shè)計(jì)課程設(shè)計(jì)-單片機(jī)測(cè)距系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專(zhuān)業(yè)綜合設(shè)計(jì)題目:姓名:成班級(jí):學(xué)號(hào): 指導(dǎo)老師: 摘 要:超聲波由于其指向性強(qiáng)、能量消耗緩慢、傳播距離較遠(yuǎn) 等優(yōu)點(diǎn),而經(jīng)常用丁距離的測(cè)量,如測(cè)距儀和物位測(cè)量?jī)x等都可以通 過(guò)超聲波來(lái)實(shí)現(xiàn)本論文是基于at89c51單片機(jī)超聲波測(cè)距系統(tǒng)的設(shè) 計(jì),闡述了超聲測(cè)距系統(tǒng)的構(gòu)成和工作原理,給出了硬件電路框圖和 軟件編程的設(shè)計(jì)方法。主要是利用超聲波的特點(diǎn)和優(yōu)勢(shì),將超聲波測(cè) 距系統(tǒng)和at89c51單片機(jī)結(jié)合于一體。該系統(tǒng)采用軟、硬件結(jié)合的方法,具有模塊化和多用化的特點(diǎn)。關(guān)鍵詞:超聲波測(cè)距、單片機(jī)、at89c51.測(cè)距系統(tǒng)緒論21.1超聲波測(cè)距系統(tǒng)在國(guó)內(nèi)外的發(fā)展?fàn)顩r21.2本文的主要內(nèi)容2二. 系統(tǒng)的組成和工作

2、原理32.1超聲波測(cè)距系統(tǒng)設(shè)計(jì)思路32.2系統(tǒng)的工作原理3三. 硬件設(shè)計(jì)43. 1 at89c51 單片機(jī)43. 1. 1 at89c51的主要特性: 53. 1.2 at89c51 管腳說(shuō)明53.2時(shí)鐘電路的設(shè)計(jì)63.3復(fù)位電路的設(shè)計(jì)73.4發(fā)射電路的設(shè)計(jì)73.4. 1發(fā)射電路的結(jié)構(gòu)73. 4.2 反相器 74ls04735接收電路的設(shè)計(jì)83.6顯示電路的設(shè)計(jì)103. 6. 1顯示電路的結(jié)構(gòu)103.6.2 led 數(shù)碼管10四. 軟件設(shè)計(jì)114.1主程序114.2超聲波產(chǎn)生子程序114.3數(shù)據(jù)讀取和儲(chǔ)存124. 4延時(shí)子程序124. 5顯示子程序13五. 結(jié)論14六. 體會(huì)和展望14參考文獻(xiàn)

3、15附錄116附錄2 171.1超聲波測(cè)距系統(tǒng)在國(guó)內(nèi)外的發(fā)展?fàn)顩r一般認(rèn)為,冇關(guān)超聲波的研究最初起始于1876年f. gal ton的氣哨實(shí)驗(yàn),這 是人類(lèi)首次有效產(chǎn)生的高頻聲波。在z后的三十年中,超聲波仍然是一個(gè)鮮為人 知的東西,由丁當(dāng)時(shí)電子技術(shù)發(fā)展緩慢,對(duì)超聲波的研究造成了一定程度的影響。 在笫一次世界大戰(zhàn)中,法國(guó)人langevin使用一種晶體傳感器在水下發(fā)射和接收 相對(duì)低頻的超聲波。他提出的這種方法可以用來(lái)檢測(cè)水屮是否存在潛艇并進(jìn)行水 下通信。1929年,sokolov首先提出用超聲波探查金屬物內(nèi)部缺陷的建議。1931 年mulhauscr獲準(zhǔn)一項(xiàng)關(guān)于超聲檢測(cè)方法的德國(guó)專(zhuān)利。1934年sok

4、olov首次發(fā) 表了關(guān)于在液體槽子里用穿透法做實(shí)物試驗(yàn)的結(jié)果,其中一個(gè)簡(jiǎn)單的光學(xué)方法觀 察液體表面由超聲波形成的波紋。超聲波測(cè)距技術(shù)作為檢測(cè)技術(shù)的重要手段之一,在其發(fā)展過(guò)程屮起著重要的 作用。八十年代后期,由于計(jì)算機(jī)技術(shù)和高速器件的不斷發(fā)展,使超聲波信號(hào)的 數(shù)字化采集和分析成為可能。目前國(guó)內(nèi)也相繼出現(xiàn)了各種數(shù)字化超聲波測(cè)距設(shè) 備,并已成為超聲波檢測(cè)的發(fā)展方像。廈門(mén)大學(xué)的某位學(xué)者研究了一種回波輪廓 分析法。該方法在測(cè)距中通過(guò)兩次探測(cè)求取冋波包絡(luò)曲線來(lái)取得冋波的起點(diǎn),通 過(guò)這樣處理后超聲波傳播吋間的精度得到了很大的提高。另外,也有大量的文獻(xiàn) 研究采用了數(shù)字信號(hào)處理技術(shù)和小波變換理論來(lái)提高傳輸時(shí)間的

5、精度。這些處理 方法都取得了較好的效果。目前國(guó)內(nèi)外在超聲波檢測(cè)領(lǐng)域都向著數(shù)字化方向發(fā)展,數(shù)字化超聲波測(cè)距系 統(tǒng)的發(fā)展速度很快。國(guó)內(nèi)近兒年也相繼出現(xiàn)了很多數(shù)字式超聲波儀器和分析系 統(tǒng)。隨著測(cè)距技術(shù)研究的不斷深入,對(duì)超聲測(cè)距系統(tǒng)功能要求越來(lái)越高。1.2本文的主要內(nèi)容本論題是設(shè)計(jì)一個(gè)單片機(jī)測(cè)距系統(tǒng)。利用超聲波的反射特性,即遇到障礙后 超聲波能夠返冋原地,前后的連接環(huán)節(jié)是由一對(duì)超聲波傳感器來(lái)完成;用單片機(jī) at89c51的定時(shí)器來(lái)實(shí)現(xiàn)定時(shí)環(huán)節(jié),記錄超聲波發(fā)射到返冋的時(shí)間;用動(dòng)態(tài)掃描 法實(shí)現(xiàn)led數(shù)字顯示;本文對(duì)超聲波測(cè)距系統(tǒng)的碩件設(shè)計(jì),軟件設(shè)計(jì)逐步展開(kāi)分 析。1.系統(tǒng)的組成和工作原理2.1超聲波測(cè)距系

6、統(tǒng)設(shè)計(jì)思路超聲波測(cè)距系統(tǒng)包括了超聲波的發(fā)射與接收系統(tǒng),顯示系統(tǒng)。其結(jié)構(gòu)框圖如 圖2-1所示:圖2-1超聲波測(cè)距系統(tǒng)能夠在必要的時(shí)候通過(guò)單片機(jī)控制發(fā)射電路發(fā)射超聲波,超 聲波向前傳播。當(dāng)超蘆波遇到障礙物時(shí)會(huì)反射回來(lái),由接收電路接收。接收電路 會(huì)把信號(hào)傳送到單片機(jī)屮,由單片機(jī)進(jìn)行相關(guān)的數(shù)據(jù)處理。所得的結(jié)果通過(guò)led 數(shù)碼管顯示出來(lái)。在此過(guò)程中,如果發(fā)射裝置與障礙物之間有相對(duì)運(yùn)動(dòng),那么 led數(shù)碼管會(huì)不斷顯示兩者之間最新的距離。本系統(tǒng)的設(shè)計(jì)主要分為系統(tǒng)硬件電路的設(shè)計(jì)和系統(tǒng)軟件程序的設(shè)計(jì)兩部分。 系統(tǒng)硬件電路部分由單片機(jī)最小系統(tǒng)模塊、顯示模塊、時(shí)鐘模塊、復(fù)位模塊組成。 單片機(jī)為系統(tǒng)主控芯片,超聲波傳感

7、器作為測(cè)量器件,通過(guò)單片機(jī)進(jìn)行程序處理, 最后通過(guò)顯示模塊顯示出測(cè)量的距離。系統(tǒng)軟件程序部分采用模塊設(shè)計(jì)方法。整 個(gè)系統(tǒng)由主程序、系統(tǒng)初始化子程序、超聲波發(fā)射程序、超聲波結(jié)束程序、顯示 程序等模塊組成。2.2系統(tǒng)的工作原理超聲波發(fā)射器向某個(gè)方向發(fā)射超聲波,在發(fā)射的同時(shí)開(kāi)始計(jì)時(shí),超聲波向前 傳播,途中碰到障礙物就立即返回來(lái),超聲波接收器收到反射波就立即停止計(jì)吋。 假設(shè)超聲波在空氣中的傳播速度為v,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,發(fā)射點(diǎn)距障礙 物的距離h,如圖2-2所示:超聲波發(fā)射探頭障礙物圖2-2超聲波測(cè)距原理圖2-2中被測(cè)距離為h,兩探頭中心距離的一半用m表示,超聲波單程所走過(guò)的 距離用l表示,由圖屮

8、關(guān)系可得:ii二leos &&二arctan (m/h) 將式(2)代入到式(1)得:h二leosarctan(m/h) 在整個(gè)傳播過(guò)程中,超聲波所走過(guò)的距離為:(4)即位超聲波從發(fā)射到接收的時(shí)2l=vt上式屮,v為超聲波的傳播速度;t為傳播速度, 間。將式(4)代入到式(3)可得:h=0. 5vtcosarctan(m/h) 當(dāng)被測(cè)距離h遠(yuǎn)遠(yuǎn)大于m時(shí),于是式(5)變成:h=0. 5vt綜上所述,首先測(cè)出超聲波從發(fā)射到遇到障礙物返冋所經(jīng)歷的時(shí)間,再乘以超聲 波的速度就得到兩倍的聲源與障礙物之間的距離。三. 硬件設(shè)計(jì)3.1 at89c51 單片機(jī)at89c51是一種帶4k字節(jié)閃爍

9、可編程可擦除只讀存儲(chǔ)器(fperom-falsh programmable and erasable read only memory)的低電壓,高性能 cmos8 位微 處理器,俗稱(chēng)單片機(jī)。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與 工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存 儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。3.1.1 at89c51的主要特性:(1) 與mcs-51兼容(2) 4k字節(jié)可編程閃爍存儲(chǔ)器(3) 壽命:1000寫(xiě)/擦循環(huán)(4) 數(shù)據(jù)保留時(shí)間:10

10、年(5) 全靜態(tài)工作:oiiz24iiz(6) 三級(jí)程序存儲(chǔ)器鎖定(7) 128*8 位內(nèi)部 ram(8) 32可編程i/o線(9) 兩個(gè)16位定時(shí)器/計(jì)數(shù)器(10) 5個(gè)中斷源(11) 可編程串行通道(12) 低功耗的閑置和掉電模式(13) 片內(nèi)振蕩器和吋鐘電路p1.0po.op1.1p0.1p1.2p0.2p1.3p0.3p1.4p0.4p1.5p0.5p1.6p0.6p1.7p0.7p?.0(rxd)p2.7p31(txd)p2.6p3.2(int0)p2.5p3.3(int0)p2.4p3.4(t0)p2.3p3.5(t1)p2.2p3.6(wr)-p2.1p3.7(rd)p2.0xt

11、al2psenxtal1alegndvpp/earstvccu13140at89s512013., 圭29303.1.2 at89c51管腳說(shuō)明at89c51有40個(gè)引腳,采用雙列直插式封裝。如上圖所示:vcc:供電電壓。gnd:接地。xtal1:接外部晶體的一端,是反向放大器的輸入端和內(nèi)部時(shí)鐘發(fā)生器的輸入 端。xtal2:接外部晶體的另一端,是反向放大器的輸出端。rst:復(fù)位輸入。當(dāng)振蕩器運(yùn)行吋,在此引腳上出現(xiàn)兩個(gè)機(jī)器周期以上的高屯 平,將使單片機(jī)復(fù)位。ale/prog :當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),充當(dāng)?shù)刂锋i存使能輸出;在flasii編程 期間,用于輸入編程脈沖;平時(shí),ale端以不變的頻率周期輸出

12、止脈沖信號(hào),此 頻率為振蕩器頻率的1/6。psen:外部程序存儲(chǔ)器的讀選通信號(hào)。在外部程序存儲(chǔ)器取指令期間,每 一個(gè)機(jī)器周期兩次失效。每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出 現(xiàn)。ea /vpp:當(dāng)鬲保持高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,但在pc值超過(guò)一定值吋,自動(dòng)轉(zhuǎn)為訪問(wèn)外部存儲(chǔ)器;當(dāng)鬲保持低電平吋,只訪問(wèn)外部程序存儲(chǔ)器。p0 口: po 口是雙向8位i/o 口。在訪問(wèn)外部存儲(chǔ)器時(shí),可分時(shí)用作低8位 地址線和8位數(shù)據(jù)線。p0 口可驅(qū)動(dòng)8個(gè)lsttl輸入。p1 口: p1 口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o 口。在對(duì)eprom編程 和程序驗(yàn)證吋,接受低8位地址,能驅(qū)動(dòng)4個(gè)lsttl輸

13、入。p2 口: p2 口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o 口。在訪問(wèn)外部存儲(chǔ) 器時(shí),送出高8位地址;在對(duì)eprom編程和程序驗(yàn)證時(shí),接收高8位地址,能驅(qū) 動(dòng)4個(gè)lsttl輸入。p3 : p3 口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o 口??蓤?bào)動(dòng)4個(gè)lsttl 輸入。p3 口也可作為at89c51的一些特殊功能,如下表所示:口線第二功能名稱(chēng)p3. 0rxd串行數(shù)據(jù)接收端p3. 1txd串行數(shù)據(jù)發(fā)送端p3. 2into外部小斷0申請(qǐng)輸入端p3. 3int外部中斷1申請(qǐng)輸入端p3. 4to定時(shí)器0計(jì)數(shù)輸入端p3. 5t1定時(shí)器1計(jì)數(shù)輸入端p3.6wr外部ram寫(xiě)選通p3. 7rd外部ram讀選

14、通3.2時(shí)鐘電路的設(shè)計(jì)時(shí)鐘電路引腳是xi和x2,為了產(chǎn)生時(shí)鐘信號(hào),在at89c51內(nèi)部設(shè)置一個(gè)反 相放大器,xtal1是片內(nèi)振蕩器反相放大器的輸入端,xtal2是片內(nèi)振蕩器反相放大器的輸出端,也是內(nèi)部時(shí)鐘發(fā)生器的輸入端。當(dāng)使用自激振蕩方式吋,xtal1 和xtal2外接石英晶振,使內(nèi)部振蕩器按照石英晶振的頻率振蕩,就產(chǎn)生吋鐘信 號(hào)。本系統(tǒng)使用的石英晶振頻率為12mhzo產(chǎn)生時(shí)鐘信號(hào)電路如下圖所不:c2gndci | jxtal20p1.0po.op1.1p0.1p1.2p0.2 p1.3p0.3p1.4p0.4p1.5p0.5p1.6p0.6p1.7p0.7p3.0(rxd)p2.7p3.1(

15、txd)p2.6p3.2(int0)p2.5p3.3(int0)p2.4 p3.4(t0)p2.3 p3.5(t1)p2.2 p3.6(wr)p2.1 p3.7(rd)p2.0xtal2psenxtal1alegndvpp/earstvccu1at89c5128629303?403.3復(fù)位電路的設(shè)計(jì)u1復(fù)位功能的引腳是reset腳。在振蕩器運(yùn)行時(shí),冇兩個(gè)機(jī)器周期 (24個(gè)振蕩周期)以上的高電平岀 現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位, 只要這個(gè)腳保持高電平,51芯片將 循環(huán)復(fù)位。復(fù)位后p3 口均置1,引 腳為高電平,程序計(jì)數(shù)器全部清零o 當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí), 復(fù)位屯路停止工作。如右圖所示:0

16、1.234567 pppppppp01234567<60000.00.0 pppppppp3.4發(fā)射電路的設(shè)計(jì)3.4.1發(fā)射電路的結(jié)構(gòu)發(fā)射電路主要曲反向器 74ls04和超聲波發(fā)生器t構(gòu)成。 單片機(jī)p2. 5端口輸出的40khz 的方波信號(hào)一路經(jīng)一級(jí)反向器 后送到超聲波發(fā)生器的一個(gè)電 極。用這種推挽形式將方波信 號(hào)加到超聲波發(fā)生器兩端,可 以提高超聲波的發(fā)射強(qiáng)度。電 路設(shè)計(jì)如右圖所不:p1p1p1p1p1p1p1p1p3.0(rxd)p3.1(txd)p3.2(int0)p3.3(int0)p34t0)p3.5(t1)p3.6(wr)p3.7(rd)xtal2xtal1ondrstat8

17、9c513.4.2 反相器 74ls04at89c51p3 (xrxd)p27p3 l(txd)p2 6p3 2(int0)p25p3 3(int0)p2 4p3 4(t0)p23p3 xt1)p2 2p3 6( wr)p2.1p3 7(rd)p2.0xtal2psenxtal1aleondvpp/earstvcc293031401899f霊pb 丁101110kvccgnd01234567 popopopopopopopop2.7p2.6p2.5p2.4p2.3p2.2 p2.1p2.0psen ale vpp/ea vccu26 7ond1411 to 9" rvcct1a vc

18、c 1y 6a 2a 6y 2y 5a 3a 5y 3y 4a ond 4y74ls04反相器74ls04是6非門(mén),其工作電壓為5v,它的內(nèi)部有6個(gè)cmos反相器, 74ls04的作用就是反相把1變成oo引腳圖介紹如2l1j l1j 乜1 ld ld ldgnd3.5接收電路的設(shè)計(jì)接收電路的設(shè)計(jì)采用cx20106a,這是一款紅外線檢波接收的專(zhuān)用芯片???慮到紅外遙控常用的載波頻率38khz與測(cè)距超聲波頻率40khz較為接近,可以利 用它作為超聲波發(fā)射電路。cx20106a采用單列8腳直插式,超小型封裝。它的基本性能如下:(1) 電源電壓典型值5v,最大17v;(2) 電源電流1. iv2. 5

19、ma(典型值為1.8ma);(3) 輸出低電壓0. 2v;(4) 電壓增益7779db;(5) 輸入阻抗27kq;(6) 濾波器中心頻率f0為3060khz«其內(nèi)部結(jié)構(gòu)如下圖所示:紅外信號(hào)增益檢測(cè)端 地 帶通濾積分端 信號(hào)電源端輸入端 調(diào)節(jié)端波器調(diào)輸川端cx20106a引腳功能:引腳名稱(chēng)功能1in信號(hào)輸入端2clrc網(wǎng)絡(luò)連接端,該端與地串接一 rc網(wǎng)絡(luò),以確定 前置放人器的頻率特性和增益,r阻値人,c容量 小,增益低;反之則高但c不宜過(guò)大,否則瞬態(tài) 響應(yīng)速度會(huì)降低。3c2檢波電容連接端,該端與地接檢波電容,電容量 大,則為平均值檢波,瞬態(tài)響應(yīng)靈敏度低;電容 值小,則為峰值檢波,瞬態(tài)響

20、應(yīng)靈敏度高,但檢 波輸出的脈寬變動(dòng)大。4gnd接地端5fo帶通濾波器中心頻率設(shè)置端,通過(guò)該腳與電源正 端接一電阻r來(lái)確定fo,當(dāng)r二200千歐時(shí),屮心 頻率f0=40khz;當(dāng)r二220千歐時(shí),中心頻率 fo=38khzo6c3積分電容連接端,該腳所接積分電容標(biāo)準(zhǔn)值為 330pf,當(dāng)電容值增大時(shí),則外部濾波干擾增強(qiáng), 而且輸出脈沖的低電平持續(xù)時(shí)間增加。7out信號(hào)輸出端,該端口為集電極開(kāi)路輸出,當(dāng)該腳 與電源正端接一 22千歐的電阻時(shí),輸出脈沖低電 平的標(biāo)準(zhǔn)值約為0. 2vo8vdd電源正端,接+5vu3cx20106acm ms 9 l oovcc9cx20106a的基本原理:接收換能器把超

21、聲波冋波轉(zhuǎn)換成相應(yīng)頻率的數(shù)字編 碼脈沖調(diào)幅波,并由1腳浸入集成放大器的正相輸入端;2腳是放大器的反相輸 入端,外接rc負(fù)反饋網(wǎng)絡(luò)??梢詻Q定和調(diào)節(jié)放大器的頻率特性和電壓增益; 在放大器輸入端設(shè)置有ablc電路(口動(dòng)偏壓電路/ 口動(dòng)電平控制電路)可口動(dòng)調(diào) 整放大器的偏置電壓,使其 輸出電平穩(wěn)定。然后,信號(hào) 進(jìn)入限幅放大器,濾除雜亂 的寄生調(diào)幅和其他干擾,輸 出包絡(luò)脈沖頂部平直的編碼 脈沖調(diào)幅波。信號(hào)再進(jìn)入帶 通濾波器,濾除頻率范圍 3050khz以外的干擾信 號(hào)。5腳外接電阻,調(diào)其阻 值可調(diào)節(jié)帶通濾波器的中心 頻率值。信號(hào)再進(jìn)入峰值檢 波器,對(duì)編碼脈沖的調(diào)幅波 進(jìn)行振幅檢波,解調(diào)出數(shù)字 編碼脈沖信

22、號(hào)。3腳外接積分電容,是峰值檢波器的濾波電容,檢波出的信號(hào)送到整形電路中進(jìn)行波形轉(zhuǎn)換 與整形,最后由7腳輸出數(shù)字編碼脈沖信號(hào),送到cpu識(shí)別處理。6腳外接積分 電容,濾除已調(diào)波的載波頻率分量。整形電路是一種波形變換電路,可將檢波器 輸出的寬度編碼脈沖整形變換成cpu所能識(shí)別的數(shù)字信號(hào)。實(shí)用的整形電路是積 分電路和施密特比較器組成的電路。接收電路如上圖所示。3.6顯示電路的設(shè)計(jì)3.6.1顯示電路的結(jié)構(gòu)顯示模塊的設(shè)計(jì)可采用12mhz高精度的品振,以獲得較穩(wěn)定的時(shí)鐘的頻率, 減少測(cè)量誤差。單片機(jī)用p1.0端口輸出超聲波所需的40khz方波信號(hào),利用外 屮斷0 口檢測(cè)超聲波接收電路輸出的返冋信號(hào)。顯示

23、電路采用簡(jiǎn)單實(shí)用的共陽(yáng) led數(shù)碼管,位碼用pnp三極管驅(qū)動(dòng)。顯示電路原理圖如下圖所示:pin pl ip12p13pl 4pl 5pl 6 pl 7p3xxrxd) p3.1(txd) p32(fnt0) p3 3(int0) p3 4(t0) p3_5(t1) p3&wr) p3 7(rd)xtal2 xtal1 gnd rstpsenalevpp/eavcc3 4 5 6 7 76543210 rororororop2p2p2p2p2p2p2p2poo p01po.2at89csl29303t4073.6.2 led數(shù)碼管led數(shù)碼管是由七個(gè)發(fā)光管組成8字形構(gòu)成 的,加上小數(shù)點(diǎn)即

24、8位,這些段分別由字母 a, b, c, d, e, f, g, dp來(lái)表示,結(jié)構(gòu)圖如右圖所示。當(dāng) 數(shù)碼管特定的段加上電壓后,這些特定的段就會(huì)發(fā) 亮,興形成我們看到的字樣。小尺寸的數(shù)碼管的顯 示筆畫(huà)常由一個(gè)發(fā)光二極管組成,大尺寸的數(shù)碼管 由兩個(gè)或者多個(gè)發(fā)光二極管組成。發(fā)光二極管的陽(yáng) 極連接到一起連接到電源止極的稱(chēng)為共陽(yáng)數(shù)碼管, 發(fā)光二極管的陰極連接到一起連接到電源負(fù)極的 稱(chēng)為共陰數(shù)碼管。3. 8bcdefcdp0 (> i> (3 s cj o10 9 7 5 4 2 i 64.2超聲波產(chǎn)生子程序四. 軟件設(shè)計(jì)超聲波測(cè)距軟件設(shè)計(jì)主要由主程序、超聲波發(fā)射子程序、超聲波接收小斷程 序和

25、顯示子程序組成。c語(yǔ)言程序有利于實(shí)現(xiàn)復(fù)雜的算法,匯編語(yǔ)言程序具有較 高的效率并且容易精確地計(jì)算出程序運(yùn)行的時(shí)間,綜合這兩點(diǎn),控制程序采用c 語(yǔ)言和匯編語(yǔ)言混合編寫(xiě)。4.1主程序主程序首先要對(duì)系統(tǒng)環(huán)境初始化, 設(shè)置定時(shí)器to工作模式為16位的定時(shí) 計(jì)數(shù)器模式,置位總中斷允許位ea,并 給顯示端口 p0和p2清0。然后調(diào)出超聲 波發(fā)岀子程序送岀一個(gè)超聲波脈沖。由 于采用12mhz的晶振,機(jī)器周期為lus, 當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位時(shí), 將計(jì)數(shù)器t0中的數(shù)(超聲波來(lái)冋所用的 時(shí)間)按下式計(jì)算即可測(cè)得被測(cè)物體和 測(cè)距儀的距離,設(shè)計(jì)屮取20°c時(shí)的聲速 為344m/s,則有:d= (c*

26、to) /2= 172t0/10000cm (to 是計(jì)數(shù) 器to的計(jì)數(shù)值)。測(cè)得距離后結(jié)果以十 進(jìn)制bcd碼方式送往led顯示,然后再 發(fā)超聲波脈沖重復(fù)測(cè)量過(guò)程。主程序見(jiàn) 附錄2,流程圖如右所示:main11_1: ajmp main5;返回調(diào)節(jié)ma1n12: setb tro;重新開(kāi)啟測(cè)距定時(shí)器mov r2,#64h; 測(cè)量間隔控制loop: lcall display ;顯示當(dāng)前測(cè)得的數(shù)值叮nz r2, loop ;顯示一定時(shí)間ajmp main2 ;顯示完成后返回測(cè)距主程序dst1: cpl vout;定時(shí)中斷1中斷程序,發(fā)出聲波叮nz r4, retioutclr tri;超聲波發(fā)送

27、完畢,關(guān)t1clr et1;關(guān)定時(shí)中斷1mov th1, #0f6h;0. is 的定吋值前方測(cè)距電路的輸入端接單片機(jī)p32端口,單片機(jī)執(zhí)行上面的程序后,在 p3. 2端口輸出一個(gè)40khz的脈沖信號(hào),經(jīng)過(guò)三極管t放大,發(fā)出40khz的脈沖 超聲波。4.3數(shù)據(jù)讀取和儲(chǔ)存為了得到發(fā)射信號(hào)和接收回波間的時(shí)間差,要讀岀t0計(jì)數(shù)器的計(jì)數(shù)值,然 后存儲(chǔ)在ram中,而且每次發(fā)射周期的開(kāi)始,需要對(duì)計(jì)數(shù)器清零。recetveo: push pswpush accclr exo ;關(guān)外部中斷0mov r7, tho;讀取時(shí)間值mov r6, tloclr cmov a , r6subb , #obbh ;計(jì)算時(shí)

28、間差mov 31h,a ;存儲(chǔ)結(jié)果mov a, r7subb a,#3chmov 3011, asetb exo ;開(kāi)外部中斷0pop pswreti4.4延時(shí)子程序延吋子程序的作用是在超聲波發(fā)射的同吋延遲-些吋間再打開(kāi)屮斷。為了防 止在超聲波發(fā)射時(shí)接收器就收到反射波。這樣會(huì)造成嚴(yán)重的誤差。本次設(shè)計(jì)中用 了一個(gè)ims的延遲了程序,程序如門(mén)void delay 1ms (void)uchar i, j;for(i=0; i<2; i+)for (j=0; j<255; j+);4.5顯示子程序顯示程序分為初始化、讀忙、寫(xiě)指令和寫(xiě)數(shù)據(jù)操作,執(zhí)行每條指令之前必須 確定模塊忙為低電平,否則

29、此指令無(wú)效。顯示程序如下:顯示函數(shù):void display (void) uchar a, b, d; lnit_lcd();wri le_comm(0x01);write_comm(ox80);for (a=0; a<16; a+) d二dispbufa;if(a>ll)&&(a<14)d=numcodcnuma;if (14=a)d=0xdf;writedata(d); wri te_comm(oxco);for (b=16; b<33; b+) d二dispbufb;d二numcodenumb;write data(d); void readbu

30、sy(void)dolcd_data=oxff ;rs=o;rw=1;e=0; delay ();e=l;while(busy);寫(xiě)入指令函數(shù):void write_comm(uchar lcdcomm)"lcd_data=lcdcomm ;rs二 0;rw=0;e二 0;read_busy ();e=l;寫(xiě)入數(shù)據(jù)函數(shù):voidwrit e_da ta( ucharlcddata)led data=lcddata;rs=1;rw=0;e=0;read_busy ();e=l;led的初始化: void lnit_led(void) " delay ();writecomm(

31、oxol);write comm(0x02);wr i tccomm(0x38);wr i te_comm(0x06); write comin(oxoc);write comm(0x18);五. 結(jié)論本文所設(shè)計(jì)的超聲波測(cè)距系統(tǒng)是用單片機(jī)實(shí)現(xiàn)控制系統(tǒng),以at89c51為主控 芯片,利用時(shí)鐘芯片,存儲(chǔ)芯片,液晶模塊等硬件設(shè)備完成系統(tǒng)功能,整個(gè)系統(tǒng) 軟硬件設(shè)計(jì)結(jié)構(gòu)很緊湊,軟硬件資源得到充分利用,保證了系統(tǒng)的性?xún)r(jià)比。由于 超聲波的速度受溫度的影響,所以在測(cè)量過(guò)程中精度不高,只能應(yīng)用于精度要求 較小的場(chǎng)合,因此具有一定的局限性。但是整體來(lái)看,超聲波檢測(cè)迅速、方便、 計(jì)算簡(jiǎn)易、易于做到實(shí)時(shí)控制,這些優(yōu)勢(shì)

32、決定了其在測(cè)控領(lǐng)域會(huì)得到廣泛應(yīng)用。六. 體會(huì)和展望通過(guò)本次設(shè)計(jì),我重溫了模擬電路、數(shù)字電路、電子設(shè)計(jì)、單片機(jī)、protel 等方面的知識(shí),達(dá)到了溫故而知新的效果,受益匪淺。首先,我更深刻地掌握了 單片機(jī)的基本理論知識(shí)和單片機(jī)在實(shí)際電路中的開(kāi)發(fā)和應(yīng)用,這些為以后從事單 片機(jī)軟硬件產(chǎn)品的設(shè)計(jì)開(kāi)發(fā)打卜了良好的基礎(chǔ),培養(yǎng)了從事產(chǎn)品研發(fā)的信心。其 次,提高了我解決實(shí)際問(wèn)題的能力,在設(shè)計(jì)過(guò)程屮,我遇到了很多困難,我選擇 不逃避不退縮不放棄,不斷查資料,不斷研究,最后很出色地解決問(wèn)題,這使我 的意志力增強(qiáng)。我相信我在木次學(xué)習(xí)屮的收獲是我人生道路屮的一筆財(cái)富。參考文獻(xiàn)1 梅麗風(fēng)、王艷秋,單片機(jī)原理及接口技術(shù),

33、清華大學(xué)出版社,2007. 22 李麗霞,單片機(jī)在超聲波測(cè)距中的應(yīng)用,電了技術(shù)出版社,2002, (6)3 江思敏,alttum designer原理圖與pcb設(shè)計(jì)教程m,機(jī)械工業(yè)出版社, 2009. 84 戴曰章,基于at89c51單片機(jī)的超聲波測(cè)距系統(tǒng),電氣吋代,2005. (7)5 瞿金輝,周蓉生,超聲波測(cè)距系統(tǒng)的設(shè)計(jì)平m,中國(guó)儀器儀表,2007. 8ledul附錄1總電路:u5cx2eio<aj)7did3/di/j15/dt/5z/nrfnuk pj生一為 ?bo1ji2tlpu酗hlw1plifd2p13ki3p14w4p1jr)jpmw.<pl.7w.7 kxd)p2

34、.7el(ixd)皿w2(dii0)mjw3(ih!0)p24e4(!0)p13me.f(w)ml敢mjoxial2psenxiaualegnd 4wfeku!聯(lián)=t=fcj=?=£i±±±zij7qtj附錄2總程序:tj1equ6011;tj2equ61h;tj3equ62h;tj4equ63h;tj5equ64h;alequ6511;a2equ66h;a3equ67h;a4equ68h;voutequp2. 4;bellequpl. 1;orgooooh;ajmpstartorg0003h;ajmpintoorgooobii;ajmpdstoorg0

35、01bh;ajmpdst1org002bh;ret1setb ea;clr tj1;jb p3.4, zy2;acall delay10;jb p3.4, zy2;ajmp zy1zy2: ajmp main12;zy1: clr bell;acall delay125setb bellacall delayismain3: mov a,tj4;cjne a,#0, ma1n3_1acall display2;ajmp main3_2main3_1: lcall display1;main3 2: jb p3. 5, main4;acall delay10jb p3.5, main4;clr

36、bell;acall delay125setb bellclr tj4;mov a, tj4mov tmod, #21h;cjne a, #0, main3_3mov tho, #00h;mov tj4, #1;mov tlo, #0011;ajmp main4mov th1, #0f6h;main3 3: mov tj4, #00hmov tl1, #0f6h;ma1n4: jb p3.4,ma1n3;mov r4, #04h;acall delay10setb et1;jb p3.4, main3setb eto;clr bell;setb pxo;acall delay125ma1n1:

37、setb tro;setb bellmain2:lcall display;acall delay125jnbtj1, matn2;clr bell;clrea;jnb p3.4, $;start: setb ea;setb bell;setbbellmov tj5, #0;1nca3ajmp main5mova, a3main5: mov a, tj5cjnea, #10, main10cjne a,#0, matn5_1;mova3,#0acall display3;ajmpmain10ajmp main6;ma1n9:jb p3.5,main10;main5_1: cjne a,#l,

38、main5_2acalldelay10acall display4;jb p3.5, main10ajmp matn7clrbellmain5_2: cjne a,#2, main5_3acall,delay125acall d1splay5;setbbellajmp main8inca4main5_3: cjne a,#3, main5_4movro, #17;acall dtsplay7;lcall,mul2by2ajmp main9movr3, #03hma1n5_4: a川p ma1n5movr2, #0e8hmain6: jb p3.5, main10;lcalldiv4by2acall delay10lcalldiv4by2jb p3. 5, matn10mov40h, r4clr bellmova, 4011acall delay125jnzjjosetb bellajmpjjoincai;mov40h,#oah;mov a, aljjo: mov a, rocjne a, #10, main10;movr4, amo

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論