基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

TOC\o"1-5"\h\z摘要 I\o"CurrentDocument"Abstract II第 1 章 緒論 1課題背景和意義 1\o"CurrentDocument"課題的主要內(nèi)容 2\o"CurrentDocument"第 2 章 系統(tǒng)總體方案設(shè)計(jì) 3\o"CurrentDocument"單片機(jī)的選擇 3\o"CurrentDocument"顯示模塊的方案選擇 3\o"CurrentDocument"時(shí)鐘芯片的選擇方案 3\o"CurrentDocument"鍵盤(pán)的選擇 4\o"CurrentDocument"最終方案的選擇 4第 3 章 萬(wàn)年歷系統(tǒng)硬件設(shè)計(jì) 6電路設(shè)計(jì)框圖 6各模塊硬件電路設(shè)計(jì) 6\o"CurrentDocument"晶振電路模塊的設(shè)計(jì) 6復(fù)位電路模塊的設(shè)計(jì) 7\o"CurrentDocument"單片機(jī)的控制模塊 7DS1302 時(shí)鐘電路 11\o"CurrentDocument"LCD12864液晶顯示電路 13\o"CurrentDocument"鍵盤(pán)模塊設(shè)計(jì) 15\o"CurrentDocument"第4章 萬(wàn)年歷系統(tǒng)軟件設(shè)計(jì) 17\o"CurrentDocument"主程序模塊 17LCD12864顯示程序 18\o"CurrentDocument"DS1302時(shí)鐘程序 19\o"CurrentDocument"農(nóng)歷轉(zhuǎn)換程序 20\o"CurrentDocument"星期自動(dòng)刷新程序 21\o"CurrentDocument"時(shí)間調(diào)整程序 22第5章 系統(tǒng)調(diào)試 24硬件調(diào)試 24\o"CurrentDocument"軟件測(cè)試 24\o"CurrentDocument"總體調(diào)試 25結(jié) 論 26\o"CurrentDocument"參考文獻(xiàn) 27致 謝 28\o"CurrentDocument"附錄 1 設(shè)計(jì)任務(wù)書(shū) 29附錄 2 開(kāi)題報(bào)告 31附錄 3 外文翻譯 36附錄 4 程序清單 55第1章緒論課題背景和意義在人們繁忙的工作與生活中,時(shí)間與我們每一個(gè)人都有很密切的關(guān)系,每個(gè)人都會(huì)受到時(shí)間的影響。為了更好的利用我們自己的時(shí)間,我們必須要對(duì)時(shí)間有一個(gè)計(jì)量,因此我們?cè)O(shè)計(jì)了鐘表。鐘表的發(fā)展是非常迅速的,從最原始的機(jī)械式鐘表,到現(xiàn)在普遍使用的數(shù)字式鐘表,即使現(xiàn)在鐘表各式各樣,但是,它們的功能單一,也即是——計(jì)時(shí)功能,只是工作上原理不同而已。 在人們的使用過(guò)程中, 逐漸發(fā)現(xiàn)了鐘表的功能太過(guò)單一,不能在更大程度上的滿足人們的需求。 隨著當(dāng)今世界經(jīng)濟(jì)的快速發(fā)展和信息化時(shí)代的來(lái)臨,各種各樣的小型智能家電產(chǎn)品陸續(xù)出現(xiàn)在我們的生活當(dāng)中。日歷是人們的不可缺少的日常用品。但是,一般日歷都為紙制用品,使用不方便,壽命不長(zhǎng)。為此電子日歷順應(yīng)時(shí)代的要求并得到迅速發(fā)展。隨著微電子技術(shù)的快速發(fā)展,單片機(jī)在日常生活的個(gè)人領(lǐng)域得到了廣泛的運(yùn)用。單片機(jī)的結(jié)構(gòu)上主要是把 CPU、存儲(chǔ)器、 I/O接口電路等集成在一個(gè)超大規(guī)模芯片上,就其組成和功能而言, 一個(gè)單片機(jī)芯片就是一臺(tái)計(jì)算機(jī)。 這些電路能在軟件的控制下單獨(dú)、準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者所事先規(guī)定的任務(wù)。在其基本結(jié)構(gòu)上,逐漸衍生了能滿足各種應(yīng)用要求的兼容系統(tǒng),它能很好的滿足應(yīng)用系統(tǒng)的嵌入、現(xiàn)場(chǎng)可靠地運(yùn)行、面向測(cè)控對(duì)象和控制品質(zhì)等方面的要求。因此,由單片機(jī)構(gòu)成的系統(tǒng)是發(fā)展比較快、品種比較全、數(shù)量比較大、應(yīng)用廣泛的控制處理器。單片機(jī)以體積小、功能全、性價(jià)比高等諸多優(yōu)點(diǎn),在工業(yè)控制、家用電器、通信設(shè)備、信息處理、尖端武器等各種測(cè)量和控制領(lǐng)域的應(yīng)用中占有一部分的市場(chǎng),單片機(jī)開(kāi)發(fā)技術(shù)已成為電子信息、電氣、通信、自動(dòng)化、機(jī)電一體化等專業(yè)技術(shù)人員必須掌握的技術(shù)。 MCS-51單片機(jī)是由美國(guó) Intel公司于1980年推出的產(chǎn)品。由于 MCS-51單片機(jī)具有優(yōu)異的性能和低廉的價(jià)格,使其在各方面都得到了廣泛的應(yīng)用。其他一些電子公司在基本結(jié)構(gòu)的 MCS-51單片機(jī)的基礎(chǔ)上,開(kāi)發(fā)出了功能更強(qiáng)的產(chǎn)品。本課題所設(shè)計(jì)的是一種采用智能電子控制和顯示技術(shù), 結(jié)合了電子時(shí)鐘和紙制的日歷組成了多功能電子時(shí)鐘, 具有讀取方便、 顯示直觀、 功能多樣、 成本低廉等諸多優(yōu)點(diǎn)。它不僅能顯示時(shí)間、星期、日期還可以顯示農(nóng)歷、生肖等,具有很高的實(shí)用價(jià)值,給人們的生活帶來(lái)的諸多方便。 符合電子儀器儀表的發(fā)展趨勢(shì), 具有廣闊的市場(chǎng)前景。 因此,研究帶萬(wàn)年歷的多功能電子時(shí)鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。課題的主要內(nèi)容目前市場(chǎng)上各式各樣的電子時(shí)鐘數(shù)不勝數(shù),但多數(shù)是只針對(duì)時(shí)間顯示,功能單一,不能滿足人們?nèi)粘I钚枨蟆1疚奶岢隽艘环N基于 STC90C51單片機(jī)的多功能電子萬(wàn)年歷的硬件結(jié)構(gòu)和軟件的設(shè)計(jì)方案,本課題以 STC90C51單片機(jī)為主控核心,與串行時(shí)鐘日歷芯片 DS1302、按鍵、字符型液晶 LCD12864顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨(dú)立按鍵和 LCD顯示器,能顯示年、月、日、時(shí)、分、秒及星期等信息,并且根據(jù)使用者的需要可以隨時(shí)對(duì)時(shí)間進(jìn)行校準(zhǔn)、設(shè)定時(shí)間等。綜上所述,此萬(wàn)年歷具有讀取方便,顯示直觀,功能多樣,電路簡(jiǎn)潔,成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。第2章系統(tǒng)總體方案設(shè)計(jì)本設(shè)計(jì)提出了一種基于 STC90C51單片機(jī)的萬(wàn)年歷設(shè)計(jì)方案, 本方案以 STC90C51單片機(jī)作為主控核心,與時(shí)鐘芯片 DS1302、按鍵、 LCD顯示屏等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨(dú)立按鍵和 LCD顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時(shí)對(duì)時(shí)間進(jìn)行校準(zhǔn)、設(shè)定時(shí)間等 .軟件部分是采用 C語(yǔ)言編寫(xiě)的。 C語(yǔ)言編寫(xiě)的程序結(jié)構(gòu)清晰、條例明確并且便于修改。通過(guò) Keil2軟件編譯連接可以自動(dòng)生成用于燒寫(xiě)于單片機(jī)的HEX文件。使用C語(yǔ)言配合 keil2軟件可以使程序編寫(xiě)者省去很多麻煩, 還使的程序更加的結(jié)構(gòu)化,便于以后的修改。單片機(jī)的選擇采用傳統(tǒng)的 STC90C51作為本設(shè)計(jì)的控制核心。該單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,而且與 MCS-51系列單片機(jī)完全兼容,具有可反復(fù)擦除的 flash存儲(chǔ)器,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域得到廣泛的應(yīng)用。顯示模塊的方案選擇采用 LED數(shù)碼管動(dòng)態(tài)掃描顯示,對(duì)于數(shù)字顯示合適并且占用的接口線較少 ,價(jià)格便宜,但是不能顯示文字。所以,沒(méi)有采用這一方案。采用字符液晶顯示器,來(lái)實(shí)現(xiàn)顯示功能,液晶顯示具有功耗低、輕便且防震,不僅可以實(shí)現(xiàn)基本的顯示信息,而且可以顯示豐富的字符指示信息以及文字指示信息,信息量豐富并且直觀、易懂。而且液晶顯示具有功耗低,體積小,重量輕,壽命長(zhǎng),不產(chǎn)生電磁輻射等等優(yōu)點(diǎn)。界面友好清晰,操作簡(jiǎn)便。目前市場(chǎng)上已經(jīng)推出多種低電壓( 5V)供電液晶。在本次設(shè)計(jì)中,我選用了 M12864-3,具有 128*64點(diǎn)陣顯示。時(shí)鐘芯片的選擇方案直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供的秒信號(hào),使用程序完成年、月、日、星期、時(shí)、分、秒計(jì)數(shù)任務(wù)。如果采用了此種方案,則會(huì)減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,軟件編程比較復(fù)雜。所以,沒(méi)有采用此方案。目前在市場(chǎng)上已經(jīng)存在很多實(shí)時(shí)時(shí)鐘芯片。 如DS12887、DS1302、DS1307、PCF8563、X1227等等, 芯片內(nèi)都集成了時(shí)鐘 /日歷功能, 給時(shí)鐘系統(tǒng)設(shè)計(jì)帶來(lái)諸多方便。 因此計(jì)時(shí)功能還是以選專用時(shí)鐘芯片為宜,時(shí)鐘模塊由此實(shí)現(xiàn),比較簡(jiǎn)單準(zhǔn)確且方便。 DS1302芯片是一種高性能的時(shí)鐘芯片, 可以自動(dòng)對(duì)年月日、 時(shí)分秒以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高。所以,采用此方案。鍵盤(pán)的選擇采用2*2矩陣式鍵盤(pán),當(dāng)按鍵較多時(shí)可以降低單片機(jī)的 I/O接口數(shù)目。但是,系統(tǒng)采用獨(dú)立式按鍵電路,每個(gè)鍵單獨(dú)占用一根 I/O接口線,每個(gè) I/O口的工作狀態(tài)互不影響,此類鍵盤(pán)采用端口直接掃描方式。但是當(dāng)按鍵較多時(shí)占用單片機(jī)的 I/O數(shù)目較多。由于本設(shè)計(jì)所使用的按鍵不多 (4個(gè)按鍵足以滿足設(shè)計(jì)的要求) 因此采用 1*4鍵盤(pán),采用獨(dú)立式按鍵電路。最終方案的選擇主控制器選擇 STC90c51單片機(jī),時(shí)鐘芯片選擇為 DS1302,顯示屏選擇為 LCDM12864-3,按鍵部分為獨(dú)立按鍵模塊。電路圖如下 2.1。2.1總體設(shè)計(jì)圖第3章萬(wàn)年歷系統(tǒng)硬件設(shè)計(jì)電路設(shè)計(jì)框圖按照系統(tǒng)設(shè)計(jì)功能的要求,初步確定設(shè)計(jì)系統(tǒng)由主控模塊、時(shí)鐘模塊、獨(dú)立鍵盤(pán)模塊、顯示模塊共 4個(gè)模塊組成。本系統(tǒng)采用 STC90C51單片機(jī)為處理器對(duì) DS1302寫(xiě)入控制字并且讀取相關(guān)時(shí)間信息,最后控制液晶屏 LCD12864做出相應(yīng)的顯示。設(shè)計(jì)的電路硬件框圖如圖 3.1所示。3.1電路設(shè)計(jì)總體框圖各模塊硬件電路設(shè)計(jì)晶振電路模塊的設(shè)計(jì)該單片機(jī)內(nèi)部有一個(gè)振蕩電路, 但要產(chǎn)生單片機(jī)所需的時(shí)鐘信號(hào), 必須外接其它元器件,在XTAL1、XTAL2引腳之間接一個(gè)石英晶體和兩個(gè)瓷片電容,組成一個(gè)并聯(lián)的諧振回路。晶振的頻率一般在 1MHz~12MH,電容的取值范圍為z 20pF~70pF。我們選用的晶振頻率為12MH,電容為z 22pF。晶振電路圖如下 3.2。3.2晶振電路圖3.2.2復(fù)位電路模塊的設(shè)計(jì)復(fù)位時(shí)單片機(jī)的初始化操作,其目的在于設(shè)定一個(gè)程序運(yùn)行的初始狀態(tài)。并且在程序出錯(cuò)或當(dāng)系統(tǒng)進(jìn)入死循環(huán)時(shí),也需要系統(tǒng)能進(jìn)行復(fù)位操作,重新啟動(dòng)單片機(jī)的工作。RST上加高電平并維持 10ms以上,單片機(jī)就可以完成復(fù)位操作。電路3.3。3.3復(fù)位電路圖3.2.3單片機(jī)的控制模塊最小系統(tǒng)是該系統(tǒng)最核心的模塊,采用本系統(tǒng)的處理器采用 STC90C51單片機(jī),復(fù)位電路采用上電復(fù)位電路,外接12MHz晶振。最小系統(tǒng)電路圖如下圖 3.4。3.4最小系統(tǒng)圖STC90C51是臺(tái)灣 STC公司生產(chǎn)的低電壓, 高性能 CMOS位單片機(jī),8 片內(nèi)含4kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器( PERO)和M128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM),器件采用公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器( CPU)和 Flash存儲(chǔ)單元。TOC\o"1-5"\h\zSTC90C51單片機(jī)共有 40個(gè)引腳, 32個(gè)外部雙向輸入 /輸出(I/O)端口,同時(shí)內(nèi)含 2個(gè)外中斷口, 2個(gè)16位可編程定時(shí)計(jì)數(shù)器 ,1個(gè)全雙工串行通信口, 2個(gè)讀寫(xiě)的接口線, 片內(nèi)時(shí)鐘電路。 STC89C51單片機(jī)的管腳說(shuō)明如圖 3.5所示。圖3.5單片機(jī)的引腳圖TOC\o"1-5"\h\zVCC:電源電壓 +5VGND:接地XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。RST:復(fù)位輸入。 當(dāng)振蕩器工作時(shí), RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將會(huì)使單片機(jī)復(fù)位。EA/VPP:外部訪問(wèn)允許。欲使 CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為 0000H—FFFFH),EA端必須保持低電平(接地) 。。如果 EA端為高電平(接 Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。ALE/PRO:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),G ALE(地址鎖存器允許)輸出脈沖用于鎖存地址的低 8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器, ALE仍以時(shí)鐘振蕩頻率的 1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ALE脈沖。對(duì) Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖( PRO)G。如有必要,可通過(guò)多特殊功能寄存器( SFR)區(qū)中的 8EH單元的 D0位置,可禁止 ALE操作。 該位置后, 只有一條 MOVX和MOVC指令 ALE才會(huì)被激活。 另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ALE無(wú)效。PSEN:程序存儲(chǔ)允許( PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng) STC90C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 PSEN有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的 PSEN信號(hào)。P0口: P0口是一組 8位漏極開(kāi)路型雙向 I/O口,也即地址 /數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng) 8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“ 1”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8位)和數(shù)據(jù)總線服用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在 Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí)要求外接上拉電阻。P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的 8位雙向I/O,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流) 4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“ 1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。 Flash編程和程序校驗(yàn)期間, P1接收高8位地址。P2口:P2口是一個(gè)內(nèi)部帶上拉電阻的 8位雙向I/O,P2的輸出緩沖級(jí)可驅(qū)動(dòng) (吸收或輸出電流) 4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“ 1”時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某引腳被外部信號(hào)拉低時(shí),會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或 16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高 8位地址數(shù)據(jù)。 在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí), P2口線上的內(nèi)容 (也即特殊功能寄存器 (SFR)區(qū)中 P2寄存器的內(nèi)容) ,在整個(gè)訪問(wèn)期間不會(huì)改變。 Flash編程和程序校驗(yàn)期間, P2亦接收低高位地址和其它控制信號(hào)。P3口:P3口是一組內(nèi)部帶上拉電阻的 8位雙向I/O,P3的輸出緩沖級(jí)可驅(qū)動(dòng) (吸收或輸出電流) 4個(gè)TTL邏輯門(mén)電路。對(duì) P3口寫(xiě)入“ 1”時(shí),它們被內(nèi)部的上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的 P3口將用上拉電阻輸出電流。 P3口除了作為一般的 I/O口線外,更重要的用途是它的第二功能,見(jiàn)表 3.1所示:P3口還接收一些用于 Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。表3.1P3口的第二功能圖端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷 0)P3.3INT1(外部中斷 1)P3.4T0(定時(shí) /計(jì)時(shí)器 0外部輸入)P3.5T1(定時(shí) /計(jì)時(shí)器 1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)SFR:SFR是具有特殊功能的所有寄存器的集合, 共含有21個(gè)不同寄存器, 它們的地址分配在 80H~FFH中。雖然如此,不是所有的單元都被特殊功能寄存器占用,沒(méi)有被占用的單元, 其內(nèi)容是不確定的。 如果對(duì)這些單元進(jìn)行讀操作, 得到的是一些隨機(jī)數(shù),而寫(xiě)入則無(wú)效,所以在編程時(shí)不應(yīng)該將數(shù)據(jù)寫(xiě)入這些沒(méi)有確定地址的單元中,特殊功能寄存器主要有累加器 ACC、B寄存器、程序狀態(tài)字寄存器 PSW、堆棧指針 SP、數(shù)據(jù)指針DPTR、I/O端口、串行口數(shù)據(jù)緩沖器 SBUF、定時(shí)器寄存器、控制寄存器。定時(shí)/計(jì)數(shù)器: STC90C51單片機(jī)內(nèi)含有 2個(gè)16位的定時(shí)器 /計(jì)數(shù)器。當(dāng)用于定時(shí)器方式時(shí),定時(shí)器的輸入來(lái)自內(nèi)部時(shí)鐘發(fā)生電路,每過(guò)一個(gè)機(jī)器周期,定時(shí)器加 1,而一個(gè)機(jī)器周期包含有 12個(gè)振蕩周期,所以,定時(shí)器的技術(shù)頻率為晶振頻率的 1/12,而計(jì)數(shù)頻率最高為晶振頻率的 1/24。為了實(shí)現(xiàn)定時(shí)和計(jì)數(shù)的功能, 定時(shí)器中含有 3種基本的寄存器:控制寄存器、方式寄存器和定時(shí)器 /計(jì)數(shù)器??刂萍拇嫫魇且粋€(gè) 8位的寄存器,用于控制定時(shí)器的工作狀態(tài),方式寄存器是一個(gè) 8位的寄存器,用于確定定時(shí)器的工作方式,定時(shí)器 /計(jì)數(shù)器是 16位的計(jì)數(shù)器,分為高字節(jié)和低字節(jié)兩部分。中斷系統(tǒng): STC90C51單片機(jī)有 5個(gè)中斷源,中斷系統(tǒng)主要由中斷允許寄存器 IE、中斷優(yōu)先級(jí)寄存器 IP、優(yōu)先級(jí)結(jié)構(gòu)和一些邏輯門(mén)組成。 IE寄存器用于允許或禁止中斷;IP寄存器用于確定中斷源的優(yōu)先級(jí)別; 優(yōu)先級(jí)結(jié)構(gòu)用于執(zhí)行中斷源的優(yōu)先排序; 有關(guān)邏輯門(mén)用于輸入中斷請(qǐng)求信號(hào)。在整個(gè)中斷響應(yīng)過(guò)程中 CPU所執(zhí)行的操作步驟如下:(a)完成當(dāng)前指令的操作(b)將 PC內(nèi)容壓入堆棧c)保存當(dāng)前的中斷狀態(tài)d)阻止同級(jí)的中斷請(qǐng)求e)將中斷程序入口地址送 PC寄存器f)執(zhí)行中斷服務(wù)程序g)返回3.2.4DS1302時(shí)鐘電路DS1302是美國(guó) DALLAS公司推出的一種高性能、低功耗、帶 RAM的實(shí)時(shí)時(shí)鐘芯片,它可以對(duì)年、 月、日、周、時(shí)、分、秒等進(jìn)行計(jì)時(shí), 具有閏年補(bǔ)償功能, 工作電壓為 2.5V~5.5V。采用三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM數(shù)據(jù)。 DS1302內(nèi)部有一個(gè) 31×8的用于臨時(shí)性存放數(shù)據(jù)的 RAM寄存器。 DS1302是DS1202的升級(jí)產(chǎn)品,與 DS1202兼容,但增加了主電源 /后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。它為單片機(jī)提供時(shí)間信息的電路圖如下圖3.6時(shí)鐘電路圖DS1302時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘 /日歷和31字節(jié)的靜態(tài) RAM。它經(jīng)過(guò)一個(gè)簡(jiǎn)單的串行接口與微處理器通信。實(shí)時(shí)時(shí)鐘 /日歷提供秒、分、時(shí)、日、周、月和年等信息。對(duì)于小于 31天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用 24小時(shí)或帶 AM/PM的12小時(shí)格式。采用三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多字節(jié)的時(shí)鐘信號(hào)或 RAM數(shù)據(jù)。DS1302有主電源 /后備電源雙電源引腳: Vcc1在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電磁備份; Vcc1在雙電池系統(tǒng)中提供主電源。 在這種運(yùn)行方式中, Vcc1里連接到后備電源,以便在沒(méi)有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。 DS1302由Vcc1或Vcc2中較大者供電。 當(dāng)Vcc2>(Vcc1+0.2V)時(shí),Vcc2給DS1302供電; 當(dāng)Vcc2<Vcc1時(shí), DS1302由Vcc1供電。DS1302在任何數(shù)據(jù)傳送時(shí)必須先初始化, 把RST腳置為高電平, 然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在 SCLK的上升沿被訪問(wèn)到。在開(kāi)始 8個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器后, 另外的時(shí)鐘周期在讀操作時(shí)輸出數(shù)據(jù), 在寫(xiě)操作時(shí)寫(xiě)入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為 8+8,在多字節(jié)方式下為 8+字節(jié)數(shù),最大可達(dá) 248字節(jié)數(shù)。如果在傳送過(guò)程中置 RST腳為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且 I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 Vcc≥2.5V之前, RST腳必須保持低電平。只有在 SCLK為低電平時(shí),才能將 RST置為高電平。DS1302的控制字的一些資料??刂谱止?jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫(xiě)入到 DS1302中。位 6如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1則表示存取 RAM中的數(shù)據(jù)。位 5~1(A4~A0)指示操作單元的地址。最低有效位(位0)如果為 0,則表示將進(jìn)行寫(xiě)操作;為 1時(shí)表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開(kāi)始輸入或輸出。為了提高對(duì) 32個(gè)地址尋址能力(地址 /命令位 1~5=邏輯 1),可以把時(shí)鐘 /日歷或RAM寄存器規(guī)定為多字節(jié)( burst)方式。位 6規(guī)定時(shí)鐘或 RAM,而位 0規(guī)定讀或?qū)?。在時(shí)鐘/日歷寄存器中的地址 9~31或RAM寄存器中的地址 31不能存儲(chǔ)數(shù)據(jù)。 在多字節(jié)方式下,讀或?qū)憦牡刂?0的位0開(kāi)始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?8個(gè)寄存器。 但是,當(dāng)以多字節(jié)方式寫(xiě) RAM時(shí),為了傳送數(shù)據(jù)不必寫(xiě)所有的 31字節(jié),不管是否謝了全部 31字節(jié),所寫(xiě)的每一字節(jié)都將傳送至 RAM。DS1302共有 12個(gè)寄存器,其中有 7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時(shí)間寄存器及其控制字如下表 3.2所示,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作。表3.2DS1302控制字時(shí)鐘暫停:秒寄存器的位 7定義位時(shí)鐘暫停位。當(dāng)它為 1時(shí), DS1302停止振蕩,進(jìn)入低功耗的備份方式,通常在對(duì) DS1302進(jìn)行寫(xiě)操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序) ,停止振蕩。當(dāng)它為 0時(shí),時(shí)鐘將開(kāi)始啟動(dòng)。AM-PM/12-24小時(shí)方式:小時(shí)寄存器的位 7定義為12或24小時(shí)方式選擇位。它為高電平時(shí),選擇 12小時(shí)方式。在此方式下,位 5為第二個(gè) 10小時(shí)位( 20~23h)。DS1302的晶振選用 32768Hz,電容一般值為 6pF。因?yàn)檎袷庮l率較低,也可以不接電容,對(duì)計(jì)時(shí)精度影響不大。LCD12864液晶顯示電路由于本設(shè)計(jì)需要顯示字符與漢字,所以我選用 M12864-3漢字圖形點(diǎn)陣液晶作為顯示模塊,可顯示漢字及圖形,內(nèi)置 8192個(gè)中文漢字( 16X16點(diǎn)陣)、128個(gè)字符(8X16點(diǎn)陣)及 64X256點(diǎn)陣顯示 RAM(GDRA)M。帶中文字庫(kù)的 128X64是一種具有 4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、 二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊; 其顯示分辨率為 128×64,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和 128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、 方便的操作指令, 可構(gòu)成全中文人機(jī)交互圖形界面。 可以顯示 8×4 行16×16點(diǎn)陣的漢字 .也可完成圖形顯示 .低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比, 不論硬件電路結(jié)構(gòu)或顯示程序都要TOC\o"1-5"\h\z簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。其管腳圖如下 3.7。圖3.7LCD12864管腳圖它的主要技術(shù)參數(shù)和顯示特性 :電源:VDD3.3V~+5V(內(nèi)置升壓電路,無(wú)需負(fù)壓 );顯示內(nèi)容: 128列×64行顯示顏色:藍(lán)綠

