2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘要</b></p><p>  本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的實(shí)時(shí)日歷和時(shí)鐘顯示設(shè)計(jì),可以顯示年月日時(shí)分秒及周信息,具有可調(diào)整日期和時(shí)間功能。在設(shè)計(jì)的同時(shí)對(duì)單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全面準(zhǔn)備。</p><p>  實(shí)時(shí)日歷和時(shí)鐘顯示的設(shè)計(jì)過程在硬件與軟件方面進(jìn)行同步設(shè)計(jì)。硬件部分主要由AT89S52單片機(jī),LED顯示電

2、路,以及調(diào)時(shí)按鍵電路等組成,系統(tǒng)通過LED顯示數(shù)據(jù),所以具有人性化的操作和直觀的顯示效果。軟件方面主要包括時(shí)鐘程序、鍵盤程序,顯示程序等。本系統(tǒng)以單片機(jī)的匯編語言進(jìn)行軟件設(shè)計(jì),為了便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔明了,以便更簡(jiǎn)單地實(shí)現(xiàn)調(diào)整時(shí)間及日期顯示功能。所有程序編寫完成后,在wave軟件中進(jìn)行調(diào)試,確定沒有問題后,在Proteus軟件中嵌入單片機(jī)內(nèi)進(jìn)行仿真。</p><p&g

3、t;  關(guān)鍵詞:AT89S52; DS1302; LED</p><p><b>  Abstract</b></p><p>  This design is based on 51 series monolithic integrated circuits of a real-time calendar and the clock shows the design

4、, you can show how and when a week, has may adjust the date and time functions. in the design for monolithic integrated circuits, and peripheral to expand the basic theories of knowledge was fairly comprehensive preparat

5、ion.</p><p>  Real-time calendar and the clock shows the design in hardware and software design of hardware that is synchronized. the led display at89s52 monolithic integrated circuits, and when should the e

6、lectrical circuits, the system through the led display data so be humanized operate and intuitive that effect. including the software application programs, the keyboard, the program, etc. This system to monolithic integr

7、ated circuits of the assembly language for easily developing software design, and chang</p><p>  Key Words:AT89S52; DS1302; LED</p><p><b>  目錄</b></p><p><b>  1概述

8、1</b></p><p><b>  2設(shè)計(jì)方案論證2</b></p><p><b>  2.1功能要求2</b></p><p><b>  2.2方案確定2</b></p><p>  2.2.1單片機(jī)芯片的選擇方案和論證2</p>&

9、lt;p>  2.2.2顯示模塊選擇方案和論證3</p><p>  2.2.3時(shí)鐘芯片的選擇方案和論證3</p><p>  2.2.4電路設(shè)計(jì)最終方案確定3</p><p>  3主控制器和外圍器件4</p><p>  3.1AT89S52單片機(jī)4</p><p>  3.2DS1302時(shí)鐘芯片

10、4</p><p>  3.2.1DS1302芯片介紹4</p><p>  3.2.2DS1302 的應(yīng)用8</p><p>  3.3數(shù)碼管LED8</p><p>  3.4譯碼器74HC1389</p><p>  3.5鎖存器74LS2449</p><p><b>

11、;  4硬件設(shè)計(jì)10</b></p><p>  4.1電路設(shè)計(jì)框圖10</p><p>  4.2系統(tǒng)概述10</p><p>  4.3電源設(shè)計(jì)10</p><p>  4.4單片機(jī)的復(fù)位電路11</p><p>  4.5單片機(jī)系統(tǒng)的晶振電路11</p><p> 

12、 4.6主電路設(shè)計(jì)12</p><p><b>  5軟件設(shè)計(jì)13</b></p><p>  5.1主程序設(shè)計(jì)13</p><p>  5.2鍵盤子程序設(shè)計(jì)14</p><p>  5.3日歷時(shí)鐘子程序設(shè)計(jì)16</p><p>  5.4顯示子程序設(shè)計(jì)18</p>&l

13、t;p><b>  6系統(tǒng)調(diào)試18</b></p><p>  6.1軟件調(diào)試18</p><p>  6.2硬件調(diào)試19</p><p><b>  7結(jié)論20</b></p><p><b>  致謝22</b></p><p>&l

14、t;b>  參考文獻(xiàn)23</b></p><p><b>  附錄24</b></p><p>  附錄Ⅰ硬件電路圖24</p><p>  附錄Ⅱ主程序源代碼25</p><p>  附錄Ⅲ外文翻譯原文39</p><p>  附錄Ⅳ外文翻譯譯文50</p&g

15、t;<p><b>  -</b></p><p><b>  1概述</b></p><p>  在日新月異的21世紀(jì)里,家用電子產(chǎn)品得到了迅速發(fā)展。許多家電設(shè)備都趨于人性化、智能化,這些電器設(shè)備大部分都含有CPU控制器或者是單片機(jī)。單片機(jī)以其高可靠性、高性價(jià)比、低電壓、低功耗等一系列優(yōu)點(diǎn),近幾年得到迅猛發(fā)展和大范圍推廣,廣泛應(yīng)用

16、于工業(yè)控制系統(tǒng)、通訊設(shè)備、日常消費(fèi)類產(chǎn)品和玩具等。并且已經(jīng)深入到工業(yè)生產(chǎn)的各個(gè)環(huán)節(jié)以及人民生活的各個(gè)方面,如車間流水線控制、自動(dòng)化系統(tǒng)等、智能型家用電器(冰箱、空調(diào)、彩電)等。用單片機(jī)來控制的小型家電產(chǎn)品具有便攜實(shí)用,操作簡(jiǎn)單的特點(diǎn)。</p><p>  時(shí)鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),怎

