基于DS12C887時鐘芯片的高精度時鐘的設計_第1頁
基于DS12C887時鐘芯片的高精度時鐘的設計_第2頁
基于DS12C887時鐘芯片的高精度時鐘的設計_第3頁
基于DS12C887時鐘芯片的高精度時鐘的設計_第4頁
基于DS12C887時鐘芯片的高精度時鐘的設計_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、華僑大學廈門工學院本科生畢業(yè)設計(論文)題 目: 基于ds12c887時鐘芯片的高精度時鐘的設計姓 名: 吳挺 學 號: 0902106019 系 別: 電氣工程 專 業(yè): 電氣工程及其自動化 年 級: 2009 指導教師: 劉曉東 年 月 日獨創(chuàng)性聲明本畢業(yè)設計(論文)是我個人在導師指導下完成的。文中引用他人研究成果的部分已在標注中說明;其他同志對本設計(論文)的啟發(fā)和貢獻均已在謝辭中體現(xiàn);其它內容及成果為本人獨立完成。特此聲明。論文作者簽名: 日期: 關于論文使用授權的說明本人完全了解華僑大學廈門工學院有關保留、使用學位論文的規(guī)定,即:學院有權保留送交論文的印刷本、復印件和電子版本,允許論

2、文被查閱和借閱;學院可以公布論文的全部或部分內容,可以采用影印、縮印、數字化或其他復制手段保存論文。保密的論文在解密后應遵守此規(guī)定。論文作者簽名: 指導教師簽名: 日期: 基于ds12c887時鐘芯片的高精度時鐘的設計摘要隨著社會的發(fā)展人們的生活節(jié)奏越來越快,每天的工作,學習,休息的時間都安排的很緊,需要一個時鐘準確的報時。人們對時鐘的要求越來越高,不僅要求每天的的時間誤差小于幾毫秒,還要求具有定時鬧鐘,具有萬年歷等功能。傳統(tǒng)的日歷電子鐘元器件多、維修麻煩、誤差大、功能更新不方便。ds12c887時鐘芯片能夠自動顯示年、月、日、時、分、秒等時間信息,同時還具有校時,報時,鬧鐘等功能。ds12c

3、887也可以很方便的由軟件編程進行功能的調整或增加。所以設計基于ds12c877時鐘芯片的高精度時鐘的設計具有十分重要的現(xiàn)實意義和實用價值。關鍵詞:ds12c887,時鐘芯片,單片機stc89c52,高精度時鐘design of high precision clock based on clock chip ds12c887 abstractwith the development of society, people life rhythm faster and faster, a days work, study and rest time arrangement is very tig

4、ht, need a clock tell the time accurately. people is higher and higher requirement for the clock, every day not only requires the time error is less than a few milliseconds, also requires a timing alarm clock, a calendar, and other functions. traditional electronic clock calendar components, mainten

5、ance trouble, big error, function more update is not convenient. chip ds12c887 clock automatically display year, month, day, hours, minutes and seconds time information, but also with the school, the time, alarm clock, and other functions. ds12c887 can also be very convenient by the software program

6、ming to adjust function or to increase. so the design is based on ds12c877 clock chip design of high precision clock has very important practical significance and practical value.keywords: ds12c887,clock chip microcontroller stc89c52,high-precision clock目 錄第1章 緒論1 1.1 研究背景1第2章 方案論證選擇2 2.1時鐘計時的方案選擇2

7、2.2顯示部分的方案選擇3第3章 系統(tǒng)組成4 3.1.1 系統(tǒng)原理與硬件設計4 3.1.2 硬件選擇5 3.1.3單片機stc89c52中文資料5 3.1.4 stc單片機最小系統(tǒng)9第4章 系統(tǒng)硬件電路設計10 4.1.1晶振電路10 4.1.2復位電路10 4.1.3程序下載接口11 4.2.1 1602液晶概述11 4.2.2 1602液晶引腳功能11 4.2.3 1602讀寫時序圖12 4.2.4 1602lcd的一般初始化(復位)過程14 4.2.5 1602lcd的電路連接15 4.3.1 ds12c887概述15 4.3.2 ds12c887引腳功能16 4.3.3 ds12c88

8、7讀寫時序17 4.3.4 ds12c887流程圖17 4.3.5 時鐘芯片引腳介紹18 4.3.6 4個控制寄存器介紹19 4.4鬧鈴電路21 4.5 獨立鍵盤電路21 4.6 電源模塊21結論23參考文獻25謝辭26附錄1 硬件實物圖27附錄2 程序代碼28v基于ds12c887時鐘芯片的高精度時鐘的設計35第1章 緒論1.1 研究背景傳統(tǒng)時鐘芯片在電源斷電時內部的時間芯片就會停止計時,所以需要額外使用一個備用的電源向時鐘芯片供電,這樣會使系統(tǒng)功耗增大,體積變大。單一功能定時時鐘只提供年,月,日,時,分,秒的時間信息和日歷功能,多功能時鐘除了提供時間信息和日歷功能以外,通常還具有報警,定時