顯示角度: 6:00鐘直視LCD類型: STN與MCU接口:8位或 4位并行 /3位串行配置 LED背光多種軟件功能:光標(biāo)顯示、畫(huà)面移位、自定義字符、睡眠模式等邏輯工作電壓 (VDD):4.5~5.5V電源地 (GND):0V工作溫度(Ta):0~60℃(常溫)/-20~75℃(寬溫)外形尺寸: 93×70×12.5mm視域尺寸: 73×39mm,如下圖 3.8。圖3.812864M—3外形圖12864液晶模塊引腳說(shuō)明如下表 3.3。表3.3液晶模塊引腳說(shuō)明管腳號(hào) 管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示 DB7—— DB0為顯示數(shù)據(jù)

RS=“L”,表示 DB7—— DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到 DB7—— DB0R/W=“L”,E=“H→L”,DB7——DB0的數(shù)據(jù)被寫(xiě)到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或 4位并口方式, L:串口方式(見(jiàn)注釋 1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端( +5V)20KVSS背光源負(fù)端注釋1:如果在實(shí)際應(yīng)用中僅僅使用串口通訊模式,可將 PSB接固定低電平,也可以將模塊上的該引腳和“ GND”用焊錫短接。 Psb接高電平時(shí),為并口通訊模式。注釋 2:該模塊內(nèi)部接有上電復(fù)位電路, 因此在不需要經(jīng)常復(fù)位的設(shè)計(jì)中可將該端懸空。注釋 3:如果背光和模塊共享一個(gè)電源,可以將模塊上的相應(yīng)腳用焊錫短接。鍵盤(pán)模塊設(shè)計(jì)在單片機(jī)應(yīng)用系統(tǒng)中,常用鍵盤(pán)作為輸入設(shè)備,通過(guò)它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來(lái)實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信。這種獨(dú)立按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根 I/O線,I/O接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時(shí)采用這種按鍵電路。 由此本設(shè)計(jì)中的鍵盤(pán)輸入系統(tǒng)由 P3.4-P3.7口和4個(gè)按鈕開(kāi)關(guān)組成,開(kāi)關(guān)的另一端連接到地線上。當(dāng)無(wú)鍵按下時(shí) P3.4-P3.7口輸入為高電平,有鍵按下時(shí)P1口所對(duì)應(yīng) I/O口會(huì)被拉低, P3.4-P3.7中有低電平輸入。 分別對(duì)應(yīng)時(shí)間、 日期調(diào)整,退出功能。具體的鍵盤(pán)輸入電路如圖 3.9所示。3.9鍵盤(pán)模塊圖第4章萬(wàn)年歷系統(tǒng)軟件設(shè)計(jì)本次設(shè)計(jì)的軟件部分是采用 C語(yǔ)言編寫(xiě)。 C語(yǔ)言編寫(xiě)的程序結(jié)構(gòu)清晰、條例明確。通過(guò)Keil2軟件編譯連接可以自動(dòng)生成用于燒寫(xiě)于單片機(jī)的 HEX文件。而且通過(guò)編譯可以自動(dòng)分配數(shù)據(jù)區(qū)和程序區(qū)的地址。 使用C語(yǔ)言配合 keil2軟件可以使程序編寫(xiě)者省去很多麻煩,還使的程序更加的結(jié)構(gòu)化,便于以后的修改。但使用 C語(yǔ)言編寫(xiě)的程序也存在一定的缺點(diǎn),其生成的文件會(huì)很麻煩,文件會(huì)比用匯編語(yǔ)言編寫(xiě)的文件大。由于本次設(shè)計(jì)的規(guī)模并不大,其利大于弊。所以采用 C語(yǔ)言編寫(xiě)而沒(méi)有用匯編語(yǔ)言編寫(xiě)。本系統(tǒng)的軟件設(shè)計(jì)主要可分為主程序模塊、時(shí)鐘信息采集程序、液晶顯示程序、鍵盤(pán)調(diào)整程序四大模塊。系統(tǒng)初始化部分主要是對(duì)系統(tǒng)的按鍵值、時(shí)鐘芯片、液晶顯示器進(jìn)行設(shè)置,本系統(tǒng)的時(shí)間是通過(guò)時(shí)鐘芯片 DS1302來(lái)取得,并將數(shù)據(jù)送入 51單片機(jī),通過(guò)液晶顯示器 M12864—3來(lái)顯示,時(shí)間、日期的修改通過(guò)按鍵來(lái)控制的。 所以要對(duì)按鍵、時(shí)鐘芯片、液晶顯示器進(jìn)行初始化。而其它模塊的初始化在各模塊函數(shù)中初始化。在系統(tǒng)初始化部分結(jié)束后進(jìn)入主體循環(huán)部分。 而主體循環(huán)部分又分為外循環(huán)部分和內(nèi)循環(huán)部分。在外循環(huán)部分是對(duì)當(dāng)時(shí)時(shí)間、 日期設(shè)置, 如果沒(méi)有設(shè)置完成就一直處于外循環(huán)部分。當(dāng)設(shè)置完成后進(jìn)入主體循環(huán)部分,系統(tǒng)將一直處于主體循環(huán)中。在內(nèi)循環(huán)中可實(shí)時(shí)的采集時(shí)間信息數(shù)據(jù),并將日期轉(zhuǎn)換成農(nóng)歷月、日和其對(duì)應(yīng)的生肖年。下面對(duì)各部分模塊作介紹。主程序模塊主程序是整個(gè)軟件設(shè)計(jì)的核心,關(guān)系到整個(gè)程序能否正常運(yùn)行,以及控制操作的順利完成。主要是通過(guò)調(diào)用其它函數(shù)來(lái)實(shí)現(xiàn)系統(tǒng)的主要功能,現(xiàn)在我把他們作以下介紹,其工作順序一般如下:(1)系統(tǒng)啟動(dòng)后,進(jìn)行系統(tǒng)的初始化。(2)然后 DS1302開(kāi)始振蕩,單片機(jī)從 DS1302中讀出年、月、日、星期、時(shí)、分、秒。據(jù)此刷新農(nóng)歷時(shí)間和星期。(3)根據(jù)陽(yáng)歷算出陰歷并且把時(shí)間信息送往 LCD顯示。主程序的程序流程圖如下圖 4.1所示。4.1主程序流程圖LCD12864顯示程序該顯示屏具有兩種通信方式,即串口通信和并口通信。我們采用了并口通信方式。它可以顯示 4行,每行各 8字。在附錄中有詳盡的程序代碼,在這里我簡(jiǎn)單介紹該部分顯示程序的初始化部分?,F(xiàn)列其初始化流程圖如下,如圖 4.2。

圖4.2初始化流程圖DS1302時(shí)鐘程序DS1302的數(shù)據(jù)傳送方式有兩種,即單字節(jié)方式和多字節(jié)突發(fā)傳送方式。我們選擇的是單字節(jié)傳送方式。這樣做,比較準(zhǔn)確、方便。單字節(jié)傳送方式必須在 RST=1期間先送命令,緊接著在發(fā)送一個(gè)字節(jié)的數(shù)據(jù), 每次僅需 16個(gè)時(shí)鐘。 DS1302在接收到命令后,自動(dòng)將數(shù)據(jù)寫(xiě)入指定的內(nèi)部地址或從該地址讀出數(shù)據(jù)。其詳盡的程序代碼,在附錄中已經(jīng)闡述。在這里我簡(jiǎn)單介紹該部分顯示程序的初始化部分?,F(xiàn)列其初始化流程圖如下,如圖4.3。

圖4.3DS1302初始化流程圖農(nóng)歷轉(zhuǎn)換程序由陽(yáng)歷轉(zhuǎn)換為農(nóng)歷是整個(gè)程序重要的一部分,其流程圖如下圖 4.4所示:4.5星期自動(dòng)刷新程序4.4農(nóng)歷轉(zhuǎn)換程序流程圖這部分的程序主要包括一些算法。其流程圖如下圖 4.5所示:圖4.5星期自動(dòng)刷新程序流程圖4.6時(shí)間調(diào)整程序由于在硬件電路方面上設(shè)計(jì)了時(shí)間調(diào)整按鍵,因此應(yīng)有對(duì)應(yīng)的時(shí)間調(diào)整程序。時(shí)間調(diào)整程序的流程圖如圖 4.6所示。

開(kāi)始4.6時(shí)間調(diào)整程序流程圖第5章系統(tǒng)調(diào)試硬件調(diào)試電路圖在 Protel中畫(huà)好之后,經(jīng)過(guò)檢查沒(méi)有發(fā)現(xiàn)錯(cuò)誤,于是開(kāi)始焊接,完成了硬件組裝。在調(diào)試硬件時(shí)遇到過(guò)很多的問(wèn)題,但時(shí)只要細(xì)心、認(rèn)真檢查這些問(wèn)題都是可以避免的,主要問(wèn)題及解決方法現(xiàn)在列出如下:接通電源后 LCD12864沒(méi)有正確的顯示。 在不通電狀態(tài)下用萬(wàn)用表檢測(cè)電路是否有正常的電氣連接,在檢查回路時(shí)發(fā)現(xiàn)有的點(diǎn)之間看似連接,但由于虛焊導(dǎo)致其并無(wú)電氣連接,只能對(duì)焊接的引腳在進(jìn)行加工直到解決問(wèn)題。電路工作一段時(shí)間之后有的芯片發(fā)熱嚴(yán)重。經(jīng)查發(fā)現(xiàn)原來(lái)是該芯片的一個(gè)管腳與電源腳短接,故而發(fā)熱,由于發(fā)現(xiàn)及時(shí),并未對(duì)該芯片造成損傷,斷掉該線并再次連接可解決了該問(wèn)題。軟件測(cè)試由于電子萬(wàn)年歷涉及到多個(gè)子程序,多個(gè)芯片的編程。首先必須熟記各個(gè)可編程芯片的控制指令。其次,芯片很多都有時(shí)鐘輸入端,需要晶振提供時(shí)鐘。只有在相應(yīng)的觸發(fā)沿到來(lái)時(shí),才能對(duì)芯片的進(jìn)行讀寫(xiě)。電子萬(wàn)年歷是多功能的、數(shù)字型的,可以看當(dāng)前日期(陰、陽(yáng)歷) ,時(shí)間。電子萬(wàn)年歷功能較多,所以對(duì)于它的程序也較為復(fù)雜 ,所以在編寫(xiě)程序和調(diào)試運(yùn)行時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的子程序模塊的修改,一步一步的測(cè)試,最終完成了軟件的編寫(xiě)。在軟件的編程調(diào)試過(guò)程中,主要遇到的問(wèn)題如下:(1)寫(xiě)入程序后, LCD不顯示字符。解決:首先檢查 LCD顯示子程序,修改了一部分,但是還是不正確。最后,我把單片機(jī)接口直接與顯示屏相連,問(wèn)題就解決了。(2)修改時(shí)間、日期時(shí) ,農(nóng)歷的顯示沒(méi)有自動(dòng)匹配。解決:把不相關(guān)的程序暫時(shí)刪除, 把農(nóng)歷的程序獨(dú)立調(diào)試, 發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和壓縮的 BCD碼處理不好,所以會(huì)造成顯示異常。最后把相應(yīng)的十進(jìn)制做相應(yīng)的修改,使得可以與十六進(jìn)制對(duì)應(yīng),最后解決了這一問(wèn)題。(3)星期自動(dòng)刷新程序。在首次調(diào)試時(shí),發(fā)現(xiàn)關(guān)于星期的顯示不與實(shí)際相符,有時(shí)會(huì)出現(xiàn)一些亂碼。經(jīng)過(guò)檢查,發(fā)現(xiàn)由陽(yáng)歷日期求星期的算法有問(wèn)題, 并且與 LCD星期顯示程序不匹配。 稍作修改,顯示就正常了。(4)時(shí)間不走并且顯示不正確。LCD只顯示初始化的字符, 由此,有對(duì) DS1302的硬件連接部分以及供電源做進(jìn)一步檢查,但是沒(méi)有發(fā)現(xiàn)錯(cuò)誤,當(dāng)我把用另外一個(gè)芯片 DS1302連接時(shí), LCD顯示正常。最后解決了此問(wèn)題。綜上,在硬件調(diào)試的基礎(chǔ)上,根據(jù)各部分的功能和特性,完成了軟件的調(diào)試,整個(gè)設(shè)計(jì)基本上能夠?qū)崿F(xiàn)預(yù)定的功能。在軟件調(diào)試過(guò)程中尤其注意了各函數(shù)之間的調(diào)用、返回,使設(shè)計(jì)的程序結(jié)構(gòu)清晰、合理、易懂。總體調(diào)試把HEX文件下載到單片機(jī)中,打開(kāi)電源開(kāi)關(guān),顯示正常。調(diào)試結(jié)果如下圖 5.1所示5.1調(diào)試結(jié)果圖調(diào)試按鍵部分能否正常調(diào)整時(shí)間。 結(jié)果都能正常運(yùn)行。 至此,整個(gè)電路的設(shè)計(jì)就結(jié)束了。結(jié)論在這次的基于單片機(jī)的電子萬(wàn)年歷的設(shè)計(jì)中,我遇到了很多的困難,也學(xué)到了不少的知識(shí)。首先這對(duì)于我來(lái)說(shuō),是一個(gè)全新的東西,而且要學(xué)習(xí)的知識(shí)很多,比如說(shuō) C51編程軟件 Keil2的使用,液晶屏知識(shí),這些都是我在以往的課本中所沒(méi)有學(xué)到的。最新接觸到這個(gè)課題,就是感覺(jué)東西很多,覺(jué)得很迷茫,也很頭大。不過(guò),在通過(guò)牛老師細(xì)心的指導(dǎo)下和大量查閱資料后,我漸漸理解了課題的目的及意義,理清了思路,也慢慢的在實(shí)踐中摸索著走起來(lái)。首先,我先搜集到關(guān)于單片機(jī)、液晶屏和時(shí)鐘芯片的資料,然后對(duì)這些資料整理、學(xué)習(xí)。起初,感覺(jué)難度比較大,但是隨著學(xué)習(xí)的深入,我克服了不少困難。最后我對(duì)各個(gè)芯片的知識(shí)都非常熟悉,使用 PROTEL設(shè)計(jì)了相應(yīng)的電路圖。在就是,軟件編程方面,開(kāi)始的時(shí)候, 我對(duì)C語(yǔ)言編程只是了解一些, 但是,在這次設(shè)計(jì)中, 日歷算法比較復(fù)雜,遇到了不少困難,我在網(wǎng)上查了不少關(guān)于算法轉(zhuǎn)換的程序,開(kāi)始的時(shí)候,感覺(jué)這些程序非常復(fù)雜,但是,在我先編寫(xiě)了星期的自動(dòng)刷新程序后,就著重研究陽(yáng)歷轉(zhuǎn)換為農(nóng)歷的程序,經(jīng)過(guò)查參考書(shū)以及在網(wǎng)上查資料,才完成了這一部分程序的編寫(xiě)。最終在同學(xué)的幫助和指導(dǎo)下,我完成了對(duì)軟件的設(shè)計(jì)??傊?,在畢業(yè)設(shè)計(jì)完成過(guò)程中,使我對(duì)理論知識(shí)進(jìn)行了重溫和學(xué)習(xí),讓我知道如何有步驟及有計(jì)劃的完成一項(xiàng)任務(wù),不過(guò)在此其中也讓我感覺(jué)到自己所學(xué)的知識(shí)是有限的、解決問(wèn)題是不夠完善的,希望自己以后做好每一件事。參考文獻(xiàn)黃菊生.單片機(jī)原理與接口技術(shù) [M].北京:國(guó)防工業(yè)出版社 ,2007.9:12-200.閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版) [M].北京:高等教育出版社 ,2006.5:260-344.張國(guó)雄.測(cè)控電路 [M].北京:機(jī)械工業(yè)出版社 ,2008:1-110.劉大茂.智能儀器與設(shè)計(jì) [M].北京:清華大學(xué)出版社 ,2005:20-210.譚浩強(qiáng).C程序設(shè)計(jì) [M].第三版,北京:清華大學(xué)出版社 ,2005.7:1-180.余家春. Protel99SE電路設(shè)計(jì)實(shí)用教程 [M].中國(guó)鐵道出版社 ,2004:20-120蘇平.單片機(jī)的原理與接口技術(shù) [M].北京:電子工業(yè)出版社 ,2006:1-113.尹勇.單片機(jī)開(kāi)發(fā)環(huán)境 μVision2的開(kāi)發(fā)指南 [M].北京:北京航空航天大學(xué)出版社,2004:174-198.張斌武.單片機(jī)系統(tǒng) Proteus設(shè)計(jì)與仿真 [M].北京:電子工業(yè)出版社 ,2005:53-88.彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn) 100例[M].北京:電子工業(yè)出版社 ,2009:1-240.趙建領(lǐng)、薛園園.零基礎(chǔ)學(xué)單片機(jī) C語(yǔ)言程序設(shè)計(jì) [M].機(jī)械工業(yè)出版社, 2012:1-300.高明遠(yuǎn).電子工藝實(shí)訓(xùn)與 protelDXP應(yīng)用[M].人民出版社 ,2007:1-288.劉炎.通用串行總線 (USB)應(yīng)用與接口設(shè)計(jì) [M].電子技術(shù)應(yīng)用, 2002(12):28-33.[14]DS1302資料[DB].海納電子資訊網(wǎng): [15]LCD12864資料[DB].海納電子資訊網(wǎng): 致謝本課題的研究和論文的完成是在導(dǎo)師牛金星老師的悉心指導(dǎo)和熱心關(guān)懷下完成的。牛老師豐富的專業(yè)知識(shí)、兢兢業(yè)業(yè)的工作精神和開(kāi)拓的思維方式使我受益匪淺,他嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和寬厚的長(zhǎng)著風(fēng)度為學(xué)生建立了一個(gè)寬松、富于創(chuàng)造性的學(xué)習(xí)和工作環(huán)境,對(duì)我以后的生活和學(xué)習(xí)將產(chǎn)生深遠(yuǎn)的影響。 在此向牛老師表示崇高的敬意并致以衷心的感謝。感謝四年來(lái)教導(dǎo)我知識(shí)的申杰、運(yùn)紅麗、宋小娜、張濤、齊永奇、王欣欣等數(shù)位老師!感謝大學(xué)以來(lái)所有給過(guò)我教誨的老師們,是你們帶領(lǐng)我發(fā)現(xiàn)了學(xué)習(xí)的樂(lè)趣和知識(shí)的奧妙。在此謹(jǐn)向老師們致以最誠(chéng)摯的敬意!感謝測(cè)控專業(yè)這四年來(lái)所有給過(guò)我?guī)椭娜耍?本設(shè)計(jì)能順利完成與同學(xué)們的幫助是分不開(kāi)的。在此謹(jǐn)向親愛(ài)的同學(xué)們致以最真的祝福!最后,我要特別感謝我的家人,他們的支持和關(guān)心是我不斷進(jìn)步的力量源泉,使我有能力、有信心面對(duì)困難,迎接挑戰(zhàn)。附錄1設(shè)計(jì)任務(wù)書(shū)一、畢業(yè)設(shè)計(jì)目的本設(shè)計(jì)的目的是培養(yǎng)學(xué)生綜合運(yùn)用單片機(jī)等所學(xué)課程知識(shí)的能力。 了解系統(tǒng)的設(shè)計(jì)流程,培養(yǎng)分析和解決課題中關(guān)鍵技術(shù)的能力,以及了解電路板的制作和調(diào)試能力。可以對(duì)以前所學(xué)的知識(shí)進(jìn)一步的深化掌握, 為以后的工作或研究生課題的研究奠定理論和實(shí)踐基礎(chǔ)。二、主要內(nèi)容1、萬(wàn)年歷的硬件設(shè)計(jì)。2、電子萬(wàn)年歷的軟件設(shè)計(jì)。3、實(shí)物焊接及調(diào)試運(yùn)行。三、重點(diǎn)研究問(wèn)題1、單片機(jī)與外設(shè)的硬件連接和通信。2、日歷轉(zhuǎn)換的算法。四、主要技術(shù)指標(biāo)或主要參數(shù)1、顯示年月日時(shí)分秒及其星期信息。2、具有可調(diào)整日期和時(shí)間功能。3、與即時(shí)時(shí)間同步。五、基本要求1、在設(shè)計(jì)初期階段進(jìn)行認(rèn)真調(diào)研。在調(diào)研和充分理解課題內(nèi)容和要求的基礎(chǔ)上,寫(xiě)出3000字左右的開(kāi)題報(bào)告。要求查閱文獻(xiàn)在 15篇以上.2、在設(shè)計(jì)初期進(jìn)行畢業(yè)實(shí)習(xí),實(shí)習(xí)時(shí)間為 2周左右。實(shí)習(xí)過(guò)程應(yīng)聽(tīng)從指導(dǎo)教師的指揮,寫(xiě)出實(shí)習(xí)日記。實(shí)習(xí)結(jié)束后,對(duì)實(shí)習(xí)過(guò)程進(jìn)行總結(jié),提交實(shí)習(xí)報(bào)告。3、在設(shè)計(jì)過(guò)程中,能運(yùn)用一門(mén)外語(yǔ)翻譯與課題有關(guān)的外文資料。要求譯文準(zhǔn)確、通順,字?jǐn)?shù)在 2000漢字以上。4、在畢業(yè)設(shè)計(jì)后期,提交畢業(yè)設(shè)計(jì)設(shè)計(jì)一本。要求內(nèi)容完整,含中外文摘要,條理清楚,文字通順,書(shū)寫(xiě)規(guī)范。要求中文摘要字?jǐn)?shù)在 500字左右,關(guān)鍵詞 3~5個(gè),設(shè)計(jì)正文字?jǐn)?shù)應(yīng)在 15000字以上。5、提交設(shè)計(jì)部分的硬件電路圖和顯示系統(tǒng)設(shè)計(jì)的軟件源碼,以及能夠正常演示成六、其它(包括選題來(lái)源)1、所有學(xué)生應(yīng)按設(shè)計(jì)進(jìn)度完成相應(yīng)的工作。2、選題來(lái)源為自選。3、設(shè)計(jì)過(guò)程中,態(tài)度不認(rèn)真,平時(shí)紀(jì)律松弛,缺勤累計(jì)超過(guò)畢業(yè)設(shè)計(jì)時(shí)數(shù)三分之2開(kāi)題報(bào)告華北水利水電大學(xué)本科生畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告學(xué)生姓名邵林坤學(xué)號(hào)200906927專業(yè)測(cè)控技術(shù)與儀器題目名稱基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)課題來(lái)源自選主要內(nèi)容目前市場(chǎng)上各式各樣的電子時(shí)鐘數(shù)不勝數(shù),但多數(shù)是只針對(duì)時(shí)間顯示,功能單一,不能滿足人們?nèi)粘I钚枨?。本文提出了一種基于STC90C51單片機(jī)的多功能電子萬(wàn)年歷的硬件結(jié)構(gòu)和軟件的設(shè)計(jì)方案,本方案以 STC90C51單片機(jī)為主控核心,與串行時(shí)鐘日歷芯片 DS1302、按鍵、字符型液晶 LCD12864顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨(dú)立按鍵和 LCD顯示器,能顯示年、月、日、時(shí)、分、秒及星期等信息,并且根據(jù)使用者的需要可以隨時(shí)對(duì)時(shí)間進(jìn)行校準(zhǔn)、選擇時(shí)間等。綜上所述,此萬(wàn)年歷具有讀取方便,顯示直觀,功能多樣,電路簡(jiǎn)潔,成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。單片機(jī)的出現(xiàn),并在各技術(shù)領(lǐng)域中得到如此迅猛的發(fā)展,與單片機(jī)構(gòu)成計(jì)算機(jī)應(yīng)用系統(tǒng)所形成的下述特點(diǎn)有關(guān):.單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依靠單片機(jī)芯片本身的高可靠性以及應(yīng)用有最少的連接外,還可以方便地采用軟、硬件技術(shù) .。系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。由于構(gòu)成的應(yīng)用系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng),相當(dāng)多的測(cè)控功能由軟件實(shí)現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能。4.有優(yōu)異的性能、價(jià)格比。

