《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種基于AT89C51控制的高精度倒計時系統
一種基于AT89C51控制的高精度倒計時系統
摘要: 倒計時系統的任務, 就是對某一設定日期進行倒數, 并在顯示屏顯示當前至設定日期的時間, 以增強人們的關注度和緊迫感。開發實踐表明: 以時鐘芯片DS12C887為時鐘模塊、單片機AT89C51為控制模塊的高精度倒計時系統具有精度高、能夠長時間連續穩定地工作、使用方便的特點, 可較好滿足實際需要。系統的硬件設計和軟件設計如下。
Abstract:
Key words :

  1  引  言

倒計時系統的任務, 就是對某一設定日期進行倒數, 并在顯示屏顯示當前至設定日期的時間, 以增強人們的關注度和緊迫感。開發實踐表明: 以時鐘芯片DS12C887為時鐘模塊、單片機AT89C51為控制模塊的高精度倒計時系統具有精度高、能夠長時間連續穩定地工作、使用方便的特點, 可較好滿足實際需要。系統的硬件設計和軟件設計如下。

2  系統的硬件設計

系統的控制模塊由AT89C51單片機構成, 用于完成對串行口控制器的初始化和數據讀寫, 并對接收的各種數據進行識別、轉儲及顯示。時鐘芯片DS12C887提供高精度的年、月、日、時、分、秒時間,校準后直接與單片機相連。倒計時顯示模塊由LED數碼管, 74HC595芯片和74LS245芯片組成。

系統總體框圖如圖1所示。

系統總體結構圖
系統總體結構圖
圖1  系統總體結構圖

2. 1  時鐘模塊及其與單片機的連接

時鐘模塊用于對時、分、秒、年、月、日和星期的計時, 由美國DALLAS 公司生產的時鐘日歷芯片DS12C887構成, 該芯片集成度高, 可提供年、月、日、時、分、秒, 設定每一時刻產生中斷, 并且其外圍電路設計簡單, 性能好, 計時準確性高。DS12C887帶有128字節RAM, 其中有11字節RAM 用來存儲時間信息, 4字節RAM用來存儲DS12C887的控制信息,為控制寄存器。用戶可以在任何時候對其進行訪問以對DS12C887進行控制操作, 有113字節的通用RAM 供用戶使用。用戶還可對DS12C887進行編程以實現多種方波的輸出, 并對內部的三路中斷通過軟件進行控制。DS12C887為雙列直插式封裝, 與單片機的連接為: AD0~ AD7雙向地址/數據復用線與單片機的P0口相聯, 用于向單片機交換數據; AS地址選通輸入腳與單片機的ALE 相聯用于對地址鎖存, 實現地址數據的復用; CS片選線與單片機的P2. 6相聯, 用于選通時鐘芯片; DS數據選通讀輸入引腳與單片機的讀選通引腳相聯, 用于實現對芯片數據的讀控制; R /W讀/寫輸入與單片機的寫選通引腳相聯, 用于實現對時鐘芯片的寫控制;MOT 直接接地, 選用INTEL 時序; IRQ 引腳與單片機的INT1相連, 用于為時間的采集提供時間基準。

2. 2  顯示模塊的設計

單片機將讀入的DS12C887時間信息經過程序處理, 輸出顯示信號到P1口, 顯示信息包括倒計時信息(當前距離設定時間的天數)和當前時間的星期、時、分、秒信息。顯示電路主要由9個LED 數碼管, 9 片74HC595 芯片和一片74LS245芯片組成。