17、樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘。</p><p>  現(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活

18、性好。</p><p>  時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,主要用在對(duì)時(shí)間精度要求不高的場(chǎng)合;

19、二是用專門的時(shí)鐘芯片實(shí)現(xiàn),在對(duì)時(shí)間精度要求很高的情況下,通常采用這種方法,典型的時(shí)鐘芯片有:DS1302,DS12887,X1203等都可以滿足高精度的要求。</p><p>  本文設(shè)計(jì)的日歷和時(shí)鐘的顯示廣泛用于小型智能家用電子產(chǎn)品,如電子鐘。利用單片機(jī)進(jìn)行控制,實(shí)時(shí)時(shí)鐘芯片DS1302進(jìn)行記時(shí),外加掉電存儲(chǔ)電路和顯示電路,可實(shí)現(xiàn)時(shí)間的調(diào)整和顯示。電子鐘既可廣泛應(yīng)用于家庭,也可應(yīng)用于銀行、郵電、賓館、醫(yī)院、學(xué)校

20、、企業(yè)、商店等相關(guān)行業(yè)的大廳,以及單位會(huì)議室、門衛(wèi)等場(chǎng)所。因而,此設(shè)計(jì)具有相當(dāng)重要的現(xiàn)實(shí)意義和實(shí)用價(jià)值。</p><p><b>  2設(shè)計(jì)方案論證</b></p><p><b>  2.1功能要求</b></p><p>  1、能顯示年、月、日、時(shí)、分、秒、星期</p><p>  2、能對(duì)時(shí)

21、間進(jìn)行手動(dòng)修正</p><p><b>  3、采用24小時(shí)制</b></p><p>  4、使用LED顯示時(shí)間參數(shù)</p><p>  5、上電后,電子鐘顯示“2010年 1月 1日”</p><p>  “1時(shí) 1分 1秒 星期1”</p><p>  對(duì)時(shí),分,秒,日,月,年高位

22、為0時(shí)做消隱處理,只顯示單個(gè)數(shù)字以增強(qiáng)其可讀性。</p><p><b>  2.2方案確定</b></p><p>  2.2.1單片機(jī)芯片的選擇方案和論證</p><p><b>  方案一: </b></p><p>  采用89C51芯片作為硬件核心,采用Flash ROM,內(nèi)部具有4KB

23、ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。</p><p><b>  方案二:</b></p><p>  采用AT89S52,片內(nèi)ROM全都采用Flash ROM

24、;能以3V的超底壓工作;同時(shí)也與MCS-51系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為8KB ROM 存儲(chǔ)空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。</p><p>  所以選擇采用AT89S52作為主控制系統(tǒng).</p><p>  2.2.2顯示模塊選擇方案和論證

25、</p><p><b>  方案一:</b></p><p>  采用LED液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價(jià)格昂貴,需要的接口線多,所以在此設(shè)計(jì)中不采用LED液晶顯示屏。</p><p><b>  方案二:</b></p><p>  采用點(diǎn)

26、陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示。</p><p><b>  方案三:</b></p><p>  采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。</p><

27、;p>  所以采用了LED數(shù)碼管作為顯示。</p><p>  2.2.3時(shí)鐘芯片的選擇方案和論證</p><p><b>  方案一:</b></p><p>  直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。<

28、;/p><p><b>  方案二:</b></p><p>  采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V~5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA.</p><p>  2.2.4電路設(shè)計(jì)最終方案

29、確定</p><p>  綜上各方案所述,對(duì)此次作品的方案選定: 以單片機(jī)AT89S52為主控制器,時(shí)間數(shù)據(jù)是通過時(shí)鐘芯片DS1302來讀取,并通過LED數(shù)碼管顯示出來,并用鍵盤來完成對(duì)當(dāng)前時(shí)間的調(diào)整。</p><p>  3主控制器和外圍器件</p><p>  3.1AT89S52單片機(jī)</p><p>  AT89S52是一種低功耗、高

30、性能CMOS 8位微控制器,使用 ATMEL 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。并具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)

31、器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p>  3.2DS1302時(shí)鐘芯片</p><p>  3.2.1DS1302芯片介紹</p><p>  低功耗時(shí)鐘芯片DS1302可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。DS1302用于數(shù)據(jù)記錄,

32、特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對(duì)長(zhǎng)時(shí)間的連續(xù)測(cè)控系統(tǒng)結(jié)果的分析以及對(duì)異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。</p><p>  采用DS1302作為記錄測(cè)控系統(tǒng)中的數(shù)據(jù)記錄,其軟硬件設(shè)計(jì)簡(jiǎn)單,時(shí)間記錄準(zhǔn)確,既避免了連續(xù)記錄的大工作量,又避免了定時(shí)記錄的盲目性,給連續(xù)長(zhǎng)時(shí)間的測(cè)量、控制系統(tǒng)的正常運(yùn)行及檢查都來了很大的方便,可廣泛應(yīng)用于長(zhǎng)時(shí)間連續(xù)的測(cè)控系統(tǒng)中。在

33、測(cè)量控制系統(tǒng)中,特別是長(zhǎng)時(shí)間無人職守的測(cè)控系統(tǒng)中,經(jīng)常需要記錄某些具有特殊意義的數(shù)據(jù)及其出現(xiàn)的時(shí)間。記錄及分析這些特殊意義的數(shù)據(jù),對(duì)測(cè)控系統(tǒng)的性能分析及正常運(yùn)行具有重要的意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時(shí)采樣或定時(shí)采樣,沒有具體的時(shí)間記錄,因此只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且某些測(cè)控系統(tǒng)可能不允許。而在系統(tǒng)中采用DS1302

34、則能很好地解決這個(gè)問題。</p><p>  DS1302的性能特性</p><p>  ·實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);</p><p>  ·用于高速數(shù)據(jù)暫存的31×8位RAM;</p><p>  ·最少引腳的串行I/O;</p><p>

35、  ·2.5~5.5V 電壓工作范圍;</p><p>  ·2.5V時(shí)耗電小于300nA;</p><p>  ·用于時(shí)鐘或RAM數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式;</p><p><b>  ·簡(jiǎn)單的3線接口;</b></p><p>  ·可選的慢

36、速充電(至VCC1)的能力。</p><p>  DS1302時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個(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)或

37、RAM數(shù)據(jù)。DS1302有主電源/后備電源雙電源引腳:VCC1 在單電源與電池供電的系統(tǒng)中提供低電源,并提供低功率的電池備份;VCC2在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中,VCC1 連接到備份電源,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302由VCC1或VCC2中較大者供電。當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電;當(dāng)VCC2小于VCC1時(shí),DS1302由VCC1供電。</p>

38、<p>  DS1302數(shù)據(jù)操作原理</p><p>  DS1302在任何數(shù)據(jù)傳送時(shí)必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被輸入。無論是讀周期還是寫周期,開始8位指定40個(gè)寄存器中哪個(gè)被訪問到。在開始8個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時(shí)鐘周期在讀操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8加8,在多字節(jié)方

39、式下為8加字節(jié)數(shù),最大可達(dá)248字節(jié)數(shù)。</p><p>  圖3-1 DS1302管腳圖</p><p>  如果在傳送過程中置RST為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在VCC >=2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。DS1302的管腳圖如圖3-1所示,表3-2為各引腳的功能。</p>

