久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89C2051的超聲波測距系統

基于AT89C2051的超聲波測距系統

作者: 時間:2012-08-24 來源:網絡 收藏

3.3 數碼管顯示電路

數據顯示采用串行接口LED顯示驅動管理芯片MC14489,它的輸入端與CPU之間只有3條I/0口線相連。這3個端口是:使能端ENBLE、時鐘端CLOCK、數據端DATA IN,通過這3個端口寫控制字和數據。更新顯示寄存器的內容,需要傳送3個字節的信息,更新配置寄存器的內容僅需要傳送一個字節的信息。這種芯片可以顯示5位數碼管數據,本只用到了4位。驅動電壓為5 V,亮度調節通過 端口與地之間連接的電阻來調節,電阻增大亮度減小。顯示電路如圖6所示。

圖6 顯示電路
圖6 顯示電路

3.4 單片機

發射的被調制成包含40 kHz方波的具有一定時間間隔的矩形波脈沖信號,其發射、接收脈沖工作時序圖如圖7所示。由單片機的P1.7口控制H橋電路的使能端EN,送出40 kHz的脈沖信號,其脈沖寬度及脈沖間隔均由軟件控制。脈沖寬度約為125~200us,即在一個調制脈沖內包含5~8個40 kHz的方波。脈沖發送間隔取決于要求測量的最大距離。若在有效范圍內有被測物體,則在后一次束發出之前應當接收到前一次發射的反射波,否則認為前方無被測物體。因此,按有效范圍可以估算出最短的脈沖間隔發送時間。例如:最大范圍為10m時,脈沖間隔時間t:2s/v=2×10/340≈60ms,實際應取t≥60 ms.本系統為方便起見,選擇脈沖間隔定時器為65 ms.

圖7 發射和接收脈沖時序圖
圖7 發射和接收脈沖時序圖

3.5 串口輸出

MC14489可以通過和單片機串口進行通信,當顯示面板離主控制板較遠時,數據信號將會衰減,所以可通過串口來傳輸數據。

3.6 按鍵輸入

本系統可以設定距離值,當大于或小于設定值時將發出控制信號。P1.5、P1.6輸出高低電平,從而可以控制繼電器等外部設備。由3個按鍵設定距離值:S0的作用是進入和退出設定,S1和S2分別是向上加值和向下減值,每按一次加或減一厘米,由數碼管輸出顯示。

4 系統軟件設計

該系統軟件采用8051匯編語言編寫,主程序流程圖如圖8所示。單片機有2個外中斷口,分別用于接收回波中斷和按鍵輸人中斷,對應2個外中斷子程序。此外,還用到了內部中斷定時器, 它用于控制發送載波脈沖,如圖9所示。 定時器65 ms產生中斷一次,主要是發送載波脈沖和計數器清零。外中斷0將在有下降沿觸發時產生中斷,用于讀取定時器產生的計時值和使標志位置位。外中斷1是按鍵輸人中斷,用于提供比較值來輸出控制信號。S0第一次觸發為中斷產生信號,再次觸發則為輸入確定信號。S1和S2按鍵是輸入值增加和減少按鍵,它們通過判斷對應的10口狀態來確定是否輸入。

圖8 主程序流程圖
圖8 主程序流程圖



評論


相關推薦

技術專區

關閉