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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 漢字火災(zāi)樓層顯示器報(bào)警系統(tǒng)的解決方案

          漢字火災(zāi)樓層顯示器報(bào)警系統(tǒng)的解決方案

          作者: 時(shí)間:2010-11-24 來(lái)源:網(wǎng)絡(luò) 收藏

            4 系統(tǒng)軟件設(shè)計(jì)

            軟件功能主要是1.將串口發(fā)送下來(lái)的信息文件寫(xiě)入FLASH存儲(chǔ)。2.和報(bào)警控制器進(jìn)行CAN通信,如果發(fā)現(xiàn)有火警信息,則查找FLASH中的地址信息,予以顯示在漢字液晶上報(bào)警,如有多條火警信息,則滾動(dòng)顯示各條信息。

          漢字樓層顯示器軟件流程圖

          圖6 漢字軟件流程圖

            圖 6是漢字軟件流程圖。用page(值為0-7)表示讀寫(xiě)的FLASH頁(yè),用count(值為0-65535)表示每頁(yè)頁(yè)內(nèi)地址。其中 page0-page6用來(lái)存儲(chǔ)通過(guò)串口下載的漢字信息,page7用來(lái)存儲(chǔ)接收到的火警等動(dòng)態(tài)信息。一旦接收到新火警,即查詢FLASH中相應(yīng)的漢字信息,并在液晶上滾動(dòng)顯示。

            為了快速定位所查詢的火警漢字地址信息,我們采用數(shù)組結(jié)構(gòu)存儲(chǔ)。盡管這樣會(huì)因?yàn)閷?shí)際火警地址不等長(zhǎng),而造成存儲(chǔ)中出現(xiàn)一些空地址,存儲(chǔ)效率不高,但是由于我們對(duì)數(shù)組的查找是一種可以直接定位的快速查找,不用采用鏈表之類的復(fù)雜數(shù)據(jù)結(jié)構(gòu),也避免了二分檢索之類復(fù)雜的搜索算法。對(duì)于單片機(jī)而言,實(shí)質(zhì)上是以比較小的空間為代價(jià)換來(lái)了比較高的時(shí)間效率,還是十分值得的。

            5 結(jié)語(yǔ)

            本文提出的基于CAN總線的大容量漢字樓層顯示器,較好的解決了現(xiàn)有樓層顯示器的缺陷。對(duì)大于51單片機(jī)ROM 64K尋址空間的數(shù)據(jù)存儲(chǔ)需求,采取分頁(yè)存儲(chǔ)的訪問(wèn)方式可以很好的解決這個(gè)問(wèn)題。通過(guò)在FLASH中存儲(chǔ)大容量數(shù)據(jù)信息,可以避免因?yàn)镃AN總線上通訊數(shù)據(jù)流量過(guò)大而導(dǎo)致火警不能及時(shí)傳達(dá),延誤報(bào)警時(shí)機(jī)。而且FLASH中的漢字信息可以通過(guò)串口在線擦寫(xiě),便于現(xiàn)場(chǎng)調(diào)試。目前產(chǎn)品已經(jīng)投入實(shí)用,用戶反應(yīng)運(yùn)行良好。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(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); })();