本課題實(shí)現(xiàn)的目標(biāo)是通過(guò)編寫(xiě)日歷算法程序,設(shè)計(jì)硬件電路,將時(shí)鐘芯片DS1302中的時(shí)間通過(guò)單片機(jī)的控制,顯示在 LCD12864液晶屏上,并且能通過(guò)獨(dú)立按鍵調(diào)整時(shí)鐘芯片中的時(shí)間。一、系統(tǒng)總體設(shè)計(jì)思路此設(shè)計(jì)即在液晶屏上顯示年、 月、日、時(shí)、分、秒及星期等時(shí)間信息,電路硬件部分一般包括以下幾個(gè)部分:鍵盤(pán)、單片機(jī)及顯示電路,原理框圖如下。采取的主要技術(shù)路線或采取的主要技術(shù)路線或方法單片機(jī)實(shí)現(xiàn)液晶顯示萬(wàn)年歷總框圖單片機(jī)實(shí)現(xiàn)液晶顯示萬(wàn)年歷總框圖對(duì)于各部分:(1)為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,鍵盤(pán)用來(lái)校正液晶上顯示的時(shí)間。(2)單片機(jī)通過(guò)輸出各種電脈沖信號(hào)來(lái)驅(qū)動(dòng)控制各部分正常工作。(3)單片機(jī)發(fā)送到信號(hào)經(jīng)過(guò)顯示電路通過(guò)譯碼最終在液晶屏上顯示出來(lái)。二、系統(tǒng)硬件選擇2.1、單片機(jī)芯片的選擇STC90C51臺(tái)灣 STC公司生產(chǎn)的低電壓,高性能 CMOS位單片機(jī),片8內(nèi)含4kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器( PERO)和M 128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM),器件采用 ST公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS-51指令系統(tǒng),片內(nèi)置通用 8位中央處理器(CPU)和 Flash存儲(chǔ)單元,功能強(qiáng)大 STC90C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域,尤其是小電子商品的市場(chǎng)。時(shí)鐘芯片的選擇根據(jù)本設(shè)計(jì)的要求,采用 DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘, DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加 31字節(jié)靜態(tài)RAM,采用 SPI三線接口與 CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和 RAM數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期、月和年,一個(gè)月小與 31天時(shí)可以自動(dòng)調(diào)整,且具有閏年補(bǔ)償功能。工作電壓寬達(dá) 2.5~5.5V。采用雙電源供電(主電源和備用電源) ,可設(shè)置備用電源充電方式,提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。DS1302用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄, 因此廣泛應(yīng)用于測(cè)量系統(tǒng)中。顯示模塊的選擇使用帶字符的液晶顯示屏 LCD12864顯示數(shù)字時(shí)間。 LCD12864液晶在是一款很常用的點(diǎn)陣液晶, 可顯示各種字符及圖形, 可以顯示 4行每行8個(gè)漢字,可與 CPU直接接口, 具有8位標(biāo)準(zhǔn)數(shù)據(jù)總線、 6條控制線及電源線。 128×64點(diǎn)陣型液晶顯示模塊,板上有負(fù)壓電路,對(duì)比度可調(diào)、黃綠色背光。液晶顯示屏( LCD)12864液晶顯示模塊是并且具有輕薄短小、低耗電量、無(wú)輻射危險(xiǎn),平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢(shì),可視面積大,畫(huà)面效果好,分辨率高,抗干擾能力強(qiáng),控制方便,時(shí)序簡(jiǎn)單,技術(shù)成熟等特點(diǎn)。鍵盤(pán)模塊的選擇使用獨(dú)立式鍵盤(pán)。 獨(dú)立式鍵盤(pán)是指直接用 I/O口線構(gòu)成的單個(gè)按鍵電路。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單。電路設(shè)計(jì)方案決定綜上各所述 ,對(duì)此次作品的方案選定 :我們采用 STC90C51作為主控制系統(tǒng);DS1302提供時(shí)鐘 ;LCD12864字符型液晶屏作為顯示,獨(dú)立按鍵作為時(shí)間調(diào)整的模塊。

