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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)來(lái)電顯示器的設(shè)計(jì)與實(shí)現(xiàn)

          單片機(jī)來(lái)電顯示器的設(shè)計(jì)與實(shí)現(xiàn)

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

          2 軟件設(shè)計(jì)實(shí)現(xiàn)

          主叫號(hào)碼顯示器軟件使用匯編語(yǔ)言編寫(xiě),配合硬件完成主叫信息接收、查閱及刪除功能。匯編語(yǔ)言程序主要由主程序、串行中斷處理程序、定時(shí)器中斷處理程序組成。

          上電時(shí),MCU進(jìn)入主程序中運(yùn)行對(duì)串口寄存器設(shè)置接收波特率等參數(shù),液晶顯示模塊LCD初始化并顯示新呼叫總個(gè)數(shù),以0.2s的定時(shí)長(zhǎng)度設(shè)置定時(shí)器參數(shù),對(duì)有關(guān)程序變量初始化,然后進(jìn)入掉電狀態(tài)。主程序框圖如圖4所示。

          圖5是串行口中斷接收處理程序。串行口中斷到來(lái)時(shí),MCU將收的串行數(shù)據(jù)暫存在內(nèi)部RAM中。若收到的信息有誤碼,則在LCD上顯示“ERROR”;若交換機(jī)發(fā)來(lái)的信息格式為“日期+時(shí)間+P+..”,則在LCD上顯示“PRIVATE”,表示主叫用戶(hù)要求本次呼叫不向被叫用戶(hù)傳送其號(hào)碼;若交換機(jī)發(fā)來(lái)的信息格式為“日期+時(shí)間+O+..”,LCD上將顯示“OUT OF AREA”,表示主叫用戶(hù)的本次呼叫超出服務(wù)范圍。

          若接收的主叫信息正常,則按接收的先后順序依次存儲(chǔ)于EEPROM中。當(dāng)主叫識(shí)別信息有重復(fù)時(shí),最新呼叫將覆蓋前次呼叫;當(dāng)存儲(chǔ)空間全部存滿(mǎn)后,按“先進(jìn)先出”的原則自動(dòng)刪除最先存儲(chǔ)的主叫信息。

          圖6是定時(shí)器中斷處理程序,實(shí)現(xiàn)器按鍵處理功能,定時(shí)長(zhǎng)度為0.2s。定時(shí)器斷到來(lái)時(shí),首先檢查是否有按鍵按下。當(dāng)有按鍵按下時(shí),MCU由掉電狀態(tài)恢復(fù)到空閑狀態(tài)。若在1.5s內(nèi)按2次“DEL”鍵,則從EEPROM中刪除LCD當(dāng)前顯示的信息;若連續(xù)按“DEL”鍵超過(guò)6s,則刪除EEPROM中所有存儲(chǔ)信息。按“UP”鍵則把一次接收的主叫信息從EEPROM中調(diào)出并顯示。按“DOWN”鍵則把下一次接收的主叫信息從EEPROM中調(diào)出并顯示。

          結(jié)束語(yǔ)

          功能目前已獲得普遍使用。本文介紹的來(lái)電顯示器在進(jìn)行軟、硬設(shè)計(jì)時(shí)充分利用MCU的3種工作狀態(tài),盡可能地降低了功耗;配以EEPROM作為存儲(chǔ)器件,使得該產(chǎn)品與同類(lèi)產(chǎn)品相比使用期限有較大的增加(采用電池供電時(shí))。


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();