freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的超聲波液位控制器設計-資料下載頁

2025-06-22 19:43本頁面
  

【正文】 接口需要 22 根線,采用標準的 25 芯插頭。設計中實現(xiàn)了超聲波液位儀的遠程通訊功能,將單片機獲得的液位數(shù)據(jù)傳送到上位機,以便于工作人員的監(jiān)控和操作,并可將歷史數(shù)據(jù)存儲在 PC 機內(nèi),尤其適用于室外測量或惡劣環(huán)境下的測量,由此使得系統(tǒng)的應用范圍更廣。本系統(tǒng)采用的是 9 芯的 D 型RS232 連接器串行通訊,通訊距離最遠可達 15m。RS232 封裝如圖 所示。 MAX232 需要外界 4 只 電容,或者 1uF 的電解電容。之所以需要電容,是因為 RS232 電平是工作在大約9V~+9V 之間,需要把將 5V 電壓轉換成 RS232電平所需要的+10V 和10V。電路上形象地稱為電荷泵[31]。 設計中選用了 9 針的 D 型連接器,如圖 所示,并給出了 9 個引腳的功能。說明: 引腳 1:DCD,方向 I,載波檢測 引腳 2:RXD,方向 I,數(shù)據(jù)輸入 引腳 3:TXD,方向 O,數(shù)據(jù)輸出 引腳 4:DTR,方向 O,數(shù)據(jù)終端就緒 引腳 5:GND,地 引腳 6:DSR,方向 I,數(shù)據(jù)設備就緒 引腳 7:KTS,方向 O,請求發(fā)送 引腳 8:CTS,方向 I,清除發(fā)送 引腳 9:RI,方向 I,振鈴指示第四章 系統(tǒng)軟件設計 軟件總體設計 軟件設計流程圖 單片機液位儀的軟件功能是控制超聲波的發(fā)射和接收,對超聲波的傳輸時間進行測量,結合超聲波的傳播速度,計算出距離,并把數(shù)字濾波后的結果顯示出來。要實現(xiàn)上述功能,軟件包含初始化、參數(shù)讀入、超聲波發(fā)射、超聲波傳輸計時、聲速計算、超聲波傳輸距離計算、數(shù)字濾波、計算結果顯示等功能模塊。軟件總體流程圖,如圖 所示。目前單片機的主流編程語言有匯編語言和 C 語言兩種。匯編語言的優(yōu)點是程序效率高、代碼短,但存在可讀性可移植性差的缺點。C 語言的優(yōu)點是可讀性好、可移植性好的優(yōu)點,但存在代碼效率較低、代碼較長的缺點??紤]超聲波液位測量系統(tǒng)測量速度要求不高,數(shù)據(jù)計算量大的特點,超聲波液位測量系統(tǒng)采用 C 語言編寫。 軟件設計運用模塊化程序設計思想,對不同功能的程序進行分別編程,這樣不但使得整個軟件的層次和結構比較清晰,而且有利于軟件的調試和修改。 按照液位測量儀的需要,超聲波驅動與數(shù)據(jù)處理模塊主要任務是用單片機產(chǎn)生 40kHz 的脈沖,驅動超聲波探頭器發(fā)射超聲波,同時采用計數(shù)器計時;當超聲波接收器接收到回波信號時停止計時,由此得出超聲波的傳輸時間 T,再利用第二章所介紹的公式,可求出待測距離 h,由此算出液體的高度[33]。? 主程序結構流程圖 主程序是單片機程序的主體,它負責調用系統(tǒng)的子程序,中斷程序等各個功能轉換。如圖所示為系統(tǒng)的主程序流程。程序首先完成初始化過程,然后是一個重復的控制發(fā)射信號,而且每次發(fā)射周期結束都會判斷在發(fā)射信號后延時等待的過程中是否發(fā)生了中斷,即回波是否到達。 由于采用了單片機 89C51 并考慮整個系統(tǒng)的控制流程,整個系統(tǒng)軟件都由89C51 系列單片機 C 語言實現(xiàn)。由于距離值的得出及顯示是在中斷子程序中完成的,因此在初始化發(fā)射程序后進入中斷響應的等待。在中斷響應之后,原始數(shù)據(jù)經(jīng)計數(shù)值與距離值換算子程序,二進制與十進制轉換子程序后顯示輸出。 回波接收流程圖 中斷程序流程圖 中斷服務程序是響應單片機的外部中斷。在系統(tǒng)硬件中,發(fā)射的 40KHz 脈沖信號遇到障礙物反射后,經(jīng)接收檢測電路產(chǎn)生外中斷信號至單片機。在中斷服務 程序中,要從把進入中斷服務程序處的計數(shù)值讀出并保存在 RAM 中,再對該數(shù)據(jù)進行處理,計算得到相應的距離值,并轉換為十進制,最后顯示輸出。如圖 。 串行口通信流程圖 為了便于數(shù)據(jù)的存儲和管理,需要超聲波液位檢測儀與 PC 機進行通訊,將有關數(shù)據(jù)存入 PC 機中,操作人員可以通過這些數(shù)據(jù)清楚地了解當前的液位情況。本設計將串行口的工作方式定義為方式 1,這時它是一個 8 位的異步串行通訊口,TXD 為數(shù)據(jù)輸出線,RXD 為數(shù)據(jù)輸入線。由于此時單片機比較空閑,所以可以采用查詢方式進行通訊。在發(fā)送數(shù)據(jù)之前,先發(fā)一個字節(jié)的請求碼 0FFH,接收到上位機的應答后,向上位機發(fā)送數(shù)據(jù)的個數(shù),最后發(fā)送數(shù)據(jù)[35]。上位機接收完數(shù)據(jù)后,要向液位儀發(fā)送一個確認碼,如果接收的數(shù)據(jù)個數(shù)不對,則重新發(fā)送;若正確,則終止通訊,如圖 。 DS18B20 流程圖 該程序的主要功能是使用單片機和溫度傳感器完成對溫度的檢測和補償。通過 89C51 完成對 DS18B20 芯片的控制和數(shù)據(jù)傳輸。由于器件本身有嚴格的 時間配合,所以程序控制上比較復雜。DS18B20 總體流程圖,如圖 所示: 軟件程序調試 復位電路程序調試 void WTD_init() { uchar i。 uchar instr。 cs_feed=0。 // 用來寫 WREN 寫使能 instr=0x06。 for(i=0。i8。i++) { SCK=0。 SI=instramp。0x80。 SCK=1。 instr=1。 }器件 X5045 有一個寫使能鎖存功能,再一次寫操作開始以前這個鎖存必須被設置。如圖 。WREN 指令設置該鎖存,而 WRDI 指令將復位該鎖存。該鎖存在上電復位或一次有效地字節(jié)、頁或狀態(tài)寄存器的寫操作完成后自動復位,如果/WP引腳被拉低該鎖存也復位。當發(fā)出一個 WREN 或者 WRDI 指令時,不需要輸出一個字節(jié)的地址或數(shù)據(jù)。cs_feed=1。 _nop_()。 cs_feed=0。 //用來寫狀態(tài)寄存器指令 instr=0x01。 for(i=0。i8。i++) { SCK=0。 SI=instramp。0x80。 SCK=1。instr=1。 } instr=0x10。 //寫狀態(tài)寄存器 for(i=0。i8。i++) { SCK=0。 SI=instramp。0x80。 SCK=1。 instr=1。 } } 在寫數(shù)據(jù)到狀態(tài)寄存器之前,“寫使能”鎖存必須由 WREN 指令設置。先將/CS 引腳拉低以選通 X5045,然后輸出 WREN 指令之器件,然后再將/CS拉為高,禁止 X5045,這部分操作在函數(shù)寫使能中實現(xiàn)。之后再次拉低/CS 引腳以選通 X5045,先發(fā)送 WRSR 指令至器件,然后跟隨 8 位數(shù)據(jù),這 8 位數(shù)據(jù)相應于狀態(tài)鎖存器的內(nèi)容。該操作有/CS 變高來結束。如果在 WREN 和 WRSR 兩指令之間不講/CS 拉高,則 WRSR 指令將被忽略[31]。 發(fā)送和接收超聲波程序調試 開始發(fā)送超聲波 void send_wave( ) { uchar w。 START=0。 //開始發(fā)送脈沖 TR0=1。 for(w=0。w15。w++)//延時大約 100 us START=1。 //停止發(fā)送 for(w=0。w5。w++)。//延時等待超聲波探頭器EX0=1。//外部中斷 0 允許 } 89C51 單片機通過 端口,發(fā)送一連串脈沖,用來控制時間。啟動定時器 0,同時延時 100us 之后,當有接收到超聲波回波的時候,產(chǎn)生外部中斷信號,由單片機的端口 外部中斷 0 啟動。 超聲波返回中斷 讀取計數(shù)器中的值 void plus_count (void ) interrupt 0 using 0 { TR=0。 plus_data=TH0。 plus_data=8。 plus_data|=TL0。
點擊復制文檔內(nèi)容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1