<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 作息鬧鈴控制器設計方案

作息鬧鈴控制器設計方案

作者: 時(shí)間:2011-04-26 來(lái)源:網(wǎng)絡(luò ) 收藏
系統軟件實(shí)現

本文引用地址:http://dyxdggzs.com/article/162138.htm

  主程序流程

  本系統主程序在考慮可設置每天最多40個(gè)打鈴時(shí)間點(diǎn),而時(shí)間點(diǎn)精確的分鐘,因此每個(gè)時(shí)間點(diǎn)信息包括時(shí)、分兩個(gè)字節存儲,共需80字節作為打鈴時(shí)間點(diǎn)存儲緩沖區,此緩沖區在A(yíng)T89C52內存中采用數組的形式定義,同時(shí)當打鈴時(shí)間點(diǎn)設置好時(shí),將此數據保存到CAT24WC02串行芯片中以防止掉電丟失,在下次啟動(dòng)首先從CAT24WC02芯片中讀取數據保存到對應數據緩沖區中。運行主程序是首先讀取時(shí)鐘芯片時(shí)間數據并在數碼管顯示相關(guān)信息,隨后將當前時(shí)間與各打鈴時(shí)間點(diǎn)相比較看是否需要打鈴,最后進(jìn)行鍵盤(pán)信息處理,分別完成時(shí)間設定和打鈴時(shí)間點(diǎn)設定等相關(guān)操作,具體流程如圖4所示。

  

  圖4 主程序流程圖

  時(shí)間設置程序

  本中共采用8個(gè)按鍵,其中時(shí)間設置按鍵和設置按鍵為復用鍵,由圖4可知當運行主程序時(shí),按下相應鍵則程序進(jìn)入時(shí)間設置或時(shí)間設置程序處理中,在鬧鈴時(shí)間設置程序中,此二鍵亦分別用于添加鬧鈴和刪除鬧鈴設置,當6位數碼管顯示信息均處于閃爍狀態(tài)時(shí),此時(shí)按下添加鍵,則表示新添加一鬧鈴時(shí)間點(diǎn),按下刪除鍵則表示刪除對應鬧鈴時(shí)間點(diǎn),如6位數碼管顯示信息不全閃爍,則此二鍵不起作用。左移和右移按鍵則分別用來(lái)選擇所要設置數據位(時(shí)或分),選擇對應位后相應數據進(jìn)入閃爍狀態(tài),此時(shí)操作增加或減小鍵進(jìn)入相應數值設置,當僅鬧鈴時(shí)間序號閃爍時(shí),增加和減小鍵同時(shí)有依次進(jìn)行查詢(xún)所有鬧鈴時(shí)間點(diǎn)的功能。信息設置完后當按下確認鍵則表示信息設置完成,此時(shí)所設置鬧鈴信息會(huì )統一進(jìn)行從小到大排序(用于查詢(xún)時(shí)從小到大顯示),然后分別保存到單片機相應內存和CAT24WC02串行EEPROM中以防掉電丟失。如按下取消鍵,則表示放棄所設置信息,此時(shí)重新從CAT24WC02串行EEPROM中讀取原鬧鈴時(shí)間信息到單片機相應內存相應緩沖區。具體流程圖如圖5所示。

  

  圖5 主程序流程圖

  鬧鈴時(shí)間信息顯示程序則由顯示程序void Display專(zhuān)門(mén)負責,鬧鈴設置時(shí)的數據分別放在臨時(shí)顯示緩沖區,結合其閃爍狀態(tài)值一起傳遞給顯示程序進(jìn)一步處理,從而決定哪位數碼管顯示信息進(jìn)行閃爍,閃爍狀態(tài)值FlagBit共有5個(gè)取值參數,分別為0、1、2、3、4,其中0表示不閃爍, 1表示鬧鈴時(shí)間分值閃爍,2表示鬧鈴時(shí)間時(shí)值閃爍,3表示鬧鈴時(shí)間序號閃爍,4表示全部顯示數值一起閃爍。具體閃爍控制則由定時(shí)中斷服務(wù)程序里對閃爍標志不斷取反,顯示程序里根據此標志位的變化進(jìn)行閃爍控制。

  時(shí)間設置處理程序則主要是通過(guò)按鍵設置好時(shí)間后對DS1302進(jìn)行數據更新, 具體過(guò)程與鬧鈴設置程序類(lèi)似,篇幅原因不在多述。

  結語(yǔ)

  實(shí)驗初期本主要通過(guò)仿真軟件完成,由于受實(shí)驗條件影響,數碼管顯示部分采用靜態(tài)顯示方法完成,如考慮節約成本,在實(shí)際電路中本設計亦可采用動(dòng)態(tài)顯示電路或串行顯示電路完成。


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

關(guān)鍵詞: 方案 設計 控制器 鬧鈴 作息

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>