【正文】
al interrupt 1 12 jnb , right。 pin to 0, to the left ranging circuit interrupt service routine return: SETB EX1。 right location entrance circuit interrupt service routine Ajmp Return left: ...。 related external interrupt 0 MOV R7, TH0。 calculate the time difference MOV 31H, A。 open external interrupt 0 POP ACC POP PSW RETI For a flat target, a distance measurement consists of two phases: a coarse measurement and. a fine measurement: Step 1: Transmission of one pulse train to produce a simple ultrasonic wave. Step 2: Changing the gain of both echo amplifiers according to equation , until the echo is detected. Step 3: Detection of the amplitudes and zerocrossing times of both echoes. Step 4: Setting the gains of both echo amplifiers to normalize the output at, say 3 volts. Setting the period of the next pulses according to the : period of echoes. Setting the time window according to the data of step 2. Step 5: Sending two pulse trains to produce an interfered wave. Testing the zerocrossing times and amplitudes of the echoes. If phase inversion occurs in the echo, determine to otherwise calculate to by interpolation using the amplitudes near the trough. Derive t sub m1 and t sub m2 . Step 6: Calculation of the distance y using equation . 4. The ultrasonic ranging system software design Software is divided into two parts, the main program and interrupt service routine. Completion of the work of the main program is initialized, each sequence of ultrasonic transmitting and receiving control. Interrupt service routines from time to time to plete three of the rotation direction of ultrasonic launch, the main external interrupt service subroutine to read the value of pletion time, distance calculation, the results of the output and so on. 5. Conclusions Required measuring range of 30cm ~ 200cm objects inside the plane to do a number of measurements found that the maximum error is , and good reproducibility. 14 Singlechip design can be seen on the ultrasonic ranging system has a hardware structure is simple, reliable, small features such as measurement error. Therefore, it can be used not only for mobile robot can be used in other detection systems. Thoughts: As for why the receiver do not have the transistor amplifier circuit, because the magnification well, integrated amplifier, but also with automatic gain control level, magnification to 76dB, the center frequency is 38k to 40k, is exactly resonant ultrasonic sensors frequency.15 AT89C2051 微控制器的指令 一、 特點 ?兼容 MCS 51 產(chǎn)品 ?2 個字節(jié)的可再編程閃存 耐力擦 寫 /擦除周期 ?2. 7 V至 6 V工作范圍 ?全靜態(tài)操作 0 Hz 至 24 MHz 的 ?兩級程序存儲器鎖定 ?128 8 位內(nèi)部 RAM ?15 個可編程 I / O 線 ?2 個 16 位定時器 /計數(shù)器 ?六個中斷源 ?可編程串行 UART 通道 ?直接 LED 驅(qū)動輸出 ?片上模擬比較器 ?低功耗空閑和掉電模式 二、 說明 該 AT89C2051 是一個低電壓,高性能 CMOS 8 位 2 Kby 172。 tured 采用 Atmel 的高密度非易失性內(nèi)存技術(shù),并與兼容的工商業(yè)污水附加費微機工業(yè)標(biāo)準 MCS 51 指令集,并通過結(jié)合在一個通用的單芯片閃存的 8 位 CPU引腳, Atmel 的 AT89C2051 是一種功能強大的微機提供了高度靈活和成本效益的解決方案,許多嵌入式控制應(yīng)用 該 AT89C2051 提供以下標(biāo)準功能 2 字節(jié)的閃存, 128 字節(jié) RAM, 15 I / O 線,兩個 16 位定時器 /計數(shù)器,一個五向量 2 級中斷結(jié)構(gòu),一個全雙工串行口,一個精密模擬比較器,片上振蕩器和 時鐘電路此外,該 AT89C2051 的設(shè)計與操作頻率下降到零靜態(tài)邏輯,支持兩種軟件可選的節(jié)電模式空閑模式時 CPU停止工作,同時允許RAM,定時 /計數(shù)器,串行口和中斷系統(tǒng)繼續(xù)工作暫停模式保存 RAM 的內(nèi)容,但凍結(jié),直到下一個硬件復(fù)位振蕩器禁用所有其他芯片功能 三、引腳配置 16 四、引腳說明 VCC 電源電壓 GND 接地 端口 1 端口 1 是一個 8 位雙向 I / O 端口端口引腳 P1 2 至 7 提供 P1 P1 和 P1 0 1 0 內(nèi)部上拉需要 P1 和 P1 1 外部上拉也可作為正輸入( AIN0)和負輸入( AIN1 ),分別對片 內(nèi)精密模擬比較器的端口 1 輸出緩沖器可以吸收 20mA 的電流,并且可以直接驅(qū)動 LED 時 1 秒寫入端口 1 引腳,它們可以作為輸入引腳 P1 2 時至 P17 頃作為輸入,并從外部拉低,將輸出電流( IIL)由于內(nèi)部上拉在端口 1 也接收 片內(nèi) Flash 存儲 。構(gòu)成我 / O 引腳的 3 口輸出緩沖器可吸收 20mA 當(dāng) 1 秒寫入端口 3 他們拉高內(nèi)部上拉,可作為作為輸入, 3 口被外部拉低的引腳為低電平輸 入的引腳將輸出電流( IIL)由于上拉在端口 3 也接收片內(nèi) Flash 存儲。 quirements對外部時鐘信號的占空比,由于內(nèi)部時鐘電路的輸入通過鴻溝 172。 六、 特殊功能寄存器 一個片上內(nèi)存區(qū)域的地圖稱為特殊功能寄存器( SFR)空間中的表所示請注意,并非所有的地址都被占用,并無人居住地址可能無法在芯片上實現(xiàn)的讀取訪問這些地址 。 BER 它包含 2 閃 存程序存儲器,是完全與 MCS 51 架構(gòu)兼容,并能進行編程使用 。操作之一時,必須牢記某些指令計劃利用此裝置有關(guān)的所有分支指令跳躍或應(yīng)限制在物理方案的設(shè)備,這是 2K 的AT89C2051。軟件例如程序員的內(nèi)存空間,這樣的目標(biāo)地址瀑布, LJMP 7E0H 會是為 AT89C2051( 2K的內(nèi)存)有效指令,而 LJMP 900H 不會 1 分支指令 。 rectly 只要記住保持程序員的目的地 172。 地址必須在程序存儲器的大?。ㄎ恢脼?00H 的 89C2051 7FFH)的物理邊界下降違反物理空間限制可能導(dǎo)致聯(lián)合國 172。 CJNE [], DJNZ [], JB, JNB, JC, JNC, JBC, JZ, JNZ 有了這些條件分支指令上述 AP 172。 ratic 執(zhí)行 。冰例行的 80C51 系列架構(gòu)地址位置已被保存 。 一個典型的 80C51 匯編器將仍然組裝說明,即使是在它上面提到的限制是違反書面控制器的用戶有責(zé)任了解的物理特性和所使用的設(shè)備限制,并調(diào)整相應(yīng)的使用說明 。 九、 空閑模式 在空閑模式下 , CPU進入睡眠狀態(tài),而所有片上外設(shè)仍然有效的模式是通過軟件調(diào) 用的片上 RAM 的內(nèi)容,包括所有的特殊功能寄存器保持不變,在此模式空閑模式可以被終止任何使能的中斷或硬件復(fù)位 。139。 lowing 一個調(diào)用不應(yīng)該是一個空閑寫入到端口引腳或外部存儲器 。結(jié)構(gòu)形式的調(diào)用斷電是最后一個指令 EXE 172。139。 十一、 Flash 進行編程 該 AT89C2051 是隨片上 PEROM 代碼存儲陣列的 2 千字節(jié)的擦除狀態(tài)(即,內(nèi)19 容 = FFH),并準備進行編程代碼存儲器陣列的編程以一次一個字節(jié)數(shù)組一旦被編程,以重新編程的任何非空白字節(jié),整個存儲器陣列需要電擦除內(nèi)部地址計數(shù)器的 。 ternal PEROM 地址計數(shù)器它總是在 RST 復(fù)位的上升沿000H,并通過應(yīng)用了正脈沖引腳 XTAL1 先進規(guī)劃算法程序的 AT89C2051,按下列順序推薦 。 SET 引腳 RST 為“ H” SET 引腳 P3 2“ H” 。編程作業(yè)在 PEROM 編程模式表所示編程和驗證陣列 。 cally需要 1 2 毫秒 。 要程序中的下一個地址字節(jié)的位置,脈沖 XTAL1 腳一次推進內(nèi)部地址計數(shù)器將新數(shù)據(jù)到 P1 口引腳 。 斷電序列設(shè)置 XTAL1 為“ L”設(shè)置 RST 為“ L”浮法所有其他 I / O 引腳切斷VCC 數(shù)據(jù)輪詢 AT89C2051 功能數(shù)據(jù)輪詢悠 172。編程代碼數(shù)據(jù)可以回讀通過的veri 172。 1 復(fù)位內(nèi)部地址計數(shù)器 000H 通過把“ L” RST 為“ H” 20 2 申請讀代碼數(shù)據(jù)相應(yīng)的控制信號,并在讀 P1 口引腳的輸出數(shù)據(jù) 3 脈沖引腳 XTAL1 一次推進內(nèi)部地址計數(shù)器 4 閱讀的 P1 口引腳 5 重復(fù)步驟 3 和 4 的下一個代 碼數(shù)據(jù)字節(jié),直到整個數(shù)組讀 鎖定位不能直接驗證的鎖位驗證是通過觀察他們的特點是啟用芯片擦除整個PEROM 陣列( 2 字節(jié))和兩個鎖定位的電擦除通過使用適當(dāng)?shù)目刂菩盘柦M合 172。 ( 000H) = 1EH 表示由 Atmel 公司( 001H) = 21H 表示制造 89C2051 編程接口 閃存陣列中的每個字節(jié)代碼可以寫入和可擦除整個陣列使用適當(dāng)?shù)臐舛瓤刂菩盘柕慕M合 172。 itiated,時間本身將自動完成所有主要的編程供應(yīng)商提供的愛特梅爾微控制器系列的全球支持,請聯(lián)系相應(yīng)的軟件修改您的當(dāng)?shù)赜H 172。因此,深入研究超聲的測距理論和方 法具有重要的實踐意義。 關(guān)鍵詞: 超聲波,測距儀,單片機 前言 隨著科技的發(fā)展,人們生活水平的提高,城市發(fā)展建設(shè)加快,城市給排水系統(tǒng)也有較大發(fā)展,其狀況不斷改善。因此,經(jīng)常出現(xiàn)開挖已經(jīng)建設(shè)好的建筑設(shè)施來改造排水系統(tǒng)的現(xiàn)象。而設(shè)計研制箱涵排水疏通移動機器人的自動控制系統(tǒng),保證機器人在箱涵中自由排污疏通,是箱涵排污疏通機器人的設(shè)計研制的核心部分。 因此,設(shè)計好的 超聲波測距儀 就顯得非常重要了。超聲波發(fā)生器內(nèi)部結(jié)構(gòu),它有兩個壓電晶片和一個共振板。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波 時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為