【正文】
基于時(shí)鐘日歷芯片DS1302的萬(wàn)年歷設(shè)計(jì)黃豪民摘 要隨著科學(xué)技術(shù)的發(fā)展,萬(wàn)年歷的設(shè)計(jì)也層出不窮。本設(shè)計(jì)以單片機(jī)AT89C51和DS1302為核心,結(jié)合譯碼器74HC154和驅(qū)動(dòng)芯片74LS244,以及模擬鍵盤,LED顯示電路等構(gòu)成一個(gè)可控及顯示精確的萬(wàn)年歷時(shí)間系統(tǒng)。DS1302為一個(gè)實(shí)時(shí)時(shí)鐘芯片,具有較高時(shí)間精度,它與單片機(jī)進(jìn)行串口通信,單片機(jī)通過(guò)與它的通信,取出其時(shí)間寄存器中的值,再通過(guò)相應(yīng)的電路,把時(shí)間值通過(guò)LED顯示,如果顯示的值與標(biāo)準(zhǔn)時(shí)間不同,此系統(tǒng)就經(jīng)過(guò)模擬鍵盤靈活控制,調(diào)節(jié)DS1302中時(shí)間寄存器中的值,達(dá)到與標(biāo)準(zhǔn)時(shí)間同步。關(guān)鍵詞 AT89C51,DS130239ABSTRACTAlong with science and technology39。s development, the designs of the perpetual calendar have many meanings. This design uses the microprocessor AT89C51 and the chip DS1302, with the decoder chip 74HC154, the drive chip 74LS244, the simulative keyboard, the LED display and so on to constitute the perpetual calendar system which can control and display precisely.DS1302 is a realtime clock chip and has the high time precision, it municates with the microprocessor via the serial interface. The microprocessor takes out DS1302’s time register value by the munication, at last the LED displays the time value by the corresponding circuit. If the time value is different from the standard time, the simulation keyboard can adjust conveniently DS1302’s time register value, achieving with the standard time synchronously.Keywords AT89C51, DS1302目 錄摘 要 IABSTRACT II1 緒論 12 功能要求 33 方案論證 3 顯示器的選擇 3 VFD顯示器 3 LED顯示器 3 LCD液晶顯示器 4 編程語(yǔ)言的選擇 4 單片機(jī)匯編語(yǔ)言 4 單片機(jī)C語(yǔ)言 4 微處理器的選擇 54 硬件電路 6 DS1302時(shí)鐘芯片 7 DS1302簡(jiǎn)介 7 DS1302的控制字節(jié) 8 數(shù)據(jù)的輸出 9 DS1302的寄存器 9 DS1302的讀寫方式 11 DS1302時(shí)序圖 12 DS1302電路 13 單片機(jī)AT89C51 14 單片機(jī)AT89C51簡(jiǎn)介 14 單片機(jī)引腳簡(jiǎn)介 15 低功耗模式 18 模擬鍵盤的設(shè)計(jì) 19 LED顯示器的設(shè)計(jì) 19 74LS244芯片 215 軟件設(shè)計(jì) 25 系統(tǒng)軟件設(shè)計(jì)原理 25 鍵盤掃描子程序 25 顯示子程序 26 DS1302控制子程序 26 主函數(shù) 276 軟件平臺(tái) 28 Proteus軟件 28 KEIL軟件 307 結(jié)論 33參 考 文 獻(xiàn) 34附錄A:部分單片機(jī)源程序 35致 謝 381 緒論在科技日新月異發(fā)展的今天,人們對(duì)時(shí)間概念的認(rèn)識(shí)顯得尤為深刻,“時(shí)間就是金錢”,“時(shí)間就是生命”等警句更是激勵(lì)著人們努力工作,把握時(shí)間。作為時(shí)間的標(biāo)量,時(shí)鐘等計(jì)時(shí)設(shè)備也隨著人們的不斷認(rèn)識(shí)而變化。在三千年前,我國(guó)祖先就發(fā)明了用土和石片刻制成的“土圭”與“日規(guī)”兩種計(jì)時(shí)器,成為世界上最早發(fā)明計(jì)時(shí)器的國(guó)家之一。到了銅器時(shí)代,計(jì)時(shí)器又有了新的發(fā)展,用青銅制的“漏壺”取代了“土圭”與“日規(guī)”。東漢元初四年張衡發(fā)明了世界第一架“水運(yùn)渾象”,此后唐高僧一行等人又在此基礎(chǔ)上借鑒改進(jìn)發(fā)明了“水運(yùn)渾天儀”、“水運(yùn)儀象臺(tái)”。至元明之時(shí),計(jì)時(shí)器擺脫了天文儀器的結(jié)構(gòu)形式,得到了突破性的新發(fā)展。元初郭守敬、明初詹希元?jiǎng)?chuàng)制了“大明燈漏”與“五輪沙漏”,采用機(jī)機(jī)械結(jié)構(gòu),并增添盤、針來(lái)指示時(shí)間,這使其計(jì)時(shí)更準(zhǔn)確,機(jī)械性也更先進(jìn)。而在國(guó)外,阿拉伯工匠最早利用等速運(yùn)動(dòng)原理設(shè)計(jì)出擺鐘表。埃及人制造了漏壺鐘,它是由兩個(gè)互相疊置的圓筒組成。水從上面的圓筒穿過(guò)一個(gè)小孔滴入下面的圓筒。水滴完了,就是某個(gè)時(shí)辰過(guò)去了。大一點(diǎn)兒的漏壺灌一次水可報(bào)六個(gè)小時(shí),然后再重新裝滿水。他們還甚至做了裝有指針和鳴擊裝置的鐘表,每隔一小時(shí),一定數(shù)量的圓球便滾落到金屬蓋上,發(fā)出大聲的鳴響。而鐘表發(fā)展史日晷是最早報(bào)“標(biāo)準(zhǔn)時(shí)”的儀器,它由晷盤和晷針組成。晷盤是一個(gè)有刻度的盤,其中央裝有一根與盤面垂直的晷針,針影隨太陽(yáng)運(yùn)轉(zhuǎn)而移動(dòng)在盤上的位置。一二七零年前后在意大利北部和南德一帶出現(xiàn)的早期機(jī)械式時(shí)鐘,以秤錘作動(dòng)力,每一小時(shí)鳴響附帶的鐘,自動(dòng)報(bào)時(shí)。一三三六年,第一座公共時(shí)鐘被安裝于米蘭一教堂內(nèi),在接下來(lái)的半個(gè)世紀(jì)里,時(shí)鐘傳至歐洲各國(guó),法國(guó)、德國(guó)、意大利的教堂紛紛建起鐘塔。到了現(xiàn)代,計(jì)時(shí)設(shè)備的新技術(shù)更是層出不窮,一九六九年,日本精工手表公司開(kāi)發(fā)出世界上第一塊石英電子手表,日誤差縮小到零點(diǎn)二秒以內(nèi)。與傳統(tǒng)的機(jī)械式手表相比,它走時(shí)更為準(zhǔn)確,功能更多,制作的成本也更低。一九七二年,美國(guó)的漢密爾頓公司發(fā)明了數(shù)字顯示手表,馬達(dá)和齒輪從手表中消失了。為了適應(yīng)現(xiàn)代社會(huì)的需要,瑞士等國(guó)更是推出自己特色的鐘表新產(chǎn)品,如瑞士菲利浦公司生產(chǎn)的光電鐘,可將光源轉(zhuǎn)換成電能作能源的電子表。日本研制成具有錄音、放音等功能的數(shù)字手表,還有翻譯手表、電視手表等。英國(guó)的無(wú)聲鬧聲,到了預(yù)定鐘點(diǎn),產(chǎn)生振動(dòng)叫醒人,可供耳聾者使用。還有聲控照明鐘、氣溫鐘、火警鬧鐘等。 時(shí)鐘芯片作為一個(gè)獨(dú)特的時(shí)鐘設(shè)備,它結(jié)合時(shí)鐘原理,把晶振,寄存器等組合在一起做成獨(dú)立的一塊芯片,靈活地滿足各種用戶需要。2 功能要求本設(shè)計(jì)要求以單片機(jī)和DS1302為核心,結(jié)合顯示電路,模擬鍵盤等輔佐模塊,構(gòu)成一個(gè)可控又計(jì)時(shí)準(zhǔn)確的萬(wàn)年歷時(shí)鐘系統(tǒng)。3 方案論證本設(shè)計(jì)從3個(gè)方面來(lái)分析論證:顯示器的選擇,編程語(yǔ)言的選擇和微處理器的選擇。 顯示器的選擇一般嵌入式系統(tǒng)可供選擇的顯示器有以下幾種,其具體介紹為: VFD顯示器VFD顯示器是由電子管發(fā)展過(guò)來(lái)的一種顯示器件。它是真空二極管或三極管的一種改型。二極管的改型稱為靜態(tài)VFD,三極管的改型稱為動(dòng)態(tài)VFD。靜態(tài)VFD含有兩個(gè)基本電極:陰極(燈絲)和陽(yáng)極。動(dòng)態(tài)VFD比靜態(tài)VFD多一極:柵極。所有電極在高真空條件下封裝于玻璃殼內(nèi)。由陰極發(fā)射的電子在正向電位的作用下加速到柵極和陽(yáng)極(靜態(tài)VFD直接到達(dá)陽(yáng)極),并碰撞激活在陽(yáng)極的熒光粉圖案使其發(fā)光。所需的亮度圖形顯示可以由控制柵極和陽(yáng)極(靜態(tài)VFD僅控制陽(yáng)極)正電位或負(fù)電位來(lái)實(shí)現(xiàn)。VFD顯示器具有高清晰度、高亮度、寬視角、反應(yīng)速度快和從紅色到藍(lán)色多種色彩等特點(diǎn),顯示效果好。當(dāng)使用CIG(集成芯片玻璃)技術(shù)時(shí),可集成VFD驅(qū)動(dòng)電路;具有可靠且壽命長(zhǎng)等特點(diǎn)。~,150~450mA的燈絲電流,12~36V 的陽(yáng)極加速電壓,15~36V的柵極電壓。不考慮陽(yáng)極和柵極電流,單燈絲功耗就達(dá)825mW,功耗相對(duì)來(lái)說(shuō)較大,不適合在移動(dòng)設(shè)備上使用。另外,它需要多組電壓不同的供電電壓,使用不方便。 LED顯示器LED顯示器是由發(fā)光二極管發(fā)展過(guò)來(lái)的一種顯示器件。它是LED發(fā)光二極管的改型。一般分為L(zhǎng)ED數(shù)碼管顯示器和LED點(diǎn)陣顯示器。LED點(diǎn)陣顯示器能顯示各種信息,但它的體積較大,適合于廣告牌等需要大面積顯示的場(chǎng)所。LED數(shù)碼管顯示器具有高亮度、寬視角、反應(yīng)速度快,可靠性高、使用壽命長(zhǎng)等特點(diǎn)。它比較適合顯示數(shù)字的時(shí)鐘系統(tǒng),同時(shí),在微處理器和LED發(fā)光二極管顯示器之間一般還需要驅(qū)動(dòng)芯片。 LCD液晶顯示器LCD液晶顯示器是利用光的偏振現(xiàn)象來(lái)顯示的。一般分為數(shù)字型LCD和點(diǎn)陣型LCD。前者用于顯示簡(jiǎn)單的字符,如時(shí)鐘等;后者能顯示復(fù)雜的圖形和自定義字符,因此應(yīng)用非常廣泛。LCD液晶顯示器具有本身不發(fā)光,靠反射或者透射其它光源發(fā)光的優(yōu)點(diǎn),同時(shí)具有功耗小、可靠性高、壽命長(zhǎng)、體積小、電源簡(jiǎn)單等特點(diǎn),非常適合于嵌入式系統(tǒng)、移動(dòng)設(shè)備和掌上設(shè)備的使用。結(jié)合實(shí)際,本時(shí)鐘系統(tǒng)的顯示模塊要求簡(jiǎn)單,以及基于自己掌握的知識(shí),本設(shè)計(jì)采用LED顯示器。 編程語(yǔ)言的選擇 單片機(jī)匯編語(yǔ)言處理器CPU可以識(shí)別的是一組由0和1序列構(gòu)成的指令碼,這種指令碼構(gòu)成的指令系統(tǒng)稱為機(jī)器語(yǔ)言,但由于它們不直觀,難記、難認(rèn)、難理解、難易查錯(cuò)等特點(diǎn),人們?cè)?0世紀(jì)50年代中期開(kāi)始用一些“助記符號(hào)”來(lái)代表機(jī)器語(yǔ)言中由0和1組成的指令系統(tǒng)。這些“助記符號(hào)”構(gòu)成的指令系統(tǒng)和現(xiàn)在增加的偽指令集稱為匯編語(yǔ)言。它具有以下幾個(gè)方面的特性:與機(jī)器的相關(guān)性、執(zhí)行的高效性、編寫程序的復(fù)雜性、調(diào)試的復(fù)雜性等。 單片機(jī)匯編語(yǔ)言在這個(gè)設(shè)計(jì)系統(tǒng)中也就是MCS51指令集。它是由111條指令組成,按照它們的操作性質(zhì)可劃分為數(shù)據(jù)傳送、算術(shù)運(yùn)算、邏輯操作、程序轉(zhuǎn)移、位操作等5大類。MCS51的指令長(zhǎng)度較短:?jiǎn)巫止?jié)指令有49條;雙字節(jié)指令有46條;最長(zhǎng)的是三字節(jié)指令,只有16條。指令周期較短:?jiǎn)螜C(jī)器周期指令64條