<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 一種智能化開關(guān)電源的設(shè)計

          一種智能化開關(guān)電源的設(shè)計

          作者: 時間:2012-02-18 來源:網(wǎng)絡(luò) 收藏
          4 軟件設(shè)計

          本文引用地址:http://www.ex-cimer.com/article/231151.htm

          系統(tǒng)軟件主要由主程序、鍵盤掃描子程序、顯示子程序和通信子程序等組成。圖4是主程序流程圖。



          圖4 主程序流程圖

          主程序由初始化、看門狗置位、鍵盤掃描子程序、中斷子程序組成。主程序主要進行分配內(nèi)存單元、設(shè)置串行口等器件的工作方式和參數(shù),為系統(tǒng)正常工作創(chuàng)造條件。在主程序運行的過程中,通過按鍵可以顯示檢測的各個量的值;同時在系統(tǒng)有過電壓和干擾信號產(chǎn)生時,液晶顯示屏?xí)@示提示信息,使電源實現(xiàn)“透明”,便于電源的管理。在本系統(tǒng)中,鍵盤采用的是由P1口組成的3×3行列矩陣式鍵盤。由于鍵盤程序的技術(shù)已經(jīng)相當(dāng)成熟,所以具體過程不做介紹。

          子程序中值得一提的是通訊子程序。為了實現(xiàn)與目前應(yīng)用較為廣泛的MODICON系列測控系統(tǒng)的接口,本系統(tǒng)選用了控制系統(tǒng)中較為通用的MODBUS協(xié)議進行通訊。MODBUS協(xié)議采用主-從通信方式,它規(guī)定把各個報文封裝成對應(yīng)的一幀數(shù)據(jù),以幀為單位傳輸數(shù)據(jù)。主站發(fā)送的報文包括接收者地址、任務(wù)、任務(wù)數(shù)據(jù)、校驗方式等內(nèi)容;從站響應(yīng)信息報文包括從站地址、所執(zhí)行的任務(wù)、執(zhí)行任務(wù)得到的數(shù)據(jù)、校驗方式等內(nèi)容。MODBUS協(xié)議有兩種報文組成結(jié)構(gòu)(又稱傳輸模式),分別是ASCII(美國信息交換碼)模式和RTU模式。同一MODBUS總線網(wǎng)絡(luò)上的所有站點設(shè)備都必須使用相同的模式和對應(yīng)的串口通信參數(shù)。本次設(shè)計采用的是RTU報文傳送方式。RTU模式的報文字符由8位二進制編碼組成,本設(shè)計方案的每個字符包含1位起始位、8位數(shù)據(jù)位和2位停止位(無奇偶校驗)。 RTU模式的報文字符必須以連續(xù)數(shù)據(jù)流的形式傳送,每幀報文以至少3.5個字符時間的停頓間隔開始傳輸,同樣以至少3.5個字符時間的停頓標志報文傳輸?shù)慕Y(jié)束。通訊程序已經(jīng)發(fā)展得比較成熟,具體框圖省去。通訊程序軟件運行時隨時檢測串行口,若證實為上位機通訊請求,則發(fā)應(yīng)答信號,實現(xiàn) “握手”,然后按上位機要求發(fā)送或接收數(shù)據(jù)。發(fā)送時,將本機檢測的電壓值、電流值向上發(fā)送,接收時則將上位機發(fā)來的系統(tǒng)設(shè)置參數(shù)進行差錯判斷后放入本機原設(shè)置單元,然后再由軟件根據(jù)設(shè)置值進行相應(yīng)處理。

          光電開關(guān)相關(guān)文章:光電開關(guān)原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();