![MCS-51單片機(jī)的數(shù)字鐘設(shè)計(jì)(共73頁(yè))_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/9945d748-32d4-41ce-be78-08d4843d2f44/9945d748-32d4-41ce-be78-08d4843d2f441.gif)
![MCS-51單片機(jī)的數(shù)字鐘設(shè)計(jì)(共73頁(yè))_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/9945d748-32d4-41ce-be78-08d4843d2f44/9945d748-32d4-41ce-be78-08d4843d2f442.gif)
![MCS-51單片機(jī)的數(shù)字鐘設(shè)計(jì)(共73頁(yè))_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/9945d748-32d4-41ce-be78-08d4843d2f44/9945d748-32d4-41ce-be78-08d4843d2f443.gif)
![MCS-51單片機(jī)的數(shù)字鐘設(shè)計(jì)(共73頁(yè))_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/9945d748-32d4-41ce-be78-08d4843d2f44/9945d748-32d4-41ce-be78-08d4843d2f444.gif)
![MCS-51單片機(jī)的數(shù)字鐘設(shè)計(jì)(共73頁(yè))_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/22/9945d748-32d4-41ce-be78-08d4843d2f44/9945d748-32d4-41ce-be78-08d4843d2f445.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)(論計(jì)(論 文)文)題 目:基于 MCS-51 單片機(jī)的數(shù)字鐘設(shè)計(jì)系 別:電子與信息工程系專 業(yè): 電子信息工程 班 級(jí): 電子 0204 班 學(xué)生姓名: 導(dǎo)師姓名:_ 起止時(shí)間: 3.21 至 6.10 年 6 月 5 日摘要 .IIIABSTRACT.IV引言 .11 緒論 .21.1 集成電路.21.2主要技術(shù)的背景 .21.2.1 發(fā)展歷史.21.2.2 現(xiàn)狀.31.2.3 發(fā)展趨勢(shì) .32 器件簡(jiǎn)介 .42.1 LED 顯示器 .42.1.1 LED 顯示器的結(jié)構(gòu) .42.1.2 LED 的接線形式 .52.2 AT89C52 簡(jiǎn)介.52.2.1AT89C52
2、主要性能參數(shù): .52.2.2 AT89C52 單片機(jī)的功能特性概述: .62.3 DS1302 芯片 .92.3.1 DS1302 的性能特性: .92.3.2DS1302 數(shù)據(jù)操作原理.102.4 74LS164八位移位寄存器.142.4.1 74LS64 簡(jiǎn)介 .142.4.2 74LS164 邏輯介紹: .153 硬件電路 .173.1 線路的設(shè)計(jì).173.1.1 電源轉(zhuǎn)換模塊 .183.1.2 主控制模塊 .183.1.3 顯示模塊 .193.1.4 鍵盤接口設(shè)計(jì) .203.2 電路圖的繪制.203.3 電路板的焊接.203.4 打開(kāi)電源前應(yīng)注意的問(wèn)題.204 軟件設(shè)計(jì)部分 .214
3、.1 陽(yáng)歷程序的設(shè)計(jì).214.2 時(shí)間調(diào)整程序設(shè)計(jì).214.3 陰歷程序設(shè)計(jì).235 調(diào)試.286 小結(jié).297 致謝.308 參考文獻(xiàn).319 附錄 .32摘要該課題研究用經(jīng)濟(jì)的手段使人們能方便地得知當(dāng)前的年歷時(shí)間,以及安全生產(chǎn)累計(jì)天數(shù),提高生產(chǎn)人員的警惕性,達(dá)到減少事故的目的。本文簡(jiǎn)要介紹了 LED 顯示的發(fā)展?fàn)顩r和其所特有的優(yōu)勢(shì),簡(jiǎn)述了該系統(tǒng)中一些重要芯片的基本工作原理,著重論述了硬件線路各個(gè)模塊的設(shè)計(jì)思想和軟件關(guān)鍵部分的實(shí)現(xiàn)方法。數(shù)碼管與單片機(jī)的接口采用動(dòng)態(tài)顯示技術(shù),利用了 RTC 芯片的系統(tǒng)自帶電池功能來(lái)實(shí)現(xiàn)斷電時(shí)保存一些重要數(shù)據(jù),以便來(lái)電時(shí)正確顯示信息的功能。模塊化的設(shè)計(jì)和調(diào)試方法
4、在整個(gè)課題研究過(guò)程中至關(guān)重要,事實(shí)上在任何設(shè)計(jì)中也同樣關(guān)鍵和有效。關(guān)鍵字 LED 顯示 RTC 芯片 動(dòng)態(tài)AbstractThis topic tries to attain the purpose of reducing troubles by making it easier for workers to know real time and the total days during which instruments are in gear by cost-effective means.This paper gives a general description of develop
5、ment situation of LED display and advantages of LED products as display .It also introduces the basic functions of some relative vital chips briefly and emphasizes in clarifying the design of relatively independent modules. Solutions of the key parts are also introduced with particular description.
6、Dynamic display interface between LED display and MCU are used .It also can save some important data at the moment of power-off by making use of RTC chips system self-contained battery in order to make sure accurate information are present whenever power-on.Modularized design and debug are most impo
7、rtant in the whole course of the topic research. In fact, it is as well as vital and effective in any other design course.Keywords logic clock RTC Chip Dynamic 引言隨著生活水平的提高,人們?cè)絹?lái)越追求人性化的事物,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。現(xiàn)代的數(shù)字鐘不僅需要數(shù)字電路技術(shù)而且需要模擬電路技術(shù)和單片機(jī)技術(shù),增加了數(shù)字鐘的功能。其電路可以由實(shí)時(shí)時(shí)鐘模塊、環(huán)境溫度檢測(cè)模塊、人機(jī)接口模塊、報(bào)警模塊等部分組成。利用軟件編程盡量做到硬件電路簡(jiǎn)單
8、穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差,但是數(shù)字鐘還是可以改進(jìn)和提高如選用更精密的元器件。但與機(jī)械式時(shí)鐘相比已經(jīng)具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì) .時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用 ,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)
9、控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。1 緒論緒論1.11.1 集成電路集成電路在此次設(shè)計(jì)中我們將用到集成電路 。集成電路是一種微型電子器件,采用一定的工藝將包含三極管、二極管、電阻、電容等元件及其相互連線的整個(gè)電路,集中制造在一個(gè)或幾個(gè)很小的半導(dǎo)體晶片或介質(zhì)基片上,再經(jīng)引線和封裝,成為具有所需功能的微型結(jié)構(gòu)。每片芯片(半導(dǎo)體晶片或介質(zhì)基片)集成的元件數(shù)叫做集成度,小規(guī)模集成電路的集成度是 1100,中規(guī)模集成電路的集成度是 1001000,大規(guī)模集成電路的集
10、成度是 100010 萬(wàn),超大規(guī)模集成電路的集成度是 10 萬(wàn)100 萬(wàn),極大規(guī)模集成電路的集成度大于100 萬(wàn)。 集成電路具有體積小、引出線和焊接點(diǎn)少、壽命長(zhǎng)、成本低、可靠性高、性能好等優(yōu)點(diǎn),廣泛應(yīng)用于電子計(jì)算機(jī)、通訊設(shè)備、導(dǎo)彈、雷達(dá)、人造衛(wèi)星和各種遙控、遙測(cè)設(shè)備中。1.2主要技術(shù)的背景主要技術(shù)的背景1.2.1 發(fā)展歷史發(fā)展歷史集成電路是信息產(chǎn)業(yè)和高新技術(shù)的核心 ,是推動(dòng)國(guó)民經(jīng)濟(jì)和社會(huì)信息化的關(guān)鍵技術(shù)。集成電路的產(chǎn)業(yè)規(guī)模和技術(shù)水平已成為國(guó)家綜合國(guó)力的一個(gè)重要標(biāo)志。 集成電路是隨著計(jì)算機(jī)技術(shù)的發(fā)展而不斷進(jìn)步 ,1946 年 2 月 15 日世界上第一臺(tái)通用電子數(shù)字計(jì)算機(jī)使用了 18000 個(gè)電
11、子管,1500 個(gè)繼電器以及其他器件,安裝在面積為 9*15 平方米的室內(nèi)。在 20 世紀(jì) 50年代中期第二代電子計(jì)算機(jī)問(wèn)世 ,它是以晶體管代替了電子管 ,此時(shí)第一個(gè)集成電路誕生了,它包括一個(gè)晶體管、兩個(gè)電阻和一個(gè)電阻、電容的組合.后來(lái)集成電路工藝日趨完善 ,大部分電路元件都已經(jīng)以集成電路的形式出現(xiàn),甚至在約 1 平方厘米的芯片上,就可以集成上百萬(wàn)個(gè)電子元件。在 1967 年和 1977 年,分別出現(xiàn)了大規(guī)模集成電路和超大規(guī)模集成電路,不斷的完善和改進(jìn)計(jì)算機(jī)的性能與規(guī)模 。 但我國(guó)集成電路相對(duì)于世界先進(jìn)水平存在一定的差距 ,所以有發(fā)展本國(guó)集成電路的需要 。1.2.2 現(xiàn)狀現(xiàn)狀現(xiàn)在我國(guó)集成電路產(chǎn)
12、業(yè)已經(jīng)經(jīng)過(guò) 30 多年的發(fā)展現(xiàn)已形成了近百家的產(chǎn)業(yè)規(guī)模,其中具備一定設(shè)計(jì)規(guī)模的單位有 20 多家,其中北京華大、大唐、深圳華威和無(wú)錫矽科四家設(shè)計(jì)公司的銷售額超過(guò)了 1 億元。 2000 年,我國(guó)集成電路總產(chǎn)量為 58.80 億塊,銷售額近 200 億元,產(chǎn)量和銷售額分別比 1999 年增長(zhǎng) 50.3%和 75%。并且集成電路芯片目前主要采用 56 英寸硅片、0.81 微米技術(shù) ,大部分設(shè)計(jì)公司的技術(shù)水平在 0.80.5 微米之間,最高設(shè)計(jì)水平可達(dá) 0.35 微米。不少設(shè)計(jì)公司可以設(shè)計(jì)上萬(wàn)門的集成電路產(chǎn)品,而北京華大和深圳華威最高可設(shè)計(jì)80 萬(wàn)門的電路。目前國(guó)內(nèi)的通信芯片行業(yè)取得了突破性進(jìn)展,例
13、如南京東南大學(xué)射頻與光電集成電路研究所設(shè)計(jì)的第一批芯片已成功通過(guò)測(cè)試,其中的 3 個(gè)芯片還達(dá)到世界先進(jìn)水平,填補(bǔ)了我國(guó)高速 CMOS 集成電路設(shè)計(jì)的技術(shù)空白,在此基礎(chǔ)上開(kāi)發(fā)出的實(shí)用產(chǎn)品可以打入光纖通信接口設(shè)備市場(chǎng)。多家外國(guó)著名公司也紛紛在中國(guó)建立起集成電路設(shè)計(jì)公司 。1.2.3 發(fā)展趨勢(shì)發(fā)展趨勢(shì)中國(guó)發(fā)展集成電路的主要目標(biāo)為:達(dá)到大規(guī)模生產(chǎn) 150mm 和 0.8微米的技術(shù)水平;200mm 和 0.5 微米的制造技術(shù)的產(chǎn)業(yè)化;提高集成電路的設(shè)計(jì)能力以滿足市場(chǎng)需求;跟蹤 0.30.4 微米和先進(jìn)封裝技術(shù)的研發(fā);開(kāi)發(fā) 200mm 的硅片制造技術(shù)并在國(guó)內(nèi)開(kāi)始生產(chǎn)等。未來(lái) 10 年是我國(guó)微電子產(chǎn)業(yè)發(fā)展的
14、關(guān)鍵時(shí)期。重點(diǎn)要推進(jìn)超大規(guī)模集成電路和新技術(shù)的產(chǎn)業(yè)化。我國(guó)集成電路市場(chǎng)潛力巨大 , 是因?yàn)榻陙?lái)因特網(wǎng)持續(xù)爆炸式增長(zhǎng)、移動(dòng)通信終端設(shè)備市場(chǎng)的迅猛發(fā)展,以及數(shù)碼相機(jī)、手持電腦等電子產(chǎn)品市場(chǎng)的興旺,尤其是移動(dòng)通信業(yè)的高速發(fā)展成為推動(dòng)半導(dǎo)體產(chǎn)業(yè)新一輪發(fā)展的強(qiáng)大動(dòng)力。信息產(chǎn)業(yè)的高速發(fā)展,為集成電路產(chǎn)業(yè)提供了巨大的市場(chǎng)空間。未來(lái)幾年,我國(guó)集成電路市場(chǎng)需求主要來(lái)自以下幾個(gè)方面:1. 通信運(yùn)營(yíng)業(yè)的高速發(fā)展對(duì)集成電路提出新的需求 ;2. 二是通信運(yùn)營(yíng)業(yè)的高速發(fā)展對(duì)集成電路提出新的需求 ;3 國(guó)民經(jīng)濟(jì)和社會(huì)信息化建設(shè)給電子信息制造業(yè)創(chuàng)造了一個(gè)新市場(chǎng) ;4. 隨著我國(guó)經(jīng)濟(jì)結(jié)構(gòu)的戰(zhàn)略性調(diào)整,傳統(tǒng)產(chǎn)業(yè)改造升級(jí),提高設(shè)
15、計(jì)和制造水平推進(jìn)機(jī)電一體化,為各行業(yè)提供先進(jìn)和成套的技術(shù)準(zhǔn)備,又會(huì)給集成電路產(chǎn)業(yè)帶來(lái)新的市場(chǎng)。 綜觀中國(guó)集成電路的設(shè)計(jì)概況,可以看到從 20 世紀(jì) 80 年代末開(kāi)始,經(jīng)過(guò) 90 年代初的創(chuàng)業(yè)期,現(xiàn)正進(jìn)入它的發(fā)展期, 21 世紀(jì)將是中國(guó)設(shè)計(jì)業(yè)的成熟期。2 器件簡(jiǎn)介2.12.1 LEDLED 顯示器顯示器.1 LED 顯示器的結(jié)構(gòu)LED 顯示塊是發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段 LED。七段 LED 內(nèi)部由 7 個(gè)條形發(fā)光二極管和一個(gè)圓點(diǎn)發(fā)光二極管組成。 圖 2-1本設(shè)計(jì)中采用的是綠色七段數(shù)碼管,每一段數(shù)碼管內(nèi)部相當(dāng)于有一個(gè)發(fā)光二極管。發(fā)光二極管具有
16、單向?qū)щ娦?,只有?dāng)外加的正向電壓使得正向電流足夠大時(shí)才發(fā)光, 它的開(kāi)啟電壓比普通二極管的大, 紅色的在 1.8V2.2V 之間,綠色的約為 2V。正向電流越大,發(fā)光越強(qiáng)。內(nèi)部結(jié)構(gòu)如圖 2-1。 .2 LED 的接線形式根據(jù)內(nèi)部發(fā)光二極管的接線形式分成共陰極型(公共點(diǎn)接地)和共陽(yáng)極型(公共點(diǎn)接電源) 。計(jì)算機(jī)與七段顯示器的接口,分成靜態(tài)顯示接口和動(dòng)態(tài)顯示接口。靜態(tài)接口是每個(gè)七段顯示器單獨(dú)用一組寄存器控制,將其公共點(diǎn)接地。動(dòng)態(tài)接口使用兩組寄存器。幾個(gè)顯示器的七段用一組寄存器控制,該寄存器稱作段選寄存器。另一組寄存器控制這幾個(gè)七段顯示器的公共點(diǎn),控制這幾個(gè)顯示器逐個(gè)循環(huán)點(diǎn)亮。適當(dāng)選擇
17、循環(huán)速度,利用人眼“視覺(jué)暫留”效應(yīng),使看上去好像這幾個(gè)七段顯示器同時(shí)在顯示一樣??刂乒颤c(diǎn)的寄存器稱為位選寄存器。本次設(shè)計(jì)中采用共陽(yáng)極型接法,公共級(jí)通過(guò)一個(gè) PNP 三極管與12V 的電源相連。接口采用動(dòng)態(tài)顯示。2.22.2 AT89C52AT89C52 簡(jiǎn)介簡(jiǎn)介AT89C52 是美國(guó) ATMEL 公司生產(chǎn)的低電壓、高性能的 CMOS 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫的只讀程序存儲(chǔ)器( PEROM)和 256 bytes 的隨即存取數(shù)據(jù)存儲(chǔ)器( RAM) ,器件采用 ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)的 MCS-51 指令系統(tǒng)及 8052 產(chǎn)品引腳兼容,
18、片內(nèi)置通用 8 位中央處理器(CPU)和 Flash 存儲(chǔ)單元,功能強(qiáng)大。AT89C52 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。2.2.1AT89C52 主要性能參數(shù):主要性能參數(shù):1與 MCS51 產(chǎn)品指令和引腳完全兼容2具有 8k 字節(jié)可重擦寫 Flash 閃速存儲(chǔ)器31000 次擦寫周期4全靜態(tài)操作:0Hz24MHz5三級(jí)加密程序存儲(chǔ)器62568 字節(jié)內(nèi)部 RAM732 個(gè)可編程 I/O 口線83 個(gè) 16 位定時(shí)器/計(jì)數(shù)器98 個(gè)中斷源10低功耗空閑和掉電方式11可編程串行 UART 通道.2 AT89C52AT89C52 單片機(jī)的功能特性概述:AT89C52 提供以下
19、標(biāo)準(zhǔn)功能:8k 字節(jié) Flash 閃速存儲(chǔ)器,256 字節(jié)內(nèi)部 RAM,32 個(gè) I/O 口線,3 個(gè) 16 位定時(shí)/計(jì)數(shù)器,一個(gè) 6 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。同時(shí),AT89C52 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內(nèi)容,但震蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。AT89C52 單片機(jī)與 MCS-51 兼容,它與 MCS-51 的功能基本相同。a.MCSMCS5151 單片機(jī)的中斷系統(tǒng)(1)中斷
20、源 MCS51 單片機(jī)是一個(gè)多中斷源的單片機(jī),有五個(gè)中斷源:外部中斷 0、定時(shí)器 0 中斷、外部中斷 1、定時(shí)器 1 中斷和串行接收或發(fā)送中斷。各中斷源的中斷處理程序入口地址如下表 21 所示:表 21 中斷向量表中斷源入口地址外部中斷 00003H定時(shí)器 0000BH外部中斷 10013H定時(shí)器 1001BH串行口0023H(2)中斷控制1中斷的開(kāi)放或禁止是由中斷允許寄存器 IE 控制的。IE 的格式如下:EAESET1EX1ET0EX0EA中斷總允許位。EA1,開(kāi)放總中斷,而各個(gè)中斷源的中斷請(qǐng)求是允許還是禁止,分別由各自的中斷允許位確定; EA=0,禁止一切中斷。ES串行口中斷允許位。ET
21、1 和 ET0 分別是定時(shí)器 T1 和 T0 的中斷允許位。EX1 和 EX0 分別是外部中斷 1(INT1)和外部中斷 0(INT0)的中斷允許位。以上五個(gè)中斷允許位的意義是: 0 為禁止中斷,1 為允許中斷。2中斷源優(yōu)先級(jí)控制中斷優(yōu)先級(jí)寄存器 IP。MCS51 單片機(jī)有高、低兩個(gè)中斷優(yōu)先級(jí), 5 個(gè)中斷源可由程序設(shè)置為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,實(shí)現(xiàn)二級(jí)中斷嵌套。一個(gè)正在執(zhí)行的低優(yōu)先級(jí)中斷源的中斷服務(wù)程序,能被高優(yōu)先級(jí)中斷源所中斷,但不能被同級(jí)別的另一個(gè)中斷源所中斷。 MCS51 單片機(jī)的 5 個(gè)中斷源的優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器 IP 的相應(yīng)位設(shè)定。IP 格式如下:PSPT1PX1PT0P
22、X0PS 是串行口的中斷優(yōu)先級(jí)控制位。PT1 和 PT0 分別是定時(shí)器 T1 和 T0 的中斷優(yōu)先級(jí)控制位。PX1 和 PX0 分別是外部中斷 INT1 和 INT0 的中斷優(yōu)先級(jí)控制位。中斷優(yōu)先級(jí)控制位的意義是: 0 為設(shè)定為低優(yōu)先級(jí)中斷源; 1 為設(shè)定為高優(yōu)先級(jí)中斷。 如果同優(yōu)先級(jí)的多個(gè)中斷請(qǐng)求同時(shí)出現(xiàn)時(shí),則按MCS51 單片機(jī)的 CPU 查詢次序確定那個(gè)中斷請(qǐng)求被響應(yīng),其查詢次序?yàn)椋篒E0、TF0、IE1、TF1、RI 或 TI。b.MCSMCS5151 的定時(shí)系統(tǒng)在控制系統(tǒng)中,常常要求有一些實(shí)時(shí)時(shí)鐘以實(shí)現(xiàn)定時(shí)或延時(shí)控制,如定時(shí)中斷、定時(shí)檢測(cè)、定時(shí)掃描等等,也往往要求有計(jì)數(shù)器能對(duì)外部事件
23、計(jì)數(shù)。MCS51 單片機(jī)有 2 個(gè)定時(shí)器,稱為定時(shí)器 0(T0)和定時(shí)器 1(T1) 。(1)定時(shí)器的結(jié)構(gòu)MCS51 單片機(jī)的定時(shí)器由計(jì)數(shù)器 0、計(jì)數(shù)器 1、方式控制寄存器和定時(shí)器控制寄存器組成。計(jì)數(shù)器 0 和計(jì)數(shù)器 1 分別由 8 位計(jì)數(shù)器TH0、TL0 和 TH1 和 TL1 構(gòu)成。TH0、TL0、TH1、TL1 是不能位尋址的特殊功能寄存器,通過(guò)對(duì) TH0、TL0、TH1、TL1 的初始化編程來(lái)控制 T0 和T1 的計(jì)數(shù)初值。MCS51 單片機(jī)的兩個(gè)計(jì)數(shù)器 TH0、TL0 和 TH1、TL1 可以構(gòu)成 16 位的計(jì)數(shù)器、13 位的計(jì)數(shù)器和 8 位的計(jì)數(shù)器。計(jì)數(shù)器是定時(shí)器 T0 和 T1
24、的核心,它可以對(duì)引線 T0 和 T1 來(lái)的外部事件計(jì)數(shù);也可以對(duì)單片機(jī)的機(jī)器周期計(jì)數(shù)。一個(gè)機(jī)器周期等于 12 個(gè)振蕩脈沖周期,因此計(jì)數(shù)頻率為振蕩頻率的 1/12。這樣,不但可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以反過(guò)來(lái)按定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的預(yù)置值。計(jì)數(shù)器是加法計(jì)數(shù)器,所以預(yù)置的計(jì)數(shù)初值應(yīng)為計(jì)數(shù)值的補(bǔ)碼。(2)定時(shí)器的工作方式MCS51 單片機(jī)的 T0 有方式 0、方式 1、方式 2 和方式 3 四種工作方式。T1 有方式 0、方式 1 和方式 2 三種工作方式。工作方式控制寄存器 TMOD:TMOD 寄存器是不能位尋址的特殊功能寄存器,用于控制 T1 和 T0 的工作方式,各位的定義如下:
25、GATEC/TM1M0GATEC/TM1M0TMOD 的高半字節(jié)和低半字節(jié)的定義相同,高半字節(jié)用于控制 T1,低半字節(jié)用于控制 T0,其中,GATE 是門控位。GATE 為 1 時(shí),定時(shí)器的計(jì)數(shù)器受外部引線 INT0 或 INT1 輸入電平的控制,輸入高電平計(jì)數(shù),輸入低電平停止計(jì)數(shù),這時(shí)可以用于測(cè)量在 INTx 引線出現(xiàn)的正脈沖寬度;GATE 為 0 時(shí),定時(shí)器的計(jì)數(shù)不受 INT0 或 INT1 引線的控制。C/T 是定時(shí)器和計(jì)數(shù)器選擇位。 C/T 為 1,選擇計(jì)數(shù)器方式,計(jì)數(shù)器THi 和 TLi 對(duì) Ti 引線輸入的外部事件計(jì)數(shù); C/T 為 0,選擇定時(shí)器方式,計(jì)數(shù)器 THi 和 TLi
26、對(duì)機(jī)器周期進(jìn)行計(jì)數(shù)。M1 和 M0 是定時(shí)器的工作方式選擇位。 M1 和 M0 這 2 位有 0011 四個(gè)狀態(tài),分別選擇方式 0(13 位定時(shí)器) 、方式 1(16 位定時(shí)器) 、方式2(8 位自動(dòng)重裝載定時(shí)器)和方式 3(T0 分成兩個(gè) 8 位的定時(shí)器) 。2.32.3 DSDS13021302 芯片芯片.1 DS1302DS1302 的性能特性:1實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);2用于高速數(shù)據(jù)暫存的318 位 RAM3最少引腳的串行I/O;4 2.55.5V 電壓工作范圍;5 2.5V 時(shí)耗電小于300nA;6用于時(shí)鐘或RAM 數(shù)據(jù)讀 /寫
27、的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式;7簡(jiǎn)單的3 線接口8可選的慢速充電(至Vcc1)的能力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)行可以采用 24h 或帶 AM(上午)/PM(下午)的 12h 格式。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM 數(shù)據(jù)。DS1302 有主電源/后備電源雙電源引腳:Vcc1 在單電源與電池供電的系統(tǒng)中提供電源,并提
28、供低功率的電池備份; Vcc2 在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中 Vcc1 連接到備份電,以便在沒(méi)有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302 由 Vcc1 或 Vcc2 中較大者供電。當(dāng) Vcc2 大于Vcc10.2V 時(shí),Vcc2 給 DS1302 供電;當(dāng) Vcc2 小于 Vcc1 時(shí),DS1302由 Vcc1 供電。2.3.2DS1302 數(shù)據(jù)操作原理數(shù)據(jù)操作原理 DS1302 在任何數(shù)據(jù)傳送時(shí)必須先初始化,把 RST 腳置為高電平,然后把 8 位地址和命令字裝入移位寄存器,數(shù)據(jù)在 SCLK 的上升沿被輸出。無(wú)論是讀周期還是寫周期,開(kāi)始 8 位指定 40 存器中哪個(gè)將
29、被訪問(wèn)到。在開(kāi)始 8 個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的始終周期在讀操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為 8 加 8,在多字節(jié)方式下為 8 加字節(jié)數(shù),最大可達(dá) 248 字?jǐn)?shù)。 如果在傳送過(guò)程中置 RST 腳為低電平,則會(huì)中止本次數(shù)據(jù)傳送,并且 I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 Vcc 2.5V 之前,RST 腳必須保持低電平。只有在 SCLK 為低電平時(shí),才能將 RST 置為高電平。DS1302 的引腳及內(nèi)部結(jié)構(gòu)圖如圖 2.1 所示,表 2.1 為各引腳的功能。 圖 2.1 DS1302 引腳圖及內(nèi)部結(jié)構(gòu) 圖 2.2 DS1302 的控制字DS
30、1302 的控制字如圖 2.2 所示。控制字節(jié)的最高有效位(位 7)必須是邏輯 1;如果它為 0。則不能把數(shù)據(jù)寫入到 DS1302 中。位 6 如果為0。則表示存取日歷時(shí)鐘數(shù)據(jù);為 1 表示存取 RAM 數(shù)據(jù)。位51(A4A0)指示操作單元的地址。最低有效位(位 0)如為 0,表示要進(jìn)行寫操作;為 1 表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開(kāi)始輸入/輸出。為了提高對(duì) 32 個(gè)地址的尋址能力(地址 /命令位 15 = 邏輯 1) ,可以把時(shí)鐘/日歷或 RAM 寄存器規(guī)定為多字節(jié)(burst)方式。位 6 規(guī)定時(shí)鐘或 RAM,而位 0 規(guī)定讀或?qū)?。在時(shí)鐘/日歷寄存器中的地址 931或 RAM 寄存器
31、中的地址 31 不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?0 的位 0 開(kāi)始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?8 個(gè)寄存器。但是,當(dāng)以多字節(jié)方式寫 RAM 時(shí),為了傳送數(shù)據(jù)不必寫所有 31 字節(jié),不管是否寫了全部 31 字節(jié),所寫的每一字都將傳送至 RAM。引腳號(hào)引腳名稱功能1Vcc2主電源2,3X1,X2震蕩源,外接 32.768kHz 晶振4GND地線5RST復(fù)位/片選線6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行數(shù)據(jù)輸入端8Vcc1后備電源表 2.1 DS1302 引腳功能圖 2.3 DS1302 數(shù)據(jù)讀/寫時(shí)序 DS1302 共有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘
32、相關(guān),存放的數(shù)據(jù)位為 BCD 碼形式。其日歷、時(shí)間寄存器及其控制字見(jiàn)表2.2,其中奇數(shù)為讀操作,偶數(shù)為寫操作。時(shí)鐘暫停:秒寄存器的位 7 定義位時(shí)鐘暫停位。當(dāng)它為 1 時(shí),DS1302 停止振蕩,進(jìn)入低功耗的備份方式。通常在對(duì) DS1302 進(jìn)行寫操作時(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是 AM/PM 位,此位是高電平時(shí)表示 PM,低電平表示 AM。在 24小時(shí)方式下,位 5 為第二個(gè) 10小時(shí)位(2023h) 。命令字
33、節(jié)寄存器內(nèi)容寄存器名寫讀取值范圍76543 2 1 0秒寄存器80H81H0059CH10sSEC分寄存器82H83H0059010minMIN小時(shí)寄存器84H85H0023或011212/24010A/PHRHR日期寄存器86H87H0128,29,30,310010DATEDATE月份寄存器88H89H011200010MMONTH周寄存器8AH8BH010700000DAY年寄存器8CH8DH009910YEARYEAR表 2.2 內(nèi)部寄存器地址和內(nèi)容 DS1302 的晶振選用 32.768kHz,電容推薦值為 6pF,因?yàn)檎袷庮l率較低,也可以不接電容,對(duì)記時(shí)精度影響不大。2.42.4
34、74LS16474LS164八位移位寄存器.1 74LS6474LS64 簡(jiǎn)介74LS164 是一個(gè) 8 位移位寄存器,起其主要電特性的典型值如下:型號(hào)fmPn54/7416436MHz185mW54/74LS16436MHz80mW當(dāng)清除(CLEAR)為低電平時(shí),輸出端( QAQH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng) A、B 任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端( CLOCK)脈沖上升沿作用下 Q0 為低電平。當(dāng) A、B 有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài)。引出端符號(hào): CLOCK時(shí)鐘輸入端CLEA
35、R同步清楚輸入端(低電平有效)A,B串行數(shù)據(jù)輸入端QAQH輸出端其管腳圖如圖 2.3: 圖 2.3 74LS164 管腳圖.2 74LS164 邏輯介紹:1極限值: 電源電壓 7V 輸入電壓 5.5V 工作環(huán)境溫度: 54164 55125C74164 070C儲(chǔ)存溫度 65150C2其真值表如表 2.3 操作模式輸入輸出復(fù)位MRABQ0Q1Q7LLQ0Q6HLLLQ0Q6HLHLQ0Q6HHLLQ0Q6移位HHHHQ0Q6 表 2.3 74LS164 特性表 H 高電平 L 低電平 任意電平3時(shí)序圖:時(shí)序圖如圖 2.4圖 2.4 74LS164 時(shí)序圖3 硬件電路3.13.1
36、 線路的設(shè)計(jì)根據(jù)本課題的要求:數(shù)字鐘要顯示現(xiàn)在的日歷時(shí)間包括年、月、日、星期、時(shí)、分、秒和是否為閏年。所以,需要選用 19 個(gè)共陽(yáng)極數(shù)碼管,且選用 3 片 74LS164。數(shù)碼管要通過(guò) 74LS164 送顯,所以 19 個(gè)數(shù)碼管必須排成 3 排。設(shè)計(jì)思想:按照系統(tǒng)設(shè)計(jì)功能的要求,初步確定設(shè)計(jì)系統(tǒng)由電源轉(zhuǎn)換模塊、主控制模塊、時(shí)鐘模塊、顯示模塊、鍵盤接口模塊共 5 個(gè)模塊組成,電路系統(tǒng)構(gòu)成框圖如圖 3.1 所示: 圖 3.1電路系統(tǒng)構(gòu)成框圖.1 電源轉(zhuǎn)換模塊日常用到的都是 220V 的交流電源,所以,需要用變壓器將其轉(zhuǎn)換為線路設(shè)計(jì)中所用到的直流電源。此轉(zhuǎn)換后的直流電源為 +12V,
37、而線路設(shè)計(jì)中許多芯片所用到的電壓為 +5V,因此,還需有 12V 到 5V 的轉(zhuǎn)換電路。此轉(zhuǎn)換采用 7805(三端穩(wěn)壓器)來(lái)完成,轉(zhuǎn)換圖如下:Vin=12VVout=5V470uF 470uF 104pF 圖 3-1 7805 電壓轉(zhuǎn)換電路當(dāng) Vin5V 時(shí),Vout端可得到穩(wěn)定的 5V 電壓。7805電源模塊DS1302時(shí)鐘電路(89C52)主控制模塊鍵掃描電路顯示電路圖中,104pF 電容的作用是去高頻干擾;.2 主控制模塊此模塊由實(shí)時(shí)時(shí)鐘芯片 DS1302 和 AT89C52 組成。DS1302 只有 3 個(gè)管腳 SCLK,I/O,RST 分別接 AT89C52 的 P3
38、.2,P3.3,P3.4。通過(guò)串行輸入并行輸出來(lái)送顯示模塊。.3 顯示模塊顯示部分采用普通的共陽(yáng)數(shù)碼管顯示,采用動(dòng)態(tài)掃描,以減少硬件電路??紤]到一次掃描 19 位數(shù)碼管顯示時(shí)會(huì)出現(xiàn)閃爍情況,設(shè)計(jì)時(shí) 19個(gè)數(shù)碼管分為 3 排同時(shí)掃描。第一排 6 個(gè)數(shù)碼管分別為千年、百年、十年、年、十月、月,第二排 6 個(gè)數(shù)碼管分別為十時(shí)、時(shí)、十分、分、十秒、秒,第三排 7 個(gè)數(shù)碼管分別為星期、陰歷十月、陰歷月、陰歷十日、陰歷日、十日、日。顯示時(shí)采用串行口輸出段碼,用 3 片 74LS164 來(lái)驅(qū)動(dòng) 3 排數(shù)碼管,這樣掃描一次只需 7ms。74LS164 內(nèi)部為 8 個(gè) D 觸發(fā)器,用以實(shí)現(xiàn)數(shù)據(jù)的
39、串行移位。單片機(jī)一串行口方式 0(移位寄存器方式)輸出數(shù)據(jù), 3 片 74LS164 作為 3 排共陽(yáng)數(shù)碼管的串/并轉(zhuǎn)換顯示借口。74LS164 為 TTL 單向 8 位移位寄存器,可以實(shí)現(xiàn)串行輸入,并行輸出。其中 A、B(第 1、2 管腳)為串行數(shù)據(jù)輸入端,2 個(gè)引腳按邏輯“與”運(yùn)算規(guī)律輸入信號(hào),共一個(gè)輸入信號(hào)時(shí)可以并接,共同作為輸入腳。 CP(第 8 腳)為時(shí)鐘輸入端,可連接到串行口的 TXD 端。每一個(gè)時(shí)鐘信號(hào)的上升沿加到 CP 端時(shí),移位寄存器移一位。8 個(gè)時(shí)鐘脈沖過(guò)后,8 位二進(jìn)制數(shù)全部移入 74LS164 中。MR(第9 腳)為復(fù)位端,當(dāng)該腳為低電平時(shí),移位寄存器各位復(fù) 0;只有當(dāng)
40、它為高電平時(shí),時(shí)鐘脈沖才起作用。 Q1Q8(第 36 和 1013 引腳)并行輸出端分別數(shù)碼管的 ha(因?yàn)榇锌趶牡臀婚_(kāi)始傳送)各段對(duì)應(yīng)的引腳上。在給出了 8 個(gè)脈沖后,最先進(jìn)入 74LS164 的第 1 個(gè)字節(jié)數(shù)據(jù)到達(dá)了最高位。再來(lái) 1 個(gè)脈沖,第 1 個(gè)脈沖就會(huì)從最高位移出,進(jìn)入下個(gè)74LS164 的第 1 位。3 片 74LS164 首尾相串,而時(shí)鐘端則接在一起。這樣,當(dāng)輸入 8 個(gè)脈沖時(shí),從單片機(jī) RXD 端輸出的第 1 字節(jié)數(shù)據(jù)就進(jìn)入了第 1片 74LS164 中,而當(dāng)?shù)?2 個(gè) 8 個(gè)脈沖到來(lái)后,第 1 字節(jié)數(shù)據(jù)就進(jìn)入了第2 片 74LS164,而隨后的第 2 字節(jié)的數(shù)據(jù)則進(jìn)入了
41、第 1 片 74LS164。這樣,當(dāng)?shù)?3 個(gè) 8 個(gè)脈沖完成后,首次送出的數(shù)據(jù)被送到了最下面的 164(第3 片)中,其它數(shù)據(jù)依次出現(xiàn)在第 2 和第 1 片 74LS164 中,實(shí)現(xiàn)了數(shù)據(jù)在 74LS164 中的串行輸入、并行輸出。在方式 0 狀態(tài)下,串行口為同步移位寄存器方式,其波特率是固定的,為 fOSC/12。數(shù)據(jù)由 RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)端輸出。發(fā)送、接收數(shù)據(jù)時(shí)低位在先。所以根據(jù)本小姐下面提供的電路圖,在編寫程序時(shí),查共陽(yáng)數(shù)碼管的段碼的二進(jìn)制數(shù)據(jù)應(yīng)該將正常的共陽(yáng)數(shù)碼管 09 的二進(jìn)制值按位反序排序,如原來(lái)的二進(jìn)制為11000000(C0H)
42、,要改為 00000011(03H) ,就能使數(shù)碼管正常顯示了。.4 鍵盤接口設(shè)計(jì)用普通按鈕接 10K 上拉電阻,用查詢法完成讀鍵功能。3.23.2 電路圖的繪制電路圖的繪制通過(guò) PROTELL 99 SE 完成。選定需要的芯片,按照PROTEL 繪圖的步驟完成。3.33.3 電路板的焊接在完成 PROTEL 繪圖后,按照連接好的線路圖,將芯片焊接到對(duì)應(yīng)的位置上。檢查線路,看是否焊接出現(xiàn)短路情況。3.43.4 打開(kāi)電源前應(yīng)注意的問(wèn)題1)先測(cè)火線、地線、零線各線之間有沒(méi)有電阻;2)測(cè)控制板上各 IC 的 5V 電源是否接正確、有沒(méi)有與地短路;3)確認(rèn) IC 方向是否插正確;4)第
43、一次開(kāi)開(kāi)關(guān)時(shí),必須手不能離開(kāi)開(kāi)關(guān)。若有異樣,立刻切斷電源;4 軟件設(shè)計(jì)部分4.14.1 陽(yáng)歷程序的設(shè)計(jì)因?yàn)槭褂昧藭r(shí)鐘芯片 DS1302,陽(yáng)歷程序只需要從 DS1302 各寄存器中讀出年、周、月、日、小時(shí)、分、秒等數(shù)據(jù),再處理既可。在首次對(duì)DS1302 進(jìn)行操作之前,必須對(duì)他進(jìn)行初始化,然后從 DS1302 中讀出數(shù)據(jù),再經(jīng)過(guò)處理后,送給顯示緩存單元。陽(yáng)歷程序流程圖見(jiàn)圖 4.1 所示。 圖 4.1 陽(yáng)歷程序流程圖4.24.2 時(shí)間調(diào)整程序設(shè)計(jì)調(diào)整時(shí)間用 3 個(gè)調(diào)整按紐,1 個(gè)作為移位、控制用,另外 2 個(gè)作為初始化 1302開(kāi) 始1302 開(kāi)始振蕩從 1302 中讀出年、周、月、日、小時(shí)、分、秒
44、讀出的數(shù)據(jù)都為BCD 碼,將其高低位分離,送顯示緩存加個(gè)減用,分別定義為控制按紐、加按紐、減按紐。在調(diào)整時(shí)間過(guò)程中,要調(diào)整的位與別的位應(yīng)該有區(qū)別,所以增加了閃爍功能,即調(diào)整的位一直在閃爍,直到調(diào)整下一位。閃爍原理就是,讓要調(diào)整的一位每隔一定時(shí)間熄滅一次,比如說(shuō) 50ms。利用定時(shí)器記時(shí),當(dāng)?shù)竭_(dá) 50ms 溢出時(shí),就送給該位熄滅符,在下一次溢出時(shí),再送正常顯示的值,不斷交替,直到調(diào)整該位結(jié)束。此時(shí)送正常顯示值給該位,再進(jìn)入下一位調(diào)整閃爍程序。時(shí)間調(diào)整程序流程圖如圖 4.2 所示??刂奇I有效,進(jìn)入年調(diào)整程序控制鍵有效,進(jìn)入月調(diào)整程序等待按鍵程序等待按鍵程序加鍵有效加鍵有效減鍵有效減鍵有效年加 1月
45、減 1月加 1年減 1控制鍵有效,進(jìn)入日調(diào)整程序控制鍵有效,進(jìn)入星期調(diào)整程序等待按鍵程序等待按鍵程序加鍵有效加鍵有效減鍵有效減鍵有效日加 1星期減 1星期加 1日減 1圖 4.2時(shí)間調(diào)整程序流程圖4.34.3 陰歷程序設(shè)計(jì)陰歷程序的實(shí)現(xiàn)是要靠陽(yáng)歷日期來(lái)推算的,要根據(jù)陽(yáng)歷來(lái)推算陰歷日期,首先要計(jì)算法。推算方法就是,根據(jù)陽(yáng)歷當(dāng)前日期在一年中的天數(shù)來(lái)計(jì)算陰歷日期。陽(yáng)歷一個(gè)月不是 30 天就是 31 天(2 月除外,閏年2 月為 29 秒天,平年 2 月為 28 天) 。陰歷一年有 12 個(gè)月或 13 個(gè)月(含閏月) ,一個(gè)月為 30 天 或 29 天。如果把一個(gè)只有 29 天的月稱為小月,用 1 為
46、標(biāo)志,把 30 天的月稱為大月,用 0 為標(biāo)志,那么 12 位二進(jìn)制能表示一年 12 個(gè)月的大小。如果有閏月,則把閏月的月份作為一個(gè)字節(jié)的高 4 位,低 4 位表示閏月大小,大月為 0,小月為 1,這樣一個(gè)字節(jié)就控制鍵有效,進(jìn)入小時(shí)調(diào)整程序控制鍵有效,進(jìn)入分調(diào)整程序等待按鍵程序等待按鍵程序加鍵有效加鍵有效減鍵有效減鍵有效小時(shí)加 1分減 1分加 1小時(shí)減 1控制鍵有效,跳出時(shí)間調(diào)整程序,進(jìn)入主循環(huán)程序包含了所有閏月的信息。陰歷春節(jié)和陽(yáng)歷元旦相差的天數(shù)也用一個(gè)字節(jié)表示??偣灿?4 字節(jié)就可以存儲(chǔ)一年中任何一天陽(yáng)歷和陰歷的對(duì)應(yīng)關(guān)系的有關(guān)數(shù)據(jù),例如 2004 年的陰歷和陽(yáng)歷對(duì)應(yīng)關(guān)系表如表 4.1 所示
47、。2004 年的春節(jié)和元旦差 21 天,這樣 2004 年的信息表示為:21,42H,52H,21H。其中表示 12 個(gè)月大小信息的字節(jié),第 4 位和第 7位不用。第個(gè)字節(jié)為十進(jìn)制,其他的都為十六進(jìn)制。按此方法, 50 年的陽(yáng)歷和陰歷對(duì)應(yīng)關(guān)系表總共使用 200 字節(jié)。月份123456789101112閏2 月大小小大大大小大小大小大小大小天數(shù)1000101010101二進(jìn)制29303030293029302930293016進(jìn)制425221表 4.12004 年陰歷和陽(yáng)歷對(duì)應(yīng)關(guān)系表2 20 00 00 0 2 20 05 50 0 年年的的關(guān)關(guān)系系表表:35,15H,51H,00H(2000)
48、23,11H,52H,41H(2001)42,12H,65H,00H(2002)31,11H,32H,00H(2003)21,42H,52H,21H(2004)39,52H,25H,00H(2005)28,25H,04H,71H(2006)48,66H,42H,00H(2007)37,33H,22H,00H(2008)25,15H,24H,51H(2009)44,05H,52H,00H(2010)33,22H,65H,00H(2011)22,21H,25H,41H(2012)40,24H,52H,00H(2013)30,52H,42H,91H(2014)49,55H,05H,00H(2015)
49、38,26H,44H,00H(2016)27,53H,50H,60H(2017)46,53H,24H,00H(2018)35,25H,54H,00H(2019)24,41H,52H,41H(2020)42,45H,25H,00H(2021)31,24H,52H,00H(2022)21,51H,12H,21H(2023)40,55H,11H,00H(2024)28,26H,21H,61H(2025)47,26H,61H,00H(2026)36,13H,31H,00H(2027)25,05H,31H,51H(2028)43,12H,54H,00H(2029)33,51H,25H,00H(2030)
50、22,42H,25H,31H(2031)41,32H,22H,00H(2032)30,55H,02H,71H(2033)49,55H,22H,00H(2034)38,26H,62H,00H(2035)27,13H,64H,60H(2036)45,13H,32H,00H(2037)34,12H,55H,00H(2038)23,10H,53H,51H(2039)42,22H,45H,00H(2040)31,52H,22H,00H(2041)21,52H,44H,21H(2042)40,55H,44H,00H(2043)29,26H,50H,71H(2044)47,26H,64H,00H(2045)
51、36,25H,32H,00H(2046)25,23H,32H,50H(2047)44,44H,55H,00H(2048)32,24H,45H,00H(2049)22,55H,11H,30H(2050)有了算法和數(shù)據(jù)以后,就可以設(shè)計(jì)軟件了。根據(jù)當(dāng)前陽(yáng)歷的日期,算出陽(yáng)歷為該年中的第幾天。圖 4.3 為計(jì)算陽(yáng)歷中任何一天在該年中為第幾天的流程圖。計(jì)算出當(dāng)前陽(yáng)歷日期為該年中的第幾天后,再減去陽(yáng)歷該年春節(jié)和元旦的日差,如果夠減,則相減的結(jié)果就是陰歷在該年的總第幾天了。根據(jù)該數(shù)據(jù)就可以推算出具體的當(dāng)前陰歷日期;如果不夠減,則表示當(dāng)前陰歷年為陽(yáng)歷年的前一年。這種情況下,根據(jù)實(shí)際,當(dāng)前陰歷日期會(huì)處于陰歷 11
52、 月或 12 月,此時(shí)春節(jié)和元旦的日差減去前面計(jì)算出的當(dāng)前陽(yáng)歷日期在陽(yáng)歷年為第幾天的數(shù)據(jù),其結(jié)果表示當(dāng)前陰歷日期離春節(jié)的天數(shù)。計(jì)算出陽(yáng)歷天數(shù)為該年的第幾天,存放在 R2 和 R3 中。計(jì)算出天數(shù)后如果大于#FFH,則把#FFH 存放在 R2 中,余值存放在 R3 中。也就是說(shuō)在用積存器 R2 和 R3 表示的天數(shù)信息中,R2 充當(dāng)主積存器,數(shù)據(jù)先存滿 R2,再存 R3。在整個(gè)轉(zhuǎn)換程序中,這里面的數(shù)據(jù)不能被覆蓋。 計(jì)算出陽(yáng)歷總天數(shù)后,就可以根據(jù)它來(lái)推算陰歷日期。推算方法是,先用總天數(shù)減去春節(jié)和元旦的日差,如果結(jié)果為 1,則該天正好是春節(jié)(因?yàn)榇汗?jié)在元旦之后,在計(jì)算春節(jié)和元旦的日差時(shí),假設(shè)元旦為
53、0 天,春節(jié)為 n 天,則日差為 n。前面計(jì)算的陽(yáng)歷總天數(shù)是該天在該年中的第幾天,是以元旦為 1 而得到的,與計(jì)算春節(jié)和元旦日差的這種方法相比,其數(shù)值少了 1,所以要在原來(lái)本應(yīng)該以 0 作為該天就是春節(jié)的依據(jù)的基礎(chǔ)上加 1,所以以 1 作為該天是春節(jié)的標(biāo)志) ;如果結(jié)果小于 1,則陰歷應(yīng)該是陽(yáng)歷的前一年;如果結(jié)果大于 1,說(shuō)明陽(yáng)歷和陰歷為同一年。再根據(jù)查表所得的該年的陰歷的閏月和大小月的信息,就可以推算出該天的陰歷日期了。圖 4.4 為由總天數(shù)推算出陰歷日期的程序流程圖。 圖 4.3計(jì)算陽(yáng)歷天數(shù)程序流程圖置陰歷總天數(shù)為 0總天數(shù)中加入該月天數(shù)當(dāng)前月為1 月?月數(shù)加 1與當(dāng)前月同?NN當(dāng)前數(shù)是總
54、天數(shù) Y總天數(shù)加入號(hào)數(shù)Y計(jì)算陽(yáng)歷天數(shù)結(jié)束,總天數(shù)中的為當(dāng)前日期在陽(yáng)歷年中的第幾天YYNNNYYN 圖 4.4 推算陰歷日期的程序流程圖程序入口R2 減 1 月天數(shù)減去閏月天數(shù)夠減下個(gè)月為閏月?月加 1R3=0?R2=R2+R3R3=0R2=0? 月份為當(dāng)前正在減的月份的前一個(gè)月的最后一天月份為當(dāng)前正在減的月份,號(hào)數(shù)為 R2 中的值5 調(diào)試調(diào)試中出現(xiàn)的問(wèn)題及解決方法:(1)晶振無(wú)法正常起振原因:VCC 混有交流成分解決方法:在電源正負(fù)極間接上一個(gè)電容。(2)數(shù)碼管顯示亂碼形式原因:數(shù)碼管的段碼表錯(cuò)誤,沒(méi)有與硬件相結(jié)合。解決方法:將 09 十個(gè)數(shù)字全部輸入顯示,找出與之對(duì)應(yīng)的正確的數(shù)碼管段碼表。(
55、3)無(wú)法初始化 DS1302 原因:電路板上 DS1302 虛焊。解決方法:將 DS1302 虛焊部分重新焊接。6 小結(jié)可見(jiàn)技術(shù)在不斷進(jìn)步,機(jī)械式時(shí)鐘已經(jīng)被淘汰,取而代之的是具有高度準(zhǔn)確性和直觀性且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命等優(yōu)點(diǎn)的數(shù)字時(shí)鐘。數(shù)字時(shí)鐘更具人性化,更能提高人們的生活質(zhì)量,更受人們歡迎。無(wú)可否認(rèn)機(jī)械時(shí)代已經(jīng)過(guò)去,電子時(shí)代已經(jīng)到來(lái)。做為新時(shí)代的我們,更應(yīng)該提高自身能力,適應(yīng)新時(shí)代的發(fā)展。知識(shí)來(lái)自實(shí)踐,多去生活中探詢所需要的。對(duì)于上述所提到的研究課題,我們應(yīng)盡量考慮到人的因素,增強(qiáng)時(shí)鐘的實(shí)用性和操作性,為使用者提供切實(shí)的方便,營(yíng)造一種舒適的生活氛圍。所以,在設(shè)計(jì)的時(shí)候,應(yīng)該從多方面
56、、多角度去考慮問(wèn)題,而且應(yīng)該進(jìn)一步提高時(shí)鐘的質(zhì)量。7 致謝首先,感謝學(xué)校四年來(lái)對(duì)我的培養(yǎng)。本課題的前期準(zhǔn)備以及整個(gè)研究過(guò)程是在王文強(qiáng)老師的耐心指導(dǎo)下完成的,他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、扎實(shí)的理論基礎(chǔ)、全身心投入工作的精神以及對(duì)學(xué)生盡心盡力的態(tài)度給了我極大的幫助與鼓勵(lì),使我受益匪淺,在此謹(jǐn)對(duì)他表示崇高的敬意和衷心的感謝!還要衷心感謝其他所有對(duì)本課題的研究和論文撰寫有過(guò)幫助的同學(xué)。8 參考文獻(xiàn)【1】余永權(quán).ATMEL89 系列單片機(jī)應(yīng)用技術(shù),北京航空航天大學(xué)出版社,2002【2】李廣弟等.單片機(jī)基礎(chǔ),北京航空航天大學(xué)出版社, 2001【4】AT89C52 Datasheet ,ATMEL,2004【5】DS
57、1302 Datasheet ,DALLAS Semiconductor,2004【6】74LS164 Datasheet www.21IC.com 9 附錄附錄 ;* ;* 萬(wàn) 年 歷 程 序 * ;*;從 1302 中讀出數(shù)據(jù)放在 67H(高兩位年)66H(低兩位年)65H(月)64H(星期);63H(日)62H(小時(shí))61H(分)60H(秒)57H(農(nóng)歷月)56H(農(nóng)歷日);顯示緩存單元 7CH-7BH(4CH-4BH)(年低位),7AH-79H(4AH-49H)月,78H(48H)星期;77H-76H(47H-46H)日,75H-74H(45H-44H)小時(shí),73H-72H(43H-4
58、2H)分;71H-70H(41H-40H)秒,5EH-5DH(55H-54H)農(nóng)歷年;5CH-5BH(53H-52H)農(nóng)歷月,5AH-59H(51H-50H)農(nóng)歷日;閏月標(biāo)志為 F0,定時(shí)器 T1 為調(diào)整時(shí)間閃爍用。;SCLKEQU P3.2 IOEQU P3.3 RSTEQU P3.4yearDATA 66H monthDATA 65HweekDATA 64H dayDATA 63HhourDATA 62H mintueDATA 61H secondDATA 60H DS1302_ADDRDATA 32H DS1302_DATADATA 31HORG 0000HAJMPSTARTORG 00
59、03HRETIORG 000BHRETIORG 001BHLJMPINTT1ORG 0023HRETIORG 002BHRETI;*;* 主 程 序 *;*START:SETBEAMOV SCON,#00H;串行輸出,方式 0MOV TMOD,#10H;計(jì)數(shù)器 1,方式 1MOV TL1,#00HMOV TH1,#00HMOV DS1302_ADDR,#8EHMOV DS1302_DATA,#00H;允許寫 1302LCALLWRITEMOV DS1302_ADDR,#90HMOV DS1302_DATA,#0A6H;1302 充電,充電電流 1.1mALCALLWRITEMAIN1:MOV
60、DS1302_ADDR,#8DH;讀出年LCALLREADMOV year,DS1302_DATAMOV DS1302_DATA,#8BH;讀出星期LCALLREADMOV week,DS1302_DATAMOV DS1302_ADDR,#89H;讀出月LCALLREADMOV month,DS1302_DATAMOV DS1302_ADDR,#87H;讀出日LCALLREADMOV day,DS1302_DATAMOV DS1302_ADDR,#85H;讀出小時(shí)LCALLREADMOV hour,DS1302_DATAMOV DS1302_ADDR,#83H;讀出分LCALLREADMOV
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家居裝飾風(fēng)格與心理健康關(guān)系探討
- 構(gòu)建以服務(wù)功能為導(dǎo)向的綠色生態(tài)環(huán)境教育體系
- 生物醫(yī)藥與健康產(chǎn)業(yè)的投資潛力研究
- 現(xiàn)代化技術(shù)與醫(yī)療中心的高層建筑設(shè)計(jì)思考
- 生態(tài)城市建設(shè)中環(huán)境科學(xué)的應(yīng)用研究
- Unit 5 We're family Period 3 (說(shuō)課稿)-2024-2025學(xué)年外研版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024-2025學(xué)年高中生物 第四部分 淺嘗現(xiàn)代生物技術(shù)說(shuō)課稿 浙科版選修1
- 2024-2025學(xué)年高中物理 第四章 電磁感應(yīng) 5 電磁感應(yīng)現(xiàn)象的兩類情況(1)說(shuō)課稿 新人教版選修3-2
- 9古代科技 耀我中華-獨(dú)領(lǐng)風(fēng)騷的古代技術(shù)創(chuàng)造(說(shuō)課稿)2023-2024學(xué)年統(tǒng)編版道德與法治五年級(jí)上冊(cè)
- 26 手術(shù)臺(tái)就是陣地 說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)001
- 產(chǎn)品報(bào)價(jià)單(5篇)
- 康復(fù)護(hù)理練習(xí)題庫(kù)(附答案)
- 不銹鋼欄桿施工工藝
- 陜西演藝集團(tuán)有限公司招聘筆試題庫(kù)2023
- 小型餐飲店退股協(xié)議書
- 第九講 全面依法治國(guó)PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 兩淮礦區(qū)地面定向多分支水平井鉆進(jìn)作業(yè)技術(shù)規(guī)程
- vc約起來(lái)史上最全180個(gè)知名投資人聯(lián)系方式
- 社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告風(fēng)險(xiǎn)評(píng)估參考
- GB/T 14343-2008化學(xué)纖維長(zhǎng)絲線密度試驗(yàn)方法
- 制冷操作證培訓(xùn)教材-制冷與空調(diào)設(shè)備運(yùn)行操作作業(yè)培課件
評(píng)論
0/150
提交評(píng)論