倒數(shù)計時器系統(tǒng)的設計(修改)_第1頁
倒數(shù)計時器系統(tǒng)的設計(修改)_第2頁
倒數(shù)計時器系統(tǒng)的設計(修改)_第3頁
倒數(shù)計時器系統(tǒng)的設計(修改)_第4頁
倒數(shù)計時器系統(tǒng)的設計(修改)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、河北科技學院畢業(yè)設計(論文) 目 錄摘要.1關(guān)鍵詞.2前言.51設計要求與方案論證.61.1設計要求.61.2 方案論證61.2.1 方案一 用PCF8563實現(xiàn)戶外倒計時系統(tǒng)61.2.2方案二 基GPS的高精度倒計時系統(tǒng)的實現(xiàn)71.2.3 方案三 AT89C51和時鐘芯片DS12C887實現(xiàn)倒計時系統(tǒng)813本章小結(jié)82 時鐘芯片DS12C887.92.1. DS12C887的概述和功能特點.92.2. DS12C887的內(nèi)部功能102.3 硬件接口電路112.4 本章小結(jié)123整體方案設計及工作原理.133.1典型硬件電路原理圖.133.2 各模塊功能介紹143.2.1 時鐘信號產(chǎn)生單元14

2、3.2.2 控制模塊153.2.3 顯示模塊163.3 倒計時轉(zhuǎn)換計算173.4 本章小結(jié)174本設計相應部分的軟件介紹.184.1總體功能程序?qū)崿F(xiàn)的流程圖. .184.2時鐘芯片DS12C887的初始化程序194.3實時時間的讀取程序214.4倒計時部分的軟件實現(xiàn)原理.224.5 本章小結(jié)23 總結(jié).24 參考文獻.25 致謝.26.II 摘 要 在實際應用當中,倒數(shù)計時器隨處可見,比如在香港回歸和澳門回歸時,大陸同胞以設立倒計時器的方式表示其迫切的心情。在單片機應用系統(tǒng)中,常常需要一個實時時鐘供定時,測控之用。單片機中都集成有定時器,配合軟件可以作為系統(tǒng)的時間基準,構(gòu)成一個實時時鐘。通常定

3、時器工作在中斷方式,因此它將頻繁地中斷CPU的工作。倒計時系統(tǒng)中采用DS12C887時鐘芯片實現(xiàn)其功能。倒計時系統(tǒng)中采用8個LED顯示日時分秒。關(guān)鍵詞:單片機;時鐘芯片;DS12C887;倒計時I前言在實際應用當中,倒計時器隨處可見,2008年的 奧運會,即將舉行的高考都用到倒計時系統(tǒng),方便大家準確的知道需要準備的時間,DS12C887是美國達拉斯半導體公司最新推出的時鐘芯片,采用CMOS技術(shù)制成,把時鐘芯片所需的晶振和外部鋰電池相關(guān)電路集于芯片內(nèi)部,同時它與目前 IBM AT計算機常用的時鐘芯片MC146818B和DS1287管腳兼容,可直接替換。采用DS12C887芯片設計的時鐘電路勿需任

4、何外圍電路并具有良好的微機接口。用作計時器的方法有幾種,但是隨著單片機應用越來越廣泛,倒計時系統(tǒng)采用單片機和時鐘芯片制作比較簡單且價格合理,工作穩(wěn)定可靠、響應速度快、實時性強,具有數(shù)字顯示和工作狀態(tài)顯示功能,是大部分工作人員的首選。電路中采用了AT89C51,4511 DS12C887等,采用共陰型數(shù)碼管,本設計原理簡單,易懂,操作方便,實用性能比較好。倒計時系統(tǒng)是單片機系統(tǒng)的簡單應用。它是由硬件和軟件相配合使用的,這樣可以彌補硬件成本高,結(jié)構(gòu)復雜的特點,提高響應速度。該倒計時系統(tǒng)經(jīng)濟實惠,適用于家庭以及學校。1設計要求與方案論證 實現(xiàn)倒計時系統(tǒng)可以有多種方案,不同的方案要求與實現(xiàn)的功能不一樣

