




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、畢業(yè)設計說明書畢業(yè)設計說明書課題名稱: 測測溫及超聲波溫及超聲波測測距距 學生姓名 專 業(yè) 電電子信息工程子信息工程 班 級 電電信信 0902 時 間 2011.9 2011.4 指導教師 電子信息與自動化工程系摘 要隨著現(xiàn)代科學技術(shù)的發(fā)展,人們逐漸了解到,超聲波的穿透力很強不易損壞物體,而且它在兩萬赫茲以上,不會影響到人們的正常工作,并且他的傳播速度快。由于超聲波具有這樣大的優(yōu)點,所以人們對超聲波的利用率越來也高。從大到工業(yè)體系的探傷,小到測距和金屬表面清塵,超聲波幾乎無處不在的伴隨我們的生活。本設計是以 at89c51 單片機為核心的低成本、高精度、微型化數(shù)字顯示超聲波測距儀。整個電路采
2、用模塊化設計,由單片機控制模塊,超聲波發(fā)射模塊,超聲波接收模塊和數(shù)據(jù)顯示模塊組成。軟件部分由主程序、預置子程序、發(fā)射子程序、接收子程序、顯示子程序組成。各探頭的信號經(jīng)單片機綜合分析處理,實現(xiàn)超聲波測距儀的各種功能。在此基礎上設計了系統(tǒng)的總體方案,最后通過硬件和軟件實現(xiàn)了各個功能模塊。相關(guān)部分附有硬件電路圖、程序流程圖。關(guān)鍵詞關(guān)鍵詞:at89c51;超聲波;測距;測溫 abstractwith the development of modern science and technology, people gradually understanding that the ultrasonic w
3、ave penetrating power is very strong .the ultrasonic wave is not easy to damage the object,morover it above 20khz and affect peoples nomal work. so the using of ultrasonic wave is more and more frequent. from the large scale flaw detection of the industrial system to the measuring distance and clear
4、ing of the metal surface , the ultrasonic wave is useful in our every daily life . the ultrasonic distance measurer design with digital display functional module used at89c52 mcu as the core component,of which carries the characteristics with low-cost,high-precision and microminiaturization.the whol
5、e circuit used modular design,it includes the mcu control module,ultrasonic transmit module,ultrasonic receive module and the data display module.in the software design part,it contains the main program,the presets subroutine,the launch subroutine,the receiving subroutine and the display subroutine.
6、through the comprehensive analysis processing of the at89c51 mcu, the signal of each detector can realizing the functions of ultrasonic measure.based on these,designed the overall scheme of the system.on the finally,through the hardware and software realize the whole modules.and the relevant parts h
7、ave the hardware circuit diagrams and program flow charts on the appendix.key words:at89s51;silent wave;measure distance;measure temperature 目目 錄錄摘摘 要要.iiabstractabstract.iii1 1 前言前言.22 2 設計思路和設計原理設計思路和設計原理.22.1 超聲波發(fā)生器超聲波發(fā)生器.22.2 壓電式超聲波發(fā)生器原壓電式超聲波發(fā)生器原理理.22.3 超聲波測距原理超聲波測距原理.23 硬件設計硬件設計.33.1 發(fā)射回路發(fā)射回路.3
8、3.2 接收回接收回路路.33.3 led.43.43.4 總電路圖總電路圖.54.14.1 各芯片功能特點簡介各芯片功能特點簡介.54.14.1 5151 系列單片機的功能特點系列單片機的功能特點.54.24.2 cx20106cx20106 簡介及其調(diào)試簡介及其調(diào)試.64.34.3 ledled hd44780hd44780.64.4ds18b204.4ds18b20.75 5 系統(tǒng)的軟件編程設計系統(tǒng)的軟件編程設計.85.15.1 超聲波測距儀的算法設計超聲波測距儀的算法設計.85.25.2 主程序流程圖主程序流程圖.95.35.3 超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序和超
9、聲波接收中斷程序.95.45.4 系統(tǒng)的軟硬件調(diào)試系統(tǒng)的軟硬件調(diào)試.106 6 程序程序.18參考文獻參考文獻.19附錄一:程序清單附錄一:程序清單.211 1 前言前言超聲波具有指向性強,能量消耗緩慢,傳播距離較遠等優(yōu)點,所以,在利用傳感器技術(shù)和自動控制技術(shù)相結(jié)合的測距方案中,超聲波測距是目前應用最普遍的一種,它廣泛應用于防盜、倒車雷達、水位測量、建筑施工工地以及一些工業(yè)現(xiàn)場。目前一般都采用波在介質(zhì)傳播速度和時間關(guān)系進行測量。常用的技術(shù)主要有激光測距、微波雷達測距超聲波測距三種。激光測距。這是利用激光的單色性和相傳播速度 v 易受空氣中溫度、濕度、壓強等因素的影響,其中干性好、方向性強等特點
10、,以實現(xiàn)高精度的計量和檢測,如量長度、距離、速度 、角度等等。手持式和便攜式測距儀,作用距離為數(shù)百米至數(shù)十千米。一般應用到遠距離測量。微波雷達測距是利用目標對電磁波反射來發(fā)現(xiàn)目標并測定其位置。根據(jù)微波雷達的用途不同,所測定的目標可能是飛機、導彈、車輛、建筑物、云雨等。微波測距一般應用于雷達系統(tǒng),gps 定位系統(tǒng)。超聲波測距就是利用其反射特性,超聲波發(fā)生器不斷地發(fā)射出 40khz 超聲波遇到障礙物后反射回反射波,超聲波接收器接收到發(fā)射波信號,并將其轉(zhuǎn)換為電信號。相比于其它定位技術(shù)超聲波定位技術(shù)成本低,制作容易,非常適合于短距離測量定位。本課程設計利用超聲波發(fā)射與接收裝置,實現(xiàn)超聲波的測距功能,從
11、而實現(xiàn)物體定位。利用該設計,可以實現(xiàn)盲人導航系統(tǒng)的研究與應用,實現(xiàn)障礙物的定位測量等。2 2 設計思想和測距原理設計思想和測距原理2.12.1、 超聲波發(fā)生器超聲波發(fā)生器為了研究和利用超聲波,人們已經(jīng)設計和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。2.22.2、壓電式超聲波發(fā)生器原理壓電式超聲波發(fā)生器原理壓電式超聲波發(fā)生器實際上是利用壓
12、電晶體的諧振來工作的。它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。2.32.3、超聲波測距原理、超聲波測距原理超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為 v,根據(jù)計時器記錄的時間 t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=v*t/2
13、。這就是所謂的時間差測距法。如圖 2-3 所示。 圖 2-3本測距儀便是利用了超聲波傳感器的這種特性,利用其發(fā)生超聲波。如上圖,當遇到障礙物,超聲波被反射進入超聲波傳感器,并產(chǎn)生電信號。經(jīng)過單片機處理,得出傳播時間 t ,利用公式 s=v*t/2 便得出測距儀與障礙物之間的距離 s 。其中,v 的取值在溫度變化時變化 v=331+0.6*t 。331m/s 是聲速在0 度情況下的傳播速度,利用 ds18b20 測得溫度利用單片機算出 v。3 3 硬件設計硬件設計硬件設計分為三個部分: 發(fā)射回路、接收回路、led 顯示系統(tǒng)。主要硬件單元的功能:3.13.1 發(fā)射回路發(fā)射回路:發(fā)射回路的主要設計思
14、想是將單片機端口輸出的 40khz 的方波經(jīng)過反相器(所用芯片為六緩沖反相器 cd4049)波形整理后,加在超聲波轉(zhuǎn)換器兩端使其發(fā)射 40khz 超聲波。同時這里的反相器還可以提高電路的驅(qū)動能力,保證超聲波發(fā)射探頭的輸出功率,并且 vcc=5v。 圖 3-1單片機 oc1 端輸出的 40khz 方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個電極。另一路經(jīng)兩級反向器后送到超聲波換能器的另一個電極。用這種推挽形式將方波信號加到超聲波換能器兩端??梢蕴岣叱暡ǖ陌l(fā)射強度。輸出端采用兩個反向器并聯(lián)。用以提高驅(qū)動能力。上拉電阻 r1、r2一方面可以提高反向器輸出高電平的驅(qū)動能力。另一方面可以增加超聲波
15、換能器的阻尼效果,縮短其自由振蕩的時間。3.23.2 接收回路接收回路:接收回路的主題設計思想是將超聲波探頭接收到的信號進行濾波放大后輸入單片機,超聲波檢測接收電路主要是由集成電路 cx20106a 組成,它是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率 38 khz 與測距的超聲波頻率 40 khz 較為接近,可以利用它制作超聲波檢測接收電路。實驗證明用 cx20106a 接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。實驗電路圖如圖 3-2所示。圖 3-23.33.3 ledled 管顯示電路管顯示電路:led 顯示電路模塊如
16、下圖 3-3 所示。 圖 3-33.43.4 整合后的總電路圖如圖整合后的總電路圖如圖 3-43-4 所示所示:圖 3-44 4 各芯片功能特點簡介各芯片功能特點簡介4.14.1 at89c51at89c51 是一個低電壓,高性能 cmos 8 位單片機帶有 4k 字節(jié)的可反復擦寫的程序存儲器(penrom) 。和 128 字節(jié)的存取數(shù)據(jù)存儲器(ram) ,這種器件采用 atmel 公司的高密度、不容易丟失存儲技術(shù)生產(chǎn),并且能夠與mcs-51 系列的單片機兼容。片內(nèi)含有 8 位中央處理器和閃爍存儲單元,有較強的功能的 at89c51 單片機能夠被應用到控制領域中。at89c51 提供以下的功能
17、標準:4k 字節(jié)閃爍存儲器,128 字節(jié)隨機存取數(shù)據(jù)存儲器,32 個 i/o 口,2 個 16 位定時/計數(shù)器,1 個 5 向量兩級中斷結(jié)構(gòu),1 個串行通信口,片內(nèi)震蕩器和時鐘電路。另外,at89c51 還可以進行 0hz 的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機存取數(shù)據(jù)存儲器、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機存取數(shù)據(jù)存儲器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個復位。vcc:供電電壓。gnd:接地。p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門電流。當 p1 口的管
18、腳第一次寫 1 時,被定義為高阻輸入。p0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 fiash 編程時,p0 口作為原碼輸入口,當 fiash 進行校驗時,p0輸出原碼,此時 p0 外部必須被拉高。p1 口:p1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4ttl 門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,p1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash 編程和校驗時,p1 口作為第八位地址接收。 p2 口:p2 口為一個內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收,
19、輸出 4 個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時,p2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2 口輸出其特殊功能寄存器的內(nèi)容。p2 口在 flash 編程和校驗時接收高八位地址信號和控制信號。p3 口:p3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 i/o 口,可接收輸出 4 個ttl 門電流。當 p3 口寫入“1”后,它們被內(nèi)部上拉為高電平,
20、并用作輸入。作為輸入,由于外部下拉為低電平,p3 口將輸出電流(ill)這是由于上拉的緣故。p3 口也可作為 at89c51 的一些特殊功能口,如下表所示:口管腳 備選功能 p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷 1)p3.4 t0(記時器 0 外部輸入)p3.5 t1(記時器1 外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3 口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持 rst 腳兩個機器周期的高電平時間4.24.2
21、 cx20106cx20106 簡介及其調(diào)試簡介及其調(diào)試 cx20106 是廣泛用于彩色電視機紅外線遙控接收的前置放大器。由于功能強,性能優(yōu)越,成本低,故已在各種紅外線遙控系統(tǒng)中得到廣泛的應用。cx20106 由前置放大器、限幅放大器、帶通濾波器、檢波器、積分器及整形電路構(gòu)成。其中的電平自動控制電路可以保證在輸入弱信號時前置放大器有較高增益,在輸入強信號時前置放大器不會過載,可以保證在一定遙控距離(約 10m)內(nèi)工作可靠。其內(nèi)部設置的濾波器中心頻率 f0 由其 5 腳外接電阻調(diào)節(jié),范圍可從 30khz60khz。cx20106 的工作過程大致如下:其中的前置放大器將外接紅外光敏二極管或三極管產(chǎn)
22、生的脈沖電壓進行放大,電壓增益約 77-79d。然后將信號送限幅放大器,使其變?yōu)榫匦蚊}沖,再由濾波器進行頻率選擇,濾除干擾信號,由檢波器濾掉載頻檢出指令信號,再經(jīng)整形后,由腳輸出指令信號。實際上,cx20106 的功能用一句話概括,就是當接收到與 cx20106 濾波器中心頻率相符的紅外光信號時,其輸出端腳就輸出低電平。cx20106的主要參數(shù)如下:電源電壓典型值為 5,最大 17。電源電流 1.1-2.5ma(典型值為 1.8ma)。輸出低電平 0.2。電壓增益 77-79d。輸入阻抗 27。濾波器中心頻率 30khz60 khz。允許功耗0.8 4.34.3 ledhd44780 管腳及功
23、能特管腳及功能特液晶顯示器以其微功耗、小體積、使用靈活等諸多優(yōu)點在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。液晶顯示器通??煞譃閮纱箢悾活愂屈c陣型,另一類是字符型。點陣型液晶通常面積較大,可以顯示圖形;而一般的字符型液晶只有兩行,面積小,只能顯示字符和一些很簡單的圖形,簡單易控制且成本低。目前市面上的字符型液晶絕大多數(shù)是基于 hd44780 液晶芯片的,所以控制原理是完全相同的,為 hd44780 寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。字符型 lcd 通常有 14 條引腳線(市面上也有很多 16條引腳線的 lcd,多出來的 2 條線是電源線 vcc(15 腳)和地線
24、 gnd(16 腳),其控制原理與 14 腳的 lcd 完全一樣),定義如下表所示:4.44.4 ds18b20ds18b20 測溫測溫ds18b20數(shù)字溫度計是dallas公司生產(chǎn)的1wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計。ds18b20產(chǎn)品的特點。(1) 、只要求一個i/o口即可實現(xiàn)通信。(2) 、在ds18b20中的每個器件上都有獨一無二的序列號。(3) 、實際應用中不需要外部任何元器件即可實現(xiàn)測溫。(4) 、測量溫度范圍在55。c到125。c之間。(5) 、數(shù)字溫度計的分辨率用戶可以從9位到
25、12位選擇。(6) 、內(nèi)部有溫度上、下限告警設置。ds18b20詳細引腳功能描述1 gnd地信號;2 dq數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源;3 vdd可選擇的vdd引腳。當工作于寄生電源時,此引腳必須接地。ds18b20的使用方法。由于ds18b20采用的是1wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對at89s51單片機來說,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對ds18b20芯片的訪問。由于ds18b20是在一根i/o線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。ds18b20有嚴格的通信協(xié)議來保證各位
26、數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,單總線器件作為從設備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。5 5 系統(tǒng)的軟件編程設計系統(tǒng)的軟件編程設計5.15.1 超聲波測距儀的算法設計超聲波測距儀的算法設計超聲波測距的原理為超聲波發(fā)生器 t 在某一時刻發(fā)出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器 r 所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波
27、發(fā)生器與反射物體的距離。距離的計算公式為: = 2 =( )2(1) 其中,d 為被測物與測距儀的距離,s 為聲波的來回的路程,c 為聲速,t 為聲波來回所用的時間。在啟動發(fā)射電路的同時啟動單片機內(nèi)部的定時器 t0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負跳變,在 int0 或 int1 端產(chǎn)生一個中斷請求信號,單片機響應外部中斷請求,執(zhí)行外部中斷服務子程序,讀取時間差,計算距離。5.25.2 主程序流程圖主程序流程圖軟件分為兩部分,主程序和中斷服務程序,主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。 定時中斷服務子程序
28、完成超聲波的發(fā)射,外部中斷服務子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作。程序首先是對系統(tǒng)環(huán)境初始化,設置定時器 t0 工作模式為 16 位定時計數(shù)器模式。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,打開外中斷 0 接收返回的超聲波信號。由于采用的是 12 mhz 的晶振,每計一個數(shù)就是 1s,定時器 t1 定時 1ms。設計時間精確到 1ms。當主程序檢測到接收成功的標志位后,將計數(shù)暫存,用 ds12b20 測得溫度,算出聲速則距離為: s=v*t/2 (2)測出距離后結(jié)果將以十進制 bcd 碼方式送往 led 顯示約 0.5s,然后再發(fā)超聲波脈沖重復測量過程。主程序流程圖如下(
29、圖 5-1)開始單片機初始化外部中斷子程序33序超聲波發(fā)射子程序33序返回led 顯示是否有回波?圖5-1 主程序流程圖5.35.3 超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序的作用是通過 p1.0 端口發(fā)送 4 個左右超聲波脈沖信號(頻率約 40khz 的方波) ,脈沖寬度為 12s 左右,同時把計數(shù)器 t1 打開進行計時。超聲波發(fā)生子程序較簡單,但要求程序運行準確,所以采用匯編語言編程。超聲波測距儀主程序利用外中斷 1 檢測返回超聲波信號,一旦接收到返回超聲波信號(即 int1 引腳出現(xiàn)低電平) ,立即進入中斷程序。進入中斷后就立即關(guān)閉計時器
30、t1 停止計時,并將測距成功標志字賦值 1。如果當計時器溢出時還未檢測到超聲波返回信號,則定時器 t1 溢出中斷將外中斷 1 關(guān)閉,并將測距成功標志字賦值 2 以表示此次測距不成功7。程序流程圖如下(圖 5-2):定時中斷入口定時器初始化發(fā)射超聲波停止發(fā)射返回外部中斷入口關(guān)外部中斷讀取時間值計算距離結(jié)果輸出開外部中斷返回發(fā)射完否?圖5-2 超聲波發(fā)射接受子程序5.45.4 系統(tǒng)的軟硬件調(diào)試系統(tǒng)的軟硬件調(diào)試硬件調(diào)試具體過程如下:(1).檢查電路是否存在虛短的情況;(2).將電路聯(lián)通后,用示波器觀察發(fā)射端是否產(chǎn)生 40k 超聲波;(3).在發(fā)射電路正常的情況下,用示波器觀察接收端波形,并與發(fā)射端波
31、形進行比較觀察;(4).調(diào)試顯示部分。硬件電路制作完成并調(diào)試好后,便可將測試程序下載到單片機試運行,檢查電路是否能夠正常運行,在電路正常的情況下將超聲波測距程序下載到單片機中運行。根據(jù)實際情況可以修改超聲波發(fā)射子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時間,以適應不同距離的測量需要。根據(jù)所設計的電路參數(shù)和程序,測距儀能測的范圍為 20m0.3m,測距儀最大誤差不超過 0.4m。系統(tǒng)調(diào)試完后應對測量誤差和重復一致性進行多次實驗分析,不斷優(yōu)化系統(tǒng)使其達到實際使用的測量要求。程序清單程序清單 temper_l equ29h ;用于保存讀出溫度的低字節(jié)temper_h equ 28h ;用于保存讀出溫度
32、的高字節(jié) dq bit p3.3 ;定義一線端口控制線flag1 bit 50h ;位地址 50h 是字節(jié) 2ah 的最低位,用作是否檢測到 ds18b20 的標志位 vout equ p1.1 ;超聲波脈沖輸出口 temper_num equ 51h ;定義存放轉(zhuǎn)化后的溫度值地址 en equ p2.0 ;lcd en 引腳rs equ p2.1 ;lcd rs 引腳org 0000hljmp mainorg 0020h ;測溫程序 main: mov sp,#70h lcall get_temper ;從 ds18b20 中讀書溫度數(shù)據(jù) lcall temper_cov ;轉(zhuǎn)換讀出溫度并保
33、存 lcall distance_cov ;測距 lcall display0 ;lcd 顯示 lcall d1ms jnb p2.5,start sjmp mainstart: mov sp,#4fh mov 20h,#00h mov tmod,#21h ;t1 為八位自動裝載模式,t0為 16 位定時器 mov th0,#0fch ;1ms 定時 mov tl0,#17h mov th1,#0f3h ;38khz 初值 mov tl1,#0f3h mov p0,#0ffh mov p1,#0ffh mov p2,#0ffh mov p3,#0ffh mov r4,#04h ;超聲波脈沖個數(shù)
34、控制 setb et1 ;開啟 t1 發(fā)送超聲波 setb ea setb tr1loop: jbc tf1 , loop1 ajmp looploop1: cpl p1.1 dec r4 djnz r4 ,loop mov 21h,#00h clr tr1 loop3: setb et0 ;開啟 t0 接收超聲波 setb ea setb tr0 loop5: jbc tf0,loop4 jnb p3.3,loop2 ajmp loop5loop4: inc 21h ;計時 mov th0,#0f3h mov tl0,#17h jnb p3.3,loop2 ajmp loop3loop2:
35、clr tr0 clr tr1 ret;-ds18b20 的溫度轉(zhuǎn)換子程序,具體時序請參考資料-get_temper: setb dq bcd: lcall init_18200 ;先復位 ds18b20 jb flag1,t_c0 ; 判斷 ds1820 是否存在?若ds18b20 不存在則返回 ljmp bcdt_c0: mov a,#0cch ; 跳過 rom 匹配 lcall write_18200 mov a,#44h ; 發(fā)出溫度轉(zhuǎn)換命令 lcall write_18200 lcall d1ms ;這里等待 ad 轉(zhuǎn)換結(jié)束,12 位的話要延時 750m 秒 bca: lcall i
36、nit_18200 ;先復位 ds18b20 jb flag1,abc ; 判斷 ds1820 是否存在?若ds18b20 不存在則返回 ljmp bca abc: lcall delay1 mov a,#0cch ; 跳過 rom 匹配 lcall write_18200 mov a,#0beh ; 發(fā)出讀溫度命令 lcall write_18200 lcall read_18200 ; 將讀出的溫度數(shù)據(jù)保存到28h(temper_h)和 29h(temper_l)處 ret ;-ds18b20 初始化- init_18200:setb dq nop clr dq mov r0,#80h ;
37、主機發(fā)出延時 96 微秒的復位低脈沖 tsr1: djnz r0,$ setb dq ;然后拉高數(shù)據(jù)線 nop nop nop mov r0,#25htsr2: djnz r0,tsr2 ;延時 jnb dq,tsr3 ;等待 ds18b20 回應 ljmp tsr4tsr3: setb flag1 ;置標志位,表示 ds1820 存在 ljmp tsr5tsr4: clr flag1 ;清標志位,表示 ds1820 不存在 ljmp tsr7tsr5: mov r0,#06bhtsr6: djnz r0,tsr6 ;時序要求延時一段時間 tsr7: setb dq ret;-寫 ds18b2
38、0 的子程序(有具體的時序要求)-write_18200:mov r2,#8 ;一共 8 位數(shù)據(jù) clr cwr0: clr dq mov r3,#6 djnz r3,$ rrc a mov dq,c ;寫入一位 mov r3,#23 djnz r3,$ setb dq nop nop djnz r2,wr0 setb dq ret;-讀 ds18b20 的程序,從 ds18b20 中讀出兩個字節(jié)的溫度數(shù)據(jù)-read_18200:mov r4,#2 ; 將溫度高位和低位從 ds18b20中讀出 mov r1,#temper_l ; 低位存入29h(temper_l)re0: mov r2,#8
39、re1: clr c setb dq nop nop clr dq nop nop setb dq mov r3,#7 djnz r3, $ mov c,dq mov r3,#23 djnz r3, $ rrc a djnz r2,re1 mov r1,a dec r1 ; 高位存入28h(temper_h) djnz r4,re0 ret;-整合讀出的兩字節(jié)溫度并轉(zhuǎn)為十進制儲存-temper_cov: mov a,29h anl a,#0f0h ;低字節(jié)低四位丟掉 swap a mov 29h,a mov a,28h anl a,#07h ;高字節(jié)高五位丟掉 swap a orl a,29h
40、 ;合并 mov temper_num,a mov a,temper_num mov b,#10 div ab mov 23h,b ;個位 mov b,#10 div ab mov 24h,b ;十位 mov 25h,a ;百位 mov a,29h anl a,#0fh ;小數(shù)位 mov b,#10 mul ab mov b,#10h div ab mov 21h,amov 22h,. ret;-計算距離并轉(zhuǎn)換成十進制儲存-distance_cov: mov a,temper_num mov b,#6 mul ab mov b,#10 div ab mov 30h,#31 add a,30h
41、mov b,#10 div ab mov 65h,b mov 66h,a mov a, 20h mov b,#2 div ab mov 20h,a mov b,#10 div ab mov 67h,b mov 68h,a mov b,66h mul ab mov b,#10 div ab mov 69h,b mov 70h,a mov a,65h mov b,68h mul ab mov 65h,a mov a,66h mov b,67h mul ab add a,65h mov b,#10 div ab add a,69h mov 69h,a mov a,#3 mov b,68h mul a
42、b add a,70h mov 70h,a mov a,#3 mov b,67h mul ab mov b,#10 div ab add a,70h mov 70h,a mov a,b add a,69h mov b,#10 div ab add a,70h mov 70h,a mov 69h,b mov b,#10div abmov 71h,bmov b,#10div abmov 72h,bmov 73h,a mov 70h,.mov 68h,m retdisplay0: clr en; ;lcd off lcall set_lcd ;lcd 初始化,并做顯示測試 mov r0,#5 ; 設
43、置要顯示的字符個數(shù) mov r1,#25h ;設置所要顯示 lcd 的位置mov a,r1 mov b,#15l1: lcall lcdp1 ; 在 lcd 第一行顯示字符 dec r1 inc b dec r0 djnz r0, l1mov r1,73hmov a,r1 mov r0,#6 mov b,#15l2: lcall lcdp2 ; 在 lcd 第二行顯示字符 dec r1inc bdjnz r0, l2sjmp $set_lcd: ;lcd 初始化,并做顯示測試clr enlcall init_lcd ;lcd 初始化mov r5,#10lcall delaymov dptr,#lmess1 ;指針指到顯示消息 1mov a,#1 ;在第一行顯示lcall lcd_print ;消息 1 顯示在第一行mov dptr,#lmess2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出售學校學區(qū)房合同范本
- 一建培訓合同范本
- 年度供貨合同范本
- 供銷總社采購合同范例
- 勞動工人合同范本
- 公司合作簽合同范本
- 中央新風合同范本
- 加盟飯店合同范本
- 中介房租合同范本
- app項目轉(zhuǎn)讓合同范本
- 社會階層與教育選擇行為分析-深度研究
- 社會工作行政(第三版)課件匯 時立榮 第6-11章 項目管理- 社會工作行政的挑戰(zhàn)、變革與數(shù)字化發(fā)展
- 學校小賣部承包合同范文
- 2025年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年湖南鐵道職業(yè)技術(shù)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- DB 63- T993-2011 三江源生態(tài)監(jiān)測技術(shù)規(guī)范
- 北京市東城區(qū)2025年公開招考539名社區(qū)工作者高頻重點提升(共500題)附帶答案詳解
- 2025福建福州地鐵集團限公司運營分公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 2025至2030年中國電子護眼臺燈數(shù)據(jù)監(jiān)測研究報告
- 兒童睡眠障礙治療
- 2025年浙江省溫州樂清市融媒體中心招聘4人歷年高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論