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

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機的超聲波測距系統的研究與設計

基于51單片機的超聲波測距系統的研究與設計

作者: 時間:2011-12-05 來源:網絡 收藏
3.3 其他主要電路
(1)溫度測量部分。
由于聲音的速度在不同的溫度下有所不同,為提高系統的精度,采用了溫度補償功能。這里采用的主要元器件是是美國Dallas半導體公司生產的單總線數字溫度傳感器DS18B20,其具有精度高、智能化、體積小、線路簡單等特點。將DS18B20數據線與單片機的P1.1口相連,就可以實現溫度測量,如圖4所示。

(2)LCD顯示部分。
本設計顯示部分采用字符型TC1602液晶顯示所測距離值。TC1602顯示的容量為2行16個字。液晶顯示屏有微功耗、體積小、顯示內容豐富、超薄輕巧、使用方便等諸多優點,與數碼管相比,顯得更專業、美觀。使用時,可將P0與LCD的數據線相連,P2口與LCD的控制線相連,如圖5所示。

其中,TC1602第4腳RS為寄存器選擇,第5腳RW為讀寫信號線,第6腳E為使能端。第7~14腳:D0~D7為8位雙向數據線。這里要注意的是,為了布線方便,單片機端的D0~D7是接到LCD/602的D1~D0,正好相反,因此在編寫軟件時需要做處理,使讀取正確。
(3)報警部分。
采用一個蜂鳴器,由P1.2輸出一定頻率的信號,在連接到蜂鳴器之前,經過一個三極管9 012的放大。報警部分的連線,如圖6所示。

(4)電源電路:220 V經9 V變壓器降壓后,再經D1~D4橋式整流和7 805穩壓后給電路各部分供電。
(5)晶振電路:采用12 MHz的晶振。


4 軟件
系統軟件設計采用模塊化設計,主要包括主程序設計、T1中斷服務子程序、INT0外部中斷服務子程序、測溫子程序、距離計算子程序、顯示子程序、延時子程序和報警子程序設計等。
系統軟件編制時應考慮相關硬件的連線,同時還要進行存儲空間、寄存器以及定時器和外部中斷引腳的分配和使用。本設計中P1.0引腳連接到7 HC04推挽放大電路再連接到超聲波發射傳感器,P1.0引腳輸出的將是軟件方式產生的40 kHz方波,而P3.2(INT0)則被用來接收回波。定時器T1,T0均工作在工作方式1,為16位計數,T1定時器被用來開啟一次測距過程以它的溢出為標志開始一個發射測量循環,T0定時器是用來計算脈沖往返時間,它們的初值均設為0。
系統初始化后就啟動定時器T1從0開始計數,此時主程序進入等待,當到達65 ms時T1溢出進入T1中斷服務子程序;在T1中斷服務子程序中將啟動一次新的超聲波發射,此時將在P1.0引腳上開始產生40 kHz的方波,同時開啟定時器T0計時,為了避免直射波的繞射,需要延遲1 ms后再開INT0中斷允許;INT0中斷允許打開后,若此時P3.2(INT0)引腳出現低電平則代表收到回波信號,將提出中斷請求進入INT0中斷服務子程序,在INT0中斷服務子程序中將停止定時器T0計時,讀取定時器T0時間值到相應的存儲區,同時設置接收成功標志;主程序一旦檢測到接收成功標志,將調用測溫子程序,采集超聲波測距時的環境溫度,并換算出準確的聲速,存儲到RAM存儲單元中;單片機再調用距離計算子程序進行計算,計算出傳感器到目標物體之間的距離;此后主程序調用顯示子程序進行顯示;若超過設定的最小報警距離還將啟動揚聲器報警;當一次發射、接收、顯示的過程完成后,系統將延遲100 ms重新讓T1置初值,再次啟動T1以溢出,進入下一次測距。如果由于障礙物過遠,超出量程,以致在T0溢出時尚未接收到回波,則顯示“ERROR”重新回到主流程進入新一輪測試。主程序和定時器T1、外部中斷INT0中斷服務子程序的框圖分別,如圖7~圖9所示。

蜂鳴器相關文章:蜂鳴器原理


評論


相關推薦

技術專區

關閉