5、,本章主要是對幾種方案進行論證與比較,選擇比較合適的方案來實現(xiàn)基本要求和功能。1.1 設計要求本設計要求用單片機和日歷時鐘芯片實現(xiàn)一個倒計時系統(tǒng),能夠準確顯示出設定時間和當前時間之間的倒計時間值,分別用8個LED數(shù)碼管顯示天數(shù)、時、分、秒的數(shù)值。1.2 方案論證1.2.1 方案一 用PCF8563實現(xiàn)戶外倒計時系統(tǒng)該系統(tǒng)的總體設計方案:整個系統(tǒng)由時鐘芯片、中央處理單元、譯碼、驅(qū)動、顯示、鍵盤幾部分構(gòu)成。系統(tǒng)框圖如圖1.1所示戶外倒計時顯示LED點陣驅(qū)動ULN2003時鐘芯片PCF8563時間顯示數(shù)碼管譯碼MC14513移位LED中央處理器CPU選擇74LS145鍵 盤圖12 1方案一的系統(tǒng)設計

6、框圖這個方案的實用性較強的倒計時系統(tǒng),可用于大型節(jié)日或活動的倒計時間實現(xiàn)。硬件電路和軟件實現(xiàn)都比較完整。但它硬件結(jié)構(gòu)較為復雜,簡單的設計制作難以完成該電路,因此不適合選用這個方案來實現(xiàn)。1.2.2方案二 基于GPS的高精度倒計時系統(tǒng)的實現(xiàn)基于GPS的高精度,倒計時牌是衛(wèi)星測時技術(shù),計算機技術(shù)及通信技術(shù)三者的有機結(jié)合。從功能模塊上看,整個系統(tǒng)分為GPS測時接收系統(tǒng)和時鐘顯示系統(tǒng),它主要完成以下功能:(1) 定時接收GPS衛(wèi)星發(fā)送的數(shù)據(jù)并進行識別和緩存;(2)對GPS測時數(shù)據(jù)進行格式轉(zhuǎn)換,以使編碼格式適于接收; (3)在給定時間內(nèi)刷新DS12C887型時鐘的時間; (4)讀DS12C887時間,進

7、行倒計時換算并顯示。基于GPS的高精度倒計時牌的硬件結(jié)構(gòu)較為簡單,它包括控制模塊和顯示模塊兩部分。本方案系統(tǒng)的精度高,硬件電路和軟件實現(xiàn)都比較簡單,能準確顯示出倒計時的天數(shù)、時、分、秒,具有很強的實用功能。但其硬件電路的實現(xiàn)價格比較高。不適合簡單的實驗性制作使用,因此不采用這個方案來實現(xiàn)。1.2.3方案三 用 AT89C51和 時鐘芯片DS12C887來實現(xiàn)倒計時系統(tǒng)這個方案是用實時時鐘芯片DS12C887來產(chǎn)生實時的時間,單片機讀取時鐘芯片DS12C887的時間后,將其轉(zhuǎn)化為與預設時間的倒計時間。再通過顯示部分顯示出來,顯示部分由8個LED數(shù)碼管構(gòu)成,能夠顯示出倒計時的天數(shù)、時、分、秒的數(shù)值

8、。其原理框圖如圖12 3所示數(shù)碼管顯示部分單片機處理單元時鐘信號產(chǎn)生單 元圖12 3方案三原理框圖這個方案的硬件結(jié)構(gòu)和軟件實現(xiàn)都較簡單,所用硬件價格合理。很適合用較簡單的設計制作來實現(xiàn)倒計時系統(tǒng)的功能。所以本設計選用這個方案來 實現(xiàn)目的,本設計將詳細論述這一方案的實現(xiàn)過程及原理。1.3 本章小結(jié) 該章明確了設計要求與任務,詳細闡述了用PCF8563實現(xiàn)戶外倒計時系統(tǒng)、基GPS的高精度倒計時系統(tǒng)的實現(xiàn)、用 AT89C51和時鐘芯片DS12C887來實現(xiàn)倒計時系統(tǒng)這三種方案的優(yōu)缺點,對每個方案都進行了說明并比較最終確定了選用AT89C51和時鐘芯片DS12C887來實現(xiàn)倒計時系統(tǒng),這個方案比較適合