40、;<p>  表3-2 DS1302引腳功能表</p><p>  DS1302的控制字如圖3-3所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1;如果它為邏輯0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1表示存取RAM數(shù)據(jù)。位5~1(A4~A0)指示操作單元的地址。最低有效位(位0)如為0,表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作??刂谱止?jié)總是從最低位開始輸入/輸出。&

41、lt;/p><p>  圖3-3 控制字節(jié)的含義</p><p>  為了提高對(duì)32個(gè)地址的尋址能力(地址/命令位1~5=邏輯1),可以把時(shí)鐘/日歷或RAM寄存器規(guī)定為多字節(jié)(burst)方式。位6規(guī)定時(shí)鐘或RAM,而位0規(guī)定讀或?qū)憽T跁r(shí)鐘/日歷寄存器中的地址9~31或RAM寄存器中的地址31不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?的位0開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?個(gè)寄存器。但是,

42、當(dāng)以多字節(jié)方式寫RAM時(shí),為了傳送數(shù)據(jù)不必寫所有31字節(jié)。不管是否寫了全部31字節(jié),所寫的每一字節(jié)都將傳送至RAM。數(shù)據(jù)讀寫程序如圖3-4所示。</p><p>  圖3-4數(shù)據(jù)讀寫程序</p><p>  DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見表3-5,其中奇數(shù)為讀操作,偶數(shù)為寫操作。</p>

43、<p>  表3-5 片內(nèi)時(shí)鐘數(shù)據(jù)寄存器</p><p>  3.2.2DS1302 的應(yīng)用</p><p>  實(shí)時(shí)時(shí)鐘芯片DS1302采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用32768Hz晶振。要特別說明的是,備用電源BT1可以用電池或超級(jí)電容(10萬μF以上)。雖然DS1302在主電源掉電后耗電很小,但如果要長(zhǎng)時(shí)間保證時(shí)鐘正常

44、,最好選用小型充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天),可以用漏電較小的普通電解電容代替(100μF就可以保證1小時(shí)的正常走時(shí))。DS1302在第一次加電后,需進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。DS1302的時(shí)鐘電路如圖3-6所示。</p><p>  圖3-6 DS1302時(shí)鐘電路</p><p><b>  3.3數(shù)碼管LED</b></p

45、><p>  LED顯示器由若干個(gè)發(fā)光二極管組成,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)筆畫或一個(gè)點(diǎn)就發(fā)光。控制相應(yīng)的管導(dǎo)通,就能顯示出對(duì)應(yīng)字符。各段LED顯示器需要由驅(qū)動(dòng)電路驅(qū)動(dòng)。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽極連在一起作為公共端。將各段發(fā)光二極管連在一起的叫共陽極顯示器,用低電平驅(qū)動(dòng);將陰極連在一起的叫共陰極顯示器,用高電平驅(qū)動(dòng)。</p><p>  靜態(tài)顯示就是每一個(gè)顯示器

46、各筆畫段都要獨(dú)占具有一個(gè)鎖存功能的輸出口線,CPU把要顯示的字形代碼送到輸出口上,就可以使顯示器上顯示所需的數(shù)字或符號(hào),此后,即使CPU不在去訪問它,因?yàn)楦鞴P畫段借口具有鎖存功能,顯示的內(nèi)容也不會(huì)消失。</p><p>  動(dòng)態(tài)顯示是指顯示器顯示某一字符時(shí),相應(yīng)段的發(fā)光二極管恒定地導(dǎo)通或截止。靜態(tài)顯示有并行輸出和串行輸出兩種方式。在本系統(tǒng)中數(shù)碼管使用共陰極接法而且是用動(dòng)態(tài)顯示。</p><p&

47、gt;  3.4譯碼器74HC138</p><p>  74HC138譯碼器是通過3條線來達(dá)到控制8條線的狀態(tài),就是通過3條控制線A0、A1、A2不同的高低電平組合來控制Y0~Y7的輸出狀態(tài),其中4和5為使能地端,與8引腳共同接地,當(dāng)接高電平時(shí)Y0到Y(jié)7輸出高電平。6號(hào)腳為使能端,為高電平時(shí)有效。74HC138封裝如圖3-7。當(dāng)需要級(jí)聯(lián)時(shí)只需要改變使能端信號(hào)引腳即可,連接方法簡(jiǎn)單。</p><

48、;p>  圖3-7 74HC138封裝圖</p><p>  3.5鎖存器74LS244</p><p>  74ls244由2組、每組四路輸入、輸出構(gòu)成。每組有一個(gè)控制端G,由控制端的高或低電平?jīng)Q定該組數(shù)據(jù)被接通還是斷開。</p><p>  圖3-8 74LS244引腳圖</p><p><b>  4硬件設(shè)計(jì)</b

49、></p><p><b>  4.1電路設(shè)計(jì)框圖</b></p><p><b>  4.2系統(tǒng)概述</b></p><p>  本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周