STC90C51LCD12864液晶屏顯示模塊鍵盤(pán)模塊主控制模塊DS1302時(shí)鐘模塊基于芯片 STC90C51萬(wàn)年歷系統(tǒng)的框圖三、系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)是本課題的關(guān)鍵, 本課題的程序采用 C語(yǔ)言編寫(xiě), 并在 keil2中調(diào)試并生成 Hex文件,最后下載到單片機(jī)調(diào)試運(yùn)行。本課題的軟件設(shè)計(jì)主要包含三部分:其中包括單片機(jī)控制程序, LCD顯示程序, DS1302時(shí)間程序,時(shí)間調(diào)整程序。單片機(jī)控制程序控制程序是單片機(jī)與外設(shè)的接口,單片機(jī)通過(guò)控制程序完成對(duì)外設(shè)的控制和通信,這是主程序的核心。完成時(shí)間調(diào)整,陽(yáng)歷轉(zhuǎn)換為農(nóng)歷的算法,以及 LCD顯示的控制。LCD顯示程序單片機(jī)采集的時(shí)間信息通過(guò)顯示程序, 在液晶屏 LCD12864上直觀的顯示。DS1302時(shí)鐘程序單片機(jī)通過(guò)時(shí)鐘程序?qū)r(shí)鐘芯片 DS1302中的時(shí)間信息進(jìn)行采集, 并且可以調(diào)整 DS1302中的時(shí)間信息。時(shí)間安排第1—2周( 2.25-3.10)進(jìn)行調(diào)研,收集與課題相關(guān)資料,熟悉課題所需相關(guān)知識(shí),初擬設(shè)計(jì)方案。熟悉相關(guān)應(yīng)用工具軟件,收集素材。完成相關(guān)英文資料翻譯。第 3—4周(3.11—3.24)畢業(yè)實(shí)習(xí),了解各種單片機(jī)系統(tǒng)的開(kāi)發(fā)和實(shí)際應(yīng)用特點(diǎn)、工作原理及與專業(yè)有關(guān)知識(shí),開(kāi)闊眼界,進(jìn)一步收集資