9、實驗制作軟件硬件都比較完整,硬件價格合理,以下章節(jié)都對選定的這個方案進行詳細的解釋和原理說明。2時鐘芯片DS12C887 實時時鐘芯DS12C887是這個設計方案選用的核心部件之一,本章對DS12C887的芯片做一下簡單介紹以及其內(nèi)部功能有一個簡單了解,對它如何與單片機聯(lián)合工作以及硬件接口電路。2.1 DS12C887的概述和功能:DS12C887是美國達拉斯半導體公司最新推出的時鐘芯片,。采用DS12C887芯片設計的時鐘電路勿需任何外圍電路并具有良好的微機接口。,可廣泛用于各種需要較高精度的實時時鐘場合中。其主要功能如下:   (1)內(nèi)含一個鋰電池,斷電情況運行十年以上

10、不丟失數(shù)據(jù)。   (2)計秒、分、時、天、星期、日、月、年,并有閏年補償功能。   (3)二進制碼或BCD碼表示時間、日歷和定鬧。   (4)12小時或24小時制,12小時時鐘模式帶有PM和AM指導,有夏令時功能。   (5)MOTOROLA和INTEL總線時序選擇 (6)SQW方波輸出信號(7)有128個RAM單元與軟件音響器,其中14個作為字節(jié)時鐘和控制寄存器,114字節(jié)為通用RAM,所有RAM單元數(shù)據(jù)都具有掉電保護功能。2.2 DS12C887的內(nèi)部功能2.2.1 時間

11、、日歷和定鬧單元時間和日歷信息通過讀相應的內(nèi)存字節(jié)來獲取,時間、日歷和定鬧通過寫相應的內(nèi)存字節(jié)設置或初始化,其字節(jié)內(nèi)容可以是十進制或BCD形式。時間可選擇12小時制或24小時制,當選擇12小時制時,小時字節(jié)搞位為邏輯“1”代表PM。時間、日歷和定鬧字節(jié)是雙緩沖的,總是可訪問的。每秒鐘這10個字節(jié)走時1 秒,檢查一次定鬧條件,如在更新時,讀時間和日歷可能引起錯誤。三個字節(jié)的定鬧字節(jié)有兩種使用方法。第一種,當定鬧時間寫入相應時、分、秒定鬧單元,在定允許鬧位置高的條件下,定鬧中斷每天準時起動一次。第二種,在三個定鬧字節(jié)中插入一個或多個不關(guān)心碼。不關(guān)心碼是任意從C到FF的16進制數(shù)。當小時字節(jié)的不關(guān)心

12、碼位置位時,定鬧為小時發(fā)生一次由于相線小時和分鐘定鬧字節(jié)置不關(guān)心位時,每分鐘定鬧一次;當三個字節(jié)都置不關(guān)心位時,每秒中斷一次。2.2.2 更新周期DS12C887每秒執(zhí)行一次更新周期還比較每一定鬧字節(jié)與相應的時間字節(jié),如果匹配號三個字節(jié)都是不關(guān)心碼,則產(chǎn)生一次定鬧中斷。(如表222所示) 表222 周期中斷速率和輸出方波頻率RS3RS2RS1RS0周期性中斷頻率SQW方波頻率0000不允許無輸出000130.517us32.768khz001061.035us16.384khz0011122.070us8.192khz0100244.141us4.096khz0101488.281us2.04