50、日、時(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寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;顯示部份由15個(gè)數(shù)碼管,74Hs138、74ls244構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。</p>

51、;<p>  硬件的結(jié)構(gòu)和可靠性直接影響著整個(gè)系統(tǒng)的可靠性,所以合理的安排電路能提高電子產(chǎn)品的性能。</p><p><b>  4.3電源設(shè)計(jì)</b></p><p>  在這里因設(shè)計(jì)分工和側(cè)重點(diǎn)不同,電源模塊用通用的5v變壓器。</p><p>  4.4單片機(jī)的復(fù)位電路</p><p>  圖4-2手

52、動(dòng)復(fù)位電路</p><p>  在系統(tǒng)運(yùn)行的過程中,有時(shí)可能對(duì)系統(tǒng)需要進(jìn)行復(fù)位,為了避免對(duì)硬件系統(tǒng)經(jīng)常加電和斷電造成的損害,設(shè)計(jì)了手動(dòng)的復(fù)位電路。如圖4-2所示。這種電路的設(shè)計(jì),在系統(tǒng)的運(yùn)行過程中需要復(fù)位時(shí),只需使開關(guān)閉合,在RST端就會(huì)出現(xiàn)一定時(shí)間的高電平信號(hào),從而使單片機(jī)實(shí)現(xiàn)復(fù)位。</p><p>  4.5單片機(jī)系統(tǒng)的晶振電路</p><p>  單片機(jī)必須在

53、時(shí)鐘的驅(qū)動(dòng)下才能進(jìn)行工作。MCS-51系列單片機(jī)內(nèi)部都有一個(gè)時(shí)鐘振蕩電路,只需外接晶振源,就能產(chǎn)生一定頻率的時(shí)鐘信號(hào)送到單片機(jī)的內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。圖4-3就是內(nèi)部時(shí)鐘工作方式的電路圖,這是一種常用的方式。這種方式是外界振蕩源,本設(shè)計(jì)就采用這種外接晶振的方法。電路中的兩個(gè)電容的作用有兩個(gè):一是幫助振蕩器起振(C1 C2的值大,起振的速度慢;反之,速度快。);二是對(duì)振蕩器的頻率起到微調(diào)的作用(C1 C2的值大,頻率略有減

54、少,反之,頻率略有提高)。C1 C2的值采用30pF。</p><p>  圖4-3單片機(jī)內(nèi)部晶振電路連接圖</p><p><b>  4.6主電路設(shè)計(jì)</b></p><p>  主電路的功能是完成年、月、日、星期、時(shí)、分、秒之間的轉(zhuǎn)換, 再送往LED顯示,并且接受鍵盤操作,對(duì)日期和時(shí)間進(jìn)行校正。</p><p> 

55、 電路原理圖如圖4-4所示,顯示部分用P0口做為輸出數(shù)據(jù)接到LED數(shù)碼管a到h,并接74ls244做為各段的驅(qū)動(dòng)(為了簡(jiǎn)化電路圖在此用了8個(gè)上拉電阻代替74ls244)。用P3口的低3位接譯碼器的A0,A1,A2端,用P3.3,P3.4,P3.5分別接譯碼器的使能端,通過控制P3口來控制LED的動(dòng)態(tài)掃描。單片機(jī)的18和19引腳接12MHZ的晶振,并接兩個(gè)22PF的電容同時(shí)接地,單片機(jī)復(fù)位端接一極性電容并連接到電源處,在極性電容的負(fù)極接一

56、10K的電阻,并連接至地做為放電用。本設(shè)計(jì)用到四個(gè)獨(dú)立式鍵盤分別接到P1口的低4位,用P1口的P1.4,P1.5,P1.6接日歷時(shí)鐘的使能端和時(shí)鐘端及數(shù)據(jù)輸入輸出口,并在日歷時(shí)鐘上接一32.768KHZ的晶振,并接兩個(gè)22PF的電容終端和地相連,各芯片的電源部分分別接到有開關(guān)式電源產(chǎn)生的+5V電源上,芯片的接地端都接在公共地上,在這里接電源部分就不再一一詳述。</p><p>  設(shè)計(jì)采用動(dòng)態(tài)顯示,輪流掃描各個(gè)L

57、ED使之顯示相應(yīng)的數(shù)型碼,當(dāng)掃描頻率大于人眼所能識(shí)別的頻率時(shí)就看不到閃爍現(xiàn)象。動(dòng)態(tài)顯示的亮度不如靜態(tài)顯示,但靜態(tài)顯示占用的I/O口資源較多,往往用移位寄存器74LS164等來擴(kuò)充其I/O口不足的情況,當(dāng)顯示位數(shù)較多時(shí),這樣勢(shì)必增加硬件開銷,增大成本,不利于開闊市場(chǎng)。本設(shè)計(jì)的突出之處在于硬件電路簡(jiǎn)單,大大減少了硬件開銷,這樣又勢(shì)必增加了軟件開發(fā)的難度,但降低了成本有利于市場(chǎng)的開闊。</p><p><b>

58、;  圖4-4電路原理圖</b></p><p><b>  5軟件設(shè)計(jì)</b></p><p>  軟件的設(shè)計(jì)是設(shè)計(jì)控制系統(tǒng)的應(yīng)用程序。其任務(wù)是在整體設(shè)計(jì)和硬件設(shè)計(jì)的基礎(chǔ)上,確定程序結(jié)構(gòu),分配內(nèi)RAM資源,劃分功能模塊,然后進(jìn)行主程序和各模塊程序的設(shè)計(jì),最后連接起來成為一個(gè)完整應(yīng)用程序,與硬件相結(jié)合完成相應(yīng)功能。</p><p>

59、<b>  5.1主程序設(shè)計(jì)</b></p><p>  主程序才用模塊化設(shè)計(jì),流程圖如圖5-1所示。</p><p>  從上面主程序看出,主程序的組成是通過分別調(diào)用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調(diào)用鍵盤完成時(shí)間的調(diào)整,調(diào)用日歷子程序完成日歷時(shí)鐘的初始化和時(shí)間數(shù)據(jù)的讀寫,調(diào)用顯示子程序顯示數(shù)據(jù),最后又轉(zhuǎn)到鍵盤程

60、序來回循環(huán)。</p><p>  初始化部分主要有初始化定時(shí)器部分和和一些寄存器、標(biāo)志位、初始化時(shí)間等。</p><p>  對(duì)定時(shí)器T0初始化時(shí),首先置初值,CPU開中斷,定時(shí)器T0開中斷,并且開始計(jì)數(shù),而對(duì)定時(shí)器T1初始化時(shí),首先置初值,定時(shí)器T1關(guān)中斷,并且停止計(jì)數(shù),只有收到命令時(shí)才能產(chǎn)生中斷。</p><p>  寄存器的初始化主要是初始化執(zhí)行程序時(shí)用到的部

61、分RAM空間,防止程序執(zhí)行時(shí)帶來混亂。</p><p>  標(biāo)志位初始化是對(duì)時(shí)間調(diào)整時(shí)判斷是調(diào)分還是調(diào)時(shí)等而專設(shè)的位標(biāo)志,初始化過程中標(biāo)志位全部置0,即開始時(shí)是處于顯示狀態(tài),而不是調(diào)整狀態(tài),這一點(diǎn)在程序中相當(dāng)明了。</p><p>  初始化時(shí)間是開機(jī)時(shí)顯示的時(shí)間,并通過調(diào)用日歷時(shí)鐘的寫程序來完成時(shí)間的置初值。</p><p><b>  圖5-1程序流程

62、圖</b></p><p>  5.2鍵盤子程序設(shè)計(jì)</p><p>  多功能鍵盤程序的設(shè)計(jì)是本設(shè)計(jì)的難點(diǎn),也是完成本設(shè)計(jì)的重點(diǎn),當(dāng)有鍵按下時(shí),調(diào)用10ms延時(shí)程序,再判斷是否有鍵按下無則返回,若有先調(diào)用顯示程</p><p>  序再判斷是否松開,否則再轉(zhuǎn)到顯示程序,這樣避免了在按鍵松開之前能正常顯示。其中K1鍵功能最多,通過判斷K1鍵按下的次數(shù)來判

63、斷是調(diào)時(shí)間還是定時(shí),并對(duì)對(duì)應(yīng)的位置閃爍。本鍵盤深度為7級(jí),即連續(xù)按下K1鍵8次時(shí)則返回到原來界面。當(dāng)判斷鍵值為1時(shí)則為調(diào)秒狀態(tài),對(duì)應(yīng)的秒低位閃爍,為2時(shí)為調(diào)分狀態(tài)并分閃爍,為3時(shí)為調(diào)時(shí)狀態(tài)并時(shí)閃爍,為4時(shí)為調(diào)日狀態(tài)并日閃爍,為5時(shí)為調(diào)月狀態(tài)并月閃爍,為6時(shí)為調(diào)年?duì)顟B(tài)并年閃爍,為7時(shí)為調(diào)星期狀態(tài)并星期閃爍。 K2為加1鍵,K3為減1鍵,K4為總返回鍵,即在調(diào)時(shí)見時(shí)不用只有按下K1鍵值為8才返回,而通過按下K4鍵即可返回。由于鍵盤流程圖非常