設計采用動態顯示方式, 即將所有位的段選線并聯在一起由一個8位I /O 口控制。74HC595是硅結構的高速CMOS器件, 內置8 位移位寄存器和一個存儲器, 具有三態輸出功能, 當使能端OE 為低電平時, 將存儲寄存器的數據輸出到總線。利用74HC595并行輸出端具有的輸出鎖存功能, 采用74HC595芯片的串入并出方式控制數碼管的顯示,具體的連接方式為: 芯片的Q7引腳和SER 引腳級聯, 通過三個I/O口與單片機連接。74HC595的14腳( SER)為串行輸入端, 12腳( RCLR) 為移位時鐘端, 時鐘上升沿將14腳數據移入寄存器; 11腳( SRCLR )為鎖存時鐘端, 時鐘上升沿鎖存數據; 8腳( E )為3態輸出控制端, 接低電平時輸出數據。輸出數據和移位時鐘均由單片機輸出: 單片機P1. 0口輸出數據, 在移位脈沖上升沿到來時數據移出進入74HC595; P1. 1 口輸出移位脈沖; P1. 2口輸出鎖存脈沖。出現在并行輸出端上的數據經74LS245驅動數碼管顯示, 由于數據已被鎖存, 在傳送下一組數據時, 前一組數據的內容不變, 以此方式進行數據的傳送和顯示, 故在顯示模塊軟件中將P1. 0、P1. 1、P1. 2均定義為模擬串行口。調整鍵盤的接口有 4個鍵: 1個設定/確認鍵、1個修改+ 1鍵、1個修改- 1鍵、1個移位鍵。對應秒、分、時、倒計時、星期, 有5 個LED。LED亮, 表示對應的秒或分或星期或倒計時數據可按修改鍵修改。在設定時間狀態, 首先移位為秒位, 對應秒移位LED亮, 按下移位鍵, 移位LED燈按秒→分→時→倒計時→星期逐次循環; 按下修改+ 1鍵或修改- 1 鍵可對相應位的數據進行+ 1或- 1操作。

3  系統的軟件設計

系統的主程序包括: 對單片機串行口的設置以及初始化→讀取DS12C887時鐘芯片→判斷是否計算倒計時→顯示。初始化12887為24小時制, BCD碼, 不允許中斷, 分配12887的始地址為B000H, A寄存器的地址為B00AH, B 寄存器的地址為B00BH, C寄存器的地址為B00CH, D寄存器的地址為B00DH, DS12887的內部分配如表1所示。

表1  DS12887的內部分配。
DS12887的內部分配
DS12887的內部分配

顯示子程序首先通過模擬串行口讀取DS12C887的數據, 然后利用74HC595 對數據進行顯示。具體步驟為: 顯示子程序將P1. 0 置位 將P1. 0送入段碼 將P1. 1送入移位脈沖 將P1. 2送入鎖存脈沖 返回主程序。倒計時子程序首先由單片機讀DSl2C887的時間單元, 并將其存放在以69H 為起始的單元中, 操作時先讀取月份, 然后利用查表方法計算其下月份到預定時間的天數, 再利用查表方式判斷其月份是31天、30天, 28天或29天,將查表得到的天數減去讀取日期, 將二個天數相加就可得到實際天數。進行時、分、秒計算時, 可以直接利用預定時、分、秒減去讀取的時、分、秒得到相差的時、分、秒, 完成后返回主程序。

4  結束語

綜上, 所設計的倒計時系統由DS12C887構成時鐘模塊, 單片機AT89C51 對系統進行控制, 設定從模擬串行口讀取DS12C887 的數據后, 再利用74HC595將數據送入數碼管顯示。系統經調試和參數整定后運行穩定可靠, 連續長期運行積累誤差為零, 為高精度的倒計時系統。實踐開發表明, 基于上述技術的倒計時系統具有結構緊湊、簡單, 價格低廉, 可靠性高等特點, 便于實際應用。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲欧美一二三区 | 国产手机精品a | 国产免费久久精品久久久 | 久久青草免费线观最新 | 亚洲综合免费视频 | 看一级毛片一区二区三区免费 | 黄网视频在线观看 | 久久日本三级韩国三级 | 国产精品日本欧美一区二区 | 福利视频黄 | 国产欧美在线不卡 | 女人精aaaa片一级毛片女女 | 欧美成人特黄级毛片 | 青草欧美 | 在线看片a | 日产一区两区三区四区 | 国产精品欧美亚洲 | 黄色三级三级三级免费看 | 99热久久国产综合精品久久国产 | 日本黄色美女网站 | 男人天堂成人 | 亚洲精品久久久久影 | 欧美精品在线视频观看 | 国产亚洲网站 | 亚洲欧美综合视频 | 女人张开腿让男人插 | 日韩天天干| 国产成人一区二区三区在线视频 | 一本大道香蕉大vr在线吗视频 | 日韩精品一级毛片 | 色拍拍噜噜噜aⅴ在线观看 色青青草原桃花久久综合 色婷婷91 | 国产成人精品免费视频大全可播放的 | 亚洲国产成人精品激情 | 国内偷自第一二三区 | 女人夜色黄网在线观看 | 国产精品久久久精品三级 | 一级特级欧美aaaaa毛片 | 在线精品国内外视频 | 在线播放亚洲精品 | 男女午夜性爽快免费视频不卡 | 亚洲第一看片 |