13、8khz0110976.5625us1.024khz01111.953125ms512hz10003.90625ms256hz10017.8125ms128hz101015.625ms64hz101131.25ms32hz110062.5ms16hz1101125ms8hz1110250ms4hz1111500ms2hz2.3硬件接口電路DS12C887時鐘芯片和89C51單微機的接口電路如圖231所示。模式選擇腳MOT拉地,不選擇INTEL時序,選擇DS12C887時鐘芯片的地址總線及AS端口和89C51單片微機的P0及ALE端直接相聯(lián),DS、R/W讀寫控制線與單片機的RD、WR控制線相連;

14、DS12C887的高位地址由 89C51單片機的P2.7端口來片選,則DS12C887的高8位地址定為7FH,而其低8位地址則由芯片內(nèi)部各單元的地址來決定(00H3FH); DS12C887的中斷輸出端IRQ和89C51的外部INT0端相聯(lián),給單片機提供中斷信號;DS12C887的SQW端口產(chǎn)生方波輸出信號。 P0 INT0 ALE RD WR P2.789C51AD0-AD7 SQWIRQASDSR/WCS RESETMOTDS12C887 方波輸出 VCC 1K 0.005uf 圖231 DS12C887與單片機的硬件連接圖2.4本章小結(jié)前一章論證并選定了設計方案,在選定的方案中使用了DS

15、12C887這個核心的時鐘芯片。該章主要對用到的時鐘芯片DS12C887進行了詳細闡述,首先從整體上闡述了DS12C887的功能與作用。它是一種高精度、實用性很強的實時時鐘芯片;它具有掉電存儲功能,并內(nèi)置充電電路可以掉電后保持運行以及外圍設計電路簡單等特點接下來介紹了DS12C887內(nèi)部地址單元的分配情況,以及內(nèi)部各個單元的作用,主要講到了該設計方案中使用到的秒、時、分、日、月、年等地址,其中00H-09H單元存放了秒到年的時間值,還介紹了對DS12C887的讀寫方式和內(nèi)部四個寄存器A、B、C、D,以及簡要介紹了DS12C887的周期中斷速率和輸出方波頻率。最后,以本方案中采用的硬件電路圖為例

16、,介紹了DS12C887與單片機的典型硬件連接電路。其中包括了數(shù)據(jù)讀寫部分的連接、DS12C887工作方式的選擇以及讀寫方式的設定,還簡要介紹了該設計中用到的DS1C2887的幾個主要引腳。 3整體方案設計及工作原理前面兩章論證了本倒計時系統(tǒng)的設計方案并介紹了所選方案中用到的核心芯片DS12C887的功能和使用。本章將在前面的基礎之上,從整體設計思路到各個功能模塊的作用和原理進行詳細的闡述。3.1典型硬件原理圖圖311典型硬件原理圖DS12C887輸出時間信息,經(jīng)CPU處理后,轉(zhuǎn)換為倒計時時間,并顯示出來,所以本設計共可分為三個主要部分:時鐘信號產(chǎn)生模塊、控制模塊、顯示模塊三個單元。3.2 各

17、模塊功能介紹3.2.1 時鐘信號產(chǎn)生單元該部分以實時時鐘芯片DS12C887為核心,單片機對時鐘芯片DS12C887初始化后,這部分將產(chǎn)生高精度的年、月、日、時、分、秒等實時時間信息,如圖3.2所示。圖321時鐘產(chǎn)生模塊3.2.2 控制模塊圖322控制模塊這一部分是整個電路的核心模塊,包含兩個主要的控制部分,如圖3.3所示。第一部分主要由AT89C51單片機控制,首先對時鐘芯片進行初始化,使之按照預定的時間接著往下計時,輸出實時時鐘信號。并通過P0端口讀取當前時間值,然后將讀取的時間信息轉(zhuǎn)化為與設定時間之間的倒計時間值。再通過P1端口的控制,將倒計時間信息送顯示模塊進行顯示。第二部分是由按鍵控