64、復(fù)雜,在此只表示秒,如圖5-2所示,其余略。</p><p>  5.3日歷時(shí)鐘子程序設(shè)計(jì)</p><p>  DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。日歷時(shí)鐘DS1302的讀寫需要初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送是低位在先。讀

65、寫都是16位數(shù)據(jù)高8位是地址低8位是數(shù)據(jù),在讀寫時(shí)要嚴(yán)格遵從其讀寫時(shí)序,否則讀寫將會(huì)失效。</p><p>  當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平,這一點(diǎn)我們要一定注意。</p>

66、<p>  當(dāng)RST置為高電平時(shí),在串行時(shí)鐘的SCLK的上升沿,DS1302從I/O端口讀入一位數(shù)據(jù),8個(gè)串行時(shí)鐘脈沖就可以讀入一字節(jié)的數(shù)據(jù)。在串行時(shí)鐘的下降沿,DS1302向I/O端口輸出一位數(shù)據(jù),8個(gè)串行時(shí)鐘脈沖就可以輸出一字節(jié)的數(shù)據(jù)。</p><p>  顯示子程序設(shè)計(jì)電子產(chǎn)品是否實(shí)用其中顯示占了很重要的地位,很多數(shù)人都渴求用視覺效果好,范圍廣,直觀明了,LED符合以上的要求,但相應(yīng)的硬件設(shè)計(jì)相對(duì)

67、復(fù)雜。</p><p>  5.4顯示子程序設(shè)計(jì)</p><p>  本設(shè)計(jì)的顯示部分具有消隱和閃爍功能,當(dāng)時(shí)分秒等高位為0時(shí)顯示消隱, 此時(shí)在讀時(shí)間時(shí)更加明了,但低位不能顯示消隱。閃爍功能也是本設(shè)計(jì)的一個(gè)難點(diǎn),本設(shè)計(jì)采用8個(gè)位標(biāo)志位,其中一個(gè)標(biāo)志位通過用定時(shí)器0產(chǎn)生一個(gè)周期大約為每秒1.5次,使閃爍時(shí)效果達(dá)到最好。此時(shí)定時(shí)器采用定時(shí)中斷的工作方式,這樣可以充分利用CPU資源。另外7個(gè)標(biāo)志

68、位是時(shí)分秒等的位標(biāo)志位,當(dāng)秒標(biāo)志位置1時(shí)即秒開閃爍,與用中斷產(chǎn)生的標(biāo)志位相結(jié)合,即在一個(gè)周期內(nèi)為0時(shí)此時(shí)消隱為1時(shí)開顯示,這樣就使在調(diào)時(shí)間時(shí)對(duì)應(yīng)的位閃爍。</p><p><b>  6系統(tǒng)調(diào)試</b></p><p>  單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計(jì),完成了硬件和軟件設(shè)計(jì)開發(fā)。通過軟件和硬件相結(jié)合系統(tǒng)即可運(yùn)行。但編制好的程序或焊接好的線路不能按預(yù)計(jì)的那樣正常工作是常見的事

69、,經(jīng)常會(huì)出現(xiàn)一些硬件、軟件上的錯(cuò)誤,這是軟件和硬件開發(fā)者經(jīng)常遇見的,這就需要通過調(diào)試來發(fā)現(xiàn)錯(cuò)誤并加以改正。調(diào)試可分為硬件調(diào)試和軟件調(diào)試。本設(shè)計(jì)系統(tǒng)的已經(jīng)在PC機(jī)上用模擬開發(fā)軟件進(jìn)行了檢測(cè)和調(diào)試,并運(yùn)行成功,最后進(jìn)行實(shí)物圖的硬件組裝與調(diào)試,這樣就給開發(fā)者在提供了方便。</p><p><b>  6.1軟件調(diào)試</b></p><p>  本設(shè)計(jì)是在Proteus軟件和

70、Wava6000軟件相結(jié)合調(diào)試的,完全用仿真軟件在PC機(jī)上對(duì)目標(biāo)電路原理圖和程序進(jìn)行檢測(cè)和調(diào)試。調(diào)試過程中單片機(jī)相應(yīng)輸入端由通用鍵盤和鼠標(biāo)設(shè)定,運(yùn)行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,以確定程序運(yùn)行有無錯(cuò)誤。</p><p>  目標(biāo)程序糾錯(cuò):該階段工作通常在目標(biāo)程序編輯時(shí)就完成。一般來說,仿真軟件能為用戶輸入的程序指令糾錯(cuò),包括書寫格式、標(biāo)號(hào)未定義或多重定義、轉(zhuǎn)移地址溢出等錯(cuò)誤。<

71、;/p><p>  整體程序調(diào)試:即把各子程序整體連起來進(jìn)入到綜合電路調(diào)試,看是否能實(shí)現(xiàn)預(yù)計(jì)的功能顯示。在這階段若發(fā)生故障,可以考慮各子程序在運(yùn)行時(shí)是否破壞現(xiàn)場(chǎng),數(shù)據(jù)緩沖單元是否發(fā)生沖突,標(biāo)志位的建立和清除在設(shè)計(jì)上是否失誤,堆棧是否溢出,輸入輸出狀態(tài)是否正常等。</p><p>  經(jīng)過多次修改程序最后調(diào)試出來理想的效果,如圖6-1所示</p><p>  圖6-1 P

