版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄1. 引言12. 方案論證與比較22.1 超聲波測(cè)距的原理22.1.1 超聲波的基本理論22.1.2 超聲波測(cè)距系統(tǒng)原理22.2 超聲波發(fā)射電路42.3 超聲波接收電路52.4 溫度采集電路83. 硬件系統(tǒng)的設(shè)計(jì)93.1 系統(tǒng)整體框圖93.2 系統(tǒng)整體電路103.2.1 單片機(jī)電路113.2.2 復(fù)位電路113.2.3 時(shí)鐘電路123.2.4 按鍵電路123.2.5 蜂鳴器電路123.3 超聲波發(fā)送電路133.4 超聲波接收電路133.5 溫度采集ds18b20電路153.5.1 ds18b20簡介153.5.2 ds18b20使用163.6 lcd顯示電路163.6.1 1602液晶模塊
2、簡介163.6.2 1602液晶模塊初始化及設(shè)置184. 軟件系統(tǒng)的設(shè)計(jì)184.1 系統(tǒng)主程序模塊設(shè)計(jì)184.1.1 程序原理184.1.2 軟件流程圖194.1.3 程序代碼204.2 系統(tǒng)其他程序模塊設(shè)計(jì)224.2.1 超聲波發(fā)送程序224.2.2 超聲波的接收和處理234.2.3 距離計(jì)算程序244.2.4 ds18b20溫度采集程序244.2.5 數(shù)據(jù)轉(zhuǎn)換程序284.2.6 lcd顯示程序295. 系統(tǒng)仿真326. 心得體會(huì)33參考文獻(xiàn)34數(shù)據(jù)采集與數(shù)顯的智能系統(tǒng)設(shè)計(jì) 摘要:基于傳統(tǒng)的方法在很多特殊場合:如帶腐蝕的液體,強(qiáng)電磁干擾,有毒等惡劣條件下,測(cè)量距離存在不可克服的缺陷,設(shè)計(jì)超聲
3、波測(cè)距能很好的解決此類的問題。本論文先介紹單片機(jī)超聲波測(cè)距系統(tǒng)的原理,重點(diǎn)設(shè)計(jì)測(cè)量距離的超聲波的發(fā)生電路與接收電路系統(tǒng)和基于ds18b20溫度采集電路系統(tǒng),再將采集結(jié)果顯示在lcd顯示屏上,最后對(duì)系統(tǒng)進(jìn)行誤差分析。 關(guān)鍵詞:單片機(jī);超聲波測(cè)距;ds18b20溫度;lcd顯示;軟件設(shè)計(jì);誤差分析1. 引言在現(xiàn)代化的工業(yè)生產(chǎn)及日常生活中人們經(jīng)常需要用到一些數(shù)據(jù),如:距離、溫度、濕度等等。傳統(tǒng)的數(shù)據(jù)采集工具雖然也能得到這些數(shù)據(jù)但存在誤差比較大,導(dǎo)致工作質(zhì)量不高。采用單片機(jī)來采集數(shù)據(jù)系統(tǒng)能夠解決誤差大問題,提高采集數(shù)據(jù)的精確度,提高工作質(zhì)量。而且基于傳統(tǒng)的方法在很多特殊場合:如帶腐蝕的液體,強(qiáng)電磁干擾
4、,有毒等惡劣條件下,人不能直接進(jìn)行數(shù)據(jù)采集,導(dǎo)致采集數(shù)據(jù)存在不可克服的缺陷。利用mcs-51單片機(jī)數(shù)據(jù)采集系統(tǒng)能夠代替人在這些危險(xiǎn)的環(huán)境下進(jìn)行數(shù)據(jù)的采集工作。數(shù)據(jù)采集器的市場需求量大,以數(shù)據(jù)采集器為核心構(gòu)成的小系統(tǒng)應(yīng)用廣泛,因此開發(fā)高性能的數(shù)據(jù)采集器具有良好的市場前景。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集系統(tǒng)在多個(gè)領(lǐng)域有著廣泛的應(yīng)用。如攝像頭,麥克風(fēng),電子溫度計(jì),數(shù)顯電子稱,電子血壓表都是我們?nèi)粘I钪薪?jīng)常用到的數(shù)據(jù)采集工具。數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán),在醫(yī)藥、化工、食品、等領(lǐng)域的生產(chǎn)過程中,往往需要隨時(shí)檢測(cè)各生產(chǎn)環(huán)節(jié)的溫度、濕度、流量及壓力等參數(shù)。將其在某一時(shí)間段內(nèi)檢測(cè)得
5、到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來,以便進(jìn)行比較,做出決策,調(diào)整控制方案,提高產(chǎn)品的合格率,產(chǎn)生良好的經(jīng)濟(jì)效益。數(shù)據(jù)采集系統(tǒng)具有廣闊的市場前景,在工業(yè)生產(chǎn)和日常生活中已越來越必不可小。數(shù)據(jù)采集與數(shù)顯系統(tǒng)在社會(huì)生活中應(yīng)用廣泛。在各個(gè)領(lǐng)域中都有它的身影。它們具有測(cè)量精確、操作簡單、工作穩(wěn)定可靠等特點(diǎn)。它們代替了傳統(tǒng)的數(shù)據(jù)采集工具,成為人們工作生活中的主要工具。2. 方案論證與比較數(shù)據(jù)采集與數(shù)顯系統(tǒng)是以單片機(jī)為核心,輔助一定的外用設(shè)備就能夠用于采集到許多數(shù)據(jù),但本文重點(diǎn)介紹距離和溫度的數(shù)據(jù)的采集。主要使用超聲波測(cè)距的方法來采集距離數(shù)據(jù),在硬件上增加了溫度傳感器測(cè)溫電路,采取聲速預(yù)置和媒質(zhì)溫度測(cè)量相結(jié)合的辦法對(duì)
6、聲速進(jìn)行修正,降低了溫度變化對(duì)測(cè)距精度的影響,有利于提高超聲波測(cè)距系統(tǒng)的測(cè)量精度。重點(diǎn)設(shè)計(jì)測(cè)量距離的超聲波的發(fā)生電路與接收電路系統(tǒng)和溫度采集電路系統(tǒng),再將采集結(jié)果顯示在lcd顯示屏上,最后對(duì)系統(tǒng)進(jìn)行誤差分析。2.1 超聲波測(cè)距的原理2.1.1 超聲波的基本理論超聲波是一門以物理、電子、機(jī)械、以及材料科學(xué)為基礎(chǔ)的、各行各業(yè)都要使用的通用技術(shù)之一。該技術(shù)在國民經(jīng)濟(jì)中,對(duì)提高產(chǎn)品質(zhì)量,保障生產(chǎn)安全和設(shè)備安全運(yùn)作,降低生產(chǎn)成本,提高生產(chǎn)效率特別具有潛在能力。因此,我國對(duì)超聲波的研究特別活躍。超聲技術(shù)是通過超聲波的產(chǎn)生、傳播以及接收的物理過程完成的。超聲波具有聚束、定向及反射、投射等特性。按超聲波振動(dòng)輻
7、射大小不同大致可以分為:用超聲波使物體或物性變化的功率應(yīng)用,稱之為功率超聲;用超聲波獲取信息,稱為檢測(cè)超聲1。超聲波是聽覺閾值之外的振動(dòng),其頻率范圍在1041012hz,其中通常的頻率大約在1043106之間。超聲波在超聲場(被超聲波充滿的范圍)傳播時(shí),如果超聲波的波長與超聲場相比,超聲場很大,超聲波就像處在一種無限的介質(zhì)中,超聲波自由地向外擴(kuò)散;反之,如果超聲波的波長與相鄰介質(zhì)的尺寸相近,則超聲波受到界面限制不能自由的向外擴(kuò)散。2.1.2 超聲波測(cè)距系統(tǒng)原理在超聲探測(cè)電路中,發(fā)射端得到輸出脈沖為一系列方波,其寬度為發(fā)射超聲的時(shí)間間隔,被測(cè)物距離越大,脈沖寬度越大,輸出脈沖個(gè)數(shù)與被測(cè)距離成正比
8、2。超聲測(cè)距大致有以下方法:(1)取輸出脈沖的平均值電壓,該電壓 (其幅值基本固定 )與距離成正比,測(cè)量電壓即可測(cè)得距離;(2)測(cè)量輸出脈沖的寬度,即發(fā)射超聲波與接收超聲波的時(shí)間間隔 t,故被測(cè)距離為 s=12vt。本測(cè)量電路采用第二種方案。由于超聲波的聲速與溫度有關(guān),如果溫度變化不大,則可認(rèn)為聲速基本不變 。如果測(cè)距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U?。超聲波測(cè)距適用于高精度的中長距離測(cè)量。因?yàn)槌暡ㄔ跇?biāo)準(zhǔn)空氣中的傳播速度為331.45米/秒,由單片機(jī)負(fù)責(zé)計(jì)時(shí),單片機(jī)使用12.0m晶振,所以此系統(tǒng)的測(cè)量精度理論上可以達(dá)到毫米級(jí)。超聲波測(cè)距的算法設(shè)計(jì): 超聲波在空氣中傳播速度為每秒鐘3
9、40米(15時(shí))。x2是聲波返回的時(shí)刻,x1是聲波發(fā)聲的時(shí)刻,x2-x1得出的是一個(gè)時(shí)間差的絕對(duì)值,假定x2-x1=0.03s,則有340m0.03s=10.2m。由于在這10.2m的時(shí)間里,超聲波發(fā)出到遇到返射物返回的距離如下: 圖 2-1 測(cè)距原理2.2 超聲波發(fā)射電路(1) 分立元件構(gòu)成的發(fā)射電路圖 2-2 分立元件構(gòu)成的超聲波發(fā)射電路圖2-2是由兩只普通低頻小功率三極管c9013構(gòu)成的振蕩、驅(qū)動(dòng)電路,三極管q1、q2構(gòu)成兩級(jí)放大器,但是由于超聲波發(fā)射頭的正反饋?zhàn)饔?,這個(gè)原本是放大器的電路變成了振蕩器。超聲波發(fā)射器的壓電晶片可等效于一個(gè)串聯(lián)lc諧振電路,具有選頻作用,因此該振蕩器只能振蕩
10、在超聲波發(fā)射頭的固有諧振頻率f0。第二個(gè)圖中用電感l(wèi)替代r3這樣可以增大激勵(lì)電壓,使其具有較大的功率輸出3。(2) 由集成電路構(gòu)成的發(fā)射電路圖2-3 555構(gòu)成的超聲波發(fā)射電路圖2-3為由555集成芯片構(gòu)成的振蕩、調(diào)制、激勵(lì)電路。該電路應(yīng)使用雙極型555(內(nèi)部電路由普通三極管構(gòu)成),不宜使用單極型7555(內(nèi)部電路由cmos電路構(gòu)成,外部引腳與555相同),其原因是7555帶負(fù)載能力小。由555集成芯片構(gòu)成多諧振蕩器,該電路的震蕩周期為t=0.695(r19+2r22)c11,通過調(diào)節(jié)r22的阻值可以改變發(fā)射頻率4。(3) 由非門構(gòu)成的超聲波發(fā)射電路圖2-4 由非門構(gòu)成的超聲波發(fā)射電路圖2-4
11、是由非門構(gòu)成的一個(gè)振蕩器發(fā)送電路,用非門構(gòu)成的電路簡單,調(diào)試容易。很容易通過軟件控制。圖中把兩個(gè)非門的輸出接到一起的目的是為了提高其吸入電流,電路驅(qū)動(dòng)能力提高。(4)超聲波發(fā)射電路選擇結(jié)論 以上為常用的發(fā)射電路,分立元件構(gòu)成的發(fā)射電路容易受到外界的干擾,體積、功耗也比較大。而集成電路構(gòu)成的發(fā)射電路具有調(diào)試簡單,可靠性好,抗干擾能力強(qiáng),體積小,功耗低的優(yōu)點(diǎn),所以首先考慮采用集成電路來組成收發(fā)電路。 在由集成電路構(gòu)成的收發(fā)電路中,發(fā)射電路我們選用由非門構(gòu)成,主要是考慮到系統(tǒng)的調(diào)試簡單、成本低、可靠性好。2.3 超聲波接收電路(1) 由分立元件構(gòu)成的接收電路圖 2-5 為由三極管t1, t2和若干電
12、阻電容組成的兩級(jí)阻容耦合交流放大電路。第一級(jí)中rl為集電極負(fù)載電阻;r2為偏流電阻,同時(shí)引入了交直流并聯(lián)電壓負(fù)反饋,可以較有效的穩(wěn)定靜態(tài)工作點(diǎn),改善非線性失真以及增益的穩(wěn)定性;r4 是發(fā)射極負(fù)反饋電阻,引入直、交流串聯(lián)電流負(fù)反饋,具有穩(wěn)定工作點(diǎn)、增益、改善失真、提高輸入阻抗等作用。 圖 2-5 分立元件構(gòu)成的超聲波接收電路(2) 由運(yùn)算放大器構(gòu)成的接收電路 圖2-6是由運(yùn)放構(gòu)成的超聲波放大電路,該電路的形式在其他應(yīng)用中經(jīng)常遇到,特點(diǎn)如下: 1)一般用運(yùn)放組成的放大電路都要求對(duì)稱的正負(fù)電源供電,這里以單電源供電,輸出端的靜態(tài)電位必須設(shè)置在1/2的電源電壓,這由同相輸入端的點(diǎn)的電位來確定,r15和
13、r17分壓取得1/2的電源電壓加到運(yùn)放的同相輸入端,使其電位1/2電源電壓。 2)采用同相端輸入方式其輸入阻抗高,超聲波接收傳感器的輸出信號(hào)接到放大器的同相端,有利于超聲波傳感器充分發(fā)揮接收靈敏度和自生的選頻作用。 3)反相端對(duì)地不提供直流通路,因此通過隔直電容c8提供直流通路。 圖 2-6 運(yùn)放構(gòu)成的超聲波接收電路(3) lm1812收發(fā)集成電路構(gòu)成 lm1812是一種專用于超聲波接收和發(fā)送的集成電路,它即可做發(fā)送電路,又可以做接收電路使用。如下圖2-7所示: 圖 2-7 由lm1812構(gòu)成的接收電路(4) cx20106構(gòu)成的接收電路圖 2-8 cx20106構(gòu)成的接收電路圖2-8是cx2
14、0106構(gòu)成的接收電路,內(nèi)部電路由前置放大器、自動(dòng)偏置電平控制電路、限幅放大器、帶通濾波器、峰值檢波器和整形輸出電路組成。接收的回波信號(hào)先經(jīng)過前置放大器和限幅放大器,將信號(hào)調(diào)整到合適的幅值;再經(jīng)過帶通濾波器濾波得到有用信號(hào),濾除干擾信號(hào);最后由峰值檢波器和整形電路輸出到鎖相環(huán)路,實(shí)現(xiàn)準(zhǔn)確的計(jì)時(shí)5。1腳是接收信號(hào)輸入端。2腳是調(diào)節(jié)接收信號(hào)靈敏度,電阻越小,靈敏度越高。電容越大,靈敏度越高。電容一般取1f,電阻50300 的,在干擾較大的場合增加電阻阻值可將靈敏度調(diào)低,干擾小的場合減小阻值將靈敏度調(diào)高。5腳主要用來調(diào)節(jié)中心頻率,這里取200 k,7腳接上拉電阻,這里取1 k左右。u4為超聲波接收頭
15、,當(dāng)收到超聲波時(shí)產(chǎn)生一個(gè)下降沿,接到單片機(jī)的外部中斷int0上。當(dāng)超聲波接收頭接收到40khz 方波信號(hào)時(shí),將會(huì)將此信號(hào)通過cx20106a 驅(qū)動(dòng)放大送入單片機(jī)的外部中斷0 口。單片機(jī)在得到外部中斷0 的中斷請(qǐng)求后,會(huì)轉(zhuǎn)入外部中斷0 的中斷服務(wù)程序進(jìn)行處理。(5)超聲波接收電路選擇結(jié)論以上為常用的接收電路。集成電路cx20106a是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38khz與測(cè)距的超聲波頻率40khz較為接近,可以利用它制作超聲波檢測(cè)接收電路。實(shí)驗(yàn)證明,用cx20106a接收超聲波(無信號(hào)時(shí)輸出高電平)具有很高的靈敏度和抗干擾能力。適當(dāng)?shù)母?/p>
16、改電容c4的大小,可以改變接收電路的靈敏度和抗干擾能力。2.4 溫度采集電路 本系統(tǒng)中的溫度采集電路具有采集溫度并且對(duì)測(cè)距進(jìn)行補(bǔ)償?shù)淖饔?,選用ds18b20溫度傳感器作為溫度檢測(cè)元件能使該系統(tǒng)采集的數(shù)據(jù)更加準(zhǔn)確。 溫度傳感器ds18b20溫度范圍為-55125,最大分辨率在0.0625。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式??梢苑謩e在 93.75 ms和 750 ms內(nèi)完成9位和12位的數(shù)字量,并且從ds18b20讀出的信息或?qū)懭雂s18b20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所
17、掛接的ds18b20供電,而無需額外電源。因而使用ds18b20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較ds1820有了很大的改進(jìn),給用戶帶來了更方便的使用和更令人滿意的效果。其主要特點(diǎn)如下:(1)獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;(2)多個(gè)ds18b20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;(3)無須外部器件;(4)可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;(5)零待機(jī)功耗;(6)溫度以或位數(shù)字;(7)用戶可定義報(bào)警設(shè)置;(8)報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件;(9)電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不
18、能正常工作;3. 硬件系統(tǒng)的設(shè)計(jì)3.1 系統(tǒng)整體框圖數(shù)據(jù)采集與數(shù)顯系統(tǒng)是以單片機(jī)為核心,輔助一定的外用設(shè)備就能夠用于采集到許多數(shù)據(jù),如:攝像頭、麥克風(fēng)、電子溫度計(jì)、數(shù)顯電子稱、電子血壓表都是我們?nèi)粘I钪薪?jīng)常用到以單片機(jī)為核心的數(shù)據(jù)采集與數(shù)顯系統(tǒng)。但本文重點(diǎn)介紹距離和溫度的數(shù)據(jù)的采集,并將結(jié)果顯示在lcd上。本系統(tǒng)主要由以at89s52為核心、超聲波的發(fā)生電路和接收電路、ds18b20溫度采集電路、顯示電路等組成。首先,由溫度采集電路采集溫度在顯示電路上顯示出來,并且將采集到的溫度數(shù)送入單片機(jī)計(jì)算當(dāng)前溫度下的聲速確定后,然后通過超聲波的發(fā)生電路和接收電路測(cè)得超聲波往返的時(shí)間來測(cè)出距離并顯示。a
19、t89s52單片機(jī)控制器超聲波發(fā)射電路超聲波接收電路lcd顯示電路溫度檢測(cè)電路圖 3-1 數(shù)據(jù)采集與數(shù)顯系統(tǒng)整體框圖3.2 系統(tǒng)整體電路 圖 3-2 系統(tǒng)原理電路圖 圖3-2是系統(tǒng)原理電路圖。本次我們采用了atmel 公司的at89s52,該單片機(jī)主要特點(diǎn)如下:(1) at89s52系列單片機(jī)以8051為內(nèi)核,兼容mcs-51系列單片機(jī)。(2) at89s52系列單片機(jī)內(nèi)、內(nèi)部含有flash存儲(chǔ)器,在系統(tǒng)開發(fā)可以反復(fù)擦寫。(3) at89s52采用靜態(tài)時(shí)鐘方式,可以節(jié)省電能。(4) at89s52支持isp(在線編程),不需要把單片機(jī)從電路板取下來就可以擦寫程序。(5) at89s52晶振頻率
20、高達(dá)24m,運(yùn)行速度更快。3.2.1 單片機(jī)電路 引腳功能:p0口用來送顯示信號(hào)給lcd的數(shù)據(jù)為,p20p22送命令到lcd控制lcd的顯示方式。p3.7為ds18b20溫度數(shù)據(jù)采集端。p1.0接測(cè)量按鍵6。 圖3-3 單片機(jī)主電路3.2.2 復(fù)位電路單片機(jī)在reset端加一個(gè)大于20ms正脈沖即可實(shí)現(xiàn)復(fù)位,上電復(fù)位和按鈕組合的復(fù)位電路如下:1)上電復(fù)位在系統(tǒng)上電的瞬間,rst與電源電壓同電位,隨著電容的電壓逐漸上升,rst電位下降,于是在rst形成一個(gè)正脈沖。只要該脈沖足夠?qū)捑涂梢詫?shí)現(xiàn)復(fù)位,即ms。一般取r1,c22uf7。 圖3-4復(fù)位電路2)手動(dòng)復(fù)位 當(dāng)人按下按鈕s1時(shí),使電容c1通過r
21、1迅速放電,待s1彈起后,c再次充電,實(shí)現(xiàn)手動(dòng)復(fù)位。r1一般取200。3.2.3 時(shí)鐘電路當(dāng)使用單片機(jī)的內(nèi)部時(shí)鐘電路時(shí),單片機(jī)的xatl1和xatl2用來接石英晶體和微調(diào)電容,如圖所示,晶體一般可以選擇3m24m,電容選擇30pf左右。我們選擇晶振為12mhz,電容33pf。 圖3-5 時(shí)鐘電路3.2.4 按鍵電路 我們通過p1.0來啟動(dòng)測(cè)量,程序中通過查詢p1.0的電平來檢測(cè)是否按鍵被按下,電路原理如下:當(dāng)按下按鍵時(shí)p1.0為低電平,單片機(jī)通過 查詢到低電平開始測(cè)量距離,當(dāng)松開按鍵,p1.0即為高電平。在軟件中通過軟件延時(shí)來消除按鍵的機(jī)械抖動(dòng)。 圖 3-6 按鍵電路3.2.5 蜂鳴器電路 本
22、次設(shè)計(jì)通過一只蜂鳴器來提示用戶按鍵按下了,現(xiàn)在單片機(jī)開始了測(cè)距。蜂鳴器時(shí)一塊壓電晶片,在其兩端加上35v的直流電壓,就能產(chǎn)生3khz的蜂鳴聲。電路如圖3-7通過單片機(jī)軟件產(chǎn)生3khz的信號(hào)從p3.7口送到三極管9.13的基極,控制著電壓加到蜂鳴器上,驅(qū)動(dòng)蜂鳴器發(fā)出聲音。 圖3-7 蜂鳴器電路3.3 超聲波發(fā)送電路超聲波發(fā)生器包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩個(gè)部分,超聲波探頭(“也稱為超聲波換能器”)的型號(hào)選用csb40t(其中心頻率為40khz)??梢圆捎密浖a(chǎn)生40khz的超聲波信號(hào),通過輸出引腳輸入至驅(qū)動(dòng)器,經(jīng)過驅(qū)動(dòng)器驅(qū)動(dòng)后推動(dòng)探頭產(chǎn)生超聲波。這種方法的特點(diǎn)是充分利用軟件,靈活性好
23、,但是需要設(shè)計(jì)一個(gè)驅(qū)動(dòng)電流為100ma以上的驅(qū)動(dòng)電路8。第二種方法是利用超聲波專用發(fā)生電路或通用發(fā)生電路產(chǎn)生超聲波信號(hào),并直接驅(qū)動(dòng)超聲波換能器產(chǎn)生超聲波。這種方法的特點(diǎn)是無需驅(qū)動(dòng)電路,但缺乏靈活性。本次我們采用第一種方法產(chǎn)生超聲波,非門可以選用74ls04,具體電路如圖: 圖 3-8 超聲波發(fā)送電路從圖中可知,當(dāng)輸入的信號(hào)為高電平時(shí),上面經(jīng)過兩級(jí)反向csb40t的1引腳為高電平,下面經(jīng)過一級(jí)反向后為低電平;當(dāng)輸入信號(hào)為低電平時(shí),正好相反,實(shí)現(xiàn)了振蕩的信號(hào)驅(qū)動(dòng)csb40t,只要控制信號(hào)接近40khz,就能產(chǎn)生超聲波。3.4 超聲波接收電路 超聲波接收包括接收探頭,信號(hào)放大以及波形變換電路三部分,
24、超聲波接收探頭必須與發(fā)送探頭相同的型號(hào),否則可能導(dǎo)致接收效果甚至不能接收。由于超聲波接收探頭的信號(hào)非常弱,所以必須用放大器放大,放大后的正弦波不能被微處理器處理,所以必須經(jīng)過波形變換。本次設(shè)計(jì)為了降低調(diào)試難度,減少成本,提供系統(tǒng)可靠性,所以我們采用了一種用在彩色電視機(jī)上面的一種紅外接收檢波芯片cx20106,由于紅外遙控的中心頻率在38khz,和超聲波的40khz很接近,所以可以用來做接收電路。cx20106是日本索尼公司的產(chǎn)品,采用單列8引腳的直插式封裝,內(nèi)部包含自動(dòng)偏置控制電路、前置放大電路、帶通濾波、峰值檢波、積分比較器、斯密特整形輸出電路,配合少量外接元件就可以對(duì)38khz左右的信號(hào)的
25、接收與處理,該芯片內(nèi)部如下圖所示:圖3-9 cx20106內(nèi)部結(jié)構(gòu)cx20106構(gòu)成本次設(shè)計(jì)接收電路如下圖:圖 3-10 超聲波接收電路使用cx20106a集成電路對(duì)接收探頭受到的信號(hào)進(jìn)行放大、濾波。其總放大增益80db。以下是cx20106a的引腳注釋9。1腳:超聲信號(hào)輸入端,該腳的輸入阻抗約為40k。2腳:該腳與地之間連接rc串聯(lián)網(wǎng)絡(luò),它們是負(fù)反饋串聯(lián)網(wǎng)絡(luò)的一個(gè)組成部分,改變它們的數(shù)值能改變前置放大器的增益和頻率特性。增大電阻r4或減小c4,將使負(fù)反饋量增大,放大倍數(shù)下降,反之則放大倍數(shù)增大。但c4的改變會(huì)影響到頻率特性,一般在實(shí)際使用中不必改動(dòng),推薦選用參數(shù)為r4=4.7,c4=1f。3
26、腳:該腳與地之間連接檢波電容,電容量大為平均值檢波,瞬間相應(yīng)靈敏度低;若容量小,則為峰值檢波,瞬間相應(yīng)靈敏度高,但檢波輸出的脈沖寬度變動(dòng)大,易造成誤動(dòng)作,推薦參數(shù)為 3.3 f。4腳:接地端。5腳:該腳與電源間接入一個(gè)電阻,用以設(shè)置帶通濾波器的中心頻率f0,阻值越大,中心頻率越低。例如,取r=200k時(shí),f042khz,若取r=220k,則中心頻率f038khz。6腳: 該腳與地之間接一個(gè)積分電容,標(biāo)準(zhǔn)值為330pf,如果該電容取得太大,會(huì)使探測(cè)距離變短。7腳:遙控命令輸出端,它是集電極開路輸出方式,因此該引腳必須接上一個(gè)上拉電阻到電源端,推薦阻值為22 k,沒有接受信號(hào)是該端輸出為高電平,有
27、信號(hào)時(shí)則產(chǎn)生下降。8腳:電源正極,4.55v。3.5 溫度采集ds18b20電路本次我們考慮溫度補(bǔ)償所以需要對(duì)溫度進(jìn)行采集,以使我們的設(shè)計(jì)更加精確,溫度的采集通常使用ds18b20一線式數(shù)字溫度傳感器,電路非常簡潔,具體電路圖如下圖3-11所示。圖3-11 溫度采集ds18b20電路3.5.1 ds18b20簡介 ds18b20是美國dalls公司推出的ds1820的替代產(chǎn)品,具有9、10、11、12位的轉(zhuǎn)換精度,未編程時(shí)默認(rèn)的精度是12位,測(cè)量精度一般為0.5c,軟件處理后可以達(dá)到0.1c,溫度輸出以16位符號(hào)擴(kuò)展的二進(jìn)制數(shù)形式提供,低位在先,以0.0625c/lsb形式表達(dá)。其中高五位為擴(kuò)
28、展符號(hào)位。轉(zhuǎn)換周期與轉(zhuǎn)換精度有關(guān),9位轉(zhuǎn)換精度時(shí),最大轉(zhuǎn)換時(shí)間為93.7 ms,12位轉(zhuǎn)換精度時(shí),最大轉(zhuǎn)換時(shí)間為750ms。ds18b20引腳判斷方法是:字面朝人,從左到右依次是1(gnd)、2(輸入/輸出)、3(vcc)10。3.5.2 ds18b20使用 ds18b20可以直接讀出被測(cè)溫度值,而且采用了線制與單片機(jī)相連,減少了外部的硬件電路。當(dāng)ds18b20處于寫存儲(chǔ)器操作和溫度a/d變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10s。采用寄生電源供電方式是vcc和gnd端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的。主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過3個(gè)步驟:
29、初始化、rom操作指令、存儲(chǔ)器操作指令。假設(shè)單片機(jī)系統(tǒng)所用的晶振頻率為12mhz,根據(jù)ds18b20的初始化時(shí)序、寫時(shí)序和讀時(shí)序,分別編寫3個(gè)子程序:init為初始化子程序,write為寫(命令或數(shù)據(jù))子程序,read為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始,實(shí)際在實(shí)驗(yàn)中不用這種方式,只要在數(shù)據(jù)線上加一個(gè)上拉電阻4.7 k(圖3-11中的r13為上拉電阻,阻值選5k左右),另外2個(gè)腳分別接電源和地11。3.6 lcd顯示電路3.6.1 1602液晶模塊簡介 本設(shè)計(jì)采用lcd液晶顯示屏顯示。其具有體積小、功耗低、界面美觀大方等優(yōu)點(diǎn),這里使用yb1602液晶屏,1602顯示模塊用點(diǎn)陣圖形顯示字
30、符,顯示模式分為2行16個(gè)字符。它具有16個(gè)引腳,其正面左起為第一腳,如下圖所示:圖3-12 lcd顯示電路 第1腳gnd:接地。第2腳vcc:+5v電源。第3腳vo:對(duì)比度調(diào)整端。使用時(shí)接一個(gè)10k 的 電阻調(diào)節(jié)。第4腳rs:寄存器選擇信號(hào)線。第5腳rw:讀寫信號(hào)線。第6腳e:使能端,當(dāng)e由高電平跳變低電平時(shí) 執(zhí)行命令。 第714腳:8位數(shù)據(jù)線d0d7。 第15腳bla:背光電源正極輸入端。第16腳blk:背光電源負(fù)極輸入端。 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符
31、都有一個(gè)固定的代碼, 比如大寫的英文字母“a”的代碼是 01000001b(41h),顯示時(shí)模塊把地址41h中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“a”。 因?yàn)?602識(shí)別的是ascii碼,試驗(yàn)可以用ascii碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如a。1602通過d0d7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。操作控制表操作讀狀態(tài)寫指令讀數(shù)據(jù)寫數(shù)據(jù)輸入rs=0,rw=1,e=1rs=0,rw=0,d07=指令碼,e=h脈沖rs=1,rw=1,e=1rs=1,rw=0,d07=數(shù)據(jù),e=h脈沖表3-1 lcd1602操作指令3.6.2 1602液晶模塊初始化及設(shè)置1)顯示模式設(shè)置:
32、0011 0000 0x38設(shè)置162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口; 2)顯示開關(guān)及光標(biāo)設(shè)置: 0000 1dcb d顯示(1有效)、c光標(biāo)顯示(1有效)、b光標(biāo)閃爍(1有效)0000 01ns n=1(讀或?qū)懸粋€(gè)字符后地址指針加1 &光標(biāo)加1),n=0(讀或?qū)懸粋€(gè)字符后地址指針減1 &光標(biāo)減1),s=1 且 n=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移)s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng) 3)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80h,所以數(shù)據(jù)地址為80h+地址碼(0-27h,40-67h) 4)其他設(shè)置:01h(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02h(顯示回車,數(shù)據(jù)指針 =0)。4. 軟件系統(tǒng)
33、的設(shè)計(jì)4.1 系統(tǒng)主程序模塊設(shè)計(jì)4.1.1 程序原理 本設(shè)計(jì)主程序的思想如下: (1)溫度為兩位顯示,距離為四位顯示單位為mm; (2)溫度每隔900ms采樣一次,ds18b20在12位精度下轉(zhuǎn)換周期為750ms ,故900ms滿足該速度要求;超聲波每隔60ms發(fā)送一次。 (3)按鍵s為測(cè)量啟動(dòng)鍵; (4)系統(tǒng)采用at89s52的內(nèi)時(shí)鐘:12mhz; (5)超聲波發(fā)送一定時(shí)間后才開始啟動(dòng)檢測(cè),避免直達(dá)信號(hào)造成誤判。所以系統(tǒng)最小測(cè)量約為112mm; (6)沒有使用看門狗功能;4.1.2 軟件流程圖通過lcd顯示計(jì)算出距離值延時(shí)0.5s關(guān)閉計(jì)數(shù)器換算當(dāng)前溫度下的聲速讀取溫度值計(jì)算超聲波傳播時(shí)間發(fā)4
34、0khz方波3個(gè)周期,開啟計(jì)數(shù)器發(fā)射信號(hào)進(jìn)入中斷初始化開始 圖 4-1 主程序流程圖4.1.3 程序代碼void main(void) uchar i,j; for(i=0;i255;i+) for(j=0;j255;j+); /延時(shí),等待系統(tǒng)外圍復(fù)位完成 sys_init(); /初始化 display(); /顯示 sta_flag=0; /標(biāo)準(zhǔn)復(fù)位 waitforstarting: /檢測(cè)按鍵 while(start); for(i=0;i20;i+) delay1ms(); if(start) goto waitforstarting; buzzer=0; /蜂鳴器鳴音一次提示按鍵按下
35、 i=100000; while(i-); buzzer=1; i=100000; while(i-); tr0=1; /啟動(dòng)定時(shí)器0 et0=1; testtemp(); /啟動(dòng)溫度轉(zhuǎn)換 while(1) if(sta_flag) /60ms到了,超聲波已經(jīng)發(fā)送 while(0=csbin); /等待超聲波返回 tr1=0; jsh=th1; /停止計(jì)數(shù) jsl=tl1; if(15=count) /1s到,檢測(cè)溫度 temp=wd(); count=0; testtemp(); /重新啟動(dòng)轉(zhuǎn)換 display(); /刷新顯示 computer(); /計(jì)算距離 hextobcd(); /
36、轉(zhuǎn)化成bcd碼 sta_flag=0; /標(biāo)志清零 void sys_init(void) uchar i; for(i=0;i29;i+) /顯示清零 numi=0; tmod=0x11; th0=0x15; tl0=0xa0; p0=0; cnt=0; /超聲波發(fā)送關(guān)閉 csbin=1; ea=1; /開放總中斷 init_lcd(); 4.2 系統(tǒng)其他程序模塊設(shè)計(jì)4.2.1 超聲波發(fā)送程序 (1) 程序原理超聲波的每過 60ms發(fā)送一次,通過定時(shí)器t0中斷中發(fā)送超聲波,超聲波發(fā)送后延時(shí)一段時(shí)間后返回。由于超聲波的發(fā)射探頭t發(fā)出的超聲波一部分會(huì)直接傳送到超聲波的接收探頭r中,從而產(chǎn)生錯(cuò)誤的
37、判斷;為了避免這一錯(cuò)誤的產(chǎn)生,在開始發(fā)出信號(hào)時(shí),必須關(guān)閉外部中斷int0;當(dāng)發(fā)射完畢時(shí),開啟外部中斷 int0 ,同時(shí)還要先清掉外部中斷的請(qǐng)求標(biāo)志ie0 ,這又是因?yàn)樵陉P(guān)閉了外部中斷的情況下,中斷信號(hào)還是會(huì)產(chǎn)生的,請(qǐng)求標(biāo)志仍然存在,只有清除了該標(biāo)志位,才能避免系統(tǒng)對(duì)該中斷請(qǐng)求的響應(yīng)12。(2) 軟件流程圖定時(shí)器初始 發(fā)射超聲波開計(jì)時(shí)器停止發(fā)射返回 圖 4-2 超聲波發(fā)送程序流程圖 (3) 程序代碼void timer0(void)interrupt 1 using 0 th0=0x15; tl0=0xa0; th1=0; tl1=0; sta_flag=1; /標(biāo)志置為1 count+; /計(jì)
38、次單元加1 _nop_(); /開始發(fā)送超聲波40khz _nop_(); _nop_(); cnt=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); cnt=0; _nop_(); _nop_(); _nop_(); _nop_(); tr1=1; /啟動(dòng)定時(shí)器1計(jì)數(shù) delay15(50); /延時(shí)避開直達(dá)信號(hào)4.2.2 超聲波的接收和處理 超聲波由超聲波接收頭接收,經(jīng)過cx20106檢波放大變換后送到單片機(jī)的p2.6腳
39、,程序中通過指令: while(0=csbin);來查詢,接收到超聲波信號(hào)后往下面執(zhí)行,進(jìn)行計(jì)算處理,距離計(jì)算中,實(shí)行了溫度補(bǔ)償和夾角補(bǔ)償。本設(shè)計(jì)中需注意當(dāng)距離過遠(yuǎn)或者沒有返回信號(hào)時(shí)候,定時(shí)器t1的溢出必須處理13。4.2.3 距離計(jì)算程序 距離計(jì)算中,實(shí)行了溫度補(bǔ)償和夾角補(bǔ)償。程序代碼如下 void computer(void) /距離計(jì)算函數(shù) float c,d,s; uint t; if(temp 0; i-) dq = 0; dq = dat&0x01; /寫入命令 delay(5); dq = 1; dat=1; /移位為寫入下一位準(zhǔn)備/*字讀函數(shù)*/uchar readonecha
40、r(void)/讀一個(gè)字節(jié)uchar i = 0;uchar dat = 0; for (i = 8; i 0; i-) dq = 0; / 給脈沖信號(hào) dat = 1; dq = 1; / 給脈沖信號(hào) if(dq) dat |= 0x80; /拼裝處理 delay(15); return (dat);*讀取溫度函數(shù)*/ uint wd(void) unsigned int a = 0, b = 0, t = 0; init_18b20(); /初始化ds18b20 writeonechar(0xcc); /跳過讀序號(hào)列號(hào)的操作 writeonechar(0xbe); /讀取溫度寄存器 a =
41、 readonechar(); /讀取一個(gè)字節(jié) b = readonechar(); t = b; t = 8; t = t | a; /字節(jié)合并 return (t); /返回結(jié)果給調(diào)用 4.2.5 數(shù)據(jù)轉(zhuǎn)換程序經(jīng)過求的數(shù)據(jù)原碼無法直接用于顯示,必須轉(zhuǎn)換為lcd所接受的bcd碼的形式,而且在溫度補(bǔ)償和距離計(jì)算中沒有考慮小數(shù)點(diǎn)的存在,而實(shí)際顯示必須考慮小數(shù)和有效位數(shù),這樣就必須對(duì)數(shù)據(jù)進(jìn)行取舍。*數(shù)據(jù)轉(zhuǎn)換函數(shù)* void hextobcd(void) /轉(zhuǎn)化成2進(jìn)制 float tp; unsigned long int tmp; fuhao=0; if(temp0x8000) tp=temp*
42、0.0625; else /溫度小于0,求補(bǔ)碼得到原碼 bm(); tp=temp*0.0625; fuhao=1; tp*=10; tmp=tp; num12=tmp/100; /數(shù)據(jù)轉(zhuǎn)換后放到顯示數(shù)組 if(fuhao) num12=num12|0x80; /最高位加上負(fù)號(hào) num13=tmp/10-(tmp/100)*10; tmp=distance; num25=tmp/1000; tmp%=1000; num26=tmp/100; tmp%=100; num27=tmp/10; tmp%=10; num28=tmp/1; 4.2.6 lcd顯示程序 (1) 程序原理 lcd液晶顯示程
43、序分為液晶初始化、讀忙、寫指令和寫數(shù)據(jù)操作,液晶顯示器是一塊慢器件,所以在執(zhí)行每條指令之前必須確定模塊忙標(biāo)志為低電平(不忙),否側(cè)此指令無效。 (2) 軟件流程圖 圖 4-4 lcd顯示程序流程圖(3) 程序代碼 *lcd的初始化*void init_lcd(void) delay(); /稍微延時(shí),等待lcd進(jìn)入工作狀態(tài)write_comm(0x01);/清顯示write_comm(0x02);/光標(biāo)歸位 write_comm(0x38);/8位2行5*8 write_comm(0x06);/文字不動(dòng),光標(biāo)右移 write_comm(0x0c);/顯示開/關(guān),光標(biāo)開閃爍開write_comm
44、(0x18);/左移*判讀lcd是否為忙狀態(tài)*void read_busy(void)/讀忙信號(hào)判斷dolcd_data = 0xff;rs = 0;rw = 1;e = 0;delay();e = 1; while(busy);*寫入指令函數(shù)*void write_comm(uchar lcdcomm) lcd_data = lcdcomm;rs = 0;rw = 0;e = 0;read_busy(); e = 1;*寫入數(shù)據(jù)函數(shù)*void write_data(uchar lcddata)lcd_data = lcddata;rs = 1;rw = 0;e = 0;read_busy();e = 1;*lcd顯示函數(shù)*void display(void) uchar a,b,d; /init_lcd(); write_comm(0x01);/清顯示 write_comm(0x80);/寫首地址 for(a=0;a11)&(a14) d=numcodenuma; /待顯示的結(jié)果 if(14=a) d=0xdf; write_data(d); /寫入要顯示的數(shù)據(jù) write_comm(0xc0); /換
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于感恩母校演講稿9篇
- 2024年凱悅酒店消防設(shè)計(jì)與施工合同
- 物流操作員崗位職責(zé)2024職責(zé)(30篇)
- 文明交通安全倡議書范文
- 節(jié)約糧食拒絕浪費(fèi)演講稿
- 項(xiàng)目管理的心得體會(huì)6篇
- 非車險(xiǎn)工作計(jì)劃
- 2024地球深空探測(cè)項(xiàng)目合作合同
- 工廠托管合同模板
- 幼兒體育教育策略模板
- 2024版成人術(shù)中非計(jì)劃低體溫預(yù)防與護(hù)理培訓(xùn)課件
- 2024第五輪營商環(huán)境考試復(fù)習(xí)試題含答案
- 綜合素質(zhì)評(píng)價(jià)平臺(tái)建設(shè)方案-2024
- GB/T 44539-2024螢石技術(shù)規(guī)范
- 廣東省珠海市紫荊中學(xué)2025屆高二數(shù)學(xué)第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 2024屋頂分布式光伏場站設(shè)備運(yùn)維規(guī)程
- 北師大版數(shù)學(xué)一上 3.1《一共有多少》教學(xué)設(shè)計(jì)
- 2024-2030年全球及中國電弧故障檢測(cè)裝置(AFDD)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- GB/T 44395-2024激光雷達(dá)測(cè)風(fēng)數(shù)據(jù)可靠性評(píng)價(jià)技術(shù)規(guī)范
- 10《我們所了解的環(huán)境污染》第一課時(shí)從白色污染說起(教學(xué)設(shè)計(jì))部編版道德與法治四年級(jí)上冊(cè)
- 廣東省深圳市2023-2024學(xué)年高一上學(xué)期語文期中試卷(含答案)
評(píng)論
0/150
提交評(píng)論