9、,鬧鐘等功能。采用單片機stc89c52和時鐘日歷芯片ds12c887設計并且制作出來的電子鐘,一個月的時間里只有1秒內的誤差1,比ds1302,ds1307,pcf8485等的芯片設計出來的時鐘更精確2時鐘按照工具接口方式不同可以分為并行接口時鐘和串行接口時鐘,并行接口時鐘的特點是:傳輸速度快,但是硬件數目多,接線數目多,產品體積大。串行接口時鐘的特點:傳輸線少,成本低,產品體積小。缺點是傳輸速度慢。時鐘芯片的種類也越來越多,對時鐘芯片的要求越來越高,比如精度高,體積小,功耗低,性能穩(wěn)定,功能齊全,使用方便,技術更新靈活。所以設計一款體積小,工作穩(wěn)定,時間精確的時鐘具有十分重要的意義。第2章

10、 方案論證選擇2.1時鐘計時的方案選擇 方案一:傳統(tǒng)的基于單片機的時鐘設計可以采用單片機內部的晶振來產生脈沖,然后通過單片機內部的計時器經過分頻產生秒脈沖,然后通過軟件編程來實現(xiàn)時鐘的顯示,這種設計方案的優(yōu)點是外圍器件少,電路簡單清晰,電路焊接容易,出問題的故障幾率小。但是這種方案需由軟件編程來實現(xiàn)秒脈沖的產生,編程相對來說比較復雜,而且也不利于排除故障,維修起來不方便。由于單片機內部時鐘會產生誤差,即使設計時間誤差補償程序也很難實現(xiàn)提供準確時間的功能。這種設計還有一個非常大的缺點就是如果單片機斷電,芯片里的時間計時就停止,再次上電時又從初始設定重新計時,這樣就需要在每次上電都調整時間,比較麻

11、煩。 方案二:在傳統(tǒng)的基于單片機的數字時鐘設計的基礎上經過一些改進,引入ds12c887時間芯片,本次設計可分為兩部分:硬件部分包括:體積小功能豐富的stc89c52單片機3、具有掉電保護的ds12c887時鐘芯片4電路簡單易于實現(xiàn)的1602lcd液晶顯示器5,鍵盤輸入電路等。具體說來,系統(tǒng)智能控制部分由單片機及其相關的外圍電路6組成,外圍電路包括解決死機等問題的復位電路7、波形穩(wěn)定的晶振電路8、鍵盤設計、鬧鈴電路以及合適的直流電源電路9。利用單片機將復位電路、能夠降低功耗和減少顯示器外部引線的顯示電路10、電源電路等正確的連接在一起,并通過單片機的編程來實現(xiàn)本次設計任務中的要求。軟件部分主要

12、包括了主程序模塊,ds12c887模塊,lcd1602模塊,鍵盤控制模塊。ds12c887芯片具有掉電保護功能,內部自帶鋰電池,能夠在斷電的情況下保持時間信息,等到外部電路恢復供電之后能夠不必調整時間,為時鐘的校時操作節(jié)省了很多時間,而且這種設計更節(jié)能,在需要觀察時間的時候比如白天就可以給主電路通電。而在夜晚不需要觀察時鐘的時候就可以給主電路斷電,這樣可以節(jié)約大量電能。 時間芯片ds12c887采用了內部集成晶振的電路,并且具有內部溫漂補償電路設計。能夠準確計時,提供精確的時間,這樣就簡化了電路的器件選擇,另外也使程序的設計更加簡潔。在硬件設計方面,由于只增加了一個ds12c887時間芯片,因

13、此并不是特別復雜,而且這種獨立計時的設計使得產品排故更加方便。第二種方案更加準確而且電路硬件設計更加簡單,軟件設計更加簡潔,因此采用第二種方案。2.2顯示部分的方案選擇1.數碼管顯示,8段數碼管顯示雖不需要復雜的驅動程序,可視范圍寬,但硬件制作成本高,硬件電路的設計復雜。2. lcd1602 液晶顯示,液晶顯示最大的特點就是界面簡潔,已經廣泛應用于現(xiàn)代工業(yè)控制和智能化儀器儀表等地方,己經成為單片機開發(fā)領域典型模塊之一。能夠方便的顯示文字和數字。3.lcd1602液晶顯示時屏幕不會有閃爍。液晶操作方便,且與單片機的接口電路簡單,接線面積小,大大提高了萬年歷的性能。所以最終選擇lcd1602液晶顯

