【正文】
可以靈敏地反應(yīng)水滴滴下。 步進電機驅(qū)動和控制 如圖 5 圖 5 聲光報警 當(dāng)檢測到液面低于 3cm 時由單片機采集到報警信號,由報警芯片發(fā)出聲光報警。 如圖 6 3 41B10111E891D12131F2 5 1035 1045 10178 05 0188 05 0281 21A5 61C5P 1 .7 91 0k81 0k101 0k121 0k131 0k111 0k141k195k22242325502650275067151k205k215k161kP 1 .6P 1 .5 abfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpabfcg deDPY1 2 3 4 5 6 7a b c d e f g8dpdpA1B2Q03Q14Q25Q36Q410Q511Q612Q713C L K8MR9A1B2Q03Q14Q25Q36Q410Q511Q612Q713C L K8MR9 4 .7 k 4 .7 k 4 .7 k 4 .7 k 4 .7 k 4 .7 k 4 .7 k 4 .7 k4 .7 kv c cv c c v c c v c c v c c v c c v c c v c cv c cv c c12456amp。 A123amp。A1 0 k1 0 k 1 0 k 1 0 kV C C V C C V C C V C C162738495J17 4 l S 2 17 4 L S 2 174LS0016416474LS21 主 控 站 1 號 從站 第 4 頁 共 18 頁 圖 6 四、 系統(tǒng)軟件工作流程 如圖 7 到 圖 12 軟件設(shè)計: 軟件部分參考流程圖,這里主要講述一下軟件編寫過程中的幾個細節(jié)部分。在每次傳感器送來中斷的時候調(diào)用“傳感測量”子程序,在該子程序中,我們在取當(dāng)前觸發(fā)時間時,先把上一個脈沖發(fā)生的時間保存在“歷史寄存器”中,然后再更新“當(dāng)前寄存器”的值,即取當(dāng)前脈沖的 發(fā)生時間。 歷史寄存器 當(dāng)前寄存器 基準時鐘 中斷前: 中斷時: 注:箭頭方向為中斷時的賦值方向 圖 7 由于基準時鐘是以 10 毫秒為最小單位的,而對于頻率范圍在 20Hz~150Hz 的脈沖而言,因為我們在后邊的求滴速中要用到 10 毫秒單位值,而水滴的下落并不能保證絕對的規(guī)則,經(jīng)測試發(fā)現(xiàn),每一次求差后的值總有幾個單位毫秒的變動,這個變動就導(dǎo)致了最終運算出來的滴速值的大幅度變化,后來驚 觀察發(fā)現(xiàn)這種誤差可以歸為周期性誤差,所以為了消除這個誤差,我們不是簡單地只取一個差值,相反,我們是取了 10 個差值,然后再求平均值,這樣處理的最大一個好處是可以使周期性誤差的正、負偏差互相抵消,在很大程度上消除上述誤差。所以在本系統(tǒng)中對于建立一個科學(xué)合理的系統(tǒng)模型是很有必要的。因為每檢測到一個傳感信號,我們就把設(shè)定值和當(dāng)前值進行比較,這樣不僅提高了設(shè)備的響應(yīng)速度,而且由于我們這個系統(tǒng)n1 n (n1) (n+1) 模擬從 站 第 5 頁 共 18 頁 的基準時鐘是以 10 毫秒為單位了,因為我們能分辨到 10 毫秒的數(shù)量級,可以 使當(dāng)前值非常接近我們所設(shè)定的設(shè)定值。(圖 12) 運算過程 :因為我們系統(tǒng)的基準時鐘是以 10 毫秒為單位了,雖然加大了系統(tǒng)的精度,但是卻給系統(tǒng)的數(shù)值運算帶來了麻煩,直接用四則運算(特別是乘除的運算)很容易帶來無法避免的運算誤差,即在運算是因為運算位數(shù)的限制而帶來的數(shù)據(jù)尾數(shù)的丟失。而且查表法的結(jié)果便于以后系統(tǒng)誤差的自我校正,因為它保存了一個恒值。通過對數(shù)據(jù)的觀察,我們發(fā)現(xiàn)雖然每個時間量有兩個字節(jié),但是在秒字節(jié)的單元里,總共只能出現(xiàn) 4 種取值,即 2 和 3 以及 0 ,所以我們可以以這 4 個值為標量對表格的數(shù)據(jù)進行劃分,由 于有了秒字節(jié)單元來做區(qū)分,我們只要在表格中寫入 10 毫秒字節(jié)單元的值就行了,通過綜合處理,在保證精度的基礎(chǔ)上,我們所建立的表格的字節(jié)數(shù)為 100 多個,這樣不僅滿足了 8 位單片機的查表范圍,而且大大了節(jié)省了內(nèi)存,有利于系統(tǒng)資源的優(yōu)化分配。通信協(xié)議如下:先發(fā)送握手信號,然后發(fā)送被呼叫的從機號,每個從機在接收到地址時跟自身的地址進行比較,如果不是被呼叫機,則關(guān)閉 通信鏈路;如果是則發(fā)送響應(yīng)信號。數(shù)據(jù)包格式如下: 程序流程圖 操作碼 操作數(shù) 第 6 頁 共 18 頁 圖 8 第 7 頁 共 18 頁 傳感測量: 時鐘: 圖 9 圖 10 第 8 頁 共 18 頁 鍵盤: 步進電機控制: 圖 11 圖 12 第 9 頁 共 18 頁 源程序 : 時間基準緩沖區(qū):秒 55h 秒 56h 鍵盤設(shè)置緩沖區(qū):秒 57h 秒 58h 傳感測量緩沖區(qū):前次 — 秒 51h 52h 當(dāng)前 — 秒 53h 54h 差值 — 秒 4fh 秒 50h 最終顯示緩沖區(qū):選擇值: 54h 測定值 5ah 5bh 5ch 設(shè)置值 5dh 5eh 5fh R4 用于步進電機的步進記憶 0000h ajmp main 0003h ajmp jpint 。t0 0013h ajmp cgint 。設(shè)置堆棧 mov 41h,00h mov 42h,00h