18、制的時間調(diào)整部分;首先可以在控制模塊加入一個按鍵開關(guān),使當前時間和倒計時時間進行相互轉(zhuǎn)換顯示,按一下開關(guān)顯示當前時間,再按一下開關(guān)則轉(zhuǎn)換成倒計時時間顯示。這樣用一個按鍵控制了倒計時間和當前時間之間的相互轉(zhuǎn)換顯示。其次是通過按鍵實現(xiàn)時間的設定與調(diào)整,可以分為對當前時間的設定與調(diào)整以及對預設時間的調(diào)整。具體的實現(xiàn)方法是:先使用單片機的一個外部中斷INT0接一個按鍵K1,按下K1后進入中斷服務子程序,進入中斷服務程序后,先對DS12C887的秒、分、小時、日期、月份、年所在的地址單元作清零的操作,在用K3鍵進行加1操作,調(diào)整和設定時間值,秒調(diào)整后按下K2鍵確認調(diào)整并將地址指針指向分單元地址,對分進行

19、設定,依次類似可進行其他時間值的調(diào)整。3.2.3 顯示模塊圖323顯示模塊該模塊是整個電路的倒計時間顯示部分。由8個LED數(shù)碼管和相應顯示驅(qū)動芯片4511和74LS138構(gòu)成,如圖3.4所示。要顯示8位數(shù)值,所以選擇用動態(tài)按位掃描的方式進行顯示.動態(tài)顯示方式中,LED數(shù)碼顯示器輪流工作,為了防止閃爍現(xiàn)象,每個LED數(shù)碼管刷新頻率必須大于25HZ,即相鄰兩次點亮時間間隔要小于40ms。4511芯片和74LS138同時工作,4511芯片送入數(shù)據(jù)給LED然后74LS138通過選通確定哪個數(shù)碼管顯示。位掃描碼由P1.4,P1.5,P1.6譯碼產(chǎn)生。所以選擇用動態(tài)按位掃描的方式進行顯示.8個數(shù)碼管顯示出

20、倒計時時間的天數(shù)、時、分、秒的數(shù)值。3.3倒計時轉(zhuǎn)換計算具體實現(xiàn)如下,以從現(xiàn)在到2007年07月01日為例來說明其設計,首先由單片機讀DS12887的時間單元,并將其存放在以30H為起始的單元中,先讀取月份,利用查表的方法計算其下月份到預定時間的天數(shù)。然后再利用查表方式判斷其月份是31天、30天、28天或29天,然后將查表得到的天數(shù)減去讀取日期,這樣將二個天數(shù)相加就會得到實際天數(shù)。進行時、分、秒的計算時,首先要把2007年07月01日0點0時0秒轉(zhuǎn)化為2007年06月29日23點59時59秒,這樣,直接利用時、分、秒相減就能得到相差的時、分、秒。3.4 本章小結(jié) 本章是整個設計方案的整體實現(xiàn)章

21、節(jié),對本方案的具體實現(xiàn)方法從總體再到各個功能模塊都作了詳細的論述。在本章的首節(jié)首先給出了根據(jù)系統(tǒng)的設計要求及選用的方案所設計的整體硬件電路原理圖。由時間單元、控制單元和顯示部分三個模塊構(gòu)成。以實時時鐘芯片DS12C887為核心的時間產(chǎn)生模塊講述了該方案中用于計算倒計時的實時時間值的產(chǎn)生來源。控制模塊(本系統(tǒng)的核心模塊)闡述了該模塊如何實現(xiàn)對整個系統(tǒng)的控制,分為對時鐘芯片DS12C887的初始化;時間值的讀取,倒計時的計算與轉(zhuǎn)換;對顯示部分的控制等。顯示模塊講述了本系統(tǒng)中顯示部分的工作原理,介紹了這個倒計時系統(tǒng)的動態(tài)掃描顯示等內(nèi)容。本章的最后就如何將讀取的當前時間轉(zhuǎn)化為與預設時間之間的倒計時時間