14、示方案。第3章 系統(tǒng)組成3.1.1 系統(tǒng)原理與硬件設計本次的設計題目是電子萬年歷設計,要求實現(xiàn)年、月、日、時、分、秒的正常顯示,需要硬件和軟件的結合來實現(xiàn)。本次設計利用時鐘日歷芯片ds12c887的特性和stc89c52單片機的功能利用實現(xiàn)的。根據設計的要求萬年歷要顯示年、月、日、時、分、秒的顯示同lcd1602。在明確本次設計思路之后,畫出設計框圖,總體框圖如圖2.1所示。圖1 設計總體框圖圖2 系統(tǒng)電路原理圖3.1.2 硬件選擇(1)時鐘芯片選擇 選用ds12c887時鐘芯片。(2)單片機的選擇 選用stc89c52單片機,并配備11.0592mhz晶振,復位電路采用上電復位。(3)顯示電

15、路選擇 采用lcd1602液晶顯示。(4)電源選擇 采用直流5v電源供電。3.1.3單片機stc89c52中文資料stc89c52 是stc公司生產的低電壓,高性能cmos 8位單片機片內含8k bytes的可反復擦寫的只讀程序存儲器(perom)和256 bytes的隨機存取數據存儲器(ram),器件采用stc公司的高密度、非易失性存儲技術生產,與標準mcs-51指令系統(tǒng)及8052 產品引腳兼容,片內置通用8位中央處理器(cpu )和flash由存儲單元, stc89c52單片功能強大,適用于許多電子產品。主要性能參數:1.與mcs-51產品指令和引腳完全兼容。2.8字節(jié)可重擦寫flash閃

16、速存儲器3.1000 次擦寫周期4.全靜態(tài)操作:0hz-24mhz5.三級加密程序存儲器6.256x8字節(jié)內部ram7.32個可編程i/0口線8.3個16 位定時計數器9.8個中斷源10.可編程串行uart通道11.低功耗空閑和掉電模式圖3 stc89c52外部引腳圖vcc:電源電壓gnd:地線p0:p0口是一組8位漏極開路型雙向1/o 口,也即地址/數據總線復用口。作為輸出口用時每位能吸收電流的方式驅動8個ttl 邏輯門電路,對端口p0 寫“1”時,可作為高阻抗輸入端用。當訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部 上拉電阻。在flas

17、h由編程時,p0口接收指令字節(jié),而在程序校驗時,輸出指令字 節(jié),校驗時,要求外接上拉電阻。p1口:pi 是一個帶內部上拉電阻的8位雙向i/o口,pl的輸出緩沖級可驅動(吸收或輸出電流)4個ttl邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻某個引腳被外部信號拉低時會輸出一個電流iil與at89c51不同之處是,pl.0 和p1.1還可分別作為定時/計數器2 的外部計數輸入(pl.0/t2 )和輸入(p1.1/t2ex) , 參見圖3 flash編程和程序校驗期間,pl接收低8位地址。圖3 pi.o 和pi.l 的第二功能口:

18、p2 是一個帶有內部上拉電阻的8位雙向i/o口,p2的輸出緩沖級可驅動(吸收或輸出電流)4個ttl邏輯電路。對端口p2寫“l(fā),通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(llt )。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執(zhí)行movxdptr 指令)時,p2送出高8 位地址數據。在訪問8位地址的外部數據存儲器、如執(zhí)行movxri指令)時,p2口輸出p2鎖存器的內容。flash編程或校驗時,p2亦接收高位地址和一些控制信號。p3口:p3口是一組帶有內部上拉電阻的8位雙向i/o口。p3口輸出緩沖級可