料。第 5—6周( 3.25—4.7)寫(xiě)出開(kāi)題報(bào)告 (文獻(xiàn)綜述 )、實(shí)習(xí)報(bào)告。確定總體設(shè)計(jì)方案,包括硬件選型;程序流程圖,軟件總體框架等。第 7—8周( 4.8—4.21)進(jìn)行系統(tǒng)軟件設(shè)計(jì),編出時(shí)鐘芯片采集時(shí)間的程序及通訊程序, LCD12864液晶顯示程序和控制程序。第 9—10周( 4.22—5.5)進(jìn)行系統(tǒng)軟件設(shè)計(jì)并進(jìn)行運(yùn)行仿真。第 11—12周(5.6—5.19)完成電路板制作,總體測(cè)試、調(diào)試等。第13周( 5.20—5.26)編寫(xiě)畢業(yè)設(shè)計(jì)論文、制作 PPT、說(shuō)明書(shū)、答辯準(zhǔn)備。第14周(5.27—5.31)答 辯。指導(dǎo)教師意見(jiàn)簽名:年月日備注黃菊生 .單片機(jī)原理 與 接口技術(shù)[M].北京:國(guó)防工業(yè)出版社,2007.9:12-200.閻石.數(shù) 字電子技術(shù)基 礎(chǔ) (第五版)[M]. 北京:高等教育出版社,2006.5:260-344.張國(guó)雄 .測(cè)控電路 [M].北京:機(jī)械工業(yè)出版社 ,2008:1-110.劉大茂 .智能儀器與設(shè)計(jì) [M].北京: 清華大學(xué)出版社 ,2005:20-210.譚浩強(qiáng).C程序設(shè)計(jì)[M].第三版,北京:清華大學(xué)出版社,2005.7:1-180.余家春. Protel99SE電路設(shè)計(jì)實(shí)用教程 [M].中國(guó)鐵道出版社 ,2004:20-120蘇平.單片機(jī)的原理與接口技術(shù) [M].北京:電子工業(yè)出版社 ,2006:1-113.尹勇.單片機(jī)開(kāi)發(fā)環(huán)境 μVision2的開(kāi)發(fā)指南 [M].北京:北京航空航天大學(xué)出版社, 2004:174-198.張斌武 .單片機(jī)系統(tǒng) Proteus設(shè)計(jì)與仿真 [M].北京:電子工業(yè)出版社,2005:53-88.[10]彭偉 .單片機(jī) C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn) 100例[M].北京 :電子工業(yè)出版社 ,2009:1-240.