22、作了詳細介紹并給出了轉(zhuǎn)化的具體方法。4本設計相應部分的軟件介紹到第三章為止,已經(jīng)將這個倒計時系統(tǒng)從理論論證再到系統(tǒng)整體硬件電路進行了詳細論述,本章將根據(jù)該方案的設計思路以及硬件電路圖,介紹該倒計時系統(tǒng)的軟件實現(xiàn)原理和思路。4.1 總體功能程序?qū)崿F(xiàn)的流程圖主程序流程如圖411所示開 始計算倒計時時間顯 示 當 前時 間 F0=1INT0 讀DS12C887的內(nèi)容初 始 化顯 示Y N 返 回圖411主程序流程圖4.2主流程圖的簡要解釋說明: 首先對時鐘芯片DS12C887進行初始化,設定當前時間值,初始化后時鐘芯片將以設定時間為基準開始運行,然后通過89C51的P0口讀取DS12C887的當前時

23、間值,然后通過判斷是否是中斷如果是中斷則顯示當前時間,如果不是中斷則計算倒計時時間并顯示出來。4.2.1時鐘芯片DS12C887的初始化程序假定采用每天24小時制的非夏令時,時間數(shù)據(jù)格式為BCD碼,初始化時間為2007年05月20 日00時00分00秒,1k方波輸出。時鐘芯片每一秒種向單片機申請中斷一次,一方面讓單片機修改一次時鐘顯示,另一方面也給單片微機系統(tǒng)提供時間基準。 DS12C887時鐘芯片的初始化寫入程序    MOV DPTR,#7F0AH;寄存器A地址    MOV  A,#70H:DV2DV0=11

24、1,分頻復位    MOVX  DPTR,AA             INC  DPTR:到寄存器B地址    MOV  A,#8AH:停止更新,允許更新中斷,選BCD碼,24小時制    MOVX  DPRT,A    MOV  DPL,#00H,秒單元地址    CLR 

25、A:00秒   MOVX  DPTR,A    MOV DPL,#02H;分單元地址    CLR  A:00分    MOVX DPTR,A    MOV DPL,#04H;時單元地址MOV  A,#09H;9時    MOVX  DPTR,A    MOV  DPL#07H;日單元地址    MOV  A,01H:1日

26、60;   MOVXDPTR,AINCDPTR:到月單元地址MOVA,01H;1月    MOVX  DPTR,A INC  DPTR:到年單元地址    MOV  A,#96H;1996年    MOVX  DPTR,A    INC  DPTR;到寄存器A地址    MOV  A,#26H;DV2DV0=010  RS3RS0=0110 

27、60;  MOVX  DPTR,A:周期中斷率為976.5625µs,允許方波輸出,頻率1kHz    INC  DPTR:到寄存器B    MOV   A,#1AH;每秒更新一次,允許方波輸出,24小時制    MOVX  DPTR,A:時鐘開始運行4.3 實時時間的讀取程序DS12C887的日歷時鐘通常有中斷和查詢兩種方法讀出。但在讀數(shù)據(jù)時,首先要判斷數(shù)據(jù)是否更新結(jié)束,只有在數(shù)據(jù)更新結(jié)束時數(shù)據(jù)讀出才有效。 本設計方案采用查

28、詢法讀取數(shù)據(jù):    查詢寄存器A的UIP位,當UIP=0時,數(shù)據(jù)更新結(jié)束,可以讀出。以下是采用查詢方法,從秒至年單元的數(shù)據(jù)讀出后存入89C51內(nèi)部RAM的3035H單元中,該部分程序流程圖和讀取程序如圖4.2所示。 轉(zhuǎn)到DS12C887的時間單元UIP=0 N計算倒計時記時讀取時間數(shù)據(jù) Y 顯 示圖431 讀取時間的流程圖對DS12C887的時間讀取程序(查詢法) MOV  DPTR,#7F0AH;寄存器A地址    MOVX  A,DPTR    WAIT:JB  ACC