19、驅動(吸收或輸出電流)4個ttl邏輯門電路。對p3口寫入“1”時,內部上拉電阻把它們被拉高,并作為輸入的端口。這個時候,被外部拉低的p3口將用上拉電阻輸出電流(iil) . p3口除了作為一般的i/0口線外,更重要的用途是它的第二功能,如圖表1:表1端口引腳第二功能p3.0rxd(串行輸入口p3.1txd(串行輸出口p3.2into(外中斷0p3.3into(外中斷l(xiāng))p3.4to (定時計數器0 )p3.5tl (定時計數器l )p3.6wr(外部數據存儲器寫選通)p3.7rd(外部數據存儲器讀選通) 此外,p3口還接收一些用于flash閃速存儲器編程和程序校驗的控制信號。rst:復位輸入。

20、當振蕩器工作時,rst引腳出現(xiàn)兩個機器周期以上的高電平時單片機復位。ale/prog:當訪問外部程序存儲器或數據存儲器的時候,ale(地址鎖存允許)輸出脈沖用來鎖存低8位字節(jié)的地址通常,ale依然以時鐘振蕩頻率的1/6輸出固定的脈沖信號,所以可以用來實現(xiàn)對外輸出時鐘或用于定時目的。每次訪問外部數據存儲器時將跳過一個ale脈沖。對flash存儲器編程的時候,這個引腳還用于輸入編程脈沖(prog)。可以通過對特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位可禁止ale操作。該位置位后,只有一條movx和movc指令才能將ale激活,另外,此引腳會被拉高一點點,當單片機執(zhí)行外部程序得時候,應該把

21、ale設置為禁止。psen:程序儲存允許psen輸出是外部程序存儲器的讀選通信號,當at89c52由外部程序存儲器取指令時,每個機器周期兩次psen有效,就是輸出兩個脈沖。這個時候,當訪問外部數據存儲器時,就會跳過兩次psen信號。ea/vpp:外部訪問允許。欲使cpu 僅訪問外部程序存儲器(地址為0000h-ffffh ) , ea端必須保持低電平(接地)如ea端接在高電平上, cpu就執(zhí)行內部程序存儲器中的指令。flash存儲器編程時,該引腳加上+12v的編程允許電源vpp,該器件必須使用12v編程電壓vpp 。xtal1:振蕩器的反相放大器的及內部時鐘發(fā)生器的輸入端xtal2:振蕩器的反

22、相放大器的輸出端。at89c52的特殊功能是,在at89c52 片內存儲器中,80h-ffh 共128 個單元為特殊功能寄存器(sfr),sfr 的地址空間映象如表2 所示。并非所有的地址都被定義,從80hffh 共128 個字節(jié)只有一部分被定義,還有相當一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數值將不確定,而寫入的數據也將丟失。不應將數據寫入未定義的單元,由于這些單元在將來的產品中可能賦予新的功能,在這種情況下,復位后這些單元數值總是“0”。at89c52除了有at89c51所有的定時/計數器0 和定時/計數器1 外,還增加了一個定時/計數器2。定時/計數器2 的控制和狀態(tài)位位

23、于t2con,t2mod,寄存器對(rcao2h、rcap2l)是定時器2 在16 位捕獲方式或16 位自動重裝載方式下的捕獲/自動重裝載寄存器。3.1.4 stc單片機最小系統(tǒng)圖4 單片機最小系統(tǒng)stc單片機是一種高性能、低功耗的8位cmos微處理芯片, stc單片機雖然功能強大,但要想完成其強大的功能,單靠它也是不的行的,因此要讓它運行起來,就要創(chuàng)設其工作的環(huán)境,即最小系統(tǒng),stc單片機最小系統(tǒng)如圖1所示,它包括由一個晶振,兩個電容組成的振蕩電路,一個復位按鈕一個10uf電容和一個10k電阻組成的復位電路,電源電路三個電路組成。本系統(tǒng)以stc89s52單片機為核心,使用11.0592mhz

24、的晶振,復位電路為按鍵高電平復位。第4章 系統(tǒng)硬件電路設計4.1.1晶振電路圖5 晶振電路在晶振電路中,c1、c2為晶振的負載電容,分別接在晶振的兩個腳上和對地的電容,電路中取了30pf。因為晶振與單片機的振蕩電路中腳xtal0和腳xtal1會產生偕波,雖然諧波對電路的影響不大,但是會影響電路中時鐘振蕩器的穩(wěn)定性. 在晶振的腳xtal0和腳xtal1之間接分別接入兩個5pf-30pf的瓷片電容接可以增加電路的穩(wěn)定性。4.1.2復位電路圖6 復位電路單片機復位電路有上電自動復位和手動復位兩種方式。上電復位要求接通電源后,自動進行復位操作。手動復位要求接通電源的前提下,在單片機運行的條件下,在單片

25、機運行期間,用按鈕開關操作使單片機進行復位的操作。這里采用的是手動復位。4.1.3程序下載接口圖7 程序下載接口圖如圖可接插usb口,從而獲取+5v的電源。rxd,txd用于下載程序、串口通信用。通過計算機把程序下載到單片機中。4.2.1 1602液晶概述1602lcd是指顯示的字符和數字為16x2,即可以顯示兩行,每行16個字符液晶模塊共32個字符和數字。1602lcd主要技術參數:1.顯示大小:162個字符2.芯片額定電壓:4.55.5v3.額定電流:2.0ma(5.0v)4.工作時的電壓:5.0v4.2.2 1602液晶引腳功能表2 液晶引腳功能引腳符號功能說明1vss一般接地2vdd接

26、電源正極(+5v)3v0液晶顯示器對比度調整端,接正電源時對比度最低,接地時對比度最高。4rsrs是選擇兩種寄存器,當高電平1時選擇數據寄存器、當低電平0時選擇指令寄存器。5r/wr/w是選擇兩種讀寫信號線,高電平1時進行讀操作,低電平0時進行寫操作6ee(或en)端為使能端,下降沿使能。7db0雙向數據總線第0位(最低位)8db1雙向數據總線第1位9db2雙向數據總線第2位10db3雙向數據總線第3位11db4雙向數據總線第4位12db5雙向數據總線第5位13db6雙向數據總線第6位14db7雙向數據總線第7位(最高位),是讀忙標志位15bla背光電源正極16blk背光電源負極4.2.3 1

27、602讀寫時序圖1602液晶模塊內部的控制器一共具有11條控制指令,如表3所示:表3序號指令rsr/wd7d6d5d4d3d2d1d01清顯示00000000012光標返回000000001*3置輸入模式00000001i/ds4顯示開/關控制0000001dcb5光標或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數據存貯器地址001顯示數據存貯器地址9讀忙標志或地址01bf計數器地址10寫數到cgram或ddram)10要寫的數據內容11從cgram或ddram讀數11讀出的數據內容表3字符控制命令說明:通過指令編程來實現(xiàn)

28、1602液晶模塊的讀寫操作、屏幕和光標的操作。(其中1為高電平、0為低電平)指令1:清顯示,將指令碼01h復位到地址00h位置。指令2:光標復位,光標返回到地址00h。指令3:光標和顯示模式設置 i/d:光標移動方向,高電平右移,低電平左移 s:屏幕上所有文字是不是左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關控制。 d:控制開關整體的顯示,高電平表示顯示打開,低電平表示關顯示關閉 c:控制光標的開與關,高電平表示有光標,低電平表示無光標 b:控制光標是否閃爍,高電平表示閃爍,低電平表示不閃爍。指令5:光標或顯示移位 s/c:高電平時移動顯示的文字,低電平時移動光標。指令6:功能

29、設置命令 dl:高電平時為4位總線,低電平時為8位總線 n:低電平的時候顯示單行,高電平的時候顯示雙行f: 低電平的時候顯示5x7的點陣字符,高電平的時候顯示5x10的點陣字符。指令7:設置字符發(fā)生器ram的地址。指令8:設置ddram的地址。指令9:讀忙信號和光標地址 bf:為忙標志位,高電平表示忙,高電平的時候模塊不能接收數據或者命令,假如是低電平表示不忙。指令10:寫入數據。指令11:讀出數據。芯片時序表如下:表4讀狀態(tài)輸入rs=l,r/w=h,e=h輸出d0d7=狀態(tài)字寫指令輸入rs=l,r/w=l,d0d7=指令碼,e=高脈沖輸出無讀數據輸入rs=h,r/w=h,e=h輸出d0d7=

30、數據寫數據輸入rs=h,r/w=l,d0d7=數據,e=高脈沖輸出無圖8 1602讀寫時序圖4.2.4 1602lcd的一般初始化(復位)過程1.延時15ms2.寫指令38h(不檢測忙信號)3.延時5ms4.寫指令38h(不檢測忙信號)5.延時5ms6.寫指令38h(不檢測忙信號)以后每次寫指令、讀/寫數據操作均需要檢測忙信號7.寫指令38h:顯示模式設置8.寫指令08h:顯示關閉9.寫指令01h:顯示清屏10.寫指令06h:顯示光標移動設置11.寫指令0ch:顯示開及光標設置4.2.5 1602lcd的電路連接液晶5端為讀/寫選擇端,因為我們不從液晶中讀取數據,只向其寫入命令和顯示數據,因此

31、此端始終選擇為寫狀態(tài),即低電平接地。液晶6端為使能信號,是操作時必須的信號。其電路如圖2-11所示:圖9 1602的電路連接4.3.1 ds12c887概述ds12c887具有ds12r885裸片,32.768hz石英晶體和一個可充電電池三個部分, ds12c887與計算機常用的時鐘芯片mc146818b和ds12887管腳兼容,同時可直接替換可以用來直接代替ibm pc上的時鐘日歷芯片ds12887。采用ds12c887芯片設計的時鐘電路有良好的微機接口,并且不需要任何外圍電路和器件。時鐘芯片ds12c887具有如下的特征11:(1)ds12c887里面自帶一個鋰電池,外部掉電時,內部信息還

32、能保持10年的時間,保證不丟失數據。(2)能夠自動產生秒、分、時、天、星期、日、月、年、世紀等時間信息, 并有閏年補償功能。其內部還增加了世紀寄存器,利用硬件電路解決了“千年”問題。(3)具有二進制數碼和bcd碼兩種表示時間的方法、具有日歷和定時鬧鐘功能。(4)一天內的時間記錄具有12小時制和24小時制兩種,12小時時鐘模式中,具有pm和am用來區(qū)分上午和下午。同時可選用夏令時模式;(5)有128個ram單元與軟件接口,其中有11字節(jié)ram用來存儲時間信息,4字節(jié)ram用來存儲ds12c887的控制信息,稱為控制寄存器14個作為字節(jié)時鐘和控制寄存器,113字節(jié)通用ram使用戶使用。(6)用戶還

33、可對ds12c887進行編程以實現(xiàn)多種方波輸出,并可對其內部的三路中斷通過軟件進行屏蔽。4.3.2 ds12c887引腳功能表5 ds12c887引腳功能引腳符號功能說明1mot模式選擇引腳,接vcc時,選擇的是motorola的總線時序;當接地或懸空,選擇的是intel總線時序4-11ad0-ad7雙向地址/數據總線12gnd接地13csds12887的芯片選選通信號,必須在cs有效的狀態(tài)下,motorola時序中數據或地址才可以選通或intel時序中讀寫信號才可以有效。14as地址選通,一個高電平的地址選通信號提給總線時,在as脈沖的下降沿,ds12887選通地址。15r/w讀寫信號,有兩

34、種操作模式。當mot引腳接vcc選擇motorola時序,當mot接地選擇的是intel時序。17ds數據選通或讀出,根據模式選擇的不同,ds引腳有兩種不同的操作模式。18resetreset引腳對時鐘,日歷,ram沒有影響。在上電時,reset能一直保持低電平使系統(tǒng)保持穩(wěn)定。19irq中斷請求,在ds12887中irq是一個低有效信號,它能對處理器發(fā)出一個中斷信號。23sqw方波輸出引腳24vcc接電源(+5v)注:其中nc代表空腳。 4.3.3 ds12c887讀寫時序圖10 ds12c887讀寫時序 4.3.4 ds12c887流程圖進入主程序后,ds12c887首先進行初始化設置,當串

35、行口有數據時,則調用函數從日歷時鐘芯片獲取日歷時鐘信息,調用顯示函數顯示日歷時鐘信息顯示出來,重復進行。這部分包括ds12c887某個單元寫、讀ds12c887某個單元的內容和ds12c887設定時間。ds12c887的流程圖如圖7所示。開始 ds12c887初始化 調用函數獲取時鐘信息 送數據顯示 圖11 ds12c887的流程圖4.3.5 時鐘芯片引腳介紹1) 時鐘芯片ds12c887,其引腳分布圖如下所示圖12 時鐘引腳分布mot (1腳) :總線時序模式選擇腳。接高電平時,選擇motorola總線方式工作;接低電平或懸空時,芯片按照intel總線方式工作。此時其工作時序與mcs51芯片

36、的片外ram讀寫時序相伺。nc (2,3,16,20,21,22腳):不解任何引腳。ad0ad7(411腳):地址/地址數據復用總線引腳。cs(13腳):片選腳,低電平有效。as(14腳):地址鎖存輸入腳。引腳上的正脈沖用于切換地址/數據復用總線。脈沖后沿將地址鎖入ds12887中,在intel總線方式下,該腳等效于mcs一51系列單片機芯片的ale腳。r/w(15腳):讀/寫輸入腳。此引腳有兩種工作方式,在選擇motorola總線方式下,此引腳用于指示當前的讀寫周期,高電平表示一個讀周期,低電平表示一個寫周期;選擇intel中線時序模式時,此引腳為低電平有效的輸入腳,相當于通用ram的寫使能

37、信號(/we)ds(17腳):此引腳有兩種工作方式,當mot接高電平時時,此引腳為數據鎖存腳;當mot接低電平時,此引腳為讀輸入腳,在mcs一51系統(tǒng)中,ds相等于rd腳。reset(18腳):復位輸入,當 reset為低電平且vcc4.25時,ds12c887芯片執(zhí)行復位操作。該腳上的電壓不影響時鐘、日歷及片內ram的內容。irq(19腳):中斷申請輸出腳,低電平有效,只要引起中斷的狀態(tài)位有效且相應的中斷允許位為1,則irq變?yōu)榈?。微機需靠讀寄存器c來清除該腳信號,reset腳也可清除該信號。sqw(23腳):方波信號輸出腳。可通過設置寄存器位sqwe關斷此信號輸出,此信號的輸出頻率也可通過