3外文翻譯DS1302TrickleChargeTimekeepingChipFEATURESRealtimeclockcountsseconds,minuteshours,dateofthemonth,month,dayoftheweek,andyearwithleapyearcompensationvalidupto2100.31x8RAMforscratchpaddatastorage.SerialI/Oforminimumpincount.2.0–5.5Vfulloperation.Useslessthan300nAat2.0V.Single–byteormultiple–byte(burstmode)datatransferforreadorwriteofclockorRAMdata.8–pinDIPoroptional8 –pinSOICsforsurfacemount.Simple3–wireinterface.TTL–compatible(VCC=5V).Optionalindustrialtemperaturerange–40°Cto+85°C.DS1202compatible.PINASSIGNMENTPINDESCRIPTIONX1,X2:32.768kHzCrystalPins;GND:Ground;RST:Reset;I/O:DataInput/Output;SCLK:SerialClock;VCC1,VCC2:PowerSupplyPins四、DESCRIPTIONTheDS1302TrickleChargeTimekeepingChipcontainsarealtimeclock/calendarand31bytesofstatic RAM.Itcommunicateswithamicroprocessorviaasimpleserialinterface.Therealtimeclock/calendarprovidesseconds,minutes,hours,day,date,month,andyearinformation.Theendofthemonthdateisautomaticallyadjustedformonthswithlessthan31days,includingcorrectionsforleapyear.Theclockoperatesineitherthe24–houror12–hourformatwithanAM/PMindicator.InterfacingtheDS1302withamicroprocessorissimplifiedbyusingsynchronousserialcommunication.Onlythreewiresarerequiredtocommunicatewiththeclock/RAM:(1)RST(Reset),(2)I/O(Dataline),and(3)SCLK(Serialclock).Datacanbetransferredtoandfromtheclock/RAM1byteatatimeorinaburstofupto31bytes.TheDS1302isdesignedtooperateonverylowpowerandretaindataandclockinformationonlessthan1microwatt.TheDS1302isthesuccessortotheDS1202.InadditiontothebasictimekeepingfunctionsoftheDS1202,theDS1302hastheadditionalfeaturesofdualpowerpinsforprimaryandback–uppowersupplies,programmabletricklechargerforVCC1,andsevenadditionalbytesofscratchpadmemory.OPERATIONThemainelementsoftheSerialTimekeeperareshowninFigure1:shiftregister,controllogic,oscillator,realtimeclock,andRAM.DS1302BLOCKDIAGRAMFigure1SIGNALDESCRIPTIONSVCC1:VCC1provideslowpoweroperationinsinglesupplyandbatteryoperatedsystemsaswellaslowpowerbatterybackup.Insystemsusingthetricklecharger,therechargeableenergysourceisconnectedtothispin.VCC2:Vcc2istheprimarypowersupplypininadualsupplyconfiguration.VCC1isconnectedtoabackupsourcetomaintainthetimeanddateintheabsenceofprimarypower.TheDS1302willoperatefromthelargerofVCC1orVCC2.WhenVCC2isgreaterthanVCC1+0.2V,VCC2willpowertheDS1302.WhenVCC2islessthanVCC1,VCC1willpowertheDS1302.SCLK(SerialClockInput)–SCLKisusedtosynchronizedatamovementontheserialinterface.I/O(DataInput/Output)–TheI/Opinisthebi-directionaldatapinforthe3-wireinterface.RST(Reset)–Theresetsignalmustbeassertedhighduringareadorawrite.X1,X2:Connectionsforastandard32.768kHzquartzcrystal.Theinternaloscillatorisdesignedforoperationwithacrystalhavingaspecifiedloadcapacitanceof6pF.COMMANDBYTEThecommandbyteisshowninFigure2.Eachdatatransferisinitiatedbyacommandbyte.TheMSB(Bit7)mustbealogic1.Ifitis0,writestotheDS1302willbedisabled.Bit6specifiesclock/calendardataiflogic0orRAMdataiflogic1.Bits1through5specifythedesignatedregisterstobeinputoroutput,andtheLSB(bit0)specifiesawriteoperation(input)iflogic0orreadoperation(output)iflogic1.ThecommandbyteisalwaysinputstartingwiththeLSB(bit0).ADDRESS/COMMANDBYTEFigure2RESETANDCLOCKCONTROLAlldatatransfersareinitiatedbydrivingtheRSTinputhigh.TheRSTinputservestwofunctions. First,RSTturnsonthecontrollogicwhichallowsaccesstotheshiftregisterfortheaddress/commandsequence.Second,theRSTsignalprovidesamethodofterminatingeithersinglebyteormultiplebyte datatransfer.Aclockcycleisasequenceofafallingedgefollowedbyarisingedge.Fordatainputs,datamustbevalidduringtherisingedgeoftheclockanddatabitsareoutputonthefallingedgeofclock.IftheRSTinputislowalldatatransferterminatesandtheI/Opingoestoahighimpedancestate.DatatransferisillustratedinFigure3.Atpower –up,RSTmustbealogic0untilVCC>2.0volts.AlsoSCLKmustbeatalogic0whenRSTisdriventoalogic1state.DATATRANSFERSUMMARYFigure3DATAINPUTFollowingtheeightSCLKcyclesthatinputawritecommandbyte,adatabyteisinputontherisingedgeofthenexteightSCLKcycles.AdditionalSCLKcyclesareignoredshouldtheyinadvertentlyoccur.Dataisinputstartingwithbit0.DATAOUTPUTFollowingtheeightSCLKcyclesthatinputareadcommandbyte,adatabyteisoutputonthefalling edgeofthenexteightSCLKcycles.Notethatthefirstdatabittobetransmittedoccursonthefirstfallingedgeafterthelastbitofthecommandbyteiswritten.Additional SCLKcyclesretransmitthedatabytesshouldtheyinadvertentlyoccursolongasRSTremainshigh.Thisoperationpermitscontinuousburstmodereadcapability.Also,theI/Opinistri–stateduponeachrisingedgeofSCLK.Dataisoutputstartingwithbit0.BURSTMODEBurstmodemaybespecifiedforeithertheclock/calendarortheRAMregistersbyaddressinglocation31decimal(address/commandbits1through5=logic1).Asbefore,bit6specifiesclockorRAMandbit0specifiesreadorwrite.Thereisnodatastoragecapacityatlocations9through31intheClock/CalendarRegistersorlocation31intheRAMregisters.Readsorwritesinburstmodestartwithbit0ofaddress0.Whenwriting totheclockregistersintheburstmode,thefirsteightregistersmustbewritteninorderforthe