29、,7,WAIT;UIP=1則等待更新完畢    MOV  DPL,00H;秒地址    MOV  R0,#30H;取目標首地址    MOVX   A,DPTR;取秒數(shù)據(jù)    MOV  R0,A:送入80C51的內(nèi)部RAM緩沖區(qū)    INC  DPTR:移指針    INC  R04.4 倒計時部分的軟件實現(xiàn)原理倒計時流程如圖4.3所示。讀DS

30、12C887的內(nèi)容取月加一查表一得天數(shù)取月值查表二得每月天數(shù)減讀取日數(shù)天數(shù)相加保存取時分秒預定時間減時分秒保存返回圖4.3 倒計時轉(zhuǎn)化流程圖以從現(xiàn)在到2007年07月01日為例來說明其設計,首先由單片機讀DS12C887的時間單元,并將其存放在以30H為起始的單元中,先讀取月份,利用查表的方法計算其下月份到預定時間的天數(shù)。然后再利用查表方式判斷其月份是31天、30天、28天或29天,然后將查表得到的天數(shù)減去讀取日期,這樣將二個天數(shù)相加就會得到實際天數(shù)。進行時、分、秒的計算時,首先要把2007年07月01日0點0時0秒轉(zhuǎn)化為2007年06月29日23點59時60秒,這樣,直接利用時、分、秒相減就

31、能得到相差的時、分、秒。這只是一個簡單的固定時間設置,有待于實現(xiàn)的功能是調(diào)解預定時間,可以在中斷INT1加一個開關(guān),這個開關(guān)就可以調(diào)解預定時間。按下中斷INT1進入中斷程序,然后按開關(guān)K2后開始進入時間調(diào)整,先調(diào)整天然后按下K3確認,指針自動指向小時,在按下K2進行調(diào)整,重復操作調(diào)整好時間后自動跳出中斷程序,就修改了預設時間。4.5 本章小結(jié) 本章是該倒計時系統(tǒng)設計的軟件實現(xiàn)部分。從整體的軟件設計流程圖到各個主要的子程序部分分別進行講述。 首先介紹了本系統(tǒng)整體功能實現(xiàn)的流程圖,先對時鐘芯片DS12C887進行初始化,然后通過89C51的P0口讀取DS12C887的當前時間值,再計算出讀取時間與

32、預設定時間之間的倒計時時間值并送顯示模塊顯示出來。在時間讀取子程序的介紹中,解釋對DS12C887讀取時間的方法。DS12C887的日歷時鐘通常有中斷和查詢兩種方法讀出,這里以查詢法為例作了介紹。最后是本倒計時系統(tǒng)在軟件設計中最為關(guān)鍵的部分倒計時時間轉(zhuǎn)化方法。通過實例和程序流程圖詳細介紹了在軟件實現(xiàn)過程中是如何將得到的當前時間轉(zhuǎn)化為與預設時間之間的倒計時的。 總結(jié)這個設計主要是單片機的一個應用系統(tǒng),利用單片機和實時時鐘芯片構(gòu)成了一個簡單實用的倒計時系統(tǒng)。通過數(shù)碼管的顯示可以清晰的看出設定時間與現(xiàn)在實時時間之間的倒計時間值。通過這個必要設計的學習和寫作過程,使我比較系統(tǒng)的了解和掌握了51系列單片機的基本原理及其應用。在這個系統(tǒng)的制作與測試過程中,遇到的第一個問題是對時鐘芯片的初始化問題,因為DS12C887并不需要每次復位后進行初始化,如果每次運行都初始化的話就會不斷的重復修改它的基準時間,也就讀不出準確的當前時間。因為DS12C887具有掉電存儲功能,系統(tǒng)掉電后它可以繼續(xù)維持時鐘的運行狀態(tài)。所以只對DS12C887進行一次的初始化后再換用不帶初始化的程序,只需要讀取時間和轉(zhuǎn)換顯示就避免了這個問題。遇到的第二個問題是倒計時時間的顯示模塊,因為要進行單個的顯示,顯示時一分鐘倒計時完后前一位不能自

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論