38、對芯片內部的寄存器編程予以改變。vcc(24腳):+5v電源端。當vcc3v時,芯片內部自動將vcc切換至片內置電池上,當vcc恢復為4.25v后須經過100ms才能對它進行訪問。4.3.6 4個控制寄存器介紹ds12c887有4個控制寄存器,在任何時間都可以進行訪問,即使處于更新周期。寄存器a字節(jié)的內容如下。msb lsb uip dv2 dv1 dv0 rs3 rs2 rs1 rs0uip:當該位為一時表明即將產生一次時鐘更新周期。當該位為零時,表示至少在244,s內不會產生更新。該位不受reset腳的影響, 當uip為0時,可以獲得所有時鐘、日歷、鬧鐘信息。用戶將寄存器b中的set位寫為

39、1時,可以限制數據的更新的傳送并清零uip位。dv2、dv1、dv0:用于打開振蕩器和復位分頻器,將其置為010是唯一打開振蕩器并使時鐘計時的辦法,置為1lx將打開振蕩器但使分頻器處于復位態(tài),下一個更新周期將發(fā)生在dv2,dvi,dv0被置為010的500ms之后。寄存器b字節(jié)的內容如下。 msb lsb set pie aie uie sqwe dm24/12 dseset:設置位,不受到復位操作影響,可以進行讀寫。當0時,不處于設置狀態(tài),芯片更新時間數據;當1時,抑制數據更新,可以通過程序設定時間和日歷信息。pie:周期性中斷使能位,復位時清除此位,可以進行讀寫。當1時,允許寄存器c中的周