datatobetransferred.However,whenwritingtoRAMinburstmodeitisnotnecessarytowriteall31bytesforthedatatotransfer.EachbytethatiswrittentowillbetransferredtoRAMregardlessofwhetherall31bytesarewrittenornot.8)CLOCK/CALENDARTheclock/calendariscontainedinsevenwrite/readregistersasshowninFigure4.Datacontainedintheclock/calendarregistersisinbinarycodeddecimalformat(BCD).REGISTERADDRESS/DEFINITIONFigure:4CLOCKHALTFLAGBit7ofthesecondsregisterisdefinedastheclockhaltflag.Whenthisbitissettologic1,theclockoscillatorisstoppedandtheDS1302isplacedintoalow–powerstandbymodewithacurrentdrainoflessthan100nanoamps.Whenthisbitiswrittentologic0,theclockwillstart.Theinitialpoweronstateisnotdefined.AM-PM/12-24MODEBit7ofthehoursregisterisdefinedasthe12 –or24–hourmodeselectbit.Whenhigh,the12 –hourmodeisselected.Inthe12 –hourmode,bit5istheAM/PMbitwithlogichighbeingPM.Inthe24–hourmode,bit5isthesecond10-hourbit(20 –23hours).WRITEPROTECTBITBit7ofthecontrolregisteristhewrite-protectbit.Thefirstsevenbits(bits0 –6)areforcedto0andwillalwaysreada0whenread.BeforeanywriteoperationtotheclockorRAM,bit7mustbe0.Whenhigh,thewriteprotectbitpreventsawriteoperationtoanyotherregister.Theinitialpoweronstateisnotdefined.ThereforetheWPbitshouldbeclearedbeforeattemptingtowritetothedevice.TRICKLECHARGEREGISTERThisregistercontrolsthetricklechargecharacteristicsoftheDS13

溫馨提示

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

評(píng)論

0/150

提交評(píng)論