72、roteus仿真</p><p>  用軟件模擬器調(diào)試不需任何在線仿真器,也不需要用戶樣機(jī),直接就可以在PC機(jī)上開發(fā)和調(diào)試。調(diào)試和修改完畢后可以直接使用編程器將軟件固化在目標(biāo)系統(tǒng)ROM中,然后投入運(yùn)行。</p><p><b>  6.2硬件調(diào)試</b></p><p>  焊接電路板如圖6-2所示</p><p>  

73、單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的,許多硬件故障在軟件調(diào)試時(shí)才能發(fā)現(xiàn),但通常要先排除系統(tǒng)中明顯的硬件故障。調(diào)試工作可以分為四步:</p><p>  線路檢查:根據(jù)硬件邏輯設(shè)計(jì)圖,仔細(xì)檢查樣機(jī)線路是否連接正確,并核對(duì)元器件的型號(hào)、規(guī)格和安裝是否符合要求,必要時(shí)可用萬用表檢測(cè)線路通斷情況。</p><p>  電源調(diào)試:樣機(jī)的第一次通電測(cè)試很重要,若樣機(jī)中存在電源故障,則加電后將造

74、成器件損壞。調(diào)試的方法有兩種:一種是斷開樣機(jī)穩(wěn)壓電源的輸出端,檢查空載時(shí)電源工作情況;另一種是拔下樣機(jī)上的主要集成芯片,檢查電源的負(fù)載能力(用假負(fù)載)。確保電源無故障并性能符合設(shè)計(jì)要求。</p><p>  通電檢查:在確保電源良好前提下,接通電源。最好在電源與其余電路之間串接一個(gè)電流表。若接通后電流很大,必須立即切斷電源。電源大得超出正常范圍,說明電路中有短路或故障。通電檢查的主要目的是看系統(tǒng)是否存在短路或由元

75、器件損壞、裝配錯(cuò)誤引起的電流異常。</p><p>  如圖6-2 焊接電路板</p><p>  檢查芯片的邏輯關(guān)系是否出錯(cuò):加電后檢查各芯片插座上相關(guān)引腳的電位,仔細(xì)測(cè)量相應(yīng)的輸入輸出電平是否正常。單片機(jī)系統(tǒng)大都是數(shù)字邏輯電路,使用電平檢查法可首先查出邏輯設(shè)計(jì)是否正確,選用器件和連接關(guān)系是否符合要求等。</p><p>  本設(shè)計(jì)特點(diǎn)突出,性價(jià)比高,適合于家庭掛

76、歷,有很高應(yīng)用價(jià)值。</p><p><b>  7結(jié)論</b></p><p>  硬件系統(tǒng)關(guān)系到所要設(shè)計(jì)的電子產(chǎn)品好懷,如系統(tǒng)抗干擾性等,所以要合理的安排盡量減少干擾提高性能。單片機(jī)是很容易受干擾的控制器,當(dāng)采用外部晶振時(shí),應(yīng)盡量讓其靠近單片機(jī)減少對(duì)其干擾,防止程序亂飛現(xiàn)象。同時(shí)還可以采用隔離等方式減少干擾,硬件系統(tǒng)設(shè)計(jì)的好壞很大部分來源于經(jīng)驗(yàn),所以我們要有動(dòng)手的

77、好習(xí)慣。</p><p>  軟件設(shè)計(jì)是核心部分,具有多樣化,靈活性高,易移植等優(yōu)點(diǎn),要深深理會(huì)各指令的含義才能更加熟練應(yīng)用,中斷的合理利用可以減少CPU利用資源,具有執(zhí)行效率高等優(yōu)點(diǎn),本設(shè)計(jì)用到定時(shí)器中斷以減少對(duì)CPU的占用,更好的處理其他功能。軟件的設(shè)計(jì)大部分采用模塊化設(shè)計(jì)的方法以方便調(diào)試,并使其可讀性大大增強(qiáng),方便更改和移植。</p><p>  在這次設(shè)計(jì)中我學(xué)到了很多,也發(fā)現(xiàn)了自

78、己的不足,也難免有錯(cuò)誤之處,敬請(qǐng)?zhí)岢觯?lt;/p><p><b>  致謝</b></p><p>  不知不覺,十二周的畢業(yè)設(shè)計(jì)結(jié)束了。我的畢業(yè)論文已整理完畢,電路調(diào)試進(jìn)展良好。畢業(yè)設(shè)計(jì)的完成意味著我的大學(xué)學(xué)習(xí)生活即將結(jié)束,從此我將進(jìn)入一個(gè)新的人生旅途、開始一段嶄新的生活——工作。在此,我衷心地感謝所有在我做畢業(yè)設(shè)計(jì)期間幫助過我的人。 </p><

79、p>  首先我要感謝XX老師、XX老師XX老師的大力幫助和支持。在整個(gè)設(shè)計(jì)過程當(dāng)中,為我的畢業(yè)設(shè)計(jì)帶來了很大方便。同時(shí)在我完成畢業(yè)設(shè)計(jì)的過程中提供了很多指導(dǎo)性的意見,使我受益匪淺。在此,我衷心感謝老師們給予我的幫助和教育。</p><p>  此外,還要衷心感謝其他所有對(duì)本課題的研究和論文撰寫有過幫助的同學(xué)。</p><p>  最后,我要感謝我的母?!猉XXXXXX,在校期間,這

80、里給我留下了美好的回憶。特別是在我即將踏上工作崗位的同時(shí),畢業(yè)設(shè)計(jì)整個(gè)過程給了我這樣一個(gè)鍛煉的機(jī)會(huì),使我加深了對(duì)以前知識(shí)的理解和鞏固,拓寬了知識(shí)面,也提高了我對(duì)所學(xué)知識(shí)的綜合應(yīng)用能力。祝愿母校的將來更美好!</p><p><b>  參考文獻(xiàn)</b></p><p>  [01]何宏主編.單片機(jī)原理與接口技術(shù).北京:國(guó)防工業(yè)出版社.2006.07</p>