40、期中斷標志位pf,驅動/irq引腳向低產生中斷信號輸出,中斷信號產生的周期通過rs0re3決定。aie:鬧鐘中斷使能位,可以進行讀寫。當1時,允許寄存器c中的鬧鐘中斷標志位af、鬧鐘發(fā)生時就會通過/irq引腳產生中斷輸出。uie:數據更新結束中斷使能位,可以進行讀寫。復位或者set位為1時清除此位。為1時允許寄存器c中的更新結束標志uf,更新結束后就會通過/irq引腳產生中斷輸出。sqwe:方波使能位,復位時清除此位,可以進行讀寫。當0時,sqw引腳保持低電平;當1時,sqw引腳輸出方波信號,其頻率由rs3rs0決定。dm:數據模式位,不受復位操作影響,可以進行讀寫。當0時,設置時間、日歷信息

41、為二進制數據; 當1時,設置為bcd碼數據。24/12:時間模式設置為,不受復位操作影響,可以進行讀寫。當0時,設置為12小時模式;當1時,設置為24小時模式。dse:當1時,會進行兩次特殊時間的更新;4月的第一個星期日凌晨1:59:59會直接更新到3:00:00,10月的最后一個星期日凌晨1:59:59會直接更新到1:00:00;為0時,時間信息正常更新,不受復位操作影響,可以進行讀寫。寄存器c字節(jié)內容如下。 msb lsb irqf pf af uf 0 0 0 0iqrf:中斷申請標志位。當1時,/irq引腳為低,產生中斷申請。當pf、pie為1時或者af、ate為1或者uf、uie為1

