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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于VRS51L3074的多點定鬧電子日歷鐘的設計

          基于VRS51L3074的多點定鬧電子日歷鐘的設計

          作者: 時間:2010-12-15 來源:網絡 收藏

          4 軟件系統(tǒng)的設計

          系統(tǒng)軟件設計包括單片機計算機兩部分的編程。計算機軟件編程主要實現(xiàn)參數(shù)設置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲。單片機軟件編程主要實現(xiàn)鍵盤、液晶顯示、鬧鐘等各模塊的功能,采用C語言編程。該系統(tǒng)通過串行口與鍵盤通信,鍵盤給單片機發(fā)指令實現(xiàn)數(shù)據(jù)采集及系統(tǒng)控制,并將數(shù)據(jù)實時傳回液晶顯示器顯示結果。整個軟件系統(tǒng)采用模塊化的程序設計方法,共分為時間日期設定、鬧鈴

          設定、LCD顯示模塊和鍵盤掃描模塊4個部分。其中主要是鬧點的設定與提取。軟件系統(tǒng)的主要特點是整個過程完全在鍵盤的控制之下,實現(xiàn)了友好的人機交互功能。主程序通過判斷鍵盤的輸入情況調用不同的子程序,子程序的功能實現(xiàn)也是在鍵盤的配合之下完成的。主程序流程圖,如圖6所示。

          f.JPG

          首先對單片機的串行口及定時器進行初始化,然后進行鍵盤掃描,如果有鍵按下,則根據(jù)掃描到的鍵值跳轉到相應的入口并執(zhí)行相應的程序,并根據(jù)外部的輸入進行相應的操作。如果沒有鍵按下,則回到初始化狀態(tài)。在并行運行的程序中,本設計將調用另外兩位合作者編寫的日歷時鐘和溫度程序,送入液晶顯示器中進行顯示。

          4.1 多點定鬧模塊

          鬧鐘的的起鬧止鬧基本步驟:(1)電子設備的中央處理器CPU從硬件時鐘芯片中讀取當前時間,從鬧鐘信息中提取一個與當前時間最接近的然后啟動鬧鐘,將該鬧鐘的啟動時間設置到硬件時鐘芯片中。(2)硬件時鐘芯片在當前時間與該需啟動鬧鐘的啟動時間進行比較,一致時通知CPU鬧鐘啟動時間已經到達,蜂鳴器控制標志為“1”,鬧鐘打開,開始起鬧,并顯示在顯示器上,要止鬧只需按下啟停鍵便可止鬧,沒有按鍵的情況下系統(tǒng)根據(jù)預設的鬧響時間1 min后停止鬧鈴,鬧時功能關停。硬件時鐘芯片在當前時間與該需啟動鬧鐘的啟動時間進行比較不同時指向下一時間。(3)通過不停的進行比較,第一個鬧點響停后,時鐘正常行走,系統(tǒng)又再返回步驟(1)。

          4.2 OSl2887時鐘芯片與VRS51L3074的接口程序

          系統(tǒng)通過中斷和軟件計數(shù)器可產生秒信號。每到1 s,系統(tǒng)將會調整時間存儲單元的內容,從而實現(xiàn)計時功能。下面為DSl2887時鐘芯片和VRS51L3074單片機的接口軟件,假定采用每天24 h制,時間數(shù)據(jù)格式為BCD碼,初始化時間為2000年1月1日9時00分00秒,1 kHz方波輸出。時鐘芯片每1 s向單片機申請中斷一次,一方面讓單片機修改一次時鐘顯示,另一方面也給單片微機系統(tǒng)提供時間基準。

          5 結束語

          系統(tǒng)利用VRS51L3074作為控制核心,外加專用的時鐘芯片DSl2887的應用,實現(xiàn)時間、日歷及鬧鐘信息顯示功能。該電子鐘操作方便,通過鍵盤和漢顯液晶提示可方便地校對時鐘和對鬧鐘進行設置。


          上一頁 1 2 3 4 下一頁

          關鍵詞: MCU

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();