版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> ?。?lt;/b></p><p> 二 〇 一〇 年 六 月</p><p><b> 摘要</b></p><p> 數(shù)字時鐘在日常生活中最常見,應用也最廣泛。本次數(shù)字時鐘電路根據(jù)設(shè)計要求采用AT89C51單片機作為控制核心,采用DS1302來實現(xiàn)時、分、秒24小時計時,采用DS18B20來
2、實現(xiàn)溫度的測量,采用LED實現(xiàn)顯示,采用蜂鳴器實現(xiàn)報警功能。文章的核心主要是硬件設(shè)計和軟件編程兩個大的方面。硬件電路設(shè)計主要包括中央處理單元電路、時鐘電路、溫度測量電路、鍵盤掃描電路、報警電路。軟件用匯編語言及C語言來實現(xiàn),主要包括主程序、時間設(shè)置子程序、溫度測量子程序、鍵盤掃描子程序、報警電路子程序等軟件模塊。電路實現(xiàn)了顯示時間、調(diào)整時間、測量并顯示溫度、報警、鬧鐘定時等功能,達到了設(shè)計的要求和目的。并在偉福軟件上進行了仿真和調(diào)試。&
3、lt;/p><p> 關(guān)鍵詞: 數(shù)字時鐘;AT89C51;DS1302;DS18B20;LED;蜂鳴器</p><p><b> Abstract</b></p><p> Digital clock in their daily lives the most common applications and the most widely.
4、The digital clock circuit according to design requirements using AT89C51 microcontroller as the control, using DS1302 to achieve the hours, minutes, seconds, 24 hours time, using DS18B20 to achieve the temperature measur
5、ement, using LED to achieve display, using a buzzer to achieve alarm function. The core of the article is mainly hardware design and software programming. Hardware design includes a central proce</p><p> Ke
6、ywords: digital clock; AT89C51; DS1302; DS18B20; LED; buzzer</p><p><b> 目錄</b></p><p><b> 摘要2</b></p><p><b> 目錄4</b></p><p><
7、;b> 第一章 緒論1</b></p><p> 1.1 課題研究背景1</p><p> 1.2 課題研究意義2</p><p> 1.3 本文的主要內(nèi)容2</p><p> 第二章 方案論證及設(shè)計4</p><p> 2.1 總體方向的選擇4</p><
8、p> 2.1.1 基礎(chǔ)FPGA的多功能數(shù)字時鐘的設(shè)計4</p><p> 2.1.2 基于VHDL的多功能數(shù)字時鐘的設(shè)計4</p><p> 2.1.3 基于 單片機的多功能數(shù)字時鐘的設(shè)計4</p><p> 2.2 控制芯片及數(shù)字時鐘芯片的選擇5</p><p> 2.2.1 AT89S51及DS12887芯片
9、5</p><p> 2.2.2 AT89C51及DS1302芯片5</p><p> 2.3 溫度測量芯片的選擇7</p><p> 2.4 顯示部分的選擇8</p><p> 2.4.1 靜態(tài)顯示8</p><p> 2.4.2 動態(tài)顯示8</p><p> 2.5
10、方案小結(jié)9</p><p> 第三章 核心芯片簡介10</p><p> 3.1 AT89C51簡介10</p><p> 3.2 DS1302簡介14</p><p> 3.2.1 DS1302引腳功能與內(nèi)部結(jié)構(gòu)14</p><p> 3.2.2 DS1302的控制字15</p
11、><p> 3.2.3 DS1302的復位引腳16</p><p> 3.2.4 DS1302的數(shù)據(jù)輸入輸出16</p><p> 3.2.5 DS1302的寄存器16</p><p> 3.3 DS18B20簡介18</p><p> 3.3.1 DS18B20特性18</p>
12、<p> 3.3.2 DS18B20引腳排列19</p><p> 3.3.3 詳細說明20</p><p> 第四章 系統(tǒng)硬件設(shè)計25</p><p> 4.1 硬件主要電路設(shè)計25</p><p> 4.2 時鐘電路的設(shè)計26</p><p> 4.3 溫度測量電路的設(shè)計27
13、</p><p> 4.4 鍵盤掃描電路的設(shè)計28</p><p> 4.5 顯示電路的設(shè)計29</p><p> 4.6 報警電路設(shè)計30</p><p> 4.7 AT89C51復位電路,時鐘電路31</p><p> 4.8 單片機系統(tǒng)電路圖32</p><p> 第
14、五章 系統(tǒng)軟件設(shè)計33</p><p><b> 結(jié)論34</b></p><p><b> 參考文獻35</b></p><p><b> 謝辭36</b></p><p><b> 第一章 緒論</b></p><p
15、> 計算機的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積大。單片機在這種情況下誕生了。截止今日,單片機應用技術(shù)飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機。 單片計算機即單片微型計算機。(Single-Chip Microcomputer ),是集
16、CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機是各單片機中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計通過對它的學習,應用,從而達到學習、設(shè)計、開發(fā)軟、硬的能力。 本文通過對一個基于單片機的能實現(xiàn)時間,鬧鐘,測量溫度,報警等功能的多功能數(shù)字時鐘的設(shè)計學習,詳細介紹了單片機應用中的數(shù)據(jù)轉(zhuǎn)換顯示,液晶顯示原理。從而達到學習、了解單片機相關(guān)
17、指令在各方面的應用。系統(tǒng)由AT89C51、DS1302時鐘芯片、DS18B20、8位數(shù)碼管、鍵盤等部分構(gòu)成,能進行時、分、秒的顯示,</p><p> 1.1 課題研究背景</p><p> 人類的生活和工作均離不開時鐘。從古代的滴漏更鼓到近代的機械鐘,從電子表到目前的數(shù)字時鐘,為了準確的測量和記錄時間,人們一直在努力改進著計時工具。鐘表的數(shù)字化,大力推動了計時的精確性和可靠性。在單片
18、機構(gòu)成的裝置中,數(shù)字時鐘是必不可少的部件。它的用途十分廣泛,只要有計時的存在,便要用到數(shù)字時鐘的原理及結(jié)構(gòu);同時在日期中,它以其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛。隨著人類科技文明的發(fā)展,人們對于時鐘的要求在不斷地提高。時鐘已不僅僅被看成一種用來顯示時間的工具,在很多實際應用中它還需要能夠?qū)崿F(xiàn)更多其它的功能。高精度、多功能、小體積、低功耗,是現(xiàn)代時鐘發(fā)展的趨勢。在這種趨勢下,時鐘的數(shù)字化、多功能化
19、已經(jīng)成為現(xiàn)代時鐘生產(chǎn)研究的主導設(shè)計方向?,F(xiàn)在是一個知識爆炸的新時代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異。可以毫不夸張的說,電子技術(shù)的應用無處不在,電子技術(shù)正在不斷地改變我們的生活,改變著我們的世界。在這快速發(fā)展的年代,時間對人們來說是越來越寶貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失。因此我們需</p><p> 近些年,隨著科技的發(fā)展和社會的
20、進步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。單片機在多功能數(shù)字鐘中的應用已是非常普遍的,人們對數(shù)字鐘的功能及工作順序都非常熟悉。但是卻很少知道它的內(nèi)部結(jié)構(gòu)以及工作原理。由單片機作為數(shù)字鐘的核心控制器,可以通過它的時鐘信號進行計時實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進行定時、校時功能。輸出設(shè)備顯示器可以
21、用液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。</p><p> 1.2 課題研究意義</p><p> 基于MCS-51單片機的數(shù)字時鐘系統(tǒng)具有顯示準確、直觀、易于調(diào)整等特點。 單片機自誕生以來給全世界人類的生活和工作起到了劇烈的變化,而MCS-51單片機是我國使用最早、最易掌握和應用的一款單片機。通過該系統(tǒng)的設(shè)計,對單片機的原理和功能有個較系統(tǒng)和全面的掌握,初步學習到有關(guān)工程設(shè)計的方法和思路。這
22、樣以后的就業(yè)面會更加寬廣,也可以滿足當今社會對單片機開發(fā)人才的大量需。 </p><p> 縱觀傳統(tǒng)的電路設(shè)計,大部分是采用分立元件進行設(shè)計,既復雜成本又高。隨著集成化的發(fā)展,現(xiàn)在系統(tǒng)的設(shè)計都是在模塊化的基礎(chǔ)上設(shè)計系統(tǒng)的。</p><p> 本課題是基于智能化和模塊化的前提下設(shè)計數(shù)字時鐘的,通過對設(shè)計目標的分析,分立出各個模塊,然后根據(jù)各個模塊的功能,選擇適當?shù)男酒M行設(shè)計的。<
23、/p><p> 本課題的研究,對智能化、模塊化設(shè)計具有較強的推廣應用價值。</p><p> 1.3 本文的主要內(nèi)容</p><p> 本文的主要內(nèi)容是利用51單片機設(shè)計一個數(shù)字時鐘系統(tǒng),使其實現(xiàn)以下功能:</p><p><b> 1.數(shù)字顯示</b></p><p> 利用八段數(shù)碼管實現(xiàn)
24、世界的數(shù)字化顯示,顯示包括時、分、秒、星期、年、月、日、溫度以及鬧鐘定時時間。</p><p><b> 2.鬧鐘功能</b></p><p> 能夠?qū)崿F(xiàn)預定時間的設(shè)定,到時報警提醒,手動終止報警和無人應答自動終止報警。</p><p><b> 3.溫度測量功能</b></p><p>
25、能夠?qū)崿F(xiàn)環(huán)境溫度的測量且顯示。溫度測量包括單路溫度測量和多路溫度測量。</p><p> 第二章 方案論證及設(shè)計 </p><p> 2.1 總體方向的選擇</p><p> 2.1.1 基礎(chǔ)FPGA的多功能數(shù)字時鐘的設(shè)計</p><p> 基于FPGA的數(shù)字時鐘設(shè)計方法:DCM(數(shù)字時鐘管理器)。DCM使用完全數(shù)字反饋系統(tǒng)確保多個時
26、鐘同步,使用完全數(shù)字延線技術(shù)可以精確控制時鐘的頻率和相位。用戶可以編程控制時鐘任意倍率和分頻及任意相位移動,使用非常方便可靠。</p><p> 缺點:設(shè)計較為復雜,成本高,無法實現(xiàn)溫度測量功能</p><p> 2.1.2 基于VHDL的多功能數(shù)字時鐘的設(shè)計</p><p> 利用VHDL硬件描述語言設(shè)計的多功能數(shù)字時鐘的思路,在MAX+PLUSⅡK開發(fā)環(huán)境
27、中編譯和仿真了所設(shè)計的程序,并在可編程邏輯器上下載驗證。</p><p> 缺點:結(jié)構(gòu)簡單,實現(xiàn)功能不全面</p><p> 2.1.3 基于 單片機的多功能數(shù)字時鐘的設(shè)計</p><p> 基于MCS-51單片機的數(shù)字時鐘系統(tǒng)具有顯示準確、直觀、易于調(diào)整等特點。系統(tǒng)的設(shè)計是在模塊化的基礎(chǔ)上設(shè)計系統(tǒng)的。基于智能化和模塊化的前提下設(shè)計數(shù)字時鐘的,通過對設(shè)計目標的
28、分析,分立出各個模塊,然后根據(jù)各個模塊的功能,選擇適當?shù)男酒M行設(shè)計的。對智能化、模塊化設(shè)計具有較強的推廣應用價值。</p><p> 通過以上三種設(shè)計方案的比較,我們可以看到,設(shè)計方案三綜合性能良好。所以選用第三種設(shè)計方案</p><p> 2.2 控制芯片及數(shù)字時鐘芯片的選擇</p><p> 2.2.1 AT89S51及DS12887芯片</p
29、><p> 使用并行接口時鐘芯片DS12887設(shè)計時鐘電路。該設(shè)計方案用AT89S51主控,利用并行時鐘芯片DS12887為核心計時芯片,組成數(shù)字時鐘電路。該電路能夠準確計時,還附加許多其它功能,在掉電時能保存用戶設(shè)置參數(shù)和故障狀態(tài)參數(shù)等重要參數(shù)。設(shè)計電路圖如下</p><p> 圖2.1 S12887與CPU接口電路</p><p> 該設(shè)計雖然能完成所要求的
30、任務(wù),綜合性能也較好,但其并行接口方式占用大量接口資源,給其它設(shè)計帶來諸多不便。</p><p> 2.2.2 AT89C51及DS1302芯片</p><p> 使用串行接口時鐘芯片DS1302設(shè)計時鐘電路。該設(shè)計方案以單片機AT89C51為主控芯片,以串行時鐘芯片DS1302為核心計時芯片,組成數(shù)字時鐘電路。該電路不但能準確地計時,而且,其三線接口可以節(jié)省接口資源,在斷電后不丟失
31、時間和數(shù)據(jù)信息。該設(shè)計方案的接口電路如圖所示</p><p> 圖2.2 DS1302與C51的接口電路</p><p> 通過以上兩種設(shè)計方案的比較,我們可以看到,設(shè)計方案二接口簡單,計時可靠,綜合性能良好。所以選用第二種設(shè)計方案。</p><p> 2.3 溫度測量芯片的選擇</p><p> DS18B20是美國DALLAS
32、公司生產(chǎn)的單線數(shù)字溫度傳感器芯片,具有結(jié)構(gòu)簡單、體積小、功耗低、抗干擾能力強、使用簡單等優(yōu)點。它的ROM中存有其芯片的唯一標識碼,即任意兩個DS18B20的標識碼是不同的,特別適合于微處理芯片構(gòu)成多點溫度測控系統(tǒng)。它支持“一線總線”接口,使用戶可以輕松地組建傳感器網(wǎng)絡(luò)。其內(nèi)部采用在板溫度測量專利技術(shù),測量范圍為-55~+125℃,精度為0.5℃。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的穩(wěn)定報警觸發(fā)器
33、TH和TL、配置寄存器。</p><p> 該芯片非常適合本設(shè)計,予以采用。</p><p> 2.4 顯示部分的選擇</p><p> 用單片機驅(qū)動LED數(shù)碼管顯示有很多方法,按顯示方式分有靜態(tài)顯示和動態(tài)顯示。</p><p> 2.4.1 靜態(tài)顯示</p><p> 靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功
34、能,單片機將所要顯示的數(shù)據(jù)送出去后,數(shù)碼管始終顯示該數(shù)據(jù)(不變),CPU不再控制LED。到下一次顯示時,再傳送一次新的顯示數(shù)據(jù)。</p><p> 靜態(tài)顯示的接口電路采用一個并行口接一個數(shù)碼管,數(shù)碼管的公共端按共陰極或共陽極分別接地或接VCC。這種接法,每個數(shù)碼管都要單獨占用一個并行I/O口,以便單片機傳送字形碼到數(shù)碼管控制數(shù)碼管的顯示。顯然其缺點就是當顯示位數(shù)多時,占用I/O口過多。</p>&
35、lt;p> 為了解決靜態(tài)顯示I/O口占用過多的問題,可采用串行接口擴展LED數(shù)碼管的技術(shù)。靜態(tài)顯示方式的優(yōu)點是顯示的數(shù)據(jù)穩(wěn)定,無閃爍,占用CPU時間少。其缺點是由于數(shù)碼管始終發(fā)光,功耗比較大。</p><p> 2.4.2 動態(tài)顯示</p><p> 動態(tài)掃描用分時的方法輪流控制每個顯示器的COM端,使每個顯示器輪流電亮。在輪流點亮過程中,每位顯示器的點亮時間極為短暫,但由于人
36、的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。動態(tài)驅(qū)動一般用于多位LED數(shù)碼管顯示,主要是節(jié)省驅(qū)動管腳,減少器件</p><p> 通過以上兩種設(shè)計方案的比較,我們可以看到,設(shè)計方案二可靠,綜合性能更好。所以選用第二種設(shè)計方案。</p><p><b> 2.5 方案小結(jié)</b></p><p> 通過上面的方案
37、選擇,我使用串行接口時鐘芯片DS1302設(shè)計時鐘電路,使用DS18B20設(shè)計溫度測量電路。該設(shè)計的硬件電路由主控部分(單片機AT89S51)、計時部分(實時時鐘芯片DS1302)、測量溫度部分(DS18B20)顯示部分(動態(tài)顯示)、電源部分幾個部分組成。各部分之間相互協(xié)作,構(gòu)成一個統(tǒng)一的有機整體,實現(xiàn)設(shè)計所需求的功能。</p><p> 第三章 核心芯片簡介</p><p> 3.1
38、 AT89C51簡介</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器
39、制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖所示主要特性:</p><p> ?與MCS-51 兼容 </p><p> ?4K字節(jié)可編程閃爍存儲器
40、 </p><p> ?壽命:1000寫/擦循環(huán)</p><p> ?數(shù)據(jù)保留時間:10年</p><p> ?全靜態(tài)工作:0Hz-24MHz</p><p> ?三級程序存儲器鎖定</p><p> ?128×8位內(nèi)部RAM</p><p> ?32可編程I/O線<
41、/p><p> ?兩個16位定時器/計數(shù)器</p><p><b> ?5個中斷源 </b></p><p><b> ?可編程串行通道</b></p><p> ?低功耗的閑置和掉電模式</p><p> ?片內(nèi)振蕩器和時鐘電路</p><p>
42、;<b> 管腳說明:</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)
43、據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第
44、八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)
45、據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為A
46、T89C51的一些特殊功能口,如下所示:</p><p><b> 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(
47、外部中斷1)</p><p> P3.4 T0(記時器0外部輸入</p><p> P3.5 T1(記時器1外部輸入)</p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。&l
48、t;/p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作
49、外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取值期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</
50、p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p>&l
51、t;p> XTAL2:來自反向振蕩器的輸出。</p><p><b> 振蕩器特性:</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須
52、保證脈沖的高低電平要求的寬度。</p><p> 3.2 DS1302簡介</p><p> DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。時鐘可工作在24小時格式或12小時(AM/PM)格式。 DS1302與單片機的接口使用同步串行通信,僅用3條線
53、與之相連接??刹捎靡淮蝹魉鸵粋€字節(jié)或突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。</p><p> 3.2.1 DS1302引腳功能與內(nèi)部結(jié)構(gòu)</p><p> DS
54、1302的引腳功能如表1所示,外形及內(nèi)部結(jié)構(gòu)如圖3.1所示:</p><p> 表3.1 DS1302引腳功能表</p><p> 圖3.1 DS1302管腳圖及內(nèi)部結(jié)構(gòu)圖</p><p> 3.2.2 DS1302的控制字</p><p> DS1302的控制字節(jié)如圖3.2所示:</p><p>
55、7 6 5 4 3 2 1 0</p><p> 圖3.2 DS1302控制字節(jié)的含義</p><p> 控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0
56、表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。</p><p> 3.2.3 DS1302的復位引腳</p><p> 通過把輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。 輸入有兩種功能:首先,接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程
57、中置為低電平,則會終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。</p><p> 3.2.4 DS1302的數(shù)據(jù)輸入輸出</p><p> 在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在8位的控制指令字后的下一個SCLK脈沖
58、的下降沿讀出DS1302數(shù)據(jù),讀出數(shù)據(jù)時從低位0位至高位7,數(shù)據(jù)讀寫時序如下圖所示:</p><p> 圖3.3 數(shù)據(jù)讀寫時序</p><p> 3.2.5 DS1302的寄存器</p><p> DS1302共有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時間寄存器及其控制字見表2。此外,DS1302還有年份寄存器、
59、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器分為兩類,一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字尾COH—FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下得RAM寄存器,次方式可一次性讀寫所有的RAM的31個字節(jié),命令控制字尾FEH(寫)、FFH(讀)。</p><p> 表3.2 DS1302的日歷、時鐘寄存器及其控制字</p&
60、gt;<p> 3.3 DS18B20簡介</p><p> DS1820 數(shù)字溫度計提供 9 位溫度讀數(shù),指示器件的溫度。</p><p> 信息經(jīng)過單線接口送入 DS1820或從DS1820送出,因此從中央處理器到DS1820僅需連接一條線(和地)。讀、寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。因為每一個DS1820 有唯一的系列號(sil
61、icon serial number),因此多個DS1820可以存在于同一條單線總線上。這允許在許多不同的地方放置溫度靈敏器件,此特性的應用范圍包括 HVAC環(huán)境控制,建筑物、設(shè)備或機械內(nèi)的溫度檢測,以及過程監(jiān)視和控制中的溫度檢測。</p><p> 3.3.1 DS18B20特性</p><p> ? 獨特的單線接口,只需1個接口引腳即可通信</p><p&g
62、t; ? 多點(multidrop)能力使分布式溫度檢測應用得以簡化</p><p><b> ? 不需要外部元件</b></p><p><b> ? 可用數(shù)據(jù)線供電</b></p><p><b> ? 不需備份電源</b></p><p> ? 測量范圍從-55
63、 至+125,增量值為 0.5</p><p> ? 以9位數(shù)字值方式讀出溫度</p><p> ? 在1秒典型值內(nèi)把溫度變換為數(shù)字</p><p> ? 用戶可定義的非易失性的溫度告警設(shè)置</p><p> ? 告警搜索命令識別和尋址溫度在編定的極限之外的器件(溫度告警情況)</p><p> ? 應用
64、范圍包括恒溫控制,工業(yè)系統(tǒng),消費類產(chǎn)品,溫度計或任何熱敏系統(tǒng)</p><p> 3.3.2 DS18B20引腳排列</p><p><b> 圖3.4 引腳說明</b></p><p><b> GND 地</b></p><p> DQ 數(shù)字輸入輸出</p>
65、<p> VDD 可選的 VDD</p><p> NC 空引腳</p><p> DNC 不連接</p><p> 表3.3 詳細的管腳說明</p><p> 3.3.3 詳細說明</p><p><b> ? 綜述 </b></p&g
66、t;<p> 圖3.5的方框圖表示 DS1820的主要部件DS1820有三個主要的數(shù)據(jù)部件164 位激光 lasered,ROM;2溫度靈敏元件和3非易失性溫度告警觸發(fā)器TH和TL器件從單線的通信線取得其電源,在信號線為高電平的時間周期內(nèi)把能量貯存在內(nèi)部的電容器中。在單信號線為低電平的時間期內(nèi),斷開此電源直到信號線變?yōu)楦唠娖街匦陆由霞纳娙蓦娫礊橹?。作為另一種可供選擇的方法,DS1820也可用外部5V電源供電。</
67、p><p> 圖3.5 DS18B20方框圖</p><p> 與DS1820的通信經(jīng)過一個單線接口,在單線接口情況下,在ROM操作未定建立之前不能使用,存貯器和控制操作主機必須首先提供五種ROM操作命令之一: 1 Read ROM(讀ROM);2 Match ROM(符合 ROM);3 Search ROM(搜索 ROM);4 Skip ROM(跳過 ROM); 5 Alarm Sea
68、rch(告警搜索)。這些命令對每一器件的64位激光ROM部分進行操作。如果在單線上有許多器件,那么可以挑選出一個特定的器件并給總線上的主機指示存在多少器件及其類型。在成功地執(zhí)行了ROM 操作序列之后可使用存貯器和控制操作,然后主機可以提供六種存貯器和控制操作命令之一。一個控制操作命令指示DS1820完成溫度測量,該測量的結(jié)果將放入DS1820的高速暫存便箋式存貯器Scratchpad memory,通過發(fā)出讀暫存存儲器內(nèi)容的存儲器操作命
69、令可以讀出此結(jié)果。每一溫度告警觸發(fā)器TH和TL構(gòu)成一個字節(jié)的EEPROM,如果不對DS1820施加告警搜索命令,這些寄存器可用作通用用戶存儲器,使用存儲器操作命令可以寫TH和TL對這些寄存器的讀訪問通過便箋存儲器,所有數(shù)據(jù)均以最低有效</p><p> ? 寄生電源(parasite power)</p><p> 方框圖(圖 3.5)示出寄生電源電路當I/O或VDD引腳為高電平時,這
70、個電路便取得電源。只要符合指定的定時和電壓要求I/O將提供足夠的功率標題為單總線系統(tǒng)一節(jié),寄生電源的優(yōu)點是雙重的1利用此引腳遠程溫度檢測,無需本地電源2缺少正常電源條件下也可以讀ROM,為了使DS1820能完成準確的溫度變換,當溫度變換發(fā)生時,I/O線上必須提供足夠的功率,因為DS1820的工作電流高達1mA,5K的上拉電阻將使I/O線沒有足夠的驅(qū)動能力。如果幾個DS18B20</p><p> 在同一條I/
71、O線上而且企圖同時變換那么這一問題將變得特別尖銳有兩種方法確保DS1820在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是發(fā)生溫度變換時,在I/O線上提供一強的上拉,如圖3.6所示,通過使用一個MOSFET把I/O 線直接拉到電源可達到這一點。當使用寄生電源方式時 VDD引腳必須連接到地向 DS1820供電的另外一種方法是通過使用連接到 VDD引腳的外部電源,如圖3.7所示,這種方法的優(yōu)點是在I/O線上不要求強的上拉,總線上主機不需向上
72、連接便在溫度變換期間使線保持高電平。這就允許在變換時間內(nèi)其它數(shù)據(jù)在單線上傳送。此外,在單線總線上可以放置任何數(shù)目的DS1820,而且如果它們都使用外部電源,那么通過發(fā)出跳過Skip ROM命令和接著發(fā)出變換ConvertT命令可以同時完成溫度變換。注意只要外部電源處于工作狀態(tài)GND地引腳不可懸空。</p><p> 圖3.6 強上拉在溫度變換期內(nèi)向 DS1820供電</p><p>
73、; 在總線上主機不知道總線上DS1820是寄生電源供電還是外部 VDD供電的情況下在DS1820內(nèi)采取了措施來通知采用的供電方案??偩€上主機通過發(fā)出跳過Skip ROM的操作約定,然后發(fā)出讀電源命令,可以決定是否有需要強上拉的 DS1820,在總線上在此命令發(fā)出后主機接著發(fā)出讀時間片,如果是寄生供電 DS1820 將在單線總線上送回0。如果由 VDD引腳供電,它將送回 1,如果主機接收到一個0,它知道它必須在溫度變換期間在I/O線上供
74、一個強的上拉。</p><p><b> ? 測量溫度</b></p><p> DS1820 通過使用在板on-board溫度測量專利技術(shù)來測量溫度,溫度測量電路的方框圖見圖3.7所示:</p><p> 圖 3.7 使用 VDD提供溫度變換所需電流</p><p> 圖3.8 溫度測量電路</p>
75、;<p> DS1820 通過門開通期間內(nèi)低溫度系數(shù)振蕩器經(jīng)歷的時鐘周期個數(shù)計數(shù)來測量溫度,而門開通期由高溫度系數(shù)振蕩器決定計數(shù)器予置對應于-55的基數(shù),如果在門開通期結(jié)束前計數(shù)器達到零,那么溫度寄存器它也被予置到-55的數(shù)值將增量指示溫度高于-55;同時計數(shù)器用鈄率累加器電路所決定的值進行予置,為了對遵循拋物線規(guī)律的振蕩器溫度特性進行補償,這種電路是必需的。時鐘再次使計數(shù)器計值至它達到零,如果門開通時間仍未結(jié)束那么此
76、過程再次重復。</p><p> 鈄率累加器用于補償振蕩器溫度特性的非線性,以產(chǎn)生高分辯率的溫度測量。通過改變溫度每升高一度,計數(shù)器必須經(jīng)歷的計數(shù)個數(shù)來實行補償。因此為了獲得所需的分辯率,計數(shù)器的數(shù)值以及在給定溫度處每一攝氏度的計數(shù)個數(shù)(鈄率累加器的值)二者都必須知道。</p><p> 此計算在DS1820內(nèi)部完成以提供0.5的分辯率溫度讀數(shù),以16位符號擴展的二進制補碼讀數(shù)形式提
77、供。表3.4說明輸出數(shù)據(jù)對測量溫度的關(guān)系數(shù)據(jù)在單線接口上串行發(fā)送DS1820,可以以0.5的增量值在0.5至+125的范圍內(nèi)測量溫度。對于應用華氏溫度的場合必須使用查找表或變換系數(shù)。</p><p> 注意,在DS1820中溫度是以1/2LSB(最低有效位)形式表示時產(chǎn)生以下9位格式:</p><p> MSB(最高有效位) (最低有效位) LSB&
78、lt;/p><p> =-25℃ </p><p> 最高有效符號位被復制到存儲器內(nèi)兩字節(jié)的溫度寄存器中較高MSB的所有位 這種符號擴展產(chǎn)生了如表3.4所示的16位溫度讀數(shù)。</p><p> 以下的過程可以獲得較高的分辯率。首先,讀溫度并從讀得的值截去0.5位(最低有效位),這個值便是(TEMP_READ),然后可以讀留在計數(shù)器內(nèi)的值
79、。此值是門開通期停止之后計數(shù)剩余,所需的最后一個數(shù)值是在該溫度處每一攝氏度的計數(shù)個數(shù)(COUNT_PER_C) ,于是用戶可以使用下式計算實際溫度:</p><p> 表3.4 溫度/數(shù)據(jù)關(guān)系</p><p> 第四章 系統(tǒng)硬件設(shè)計</p><p> 4.1 硬件主要電路設(shè)計</p><p> 本系統(tǒng)設(shè)計的硬件電路由主控部分(AT89
80、C51)、計時部分(DS1302)、測溫部分(DS18B20)、顯示部分(八段數(shù)碼管)、按鍵部分(開關(guān)按鈕)、報警部分(蜂鳴器)6個部分組成。各部分之間相互協(xié)作,構(gòu)成一個統(tǒng)一的有機整體,實現(xiàn)多功能數(shù)字時鐘的功能。各部分的硬件電路設(shè)計如下。設(shè)計總電路圖見附錄一。</p><p> 圖4.1 總體功能框圖</p><p> 4.2 時鐘電路的設(shè)計</p><p>
81、 時鐘芯片DS1302與單片機AT89C51的接口是由3條線來完成的,單片機AT89C51的P1.6與時鐘芯片的數(shù)據(jù)傳輸端相連,P1.7用來作為DS1302輸入時鐘SCLK控制端,P1.5控制DS1302的復位輸入端。DS1302接標準32.768KHz石英晶振。DS1302與單片機的接口電路如圖所示:</p><p> 4.3 溫度測量電路的設(shè)計</p><p> DS18B20是美
82、國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器芯片,具有結(jié)構(gòu)簡單、體積小、功耗低、抗干擾能力強、使用簡單等優(yōu)點。它的ROM中存有其芯片的唯一標識碼,即任意兩個DS18B20的標識碼是不同的,特別適合于微處理芯片構(gòu)成多點溫度測控系統(tǒng)。它支持“一線總線”接口,使用戶可以輕松地組建傳感器網(wǎng)絡(luò)。其內(nèi)部采用在板溫度測量專利技術(shù),測量范圍為-55~+125℃,精度為0.5℃。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的
83、穩(wěn)定報警觸發(fā)器TH和TL、配置寄存器。DS18B20與單片機的接口電路如圖所示: </p><p> 4.4 鍵盤掃描電路的設(shè)計</p><p> 4.5 顯示電路的設(shè)計</p><p> 采用共陽極數(shù)碼管,采用8位串入并出74HC164移位寄存器驅(qū)動數(shù)碼管,如下圖所示,它的每一個輸出引腳具有20mA的驅(qū)動能力。對于小型LED數(shù)碼管,還有串聯(lián)200~360的
84、限流電阻。其電路圖如下所示:</p><p> 4.6 報警電路設(shè)計</p><p> 4.7 AT89C51復位電路,時鐘電路</p><p> 4.8 單片機系統(tǒng)電路圖</p><p> 前面介紹了系統(tǒng)的各單元的電路設(shè)計,下面從總體上設(shè)計課題的硬件,其電路圖如附錄所示。</p><p> 第五章 系統(tǒng)軟件
85、設(shè)計</p><p> 本設(shè)計,程序采用匯編語言進行設(shè)計。程序中主要有以下幾個主要子程序:DS1302初始化、讀寫程序,DS18B20初始化、讀寫程序,數(shù)碼管顯示程序。程序清單見附錄。</p><p><b> 結(jié)論</b></p><p> 本設(shè)計利用單片機AT89C51控制串行實時時鐘芯片DS1302構(gòu)成數(shù)字時鐘電路,實現(xiàn)計時功能。數(shù)
86、字時鐘電路使用簡單的三線接口,為單片機節(jié)省大量的接口資源,時鐘芯片DS1302帶有后備電池,具備對后背電源進行涓細電流充電的能力,保證電路斷電后仍保存時間和數(shù)據(jù)信息,這些優(yōu)點解決了目前常用實時時鐘占用單片機資源多以及計時不可靠等缺點。</p><p> 本設(shè)計利用AT89C51控制單線數(shù)字溫度傳感器芯片DS18B20構(gòu)成溫度測量電路,實現(xiàn)溫度的測量。該電路使用一線接口,為單片機節(jié)省大量的接口資源,DS18B20
87、可用數(shù)據(jù)線充電,不需要備份電源。</p><p> 該時鐘功能強大,性能優(yōu)越,能為很多領(lǐng)域,特別是對時鐘工作的精確性和可靠性有較高要求的場合,提供較好的實時時鐘。但是,由于DS1302易受環(huán)境影響,會使該電路出現(xiàn)時鐘精度不高、時鐘混亂等問題,DS18B20測量溫度不夠精確,這些問題還有待繼續(xù)研究和改進。</p><p><b> 參考文獻</b></p>
88、;<p> [1] 宋克柱.基于FPGA的數(shù)字時鐘設(shè)計.核電子學與探測技術(shù).2008年28卷(第5期) </p><p> [2] 樊永寧.張曉麗.基于VHDL的多功能數(shù)字鐘的設(shè)計.工礦自動化.2006年第三期 </p><p> [3] 張元良.王建軍.智能儀表開發(fā)技術(shù).北京市.機械工業(yè)出版社.2009年 </p><p> [4] 唐精隆
89、.基于MCS-51單片機的數(shù)字時鐘系統(tǒng)設(shè)計.西安工業(yè)大學畢業(yè)論文.2009年 </p><p> [5] AT89C51中文資料</p><p> [6] DS1320中文資料</p><p> [7] DS18B20中文資料</p><p> [8] 王勝男.張?。畯堉緢裕喙δ軘?shù)字時鐘設(shè)計.中國電子商務(wù).2009年8月</p
90、><p> [9] 盛蒙蒙. 葛亦斌. 邱燁.馬棟.基于單片機實現(xiàn)多功能數(shù)字鐘的系統(tǒng)設(shè)計.電子科學. 009年</p><p> [10] 彭小軍.用單片機實現(xiàn)電子時鐘.新余高專學報.2004年9月.</p><p> [11] 劉建英.基于單片機應用技術(shù). .高等教育出版社.2006年4月.</p><p> [12] 楊剛.周群.電子
91、系統(tǒng)設(shè)計與實踐.北京電子工業(yè)出版社.2004.</p><p> [13] 余永權(quán).ATMEL89系列單片機應用技術(shù).北京.北京航空航天大學出版社.2002.</p><p> [14] M.K.Nazeeruddin.M.gratzel.Transition metal complexes for photovoltaic and light emitting application
92、s.Springer berlin/Heidelberg.2007.5.9.</p><p> [15] Ezra N.hoch.Danny dolev.Ariel daliot.Self-atabilizing Byzantine digital clock synchronization.Springer berlin/Heidelberg.2007.6.27. </p><p>
93、 [16] Amr M.fahim.Clock partitioning and skew control.Springer US.2005.12.6.</p><p> [17] Glbert.Light emitting diode technology and applications.Taylor & Francis Group.2009.</p><p><b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多功能數(shù)字時鐘畢業(yè)設(shè)計
- 多功能數(shù)字時鐘的設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計基于fpga的多功能數(shù)字時鐘
- 畢業(yè)設(shè)計基于fpga的多功能的數(shù)字時鐘設(shè)計
- 電子時鐘畢業(yè)設(shè)計--多功能數(shù)字鐘設(shè)計
- 多功能數(shù)字時鐘設(shè)計資料
- 多功能電子時鐘畢業(yè)設(shè)計
- 單片機多功能數(shù)字電子時鐘設(shè)計畢業(yè)設(shè)計論文
- 電子畢業(yè)設(shè)計---多功能電子時鐘
- 多功能數(shù)字時鐘課程設(shè)計
- 畢業(yè)設(shè)計----多功能數(shù)字中的設(shè)計
- 多功能數(shù)字時鐘課程設(shè)計
- 基于fpga的多功能數(shù)字時鐘設(shè)計
- 畢業(yè)設(shè)計---基于單片機的多功能時鐘設(shè)計
- 數(shù)字電路課程設(shè)計-多功能數(shù)字時鐘設(shè)計
- 畢業(yè)設(shè)計-數(shù)字時鐘設(shè)計
- 數(shù)字時鐘畢業(yè)設(shè)計
- 單片機多功能時鐘程序設(shè)計畢業(yè)設(shè)計
- 多功能數(shù)字鐘畢業(yè)設(shè)計
- 數(shù)字電路課程設(shè)計----多功能數(shù)字時鐘
評論
0/150
提交評論