42、時,此位為1,否則置0.pf:中期中斷標志位。當1時,是只讀位,與pie位狀態(tài)無關,由寄存器c操作或者復位操作清除。af:鬧鐘中斷標志位。當1時,表示當前時間和鬧鐘設定時間一至,由復位操作或讀寄存器c操作清除。uf:數據更新結束中斷標志位。每個更新周期后此位都會置1,當uie位位置1時,uf若為1就會引起irqf置1,將驅動/irq引腳為低電平,申請中斷。此位由讀寄存器c操作或者復位操作清除。寄存器d字節(jié)的內容如下。 msb lsb 0 0 0 0 0 0 0 0vrt;ram和時間有效位。用于指示和vbat引腳連接的電池狀態(tài)。此位不可寫入,也不受操作的影響,一般的時候讀取時總去為1,如果出現(xiàn)

43、讀取為0的情況,就說明電池沒電了,時間數據和ram中的數據就會變得不準確。芯片ds12cr887的113字節(jié)普通ram空間為非易失性ram空間,可以在未處理器程序中作為非易失性內存空間使用。4.4鬧鈴電路圖13 鬧鈴電路鬧鈴功能是由單片機的i/o口輸出一定頻率方波信號,驅動蜂鳴器發(fā)出特定頻率的聲音信號實現(xiàn)的。當鬧鈴設置的時間到達時鐘的時間時,單片機發(fā)送一個低電平給蜂鳴器,三極管導通驅動蜂鳴器發(fā)出聲音作為定時鬧鈴。4.5 獨立鍵盤電路圖14 獨立鍵盤電路當單片機檢測到有按鍵被按下時,就發(fā)射與之相對應的二進制編碼信號4.6 電源模塊時鐘的電源為+5v直流電源,本設計中可以使用4節(jié)1.5v電池,電源

44、模塊的原理圖如圖2-15所示:圖15 電源模塊結論 時鐘芯片ds12c887其功能豐富、時鐘精確性好、運行穩(wěn)定性好,使用簡單,可靠性高,是時間產生電路的良好選擇。正常運行時間數據10年內不會丟失,是工業(yè)生產高精度時鐘的理想芯片。 ds12c887 因為豐富的功能及簡便的連接接口,不僅應用于通用微機系統(tǒng)中,也廣泛地應用于各類以單片機為核心的智能化儀器儀表中,不僅準確的顯示時間信息,節(jié)省 cpu的定時資源,減少軟件設計工作量,提高穩(wěn)定性,在智能檢測儀表的應用中,取得了滿意的效果。本次畢業(yè)設計主要是完成以下幾點:對設計方案的理論研究,單片機的合理選型,硬件電路的設計,元器件的焊接,軟件的編寫和調試以

45、及畢業(yè)論文的制作。在這個過程中,有許多東西以前都沒有學過,比如如何看芯片的引腳,如何用protel畫圖,如何用keil軟件編譯12,如何用stc-isp-v4.80燒錄程序,這些都要通過自學和請教別人來完成,所以花費了許多的時間。設計好電路后,一次次的燒程序,改線路,看試驗結果,用萬用表測試哪些pin腳有短接。通過一天天的實踐,思路也逐漸清晰起來,找到了解決的方法,最終達到了預期的效果。 最終實現(xiàn)功能:(1)能顯示陽歷年、月、日、星期、小時、分、秒。(2)通過lcd1602液晶顯示,用增大按鍵調整時間,日期 。分鐘和秒鐘增大到59變成0,小時增大到23變成0,日期增大到31號變成1,月份增大到

