【正文】
發(fā)送顯示相應(yīng)字形 LCALL DL1MS INC R1 PLAY4:MOV A, R1 。*********右移 10 次 程序 ********* RIGHT: MOV R4, 10 LOOP: MOV R0, 46H MOV A, R0 RR A DEC R0 MOV A, R0 RRC A DEC R0 MOV A, R0 RRC A INC R0 INC R0 DJNZ R4, LOOP RET 。 口由低電平變?yōu)楦唠娖綍r(shí)開(kāi)啟計(jì)數(shù)器 T0 LOP2; JB , LOP2 CLR TR0 。此外,在吳老師的實(shí)驗(yàn)室里,我還有幸掌握了一些其他設(shè)備的使用和操作方法,學(xué)到了一些吳老師所做科研項(xiàng)目的知識(shí),相信這些都是我在別處無(wú)法學(xué)到的。經(jīng)過(guò)多次檢測(cè),我們可以檢測(cè)到 口出現(xiàn)了 30 多微秒的高電平信號(hào),即程序給超聲波測(cè)距模塊送了觸發(fā)信號(hào)。 18 距 離 結(jié) 果 按 位 取 相 應(yīng) 數(shù) 字按 位 查 表 轉(zhuǎn) 換 成 相 應(yīng) B C D 碼選 通 第 一 位 數(shù) 碼 管 顯 示 相 應(yīng) 數(shù) 字掃 描 顯 示 下 一 位 數(shù) 碼 管 , 延 時(shí) 1 m s判 斷 數(shù) 碼 管 是 否掃 描 完延 時(shí) 1 m sNY開(kāi) 始 圖 數(shù)碼管顯示流程圖 5 系統(tǒng)調(diào)試與分析 系統(tǒng)的硬件部分包含兩大部分: HC— SR04 超聲波測(cè)距模塊和單片機(jī)開(kāi)發(fā)板。讀取數(shù)據(jù) RRC A MOV R7, 60 。送出命令 LCALL DS18B20_ReadByte 。其工作流程大致如下:上電啟動(dòng)后通過(guò)單片機(jī)初始化 DS18B20,然后檢測(cè)設(shè)備是否存在,若存在則發(fā)送 ROM 命令,然后發(fā)送溫度轉(zhuǎn)換命令獲取溫度值。 無(wú)論是上述哪種原理的溫度傳感器,其主要都是將溫度信號(hào)轉(zhuǎn)化為可以測(cè)量的 11 電 信號(hào),再經(jīng)過(guò)相應(yīng)的信號(hào)放大電路放大到合適值范圍,再經(jīng) A/D 轉(zhuǎn)換將測(cè)量信號(hào)轉(zhuǎn)化為數(shù)字量顯示出來(lái)。在系統(tǒng)中,單片機(jī)的 — 口分別對(duì)應(yīng)連接每個(gè)數(shù)碼管的 a、 b、 c、 d、 e、 f、 g、 dp 的陽(yáng)極,當(dāng)相應(yīng) P0 口輸出高電平時(shí)相 應(yīng)的發(fā)光二級(jí)管就會(huì)亮,從而顯示出對(duì)應(yīng)的數(shù)值。 ( 3) 串口部分:在此著重介紹在系統(tǒng)設(shè)計(jì)中用到的 P0、 P P2 口相關(guān)串口。該模塊主要是利用超聲波的測(cè)距原理,適用于 2cm~450cm 的非接觸測(cè)量。 對(duì)于超聲波的傳播速度 V 的溫度補(bǔ)償問(wèn)題,可以通過(guò)溫度傳感器與單片機(jī)連接,實(shí)時(shí)測(cè)得溫度值并通過(guò)公式 V=+ 來(lái)修正速度 V[13]。而超聲波測(cè)距卻可實(shí)現(xiàn)精確測(cè)距,改善了系統(tǒng)的精度。在水利水電、污水處理領(lǐng)域,利用測(cè)距技術(shù)可對(duì)水面高度實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)。 在冶金、物料液位、管道 等不宜直接接觸的場(chǎng)合,非接觸式測(cè)量技術(shù)發(fā)揮了重要作用。因此 ,無(wú)論是工業(yè)現(xiàn)場(chǎng)控制,還是人們的日常生活中,超聲波的應(yīng)用已經(jīng)很成熟 。 文中設(shè)計(jì) 系統(tǒng)的 控制框圖 (如 圖 ) 。該模塊有 4 個(gè)引腳,分別是 VCC、 Trig、 Echo、 GND,實(shí)物圖(如圖 ) 。 8 — P0 口可以作為標(biāo)準(zhǔn)的 8位輸入 /輸出口,此時(shí)內(nèi)部有弱上拉電阻而無(wú)需外接上拉電阻。 在利用單片機(jī)的數(shù)碼管顯示時(shí)有兩種顯示方式可選,即數(shù)碼管的動(dòng)態(tài)顯示和靜態(tài)顯示。與這些溫度傳感器相比,半導(dǎo)體集成數(shù)字傳感器因自帶 A/D轉(zhuǎn)換部分而是應(yīng)用電路設(shè)計(jì)更趨簡(jiǎn)單。溫度采集程序流程圖如下圖 所示。讀溫度低字節(jié) MOV TPL, A 。等待時(shí)間片結(jié)束 LCALL DelayXus DJNZ 0, ReadNext POP 0 RET ; ************************************** ;向 DS18B20 寫(xiě) 1字節(jié)數(shù)據(jù) ; ************************************** DS18B20_WriteByte: PUSH 0 MOV 0, 8 。弄清開(kāi)發(fā)板上的元件電氣連接后,將 STC12C5A08S2 單片機(jī)芯片正確插入鎖緊插座,用四根連接線分別將 HC— SR04 模塊的 VCC 和 GND 端接單片機(jī)的 VCC 和 GND 端,將Trig 端接至單片機(jī)的 口, Echo 接單片機(jī)的 口。然而 口卻一直是低電平信號(hào),即超聲波測(cè)距模塊并沒(méi)有返回回波信號(hào),因此可以推斷導(dǎo)致測(cè)試失敗的 原因可能 是 超聲波測(cè)距模塊 內(nèi)部觸發(fā)無(wú)法響應(yīng) 的問(wèn)題。在此我由衷的感謝吳老師的耐心指導(dǎo)和幫助,相信在以后的工作和學(xué)習(xí)中我會(huì)努力做到更好。 口由高電平變?yōu)榈碗娖綍r(shí)停止計(jì)數(shù) START2: MOV A, TH0 MOV R7, A MOV A, TL0 MOV R6, A MOV R5, 11H LCALL WORK 。*********顯示子程序 ********* DISPLAY: MOV P0, 00H MOV P2, 0FFH MOV R1, 40H 27 PLAY1: MOV A,R1 。取要顯示的數(shù)作查表偏移量 MOV DPTR, TAB 。選通第三個(gè)數(shù)碼管 MOV P0, A 。acH+進(jìn)位和送入 46H 單元內(nèi) LCALL RIGHT RET 。給 口送至少 20uS 的高電平信號(hào) 啟動(dòng)測(cè)距模塊 LOP1: JNB , LOP1 SETB TR0 。吳老師不僅給我輔導(dǎo)了系統(tǒng)設(shè)計(jì)原理和單片機(jī)的相關(guān)知識(shí),還為我提供了很多硬件設(shè)備幫助我更好的了解系統(tǒng)的工作原理,對(duì)我的畢業(yè)設(shè)計(jì)有很大的幫 助。調(diào)試結(jié)果 ( 如圖 所示 ) 。其程序流程圖 (如 圖 ) 。準(zhǔn)備接收 MOV R7, 1 LCALL DelayXus MOV C, DQ 。讀暫存存儲(chǔ)器 LCALL DS18B20_WriteByte 。 單 片 機(jī) 初 始 化超 聲 波 模 塊 復(fù) 位給 H C S R 0 4 送 2 0 u S 的 T T L檢 測(cè) P 2 . 4 口 電 平 變 化 , 為 高 電 平 時(shí) 啟 動(dòng) T 0P 2 . 4 口 由 高 變 低 時(shí) 關(guān) T 0計(jì) 算 距 離 S延 時(shí)數(shù) 碼 管 顯 示 結(jié) 果開(kāi) 始 13 圖 主程序流程圖 子程序設(shè)計(jì) 溫度采集程序設(shè)計(jì) 單片機(jī)上電復(fù)位后,需對(duì)傳感器 DS18B20 執(zhí)行復(fù)位命令并開(kāi)始采集溫度數(shù)值。 C[9]。每個(gè)數(shù)碼管都有一個(gè)公共的外部選通端 COM,當(dāng)選擇共陰極連接時(shí), 8 個(gè)發(fā)光二級(jí)管的陰極都連接到 COM 端。 XTAL2 則是內(nèi)部時(shí)鐘電路反相放大器的輸出端,和 外部晶振的另一端 相連 ,當(dāng)直接使用外部時(shí)鐘電源時(shí),此引腳可懸空,此時(shí) XTAL2 實(shí)際將 XTAL1 輸入的時(shí)鐘進(jìn)行輸出( STC12C5A08S2 應(yīng)用技術(shù)手冊(cè))。 HC— SR04 超聲波測(cè)距模塊簡(jiǎn)介 HC— SR04 超聲波測(cè)距模塊主要包括超聲波發(fā)射器、超生波接收器和相關(guān)的控制電路。采用硬件設(shè)計(jì)和軟件設(shè)計(jì)相結(jié)合的方式,選用單片機(jī)為 微 控制器,超聲波發(fā)射和接收器分別通過(guò)相應(yīng)電路與單片機(jī)相連, 這樣就可以 通過(guò)單片機(jī) 來(lái)控制超聲波的發(fā)射和接收 ,并利用單片機(jī)的內(nèi)部定時(shí)器 /計(jì)數(shù)器 計(jì)算超聲波的傳輸時(shí)間t。這些方法同 早 期 的機(jī)械測(cè)量相比,運(yùn)用比較簡(jiǎn)單,但大都采用了如壓力值、電氣量等中間量來(lái)反映液位值,增加了測(cè)量誤差。 關(guān)鍵詞: 超聲波測(cè)距 STC12C5A08S2 溫度補(bǔ)償 液位測(cè)距系統(tǒng) II Title Design of liquid level based on ultrasonic distance measurement system Abstract This article designs a liquid level measurement system which is based on the principle of ultrasonic distance measurement. The system takes STC12C5A08S2 as the core of the system controller. The SCM provides control signals for ultrasonic distance measurement modules, and starts the monolithic integrated circuit internal timer to work while emitting ultrasonic. Ultrasonic reflection echo after the munication obstacles in the air, and the SCM stops timing when the echo signal is detected by the ultrasonic receiver. According to the formula: S=Vt/2, the liquid level distance is calculated. The system is designed to focus on the time and temperature pensation of ultrasonic distance measurement. The temperature value is collected in the SCM through the temperature sensor, undergoing a certain numerical correction to get the ultrasonic wave propagation velocity under the temperature. This article uses a bination of hardware and software design. In software, we use assembly language to program. Full use of Assembly language reference table advantages in data processing, we established the speed correction table and the digital display values table which can be convenient and clear for data processing and display. Keywords: Ultrasonic distancemeasuring; STC12C5A08S2; Temperature pensation; Li