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

正文內(nèi)容

軟件——基于單片機的智能水表的設(shè)計-資料下載頁

2024-11-07 20:31本頁面

【導讀】收費問題帶來的糾紛,用現(xiàn)代科學技術(shù)手段改變自來水管理體制的落后現(xiàn)狀,勢在必行。水創(chuàng)造了條件,由于這些特點,智能水表得到了越來越廣泛的應(yīng)用。本文對每個模塊逐一進行了研究,全面詳細地論述了硬件電路的設(shè)計流程,對。能進行了詳細了說明。

  

【正文】 工作方式(即對稱驅(qū)動方式),當水表葉輪轉(zhuǎn)動一周,觸發(fā)磁場極性變化一周,韋根傳感器輸出一對正負雙向脈沖電信號。當韋根傳感器輸出為正向脈沖時, NPN 管導通,脈沖檢測信號 W_IN 輸出為高電平;當韋根傳感器基于單片機的智能水表的設(shè)計 14 輸出為負向脈沖時, NPN 管截止,脈沖檢測信號 W_IN 輸出為低電平。即水表葉輪轉(zhuǎn)動一周,脈沖檢測信號 W_IN 存在一個由高到低的跳變。由于我們設(shè)定外部中斷 0INT ( )為跳變觸發(fā)方式,即電平發(fā)生由高到低的跳變時觸發(fā)。因此,水表葉輪轉(zhuǎn)動一周,外部中斷0INT 產(chǎn)生一次中斷 [5]。 基于單片機的智能水表的設(shè)計 15 第 3 章 智能水表的軟件設(shè)計 本文在進行智能水表的軟件設(shè)計時,結(jié)合智能水表具備的功能,首先考慮了以下幾個問題: (1)程序承擔的任務(wù):任何一個程序的設(shè)計,都有其具體的應(yīng)用場合和明確的工藝要求,程序設(shè)計的首要任務(wù)就是確定程序承擔的任務(wù); (2)程序的時序性:單片機是按時序運行的,所以程序設(shè)計要考慮到任務(wù)的執(zhí)行順序和時間要求; (3)程序的適應(yīng)性:所謂適應(yīng)性,就是要求設(shè)計出來的程序具有靈活性,主要考慮將來系統(tǒng)擴展時必要的修改,增加通用性; (4)程序的設(shè)計模式:程序的設(shè)計模式直接影響著程序的編制、糾錯及測試的難易度。 本文采用模塊化設(shè)計思想,將一個完整的程序分成若干個可以獨立完成某些任務(wù)的功能模塊,各模塊又分為若干子模塊,各子模塊之間相互獨立,又受主程序模塊的控制。使整個系統(tǒng)層次分明,邏輯清楚,便于程序的編制、調(diào)試、修改和查錯。利用模塊化技術(shù),可以將錯誤局限在各個模塊內(nèi)部而不影響整體,提高了系統(tǒng)的可靠性、靈活性和可維護性。 在本 次設(shè)計過程中, CPU 平時處于低功耗模式,當有中斷發(fā)生時,喚醒 CPU 進行中斷處理,處理完成后又進入低功耗模式。當系統(tǒng)時鐘發(fā)生器基本功能建立后, CPU 內(nèi)狀態(tài)寄存器 SR 中的 SCG SCG OSC OFF 位是重要的低功耗控制位。這四個控制位可以由軟件配置成 6 種工作模式:其中 1 種活動模式和 5 種低功耗模式。通過設(shè)置控制位 AT89C2051可以從活動模式進入相應(yīng)的低功耗模式,只要任意中斷被響應(yīng),上述中斷控制位就被壓入堆棧保存,中斷處理后,又可以恢復(fù)先前的工作方式。此外,在進行程序設(shè)計時,還應(yīng)注意以下問題 (1)用可計 算的分支代替標志位測試產(chǎn)生的分支; (2)用快速查表代替冗長的軟件計算; (3)在冗長的軟件計算中使用單周期的 CPU 寄存器; (4)避免頻繁的子程序和函數(shù)調(diào)用 [15]。 根據(jù)智能網(wǎng)絡(luò)水表所要實現(xiàn)的功能,軟件組成主要包括:主程序設(shè)計、中斷服務(wù)程序、各子程序等組成。 主程序的設(shè)計 主程序主要完成系統(tǒng)的初始化,各種情況的判斷如電壓情況、按鍵是否按下、水量判斷等,在適當情況下還要進行顯示、關(guān)閉閥門等操作,平時處于睡眠狀態(tài)。當表內(nèi)剩余水量小基于單片機的智能水表的設(shè)計 16 于 5 m3 時, 閥門暫時關(guān)閉以代替 蜂鳴器發(fā)出提示報警,以提醒用戶剩余水量 不多,請速購水;當表內(nèi)剩余水量為 0 m3 時,切斷閥門,停止供水,直到新的水量被購來為止。從而達到用水必須預(yù)先交費的目的,省去了人工抄表收費環(huán)節(jié)。主程序的流程圖如圖 所示 [1618]. 初 始 化讀 取 E E P R O M中 信 息置 電 壓 低 標 志調(diào) 用 顯 示 程 序調(diào) 用 卡 處 理 程 序關(guān) 閉 閥 門進 入 睡 眠睡 眠 處 理報 警 提 示按 鍵 按 下 ?電 壓 過 低 ?有 卡 插 入 ?有 流 量 傳 感 信 號 ?剩 余 水 量 為 0信 號 有 效 ?剩 余 水 量 不 足 ?扣 水 處 理Y E SN OY E SN OY E SN OY E SN OY E SN OY E SN OY E SN O置 拆 卸 標 志表 被 拆 卸 ?N OY E S上 電 復(fù) 位 圖 基于單片機的智能水表的設(shè)計 17 中斷服務(wù)程序設(shè)計 在軟件設(shè)計中,采用中斷方式是降低功耗的重要手段。由于平時智能水表處于低功耗模式,當水表進行采集數(shù)據(jù)、數(shù)據(jù)通信等工作時,進入中斷程序進行處理。當中斷處理完成后,重新進入到低功耗模式。在本次設(shè)計中,中斷服務(wù)程序包括水表計 量中斷、干擾中斷、欠壓中斷、拆除中斷、通信中斷等。中斷服務(wù)程序的流程圖如圖 所示。 圖 中斷程序流程圖 外部中斷 0服務(wù)程序 外部中斷 0 子程序也即水表脈沖計量程序,它 主 要是對用戶水量進行處理。當用戶在進基于單片機的智能水表的設(shè)計 18 行用水操作時,由流量傳感器產(chǎn)生的脈沖信號使 0INT 進入中斷響應(yīng)程序。 根據(jù)機械水表的測量原理,水的流量與水表齒輪的轉(zhuǎn)速可以近似成一定的線性關(guān)系。顯然,水表齒輪所轉(zhuǎn)的圈數(shù)與傳感器產(chǎn)生的脈沖信號是一一對應(yīng)的關(guān)系。根據(jù)這一原理,我們可確定流量的計 算公式 : Q K N?? ???????????? () 在式 ()中, Q 為流量,單位為 m3; K 為基表系數(shù),單位為 m3/ r; N 為轉(zhuǎn)數(shù),單位為r。在這里,由于 K(基表系數(shù))是一個常數(shù)。因此, Q 與 N 是一一對應(yīng)關(guān)系。我們采用了6 位數(shù)據(jù)顯示,其中只含有一位小數(shù)。當 Q 為 ,由于 K 已知, N 即可以求出。在本系統(tǒng)編程中,我們設(shè)定 M 為測得脈沖數(shù), N 為 Q 為 時對應(yīng)的轉(zhuǎn)數(shù)值,“剩余水量 1,用水總量 +1”中的“ 1”表示 [3]。其具體流程圖如圖 所示。 0IN T 保 護 內(nèi) 容 進 棧M = M + 1M = N ?剩 余 水 量 1用 水 總 量 + 1剩 余 水 量 為 0 ?剩 余 水 量 小 于 5 噸 ?關(guān) 閉 閥 門 顯 示 警 告保 護 內(nèi) 容 出 棧中 斷 返 回關(guān) 閉 閥 門 停 止 供 水N ON ON ON OY E SY E SY E S 圖 外部中斷 0INT 服務(wù)程序 基于單片機的智能水表的設(shè)計 19 在上述程序設(shè)計中,當剩余水量小于 5 噸時,閥門亦將關(guān)閉,而不是進行報警提示, 當再次刷卡時閥門再次打開, 其目的在于避免 采用 報警信號 方式當報警 發(fā)出時用戶不在家接收不到報警信號而報警器處于工作當中,以關(guān)閉閥門來進行報警提示代替純報警信號將更有效地達到預(yù)警效果,不但避免了突然斷水對用戶帶來的不便, 而且降低了水表功耗,此外還 提高了供水部門的管理效率。 此處中,當插入 IC 卡時, 水表液晶顯示中將顯示用水余額等信息,提示用戶盡快購水。 外部中斷 1服務(wù)程序 以下四種情況均可以使 1INT 產(chǎn)生中斷: (1) 水表被拆卸; (2) 電池欠壓或取出電池; (3) 有按鍵按下; (4) 有 IC 卡插入。當產(chǎn)生中斷后,中斷程序馬上依次檢測 口、 口、 口、 口(原理圖見總電路圖中檢測模塊),以確認是哪種情況產(chǎn)生的中斷后作出相應(yīng)處理。其具體流程圖如圖 所示。 圖 1INT 子程序 I N T 1中 斷 返 回卡 處 理 程 序報 警 , 置開 蓋 記 錄保 護 內(nèi) 容 出棧 , 開 中 斷關(guān) 閥 門保 護 必 要 的 數(shù)據(jù) 存 入 E E P R O M保 護 內(nèi) 容 進 棧表 蓋 被 拆 卸 嗎 ?有 卡 插 入 嗎 ?電 池 欠 壓 嗎 ?Y E SN OY E SN ON OY E S表 蓋 被 打 開 嗎 ?N O調(diào) 用 顯 示基于單片機的智能水表的設(shè)計 20 IC 卡的讀寫軟件設(shè)計 系統(tǒng)軟件設(shè)計的流程應(yīng)為確認有卡插入后,延時,待 IC 卡供電電路穩(wěn)定,讀 IC 卡標志位,并與系統(tǒng)中保存的標志比較,確認后,讀數(shù)據(jù)區(qū)。為提高可靠性, IC 卡中的數(shù)據(jù)在兩個不連續(xù)區(qū)作備份,第二組數(shù)據(jù)作校驗。為防止有損壞的字節(jié)和其它因素影響數(shù)據(jù)不可靠,建議將每次寫入的數(shù)據(jù)再讀出比較,判斷寫入的數(shù)據(jù)是否正確,從而達到保證對 IC 書寫操作的無誤。下面詳細地介紹了它的工作原理。 SDA和 SCL信號 SDA 和 SCL 雙向總線采用 I2Cbus(interintergrad circuit bus)匯流總線技術(shù),所有的控制命令和數(shù)據(jù)傳輸均由這兩條雙向總線執(zhí)行,采用 SDA 和 SCL,兩條總線就可實現(xiàn)對 E2PROM進行讀寫,并且在讀寫過程中其信息傳遞的波特率可以從 0 到 100kbps,其數(shù)據(jù)傳輸及時鐘脈沖時序圖如圖 所示。 S D AS C LA C K起 始 條 件停 止 條 件 圖 數(shù)據(jù)傳輸及時鐘時序圖 IC 卡的讀寫其實也就是對 IC 卡片內(nèi) E2PROM 進行讀寫。所以在 AT24C01 系列 IC 卡的應(yīng)用中,與邏輯控制有關(guān)的引出端線只有 2 條: SCL 和 SDA。所有的地址、數(shù)據(jù)及讀 /寫控制命令等信號均從 SDA 端輸入 /輸出。為了區(qū)分 SDA 線上的數(shù)據(jù)、地址、操作命令以及各種狀態(tài)的“開始”與“結(jié)束”,卡片內(nèi)設(shè)計了多個邏輯控制單元。其中,啟動與停止邏輯單元產(chǎn)生控制讀 /寫操作的“開始”和“停止”標志信號。 “開始”狀態(tài):當 SCL 處于高電平時, SDA 從高電平轉(zhuǎn)向低電平,即產(chǎn)生“開始”標志信號; “停止”狀態(tài):當 SCL 處于高電平時, SDA 從低電平轉(zhuǎn)向高電平,即產(chǎn)生“停止”標志信號,如圖 所示。 開 始停 止S D AS C L 圖 /寫的啟動與停時序 SDA 和 SCL 通常各自通過一個電阻拉到高電平。當 SCL 為高電平時,對應(yīng)的 SDA 上基于單片機的智能水表的設(shè)計 21 的數(shù)據(jù)有效;而當 SCL 為低電平時,允許 SDA 上的數(shù)據(jù)變化。 數(shù)據(jù)輸入 /輸出應(yīng)該應(yīng)答邏輯單元產(chǎn)生數(shù)據(jù)輸入 /輸出操作應(yīng)答信號。操作時所有的地址和數(shù)據(jù)均為 8 位碼串行輸入 /輸出于卡片??ㄆ渴盏揭粋€ 8 位碼長的地址碼或數(shù)據(jù)字后,都以置 SDA 線為低電平方式“確認”應(yīng)答信號。其波形如圖 所示。 確 認S D AS D A數(shù) 據(jù) 輸 出( 從 發(fā) 送 器 )數(shù) 據(jù) 輸 出( 從 接 收 器 )S C L 圖 IC卡的寫操作 在器件地址碼之 后,緊跟著的是字節(jié)地址碼。地址碼長度為 8 位。時序中的數(shù)據(jù)為寫字節(jié)時,由 IC 卡讀 /寫器中的單片機在 SDA 發(fā)送一個 8 位碼長的數(shù)據(jù);卡片每收到一個數(shù)據(jù)字節(jié)后,都要通過 SDA 回送一個“確認”信號( ACK)。寫操作時序如圖 所示。 S D AMSB開始器 件地 址寫字 地 址數(shù) 據(jù)停止R/WLSBACKACKACK 圖 IC卡的讀操作 讀操作有 3 種:立即地址讀、隨機地址讀及順序地址讀; 立即地址讀:如果最后 1 次操作的地址在 n,則現(xiàn)行地址為 n+1。其時序如圖 中的第 2 部分; 開始器 件地 址寫 字 地 址MSBR/WACKACKACKR/WACK停止開始 圖 隨機地址讀:從選定的地址單元開始讀,時序如圖 所示。時序中器件地址和字地址概念同寫操作,不同的是, IC 卡讀 /寫器中的單片機在給出數(shù)據(jù)字地址碼之后,不發(fā)任何數(shù)基于單片機的智能水表的設(shè)計 22 據(jù)字,而是在卡片發(fā)出 “ 確認 ” 應(yīng)答之后,又發(fā)出一個 “ 開始 ” 狀態(tài),進入 “ 立即地址讀 ”操作;單片機讀入 1 個數(shù)據(jù)后,使 SDA 處于高電平,隨后產(chǎn)生一個 “ 停止 ” 狀態(tài),結(jié)束本次操作。 順序地址讀 :可以從“立即地址讀”和“隨機地址讀”開始。當 IC 卡讀 /寫器中的單片機收到第 1 個數(shù)據(jù)字后,不發(fā)“停止”狀態(tài),而是回答一個“確認” 信號。一旦卡片收到單片機發(fā)出的“確認”信號,則將卡片內(nèi)地址計數(shù)器的地址自動加 1,并將此地址單元中的數(shù)據(jù)從 SDA 線上串行輸出。只要單片機收到數(shù)據(jù)字后回答“確認”信號,順序讀操作就繼續(xù)進行,直到單片機送出“停止”信號為止。 在本設(shè)計的軟件編程中,我們采用了隨機地址讀和順序地址讀兩種操作方式。 IC卡芯片的控制字節(jié)和器件尋址 控制字節(jié)的的配置如表 與圖 所示。控制字節(jié)是跟隨在主器件發(fā)出的開始條件后面,器件首先接收到的字節(jié)??刂谱止?jié)的前四位由 4 位控制碼組成,當控制碼為 1010 時,表示對 IC 卡的 和寫操作。 操作 控制碼 塊選擇 讀 / 寫( R/W ) 讀 1010 快地址 1 寫 1010 塊地址 0 表 控制字節(jié)的配置 由于對 IC 卡而言, A2, A1, A0 地址線均為 0;因此,綜合上面所敘:寫地址為 0A0H,讀地址為 0A1H[2] [10]。 S t a r t從 地 址R / W A C K01 0 1 A 2 A 0A 1 圖 IC卡處理程序流程圖 IC 卡的處理程序由外部中斷 1INT 觸發(fā)產(chǎn)生的(如圖 所示)。該程序首先判斷是管理基于單片機的智能水表的設(shè)計
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1