81、<p>  [02]楊西明,朱騏主編.單片機(jī)編程與應(yīng)用入門.北京:機(jī)械工業(yè)出版社.2004.06</p><p>  [03]先鋒工作室編著.單片機(jī)程序設(shè)計(jì)實(shí)例.北京:清華大學(xué)出版社.2003.01</p><p>  [04]謝宜仁主編.單片機(jī)實(shí)用技術(shù)問答.北京:人民郵電出版社.2003.02</p><p>  [05]孫江宏,李良玉等編著.Pro

82、tel99電路設(shè)計(jì)與應(yīng)用.北京:機(jī)械工業(yè)出版社.2004.07</p><p>  [06]房小翠,王金鳳編著.單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù).北京:國(guó)防工業(yè)出版社.1999.06</p><p>  [07]秦曾煌主編.電工學(xué)(電子技術(shù)).北京:高等教育出版社,2004</p><p>  [08]何立民.單片機(jī)高級(jí)教程應(yīng)用與設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2000&

83、lt;/p><p>  [09]劉國(guó)榮單片微型計(jì)算機(jī)技術(shù).北京:機(jī)械工業(yè)出版社,1996</p><p>  [10]王迎旭.單片機(jī)原理與應(yīng)用.北京:機(jī)械工業(yè)出版社,2004</p><p>  [11]于永權(quán).ATMEL89系列單片機(jī)應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社,2001</p><p>  [12]高峰.單片微型計(jì)算機(jī)原理與接口技術(shù)

84、.北京:科學(xué)出版社,2003</p><p>  [13]各種網(wǎng)絡(luò)教程及其他</p><p><b>  附錄</b></p><p><b>  附錄Ⅰ硬件電路圖</b></p><p><b>  附錄Ⅱ主程序源代碼</b></p><p>  ZH

85、UAN BIT 50H ;閃爍標(biāo)志位輔助標(biāo)志位</p><p>  ZHUAN1 BIT 51H ;年開閃爍的標(biāo)志位</p><p>  ZHUAN2 BIT 52H ;月開閃爍的標(biāo)志位</p><p>  ZHUAN3 BIT 53H ;日開閃爍的標(biāo)志位</p><p>  ZHUAN4 BIT 54H ;時(shí)開閃爍的標(biāo)

86、志位</p><p>  ZHUAN5 BIT 55H ;分開閃爍的標(biāo)志位</p><p>  ZHUAN6 BIT 56H ;秒開閃爍的標(biāo)志位</p><p>  ZHUAN7 BIT 57H ;星期開閃爍的標(biāo)志位</p><p><b>  ORG 0000H</b></p><p&g

87、t;  LJMP START ;開始并初始化</p><p>  ORG 000BH ;定時(shí)/計(jì)數(shù)T0中斷</p><p>  LJMP ZDUAN </p><p>  ORG 001BH ;定時(shí)/計(jì)數(shù)T1中斷</p><p>  LJMP ZDUAN2</p>&l

88、t;p>  ZDUAN:MOV TH0,#00H ;使ZHUAN由正到負(fù)周期大約為1.5即當(dāng)開閃爍時(shí) 每秒大約閃爍1.5次環(huán)境</p><p>  MOV TL0,#00H</p><p>  DJNZ R7,ZDUAN1 ;循環(huán)指令</p><p>  CPL ZHUAN ;閃爍標(biāo)志位求反</p><p>&

89、lt;b>  MOV R7,#3</b></p><p>  ZDUAN1:RETI ;中斷返回</p><p>  ZDUAN2:MOV TH1,#0FCH</p><p>  MOV TL1,#43H</p><p><b>  CPL P3.0</b></p><p

90、><b>  RETI</b></p><p><b>  ORG 0100H</b></p><p>  START:MOV SP,#70H ;設(shè)堆棧</p><p>  MOV TMOD,#11H ;T0,TI工作方式1</p><p>  MOV TH0,#00H</p>

91、<p>  MOV TL0,#00H</p><p>  MOV TH1,#0FCH</p><p>  MOV TL1,#43H</p><p>  SETB EA ;開放CPU</p><p>  SETB ET0 ;開放T0中斷</p><p>  SETB

92、 TR0 ;啟動(dòng)T0工作</p><p>  CLR ZHUAN1 ;初始化標(biāo)志位</p><p>  CLR ZHUAN2</p><p>  CLR ZHUAN3</p><p>  CLR ZHUAN4</p><p>  CLR ZHUAN5</p><p&g

93、t;  CLR ZHUAN6</p><p>  CLR ZHUAN7</p><p><b>  MOV R7,#3</b></p><p>  MOV 5FH,#00H ;初始化寄存器</p><p>  MOV 30H,#01H ;時(shí)間賦初始值</p><p>  MOV 31H,#

94、01H</p><p>  MOV 32H,#01H</p><p>  MOV 33H,#01H</p><p>  MOV 34H,#01H</p><p>  MOV 35H,#01H</p><p>  MOV 36H,#10H</p><p>  SETB P1.4 ;啟動(dòng)設(shè)置寫保護(hù)

95、寄存器</p><p>  MOV A,#10001110B ;命令字節(jié),07H寄存器寫</p><p>  ACALL WBYTE </p><p>  MOV A,#00H ;允許寫數(shù)據(jù)字節(jié)</p><p>  ACALL WBYTE</p><p>  CLR P1.4 ;RST=0,停止傳送

96、</p><p>  MOV R0,#30H ;數(shù)據(jù)存放首地址</p><p>  MOV R2,#8 ;寫8個(gè)字節(jié)</p><p>  SETB P1.4 ;啟動(dòng)連續(xù)寫8個(gè)字節(jié)</p><p>  MOV A,#0BEH ;設(shè)多字節(jié)寫命令字</p><p>  LCALL WBYTE</p&g

97、t;<p>  CHUSHI:MOV A,@R0 ;取數(shù)據(jù)</p><p>  LCALL WBYTE ;寫一個(gè)字節(jié)</p><p><b>  INC R0</b></p><p>  DJNZ R2,CHUSHI ;循環(huán)寫8個(gè)字節(jié)</p><p><b>  ;主程序</b&g

98、t;</p><p>  MAIN:LCALL JIAN ;調(diào)鍵盤子程序</p><p>  LCALL RILI ;調(diào)日歷時(shí)鐘程序</p><p>  LCALL XIAN ;調(diào)顯示程序</p><p>  SJMP MAIN </p><p><b>  ;鍵盤程序</b&g