46、11月變成1,星期調到周日變成周一。(3)通過ds12c887芯片實現(xiàn)斷電繼續(xù)計時,再次通電時顯示當前時間。(4)具有定時報警功能。(5)選擇功能按鍵依次選擇秒,分,時,日,月,年,星期,鬧鐘秒,鬧鐘分,鬧鐘時。圖16 實物功能展示圖由于時間有限,本系統(tǒng)還有一些需要改進和完善的地方。比如沒有實現(xiàn)數值減小按鍵的功能,在調節(jié)分鐘時要增大到60變成0,設置時間,日期和鬧鈴的時候比較不方便,希望以后有機會對該系統(tǒng)做進一步的完善。參考文獻1 牛余朋.ds12c887時鐘芯片在單片機系統(tǒng)中的應用j.電子報,2006,(08):15.2 陳華珍; 夏國清.基于ds1307的可調實時時鐘系統(tǒng)設計j.現(xiàn)代計算機

47、(專業(yè)版),2010,(9):183-186.3 盧慶林.數字動態(tài)掃描顯示電路的設計j.組合機床與自動化加工技術, 2007,(02):56-60.4 楊偉強; 張振東; 張朋; 劉炳翔. 新型時鐘日歷芯片ds12c887的應用設計j. 電子元器件應用, 2010,(15):21-23.5 張開碧; 王浩; 曾勇斌.基于stc89c52單片機的多功能數字鐘的設計n.科技信息, 2010,(35):12-13+56.6 張永安; 王睿.基于ds12c887的數字時鐘的實現(xiàn)j.內蒙古農業(yè)大學學報(自然科學版),2010,(3):263-266.7 莫禾勝; 唐曉輝.基于lcd液晶顯示器的時間顯示系

48、統(tǒng)設計與制作j.科技信息, 2010,(21): 106-107.8 朱永輝; 毛培法.運用psd系列器件進行單片機外圍電路擴展j.電子工程師, 2000,(9): 4-6+16.9 袁旭軍; 莊松林.單片機復位電路的可靠性分析j. 電子技術應用, 2002,(12): 69-70+73.10 程雯; 戎蒙恬; 李萍.用于實時時鐘的32.768khz晶振電路分析與設計j.信息技術, 2009,(1):5-17+86.11 唐金元; 王翠珍.024v可調直流穩(wěn)壓電源電路的設計方法j.現(xiàn)代電子技術,2008,(04):12-14. 12郭天祥.新概念51單片機c語言教程 入門、提高、開發(fā)、拓展全攻

49、略m.北京:電子工業(yè)出版社,2009謝辭完成篇論文以后我大學生涯也即將結束,在此我要感謝老師和同學對我的幫助,沒有你們我不可能順利地完成大學的學習,更不可能完成本次畢業(yè)設計。我要由衷地感謝老師的給予的意見和建議,感謝同學給予的幫助。這次設計讓我認識和學習了關于ds12c887時鐘芯片,at89c52單片機和lcd1602液晶屏的許多知識,同時學習到如何運用protel畫圖,如何用keil軟件編譯,如何用stc-isp-v4.80燒錄程序,了解了整個電路開發(fā)設計過程。在這次畢業(yè)設計中通過查找大量的和ds12c887時鐘芯片,at89c52單片機和lcd1602液晶屏的相關資料,鍛煉了文獻檢索的能

50、力。積累了焊接元器件的經驗和動手能力。本設計將書本知識和實物結合在一起,提高了查找相關資料和撰寫論文的能力,培養(yǎng)了端正的態(tài)度和分析解決問題的能力,對今后的學習和工作產生積極重大的影響。 附錄1 硬件實物圖圖19 未通電實物圖圖20 通電實物圖附錄2 程序代碼#include#include“intrins.h” #define uchar unsigned char#define uint unsigned intuchar miao,fen,shi,ri,zhou,yue,nian,time_flag,key_num;uchar naofen,naoshi;sbit ds_cs=p23;sb

51、it ds_as=p24;sbit ds_rw=p36;sbit ds_ds=p37;sbit lcd_rs=p20;sbit lcd_en=p22;sbit beep=p27;sbit key1=p25;sbit key2=p26;uchar code table1=date - - ;uchar code table2=time : : ;void delay(uchar z)uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);void ds_write(uchar add,uchar date) ds_as=1; ds_ds=1; ds_rw=1; ds_cs=0; p1=add; ds_as=0; ds_rw=0; p1=date; ds_rw=1; ds_as=1; ds_cs=1;uchar d

溫馨提示

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

評論

0/150

提交評論