99、t;</p><p>  JIAN:MOV P1,#0FFH ;初始</p><p><b>  MOV A,P1</b></p><p><b>  CPL A</b></p><p>  JNZ JI1 ;判鍵按下</p><p>  LJMP JIA

100、N4</p><p>  JI1:LCALL DELAY ;調(diào)延時(shí)</p><p><b>  CPL A</b></p><p><b>  JNZ JI2 </b></p><p>  LJMP JIAN4</p><p>  JI2:JNB P1.1,JIAN3

101、 ;判K2鍵為0轉(zhuǎn)</p><p>  JNB P1.2,JIAN3 ;判K3鍵為0轉(zhuǎn)</p><p>  JIAN0:MOV P1,#0FFH</p><p>  JNB P1.3,JIAN3 ;判K4鍵為0轉(zhuǎn)</p><p>  JNB P1.0,JIAN1 ;判K1鍵為0轉(zhuǎn)</p><p>

102、;  LJMP JIANX</p><p>  JIAN1:LCALL DELAY ;調(diào)延時(shí)去抖動(dòng)</p><p>  JB P1.0,JIANX ;為1就是鍵抖動(dòng)</p><p>  JIAN11:LCALL XIAN ;調(diào)顯示</p><p>  JNB P1.0,JIAN11 ;判鍵K1松開</p><

103、p>  MOV A,5FH </p><p>  ADD A,#1 ;寄存器加1</p><p><b>  MOV 5FH,A</b></p><p>  CJNE A,#8,JIANX</p><p>  LJMP JIAN3</p><p>  JIANX:MOV A

104、,5FH</p><p>  CJNE A,# 1,JIA1 ;比較轉(zhuǎn)移指令A(yù)不等于#時(shí),轉(zhuǎn)移</p><p>  LJMP TIAOM ;轉(zhuǎn)調(diào)秒子程序</p><p>  JIA1:MOV A,5FH</p><p>  CJNE A,#2,JIA2</p><p>  LJMP TIAOF ;轉(zhuǎn)調(diào)分子

105、程序</p><p>  JIA2:MOV A,5FH</p><p>  CJNE A,#3,JIA3</p><p>  LJMP TIAOS ;轉(zhuǎn)調(diào)時(shí)子程序</p><p>  JIA3:MOV A,5FH</p><p>  CJNE A,#4,JIA4</p><p>  LJM

106、P TIAOR ;轉(zhuǎn)調(diào)日子程序</p><p>  JIA4:MOV A,5FH</p><p>  CJNE A,#5,JIA5</p><p>  LJMP TIAOY ;轉(zhuǎn)調(diào)月子程序</p><p>  JIA5:MOV A,5FH</p><p>  CJNE A,#6,JIA6</p>

107、<p>  LJMP TIAON ;轉(zhuǎn)調(diào)年子程序</p><p><b>  JIA6:</b></p><p>  LJMP TIAOX ;轉(zhuǎn)調(diào)星期子程序</p><p>  JIAN3:CLR ZHUAN1 ;標(biāo)志位清0</p><p>  CLR ZHUAN2</p>&l

108、t;p>  CLR ZHUAN3</p><p>  CLR ZHUAN4</p><p>  CLR ZHUAN5</p><p>  CLR ZHUAN6</p><p>  CLR ZHUAN7</p><p>  MOV 5FH,#00H</p><p>  JIAN2:LCALL

109、 XIAN ;調(diào)顯示子程序</p><p>  MOV A,P1 </p><p><b>  CPL A</b></p><p><b>  JNZ JIAN2</b></p><p><b>  JIAN4:RET</b></p><

110、;p><b>  ;調(diào)秒</b></p><p>  TIAOM:SETB ZHUAN6 ;秒閃爍標(biāo)志位置1</p><p>  LCALL XIAN</p><p>  JNB P1.1,MIAOZ ;加轉(zhuǎn)移</p><p>  JNB P1.2,MIAOJ ;減轉(zhuǎn)移 </p><

111、;p>  LJMP JIAN0</p><p>  MIAOZ:LCALL DELAY ;調(diào)延時(shí)去抖動(dòng)</p><p>  JNB P1.1,MIAOZ1</p><p>  LJMP JIAN0</p><p>  MIAOZ1:LCALL XIAN</p><p>  JNB P1.1,MIAOZ1 ;判

112、鍵K2松開</p><p>  MOV A,30H ;取秒數(shù)據(jù)</p><p>  ADD A,#1 ;加1</p><p>  DA A ;十進(jìn)制調(diào)整指令</p><p>  MOV 30H,A ;送回秒寄存器</p><p>  CJNE A,#60H,MI

113、AOZ2</p><p>  MOV 30H,#00H ;秒值過60為0</p><p>  LJMP MIAOZ2</p><p>  MIAOJ:LCALL DELAY;調(diào)延時(shí)去抖動(dòng)</p><p>  JNB P1.2,MIAOJ1</p><p>  LJMP JIAN0</p><p&

114、gt;  MIAOJ1:LCALL XIAN</p><p>  JNB P1.2,MIAOJ1 ;判鍵K3松開</p><p>  MOV A,30H ;取秒數(shù)據(jù)</p><p>  MOV B,#10H</p><p>  DIV AB ;A除以B</p><p>  

115、MOV 61H,B ;數(shù)據(jù)個(gè)位放到61H</p><p>  MOV B,#10 </p><p>  MUL AB ;A乘以B</p><p>  ADD A,61H ;不帶進(jìn)位加法</p><p>  DEC A ;A減1</p><p>  MOV B,#10 &l

116、t;/p><p><b>  DIV AB </b></p><p><b>  SWAP A</b></p><p><b>  ADD A,B</b></p><p><b>  MOV 30H,A</b></p><p>  CJ

117、NE A,#96H,MIAOZ2</p><p>  MOV 30H,#59H</p><p>  MIAOZ2:MOV A,30H</p><p>  ANL A,#0FH ;分離低四位</p><p>  MOV 40H,A ;存數(shù)據(jù)到寄存器</p><p>  MOV A,30H </p&g

118、t;<p>  SWAP A ;半字節(jié)交換</p><p>  ANL A,#0FH</p><p>  MOV 41H,A ;存數(shù)據(jù)到寄存器</p><p>  SETB P1.4 ;啟動(dòng)設(shè)置寫保護(hù)寄存器</p><p>  MOV A,10001110B ;命令字節(jié),寄存器07H</p&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論