基于at89s52單片機(jī)的萬(wàn)年歷設(shè)計(jì)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩109頁(yè)未讀, 繼續(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>  洛陽(yáng)師范學(xué)院</b></p><p>  單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告</p><p>  基于AT89S52單片機(jī)萬(wàn)年歷的設(shè)計(jì)</p><p><b>  摘 要</b></p><p>  電子萬(wàn)年歷是一種非常廣泛日常計(jì)時(shí)工具。它可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)

2、時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,對(duì)于數(shù)字電子萬(wàn)年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用AT89S52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3---5V電壓供電。</p><p>  此次是基于52系列的單片機(jī)進(jìn)行的電子萬(wàn)年歷設(shè)計(jì),相比傳統(tǒng)的萬(wàn)年歷來說,精確度更高??梢燥@示溫度、年、月、日、時(shí)、分、秒及周信息,具有可調(diào)整日期和時(shí)間功能。對(duì)

3、單片機(jī)的理論基礎(chǔ)和外圍擴(kuò)展知識(shí)進(jìn)行了比較全面準(zhǔn)備。在硬件與軟件方面進(jìn)行同步設(shè)計(jì)。硬件部分主要由單片機(jī),LED顯示電路,以及調(diào)時(shí)按鍵電路等組成。在單片機(jī)的選擇上使用了AT89S52單片機(jī),該單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。顯示器使用共陰極的數(shù)碼管。使用MAX7219來驅(qū)動(dòng)顯示,然后并行輸出。軟件方面主要包括日歷程序、時(shí)間調(diào)整程序、溫度程序、顯示程序等。程序采用匯編語(yǔ)言編寫,以便更簡(jiǎn)單地實(shí)現(xiàn)調(diào)整時(shí)間及陰歷顯示功能。所有程序編寫完成后,

4、在keil軟件中進(jìn)行調(diào)試,確定沒有問題后,在Proteus軟件中嵌入單片機(jī)內(nèi)進(jìn)行仿真。</p><p>  關(guān)鍵詞:時(shí)鐘芯片、MAX7219、DS18B20、動(dòng)態(tài)掃描、單片機(jī)。</p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p><b

5、>  1 緒論4</b></p><p><b>  1.1設(shè)計(jì)背景4</b></p><p><b>  1.2設(shè)計(jì)思想4</b></p><p><b>  1.3設(shè)計(jì)框圖5</b></p><p>  2 系統(tǒng)硬件設(shè)計(jì)6</p>

6、<p>  2.1最小化電路設(shè)計(jì)6</p><p>  2.1.1 主控芯片簡(jiǎn)介6</p><p>  2.1.2 復(fù)位電路、晶振電路設(shè)計(jì)7</p><p>  2.2顯示電路設(shè)計(jì)9</p><p>  2.2.1 顯示器簡(jiǎn)介9</p><p>  2.2.2 驅(qū)動(dòng)芯片簡(jiǎn)介11</p>

7、<p>  2.2.3 顯示電路16</p><p>  2.3溫度采集電路設(shè)計(jì)17</p><p>  2.3.1 溫度采集芯片簡(jiǎn)介17</p><p>  2.3.2 溫度采集電路21</p><p>  2.4實(shí)時(shí)時(shí)鐘電路設(shè)計(jì)21</p><p>  2.4.1時(shí)鐘芯片簡(jiǎn)介22</

8、p><p>  2.4.2時(shí)鐘電路22</p><p>  3 系統(tǒng)軟件設(shè)計(jì)25</p><p>  3.1主程序流程圖25</p><p>  3.2系統(tǒng)子程序的設(shè)計(jì)26</p><p>  3.2.1送顯示流程圖26</p><p>  3.2.2 時(shí)鐘流程圖27</p>

9、<p>  3.2.3 溫度采集流程圖29</p><p><b>  4 系統(tǒng)仿真29</b></p><p>  4.1仿真軟件簡(jiǎn)介29</p><p>  4.2 軟件仿真過程33</p><p>  4.3仿真結(jié)果35</p><p><b>  致謝3

10、7</b></p><p><b>  參考文獻(xiàn)37</b></p><p><b>  附 錄 一38</b></p><p><b>  附 錄 二39</b></p><p><b>  1 緒論</b></p>&

11、lt;p><b>  1.1設(shè)計(jì)背景</b></p><p>  隨著人們生活水平的提高和生活節(jié)奏的加快,對(duì)時(shí)間的要求越來越高,精準(zhǔn)數(shù)字計(jì)時(shí)的消費(fèi)需求也是越來越多。二十一世紀(jì)的今天,最具代表性的計(jì)時(shí)產(chǎn)品就是電子萬(wàn)年歷,它是近代世界鐘表業(yè)界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對(duì)穩(wěn)定的機(jī)械振蕩頻率源使鐘表的走時(shí)差從分級(jí)縮小到秒級(jí),代表性的產(chǎn)品就是帶有擺或擺輪游絲的機(jī)械鐘或表。第二次

12、革命是石英晶體振蕩器的應(yīng)用,發(fā)明了走時(shí)精度更高的石英電子鐘表,使鐘表的走時(shí)月差從分級(jí)縮小到秒級(jí)。第三次革命就是單片機(jī)數(shù)碼計(jì)時(shí)技術(shù)的應(yīng)用(電子萬(wàn)年歷),使計(jì)時(shí)產(chǎn)品的走時(shí)日差從分級(jí)縮小到1/600萬(wàn)秒,從原有傳統(tǒng)指針計(jì)時(shí)的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動(dòng)日期、星期、溫度以及其他日常附屬信息的顯示功能,它更符合消費(fèi)者的生活需求!因此,電子萬(wàn)年歷的出現(xiàn)帶來了鐘表計(jì)時(shí)業(yè)界跨躍性的進(jìn)步。</p>

13、<p>  目前流行的計(jì)算機(jī)日歷程序,比較典型的是Windows各版本中的日歷程序以及基礎(chǔ)于該程序所開發(fā)的各種應(yīng)用程序中的日歷程序。然而,這些程序都千篇一律的局限在一個(gè)很短的時(shí)間范圍內(nèi)。(Windows各個(gè)版本一般都局限在1980年至2099年這一范圍內(nèi)),但是,在很多情況下,一個(gè)時(shí)間跨度較大的日歷程序是很有參考價(jià)值的,本程序在這種背景下開始編輯,其中集成了國(guó)際通用日歷和中國(guó)農(nóng)歷,此外還可以顯示星期和加載了部分節(jié)日,顯示本機(jī)準(zhǔn)

14、確日期等功能。

15、 </p><p><b>  1.2設(shè)計(jì)思想</b></p><p>  眾所周知,地球繞太陽(yáng)公轉(zhuǎn),公轉(zhuǎn)一周歷時(shí)365天5小時(shí)48分46秒?,F(xiàn)代國(guó)際上普遍采用羅馬歷法,在羅馬歷法中人為地規(guī)定一年365天,也就是我們所說的平年,為

16、了彌補(bǔ)每一年多出的5小時(shí)48分46秒,同時(shí)又規(guī)定4年中有一年是閏年,閏年為366天(平年的2月份為28天,而閏年的2月份為29天),這樣4年有365*3+366=1461天,而地球繞太陽(yáng)公轉(zhuǎn)4周歷時(shí)1460天23小時(shí)15分4秒,這樣,每4年又產(chǎn)生了44分56秒的誤差,為了減小影響,歷法上又規(guī)定,每400年中只存在97個(gè)閏年,這樣400年中共有365*400+97=146097天,</p><p>  而地球繞太陽(yáng)

17、公轉(zhuǎn)400周歷時(shí)146096天21小時(shí)6分40秒,較好的彌補(bǔ)了這一缺陷,這樣幾乎3300年才產(chǎn)生一天的誤差。</p><p><b>  1.3設(shè)計(jì)框圖</b></p><p>  本電路是由AT89S52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線

18、接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。晶振電路是給主控模塊提供脈沖信號(hào);溫度的采集由DS18B20構(gòu)成;顯示部分由8個(gè)數(shù)碼管,MAX7219譯碼器構(gòu)成。使用動(dòng)態(tài)掃描顯示方式對(duì)數(shù)字的顯示。本設(shè)計(jì)系統(tǒng)框圖如圖1.1所示。</p><p>  圖1.1 基于AT89S52單片機(jī)的電子萬(wàn)年歷系統(tǒng)框圖</p><p><b>  2 系統(tǒng)硬件設(shè)計(jì)

19、</b></p><p>  2.1 最小化電路設(shè)計(jì)</p><p>  在單片機(jī)使用中有必須的最小化電路,它是單片機(jī)工作的前提。其中包括電源電路、晶振電路、復(fù)位電路。下面就簡(jiǎn)單介紹最小化電路。</p><p>  2.1.1 主控芯片簡(jiǎn)介</p><p> ?。?)主要功能的簡(jiǎn)介</p><p>  

20、擁有靈巧的8位CPU和在系統(tǒng)可編程Flash</p><p>  晶片內(nèi)部具有時(shí)鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)</p><p>  內(nèi)部 (ROM)程序存儲(chǔ))為 8KB</p><p>  內(nèi)部(RAM)數(shù)據(jù)存儲(chǔ)器為 256字節(jié)</p><p>  32 個(gè)可編程I/O 口線</p><p><b&

21、gt;  8 個(gè)中斷向量源</b></p><p>  三個(gè) 16 位定時(shí)器/計(jì)數(shù)器</p><p><b>  三級(jí)加密程序存儲(chǔ)器</b></p><p>  全雙工UART串行通道</p><p><b> ?。?)引腳功能簡(jiǎn)介</b></p><p>  圖

22、2.1 AT89S52單片機(jī)的引腳圖</p><p>  VCC:電源正端輸入,接+5V。</p><p><b>  VSS:電源地端。</b></p><p>  XTAL1:?jiǎn)涡酒到y(tǒng)時(shí)鐘的反相放大器輸入端。</p><p>  XTAL2:系統(tǒng)時(shí)鐘的反相放大器輸出端,一般在設(shè)計(jì)上只要在 XTAL1 和 XTAL2

23、 上接上一只石英振蕩晶體系統(tǒng)就可以動(dòng)作了,此外可以在兩引腳與地之間加入一 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機(jī)。</p><p>  RESET:重置引腳,高電平動(dòng)作。</p><p>  EA/Vpp:"EA"表示存取外部程序代碼之意,低電平動(dòng)作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會(huì)取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。</p&

24、gt;<p>  ALE/PROG:ALE是表示地址鎖存器啟用信號(hào)。</p><p>  PSEN:此為"Program Store Enable"的縮寫,其意為程序儲(chǔ)存啟用。</p><p>  PORT0(P0.0~P0.7):端口0是一個(gè)8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個(gè)位,P0.0表示位0,P0.1表示位1,依此類推。

25、其他三個(gè)I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當(dāng)做I/O用時(shí)可以推動(dòng)8個(gè)LS的TTL負(fù)載。</p><p>  PORT1(P1.0~P1.7):端口1也是具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)LS TTL負(fù)載,同樣地若將端口1的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。</p><p>  PORT3(P3.0~P3.7):端口3

26、也具有內(nèi)部提升電路的雙向I/O端口,其輸出緩沖器可以推動(dòng)4個(gè)TTL負(fù)載,同時(shí)還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部數(shù)據(jù)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其引腳分配如下:</p><p>  P3.0:RXD,串行通信輸入。</p><p>  P3.1:TXD,串行通信輸出。</p><p>  P3.2:INT0,外部中斷0輸

27、入。</p><p>  P3.3:INT1,外部中斷1輸入。</p><p>  P3.4:T0,計(jì)時(shí)計(jì)數(shù)器0輸入。</p><p>  P3.5:T1,計(jì)時(shí)計(jì)數(shù)器1輸入。</p><p>  P3.6:WR,外部數(shù)據(jù)存儲(chǔ)器的寫入信號(hào)。</p><p>  P3.7:RD,外部數(shù)據(jù)存儲(chǔ)器的讀取信號(hào)。</p>

28、;<p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p>  ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),在此期間外部程序存器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器?! ?lt;/p><p>

29、  .2.1.2 復(fù)位電路、晶振電路的設(shè)計(jì)</p><p>  單片機(jī)工作需要3個(gè)基本條件:接電源、接石英晶體振蕩器和復(fù)位電路。如圖2.2所示。</p><p>  圖2.2 單片機(jī)的基本電路</p><p><b>  (1)接電源</b></p><p>  將單片機(jī)第40腳Vcc接電源+5V,第20腳Vss接地(

30、電源負(fù)極),為單片機(jī)工作提供電源。由于AT89S52片內(nèi)帶有程序存儲(chǔ)器,當(dāng)使用片內(nèi)程序存儲(chǔ)器時(shí)要將EA(31腳)接高電平,即接到電源+5V。 </p><p> ?。?)接石英晶體振蕩器</p><p>  將單片機(jī)第19腳(XTAL1)與18腳(XTAL2)分別接外部晶體的兩個(gè)引腳,由石英晶體組成振蕩器,保證單片機(jī)內(nèi)部各部分有序工作。

31、 圖2.3 晶振電路</p><p>  單片機(jī)運(yùn)行程序的速度與振蕩器的頻率有關(guān)。單片機(jī)在讀、寫操作時(shí)都需要消耗一定的時(shí)間。機(jī)器周期是指單片機(jī)完成一個(gè)基本操作所用的時(shí)間,當(dāng)外接石英晶體為12MHz時(shí),1個(gè)機(jī)器周期為1ms;當(dāng)外接石英晶體為6MHz時(shí),1個(gè)機(jī)器周期為1ms。</p><p> ?。?)復(fù)位電路 &l

32、t;/p><p>  在實(shí)際應(yīng)用中,復(fù)位電路有兩種基本形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位如圖2.4所示。</p><p>  上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。常用的上電復(fù)位電路如圖2-4(a)所示。上電瞬間RST引腳獲得高電平,隨著電容C1的充電,RST引腳的高電平將逐漸下降。RST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。該

33、電路典型的電阻和電容參數(shù)為:晶振為12MHz時(shí),C1為10uF,R1為8.2KΩ;晶振為6MHz時(shí),電容C1為22uF,R1為1KΩ。</p><p>  上電與按鍵均有效的復(fù)位電路如圖2.4(b)所示。上電與按鍵均有效的復(fù)位電路原理與上電復(fù)位原理相同,不同的是上電與按鍵均有效的復(fù)位電路在單片機(jī)運(yùn)行期間,能用按鍵來控制復(fù)位操作晶振為6MHz時(shí),電容C1為22uF,R2為200Ω</p><p&

34、gt;<b>  圖</b></p><p>  2.4(a)上電復(fù)位電路 圖2.4(b)上電與按鍵均有效復(fù)位電路</p><p>  本設(shè)計(jì)中使用后者電路復(fù)位,就是可以在單片機(jī)運(yùn)行期間可以人工的復(fù)位。這樣是比較方便。</p><p>  2.2 顯示電路設(shè)計(jì)</p><p>  .2.2.1 顯示器的

35、簡(jiǎn)介</p><p>  發(fā)光二極管LED是簡(jiǎn)單常用的輸出設(shè)備,通常用來指示機(jī)器的狀態(tài)或其它信息。它的優(yōu)點(diǎn)是價(jià)格低,壽命長(zhǎng),對(duì)電壓電流的要求低及容易實(shí)現(xiàn)多路等,因而在測(cè)量控制儀器中獲得了廣泛的應(yīng)用。</p><p>  LED是近似于恒壓的元器件,到導(dǎo)電時(shí)(發(fā)光)的正向壓降一般約為1.6V或2.4V,反向擊穿電壓一般≥5V。工作電流通常在10---20mA,故電路中需要串聯(lián)適當(dāng)?shù)南蘖麟娮琛?/p>

36、發(fā)光強(qiáng)度基本上與正向電流成正比。發(fā)光效率和顏色取決于制造的材料,一般常用紅色,偶爾也用于黃色或綠色。</p><p>  多個(gè)LED可接成共陰或共陽(yáng)極形式。通過驅(qū)動(dòng)器接到系統(tǒng)的并行輸出口上,由CPU輸出適當(dāng)?shù)拇a來點(diǎn)亮或熄滅相應(yīng)的LED。</p><p>  發(fā)光二級(jí)管顯示驅(qū)動(dòng)(點(diǎn)亮)的方法有如下2種:</p><p>  靜態(tài)驅(qū)動(dòng)方法:即給欲點(diǎn)亮的LED通過恒定的

37、定流。這種驅(qū)動(dòng)方法需要顯示的位數(shù)增加時(shí),所需的邏輯部件及連線也相應(yīng)增加,成本也增加。</p><p>  動(dòng)態(tài)驅(qū)動(dòng)方法:是給欲點(diǎn)亮的LED通過脈沖電流,此時(shí)LED的脈沖電流倍數(shù)于其額定電流值。利用動(dòng)態(tài)驅(qū)動(dòng)方法可以減少需要的邏輯部件和連線。</p><p>  7段LED數(shù)碼顯示器</p><p>  最常用的一種數(shù)碼顯示器是由7段條形的LED組成,如圖2.5所示。&

38、lt;/p><p>  圖2.5(a)共陰極接法 圖2.5(b)共陽(yáng)極接法</p><p>  點(diǎn)亮適當(dāng)?shù)淖侄?,就可以出不同的?shù)字。此外不少于7段數(shù)碼管顯示器在右下角帶有一個(gè)圓形的LED作小數(shù)點(diǎn)用,這樣一共有8段,恰好適用于8位的并行系統(tǒng)。</p><p>  圖2.5(a)為共陰極接法,公共陰極接地。當(dāng)各段陽(yáng)極上的電平為“1”時(shí)

39、,該段點(diǎn)亮;電平為“0”時(shí),段就熄滅。圖2.5(b)為共陽(yáng)極接法+5V電源。當(dāng)各段陰極上的電平為“0”時(shí),該段就點(diǎn)亮;電平為“1”時(shí),段就熄滅。圖中的電阻是限流電阻。</p><p>  圖2.6 7段LED數(shù)碼管顯示器內(nèi)部段的排列</p><p>  為了在7段(圖2.6)LED上顯示不同的數(shù)字或字符,首先要把數(shù)字或字符轉(zhuǎn)換成相應(yīng)的段碼(又稱字型碼),由于電路接法不同,形成的段碼也不相

40、同,如表2-1所示。</p><p>  表2-1 7段數(shù)碼顯示器的段位碼</p><p>  注:由于用MAX7219驅(qū)動(dòng)譯碼,所以,本文選用共陰極數(shù)碼管,只顯示0---9,如果要用7段數(shù)碼顯示器顯示多位數(shù)字,就用MAX7219來驅(qū)動(dòng),下一節(jié)MAX7219的驅(qū)動(dòng)。詳情請(qǐng)參考上一節(jié)。</p><p>  2.2.2 驅(qū)動(dòng)芯片的簡(jiǎn)介</p><p

41、>  MAX7219是MAXMI公司生產(chǎn)的一種串行接口方式7段共陰極LED顯示驅(qū)動(dòng)器。其片內(nèi)包含有一個(gè)BCD碼到B碼的譯碼器、多路復(fù)用掃描電路、字段和字位驅(qū)動(dòng)器,以及存儲(chǔ)每個(gè)數(shù)字的8X8RAM。每位數(shù)字都可以被尋址和更新,允許對(duì)每一位數(shù)字選擇B碼譯碼或不譯碼。采用三線串行方式與單片機(jī)接口。電路十分簡(jiǎn)單,只需要一個(gè)10KΩ左右的外接電阻來設(shè)置所有LED的段電流。MAX7219的引腳排列如圖2.7所示。</p><

42、p>  圖2.7 MAX7219的引腳排列</p><p><b> ?。?)引腳功能簡(jiǎn)介</b></p><p>  DIN:串行數(shù)據(jù)輸入。在CLK時(shí)鐘的上升沿,串行數(shù)據(jù)被移入內(nèi)部移位寄存器。移入時(shí)最高位(MSB)在前。</p><p>  DIG0-7:8根字位驅(qū)動(dòng)引腳,它從LED顯示器吸入電流。</p><p&g

43、t;  GND:接地,兩根GND引腳必須相連。</p><p>  LOAD:裝載數(shù)據(jù)輸入。在LOAD的上升沿,串行輸入數(shù)據(jù)的最后16位被鎖存。</p><p>  CLK:時(shí)鐘輸入。它是串行數(shù)據(jù)輸入時(shí)所需的移位脈沖。最高時(shí)鐘頻率為10MHz,在CLK地上升沿串行數(shù)據(jù)被移入內(nèi)部移位寄存器,在CLK的下降沿?cái)?shù)據(jù)從DOUT移出。</p><p>  SEGA-SEGG,

44、DP:七段和小數(shù)點(diǎn)驅(qū)動(dòng)輸出,它提供LED顯示器源電流。</p><p>  ISET:通過一個(gè)10KΩ電阻Rset接到V+以設(shè)置峰值段電流。</p><p>  V+:+5V電源電壓。</p><p>  DOUT:串行數(shù)據(jù)輸出。輸入到DIN的數(shù)據(jù)經(jīng)過16.5個(gè)時(shí)鐘周期后,在DOUT端有效。</p><p>  (2) MAX7219的傳輸方

45、式:</p><p>  采用串行數(shù)據(jù)傳輸方式,由16位數(shù)據(jù)包發(fā)送到DIN引腳的串行數(shù)據(jù)在每個(gè)CLK的上升沿被移入的內(nèi)部16位移位寄存器,然后在LOAD的上升沿將數(shù)據(jù)所存到數(shù)字或控制寄存器中。LOAD信號(hào)必須在第16個(gè)時(shí)鐘上升沿同時(shí)或之后,但在下一個(gè)時(shí)鐘上升沿之前變高;否則將會(huì)丟失數(shù)據(jù)。DIN端的數(shù)據(jù)通過移位寄存器傳送,并在16.5個(gè)時(shí)鐘周期之后出現(xiàn)在DOUT端。DOUT端的數(shù)據(jù)在CLK的下降沿輸出。串行數(shù)據(jù)以1

46、6位為一幀,其中,D11-D8為內(nèi)部寄存器地址,D7-D0為寄存器數(shù)據(jù),格式如表2-2所示。</p><p>  表2-2 MAX7219的串行數(shù)據(jù)格式</p><p>  (3) MAX7219的內(nèi)部寄存器:</p><p>  MAX7219具有14個(gè)可尋址的內(nèi)部數(shù)字和控制寄存器。8個(gè)數(shù)字寄存器由一個(gè)片內(nèi)8X8雙端口SRAM實(shí)現(xiàn),它們可以直接尋址;因此,可以對(duì)單

47、個(gè)數(shù)字進(jìn)行更新;并且只要V+超過2V,數(shù)據(jù)就可以保留下去??刂萍拇嫫饔?個(gè),分別為譯碼方式、顯示亮度、掃描界限(掃描數(shù)位的個(gè)數(shù))、停機(jī)和顯示測(cè)試。另外還有一個(gè)空操作寄存器(NO-OP),在不改變顯示或影響任一控制寄存器的條件下器件級(jí)聯(lián)時(shí),它允許數(shù)據(jù)從DIN傳到DOUT。表2.3所列為MAX7219的內(nèi)部寄存器及其地址。</p><p>  表2-3 MAX7219的內(nèi)部寄存器及其地址</p>&l

48、t;p>  下面以表格形式對(duì)MAX7219內(nèi)部寄存器中不同數(shù)據(jù)所表示的含義進(jìn)行說明。</p><p>  表2-4為譯碼方式寄存器中數(shù)據(jù)的含義。從表中可見,寄存器中的每一位與一個(gè)數(shù)字位相對(duì)應(yīng),邏輯高電平選擇B譯碼,而邏輯低電平則選擇旁路譯碼器。</p><p>  表2-4 譯碼方式寄存器(地址 = X9H)</p><p>  MAX7219可用V+和IS

49、ET之間所接外部電阻Rset來控制顯示亮度。來自段驅(qū)動(dòng)器的峰值電流通常為進(jìn)入ISET電流的100倍。Rset既可以為固定電阻,也可以為可變電阻,以提供來自面板的亮度調(diào)節(jié),其最小值為9.52KΩ。段電流的數(shù)字控制由內(nèi)部脈寬調(diào)制DAC控制。該DAC通過亮度寄存器向低4位加載,將平均峰值電流按16級(jí)比例設(shè)計(jì),從Rset設(shè)置峰值電流的31/32的最大值到1/32的最小值,如表2-5所列,最大亮度出現(xiàn)在占空比為31/32時(shí)。</p>

50、<p>  表2-5 亮度寄存器(地址 = XAH)</p><p>  掃描界限寄存器用于設(shè)置所顯示的數(shù)字位,可以為1-8。通常以掃描頻率為1300Hz、8位數(shù)字、多路方式顯示。因?yàn)樗鶔呙钄?shù)字的多少會(huì)影響顯示亮度,所以要注意調(diào)整。如果掃描界限寄存器被設(shè)置為3個(gè)數(shù)字或更少,各數(shù)值驅(qū)動(dòng)器將消耗過量的功率。因此,Rset電阻的值必須按所顯示數(shù)字的位數(shù)多少適當(dāng)調(diào)整,以限制各個(gè)數(shù)字驅(qū)動(dòng)器的功耗。表2-6為掃

51、描界限寄存器中數(shù)據(jù)的含義。</p><p>  表2-6 掃描界限寄存器(地址=XBH)</p><p>  當(dāng)MAX7219處于停機(jī)方式時(shí),掃描振蕩器停止工作,所有的段電流源被拉到地,而所有的位驅(qū)動(dòng)器被拉到V+,此時(shí)LED將不顯示。在數(shù)字和控制寄存器中的數(shù)據(jù)保持不變。停機(jī)方式可用于節(jié)省功耗或使LED處于閃爍。MAX7219退出停機(jī)方式的時(shí)間不到250uS,在停機(jī)方式下顯示驅(qū)動(dòng)器還可以進(jìn)

52、行編程。停機(jī)方式可以被顯示測(cè)試功能取消。表2-7為停機(jī)寄存器中數(shù)據(jù)的含義。</p><p>  表2-7 停機(jī)寄存器(地址 = XCH)</p><p>  顯示測(cè)試寄存器有兩種工作方式:正常和顯示測(cè)試。在顯示測(cè)試方式下8位數(shù)字被掃描,占空比為31/32。通常不考慮(但不改變)所有控制寄存器和數(shù)據(jù)寄存器(包括停機(jī)寄存器)內(nèi)的控制器來接通所有的LED顯示器。表2-8為顯示測(cè)試寄存器中數(shù)據(jù)的

53、含義。</p><p>  表 2-8 顯示測(cè)試寄存器(地址 = XFH)</p><p>  數(shù)字0-7寄存器受譯碼器寄存器的控制:譯碼或不譯碼。數(shù)據(jù)將寄存器可將BCD碼譯成B碼(0-9、-、E、L、P),如表2-9所列。如果不譯碼,則數(shù)字寄存器中數(shù)據(jù)的D6-D0為=位分別對(duì)應(yīng)7段LED顯示器的A-G段,D7位對(duì)應(yīng)LED的小數(shù)點(diǎn)DP。某一位數(shù)據(jù)為1,則點(diǎn)亮與該位對(duì)應(yīng)的LED段;數(shù)據(jù)為0

54、,則熄滅該段。</p><p>  表 2-9 數(shù)字0-7寄存器(地址 = X1H – X8H)</p><p>  注:小數(shù)點(diǎn)DP由D7位控制,D7=1點(diǎn)亮小數(shù)點(diǎn)</p><p>  .2.2.3 顯示電路</p><p>  圖2.8為89S52單片機(jī)與MAX7219的一種接口。89S52的P1.0口連接到</p>&l

55、t;p>  圖2.8 MAX7219與89S52單片機(jī)接口</p><p>  MAX7219的DIN端,P1.1口連到LOAD端,P1.2連到CLK端。采用軟件模擬方式產(chǎn)生MAX7219所需的工作時(shí)序。圖2.8為數(shù)據(jù)傳輸時(shí)序設(shè)計(jì)的MAX7219顯示驅(qū)動(dòng)程序例子,程序執(zhí)行后在LED上顯示8051字樣。</p><p>  2.3溫度采集電路設(shè)計(jì)</p><p&g

56、t;  2.3.1 溫度采集芯片簡(jiǎn)介</p><p>  1. DS18B20引腳結(jié)構(gòu)如圖2.10所示。</p><p>  圖2.10 引腳結(jié)構(gòu) </p><p>  DS1820通過一個(gè)單線接口發(fā)送或接收信息,因此在中央微處理器和DS1820之間僅需一條連接線(加上地線)。用于讀寫和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無(wú)需外部電源。</p><

57、;p>  因?yàn)槊總€(gè)DS1820都有一個(gè)獨(dú)特的片序列號(hào),所以多只DS1820可以同時(shí)連在一根單線總線上,這樣就可以把溫度傳感器放在許多不同的地方。這一特性在HVAC環(huán)境控制、探測(cè)建筑物、儀器或機(jī)器的溫度以及過程監(jiān)測(cè)和控制等方面非常有用。</p><p><b>  引腳說明</b></p><p><b>  GND:接地。</b></

58、p><p><b>  NC :接空。</b></p><p>  DQ :數(shù)據(jù)輸入/輸出腳。</p><p>  VDD:外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。</p><p>  2. 技術(shù)性能描述 </p><p> ?。?)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一

59、條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 </p><p> ?。?)測(cè)溫范圍 -55℃~+125℃,固有測(cè)溫分辨率0.5℃。 </p><p>  (3)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個(gè),如果數(shù)量過多,會(huì)使供電電源電壓過低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定,實(shí)現(xiàn)多點(diǎn)測(cè)溫 。</p><p>  (4)工作電源: 3~5

60、V/DC 。</p><p> ?。?)在使用中不需要任何外圍元件 。</p><p> ?。?)測(cè)量結(jié)果以9~12位數(shù)字量方式串行傳送。 </p><p>  (7)不銹鋼保護(hù)管直徑 Φ6。 </p><p> ?。?)適用于DN15~25, DN40~DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測(cè)溫。 </p><p>

61、; ?。?)標(biāo)準(zhǔn)安裝螺紋 M10X1, M12X1.5, G1/2任選。 </p><p>  (10)PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。 </p><p><b>  3. 應(yīng)用范圍 </b></p><p> ?。?)該產(chǎn)品適用于冷凍庫(kù),糧倉(cāng),儲(chǔ)罐,電訊機(jī)房,電力機(jī)房,電纜線槽等測(cè)溫和控制領(lǐng)域 。</p&

62、gt;<p> ?。?)軸瓦,缸體,紡機(jī),空調(diào),等狹小空間工業(yè)設(shè)備測(cè)溫和控制。 </p><p> ?。?)汽車空調(diào)、冰箱、冷柜、以及中低溫干燥箱等。 </p><p> ?。?)熱制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測(cè)溫和控制 。</p><p>  4. DS18B20測(cè)溫原理如圖2.11所示。</p><p>

63、;  圖2.11 測(cè)溫原理</p><p>  表2-10 溫度/數(shù)據(jù)關(guān)系</p><p>  DS18B20是這樣測(cè)溫的:用一個(gè)高溫度系數(shù)的振蕩器確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)門周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來得溫度值。計(jì)數(shù)器被預(yù)置到對(duì)應(yīng)于-55℃的一個(gè)值。如果計(jì)數(shù)器在門周期結(jié)束之前到達(dá)0,則溫度寄存器(同樣被預(yù)置到-55℃)的值增加,表明所測(cè)溫度大于-55℃。<

64、;/p><p>  同時(shí),計(jì)數(shù)器被復(fù)位到一個(gè)值,這個(gè)值由斜坡式累加器電路用來補(bǔ)償感溫振蕩器的拋物線特性。然后計(jì)數(shù)器又開始計(jì)數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。</p><p>  斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以期在測(cè)溫時(shí)獲得比較高的分辨力,這是通過改變計(jì)數(shù)器對(duì)溫度每增加一度所需計(jì)數(shù)的值來實(shí)現(xiàn)的。因此,要想獲得所需的分辨力,必須同時(shí)知道在給定溫度下計(jì)數(shù)器的值和每一度的計(jì)數(shù)值

65、。</p><p>  DS18B20內(nèi)部對(duì)此計(jì)算的結(jié)果提供0.5℃的分辨力。溫度以16bit帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出,表給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過單線接口以串行方式傳輸。</p><p>  DS18B20測(cè)溫范圍-55℃--- +125℃,以0.5℃遞增。如果于華氏溫度,必須要用一個(gè)轉(zhuǎn)換因子查找。</p><p><b>  5)

66、時(shí)序</b></p><p>  主機(jī)使用時(shí)間隙(time slots)來讀寫DSl820的數(shù)據(jù)位和寫命令字的位。</p><p><b>  (1)初始化</b></p><p>  時(shí)序見圖2.12主機(jī)總線to時(shí)刻發(fā)送一復(fù)位脈沖(最短為480us的低電平信號(hào))接著在tl時(shí)刻釋放總線并進(jìn)入接收狀態(tài)DSl820在檢測(cè)到總線的上升沿之

67、后等待15-60us接著DS1820在t2時(shí)刻發(fā)出存在脈沖(低電平持續(xù)60-240 us)如圖中虛線所示。</p><p>  圖2.12 初始化時(shí)序圖</p><p><b>  (2). 寫時(shí)間隙</b></p><p>  當(dāng)主機(jī)總線to時(shí)刻從高拉至低電平時(shí)就產(chǎn)生寫時(shí)間隙見圖2.13(a)圖1.13(b)從to時(shí)刻開始15us之內(nèi)應(yīng)將所需

68、寫的位送到總線上DSl820在t0后15-60us間對(duì)總線采樣若低電平寫入的位是0見圖2.13(a),若高電平寫入的位是1,見圖2.13(b),連續(xù)寫2位間的間隙應(yīng)大于1us。</p><p>  圖2.13(a)寫0時(shí)序 圖2.13(b) 寫1時(shí)序 </p><p><b>  (3). 讀時(shí)間隙</b>&

69、lt;/p><p>  見圖2.14主機(jī)總線to時(shí)刻從高拉至低電平時(shí)總線只須保持低電平l7us之后,在t1時(shí)刻將總線拉高產(chǎn)生讀時(shí)間隙,讀時(shí)間隙在t1時(shí)刻后t2時(shí)刻前有效t2距t0為15us也就是說t2時(shí)刻前主機(jī)必須完成讀位并在t0后的60us-120us內(nèi)釋放總線。讀位子程序(讀得的位到C中)。</p><p><b>  圖2.14 讀時(shí)序</b></p>

70、<p>  .2.3.2溫度采集電路</p><p>  此電路圖是以DS18B20溫度采集芯片為主,以單片機(jī)為輔。通過溫度采集芯片采集到外部溫度轉(zhuǎn)化之后,再通過單片機(jī)芯片的轉(zhuǎn)化然后輸出顯示。如圖2.15所示。 圖2.15 溫度采集電路</p><p>  2.4 實(shí)時(shí)時(shí)鐘電路設(shè)計(jì)</p><p>  DS1302

71、是美國(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ì)后

72、備電源進(jìn)行涓細(xì)電流充電的能力。</p><p>  2.4.1時(shí)鐘芯片簡(jiǎn)介</p><p>  Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。</p><p>  X1和

73、X2是振蕩源,外接32.768kHz晶振。</p><p>  RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:</p><p>  首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器。</p><p>  其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1

74、302進(jìn)行操作。</p><p>  如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。</p><p>  I/O為串行數(shù)據(jù)輸入輸出端(雙向)。</p><p>  SCLK為時(shí)鐘輸入端。 如圖(2.16)為DS1302的引

75、腳功能圖。 </p><p>  2 </p><p>  

76、圖2.16 DS1302的引腳圖分布</p><p>  1) DS1302的控制字節(jié)</p><p>  DS1302 的控制字如表2-11所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控

77、制字節(jié)總是從最低位開始輸出。 </p><p>  表2-11 DS1302的控制字節(jié)</p><p>  2)數(shù)據(jù)輸入輸出(I/O)</p><p>  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7

78、。 </p><p>  3)DS1302的寄存器</p><p>  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共

79、31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。DS1302內(nèi)部寄存器的列表如圖2-12所示。</p><p>  表2-12 DS1302內(nèi)部寄存器列表</p><p>  5)DS1302的寄存器和控制命令</

80、p><p>  DS1302工作是為了對(duì)任何數(shù)據(jù)傳送進(jìn)行初始化,需要將要復(fù)位腳(RST)置為高電平且將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時(shí)鐘(SCLK)的上升沿串行輸入,前8位指定訪問地址,命令字裝入寄存器后,在之后的時(shí)鐘周期,讀操作時(shí)輸出數(shù)據(jù),寫操作時(shí)輸出數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8+8(8位地址+8位輸數(shù)據(jù)),在多字節(jié)方式下為8加最多可達(dá)248的數(shù)據(jù)。對(duì)DS1302的操作就是對(duì)其內(nèi)部寄存器的操作,

81、DS1302內(nèi)部共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、始終突發(fā)寄存器及與RAM相關(guān)的寄存器等。始終突發(fā)寄存器可一次性順利讀寫除充電寄存器以外的寄存器。日歷、時(shí)間寄存器及控制字如表2-13所示。</p><p>  表2-13 日歷、時(shí)鐘寄存器與控制字對(duì)照表</p><p>  注:最后一位

82、RD/W為“0”時(shí)表示進(jìn)行寫操作,為“1”是表示讀操作</p><p>  物理上,DS1302的通訊接口由3個(gè)口線組成,即RST,SCLK,I/O。其中RST從低電平變成高電平啟動(dòng)一次數(shù)據(jù)傳輸過程,SCLK是時(shí)鐘線,I/O是數(shù)據(jù)線。具體的讀寫時(shí)序參考下圖,但是請(qǐng)注意,無(wú)論是哪種同步通訊類型的串行接口,都是對(duì)時(shí)鐘信號(hào)敏感的,而且一般數(shù)據(jù)寫入有效是在上升沿,讀出有效數(shù)據(jù)是在下降沿(DS1302正是如此的,但是在芯片

83、手冊(cè)里沒有明確說明),如果不是特別確定,則把程序設(shè)計(jì)成這樣:平時(shí)SCLK保持低電平,在時(shí)鐘變動(dòng)前設(shè)置數(shù)據(jù),在時(shí)鐘變動(dòng)后讀取數(shù)據(jù),即數(shù)據(jù)操作總是在SCLK保持為低電平的時(shí)候,相鄰的操作之間間隔有一個(gè)上升沿和一個(gè)下降沿。</p><p>  圖2.17 DS1302的命令結(jié)構(gòu)</p><p><b>  2.4.2時(shí)鐘電路</b></p><p>

84、  此電路圖中是以DS1302時(shí)鐘芯片為主,單片機(jī)為輔來控制時(shí)鐘。DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。如圖2.18所示。</p><p>  圖2.18 時(shí)鐘電路</p><p><b>  3系統(tǒng)軟件的設(shè)計(jì)</b></p><p>  3.1 主程序流程圖</p><

85、p>  時(shí)間調(diào)整使用兩個(gè)調(diào)整按鍵,一個(gè)作為控制位移,另一個(gè)作為加“1”調(diào)整,分別定義為控制按鍵,加“1”按鍵。在調(diào)整時(shí)間的過程中,需要調(diào)整的位與其他應(yīng)該區(qū)別開來,所以增加了閃爍功能。主程序流程圖如下圖3.1所示。</p><p><b>  是</b></p><p><b>  否</b></p><p>  圖3

86、.1基于AT89S52單片機(jī)的萬(wàn)年歷主程序流程圖</p><p>  3.2 系統(tǒng)子程序的設(shè)計(jì)</p><p>  在系統(tǒng)中不僅包括主程序的設(shè)計(jì)為了在編寫程序中方便,可以使用子程序,這樣只需要調(diào)用子程序就可以實(shí)現(xiàn)。</p><p>  3.2.1 MAX7219送顯示流程圖</p><p>  在系統(tǒng)一開始首先定義變量,定義好之后初始化各個(gè)

87、變量的初始值,然后設(shè)置顯示區(qū)的首地址,設(shè)置好之后開始傳輸數(shù)據(jù),傳送完之后就開始顯示傳輸?shù)臄?shù)據(jù)值。如圖3.2所示。</p><p>  圖3.2 MAX7219的流程圖</p><p>  3.2.2 DS1302的流程圖</p><p>  DS1302可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,其中主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備

88、電源進(jìn)行涓細(xì)電流充電的能力。首先對(duì)DS1302初始化,然后再讀取DS1302中的時(shí)間,最后將時(shí)、分、秒顯示出來,如此循環(huán)來計(jì)時(shí),如圖3.3所示。</p><p>  圖3.3 DS1302的流程圖</p><p>  3.2.3 18B20的流程圖</p><p>  DS1820通過一個(gè)單線接口發(fā)送或接收信息,因此在中央微處理器和DS1820之間僅需一條連接線(加

89、上地線)。用于讀寫和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無(wú)需外部電源。接通后首先采集溫度,然后初始化,再啟動(dòng)溫度轉(zhuǎn)換,然后讀取溫度,最后輸出返回,如圖3.4所示。</p><p>  圖3.4 DS18B20的流程圖</p><p><b>  4 系統(tǒng)仿真簡(jiǎn)介</b></p><p>  4.1 仿真軟件簡(jiǎn)介</p><

90、p>  Protues軟件是英國(guó)Labcenter Electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB

91、設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯。</p><p> 

92、 圖4.1 Protues仿真編譯界面</p><p>  1.軟件的功能特點(diǎn):</p><p>  Protues軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:</p><p> ?。?)原理布圖、PCB自動(dòng)或人工布線、SPICE電路仿真</p><p> ?。?)Protues提供的仿真元器件資源:仿真數(shù)字和模擬

93、、交流和直流等數(shù)千種元器件,有30多個(gè)元件庫(kù)。</p><p>  (3)Protues提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、SPI調(diào)試器、I2C調(diào)試器、信號(hào)發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個(gè)電路中隨意的調(diào)用?!?lt;/p><p> ?。?)Protues提供了一個(gè)圖形顯示功能,可以將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來,其作用與

94、示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對(duì)測(cè)量結(jié)果的影響。</p><p> ?。?)Protues提供的調(diào)試手段 Protues提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。</p><p>  2. 用Protues軟件編寫原理圖:</p><p> ?。?/p>

95、1)智能原理圖設(shè)計(jì)(ISIS)</p><p>  豐富的器件庫(kù):超過27000種元器件,可方便地創(chuàng)建新元件;智能的器件搜索:通過模糊搜索可以快速定位所需要的器件;智能化的連線功能:自動(dòng)連線功能使連接導(dǎo)線簡(jiǎn)單快捷,大大縮短繪圖時(shí)間;支持總線結(jié)構(gòu):使用總線器件和總線布線使電路設(shè)計(jì)簡(jiǎn)明清晰;可輸出高質(zhì)量圖紙:通過個(gè)性化設(shè)置,可以生成印刷質(zhì)量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用。<

96、;/p><p> ?。?)完善的電路仿真功能(Prospice)</p><p>  ProSPICE混合仿真:基于工業(yè)標(biāo)準(zhǔn)SPICE3F5,實(shí)現(xiàn)數(shù)字/模擬電路的混合仿真;超過27000個(gè)仿真器件:可以通過內(nèi)部原型或使用廠家的SPICE文件自行設(shè)計(jì)仿真器件,Labcenter也在不斷地發(fā)布新的仿真器件,還可導(dǎo)入第三方發(fā)布的仿真器件。 </p><p>  多樣的激勵(lì)源:

97、包括直流、正弦、脈沖、分段線性脈沖、音頻(使用wav文件)、指數(shù)信號(hào)、單頻FM、數(shù)字時(shí)鐘和碼流,還支持文件形式的信號(hào)輸入。 </p><p>  豐富的虛擬儀器:13種虛擬儀器,面板操作逼真,如示波器、邏輯分析儀、信號(hào)發(fā)生器、直流電壓/電流表、交流電壓/電流表、數(shù)字圖案發(fā)生器、頻率計(jì)/計(jì)數(shù)器、邏輯探頭、虛擬終端、SPI調(diào)試器、I2C調(diào)試器等。 </p><p>  生動(dòng)的仿真顯示:用色點(diǎn)顯

98、示引腳的數(shù)字電平,導(dǎo)線以不同顏色表示其對(duì)地電壓大小,結(jié)合動(dòng)態(tài)器件(如電機(jī)、顯示器件、按鈕)的使用可以使仿真更加直觀、生動(dòng)。 </p><p>  高級(jí)圖形仿真功能(ASF):基于圖標(biāo)的分析可以精確分析電路的多項(xiàng)指標(biāo),包括工作點(diǎn)、瞬態(tài)特性、頻率特性、傳輸特性、噪聲、失真、傅立葉頻譜分析等,還可以進(jìn)行一致性分析。</p><p> ?。?)獨(dú)特的單片機(jī)協(xié)同仿真功能(VSM)</p>

99、<p>  支持主流的CPU類型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU類型隨著版本升級(jí)還在繼續(xù)增加,如即將支持CORTEX、DSP處理器。</p><p>  支持通用外設(shè)模型:如字符LCD模塊、圖形LCD模塊、LED點(diǎn)陣、LED七段顯示模塊、鍵盤/按鍵、直流/步進(jìn)/

100、伺服電機(jī)、RS232虛擬終端、電子溫度計(jì)等等,其COMPIM(COM口物理接口模型)還可以使仿真電路通過PC機(jī)串口和外部電路實(shí)現(xiàn)雙向異步串行通信。 </p><p>  實(shí)時(shí)仿真:支持UART/USART/EUSARTs仿真、中斷仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真?!?lt;/p><p>  編譯及調(diào)試:支持單片機(jī)匯編語(yǔ)言的編輯/編

101、譯/源碼級(jí)仿真,內(nèi)帶8051、AVR、PIC的匯編編譯器,也可以與第三方集成編譯環(huán)境(如IAR、Keil和Hitech)結(jié)合,進(jìn)行高級(jí)語(yǔ)言的源碼級(jí)仿真和調(diào)試。</p><p> ?。?)實(shí)用的PCB設(shè)計(jì)平臺(tái)</p><p>  原理圖到PCB的快速通道: 原理圖設(shè)計(jì)完成后,一鍵便可進(jìn)入ARES的PCB設(shè)計(jì)環(huán)境,實(shí)現(xiàn)從概念到產(chǎn)品的完整設(shè)計(jì)?!?lt;/p><p>  先進(jìn)

102、的自動(dòng)布局/布線功能:支持器件的自動(dòng)/人工布局;支持無(wú)網(wǎng)格自動(dòng)布線或人工布線;支持引腳交換/門交換功能使PCB設(shè)計(jì)更為合理。 </p><p>  完整的PCB設(shè)計(jì)功能:最多可設(shè)計(jì)16個(gè)銅箔層,2個(gè)絲印層,4個(gè)機(jī)械層(含板邊),靈活的布線策略供用戶設(shè)置,自動(dòng)設(shè)計(jì)規(guī)則檢查,3D 可視化預(yù)覽。 </p><p>  多種輸出格式的支持:可以輸出多種格式文件,包括Gerber文件的導(dǎo)入或?qū)С?,?/p>

103、利與其它PCB設(shè)計(jì)工具的互轉(zhuǎn)(如Protel)和PCB板的設(shè)計(jì)和加工。</p><p><b>  3. 軟件仿真:</b></p><p>  支持當(dāng)前的主流單片機(jī),如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。   </p><p> ?。?)提供軟件調(diào)試功能。   &l

104、t;/p><p> ?。?)提供豐富的外圍接口器件及其仿真。RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。</p><p> ?。?)提供豐富的虛擬儀器,利用虛擬儀器在仿真過程中可以測(cè)量外圍電路的特性。  </p><p>  (4)具有強(qiáng)大的原理圖繪制功。</p><p>  4. 電路功能仿真:<

105、;/p><p>  在PROTUES繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTUES的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。PROTUES 是單片機(jī)課堂教學(xué)的先進(jìn)助手。PROTUES不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相

106、當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。</p><p>  由于PROTUES提供了實(shí)驗(yàn)室無(wú)法相比的大量的元器件庫(kù),提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)。隨著科技的發(fā)展“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門重要

107、的前期設(shè)計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)??墒乖O(shè)計(jì)時(shí)間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。相信在單片機(jī)開發(fā)應(yīng)用中PROTUES也能獲得愈來愈廣泛的應(yīng)用。</p><p>  4.2 軟件仿真的過程</p><p><b>  1. 繪制原理圖</b></p><p>  圖4.2 用protues畫的原理圖</p

108、><p><b>  2. 導(dǎo)入程序</b></p><p> ?。?)在Keil c軟件中最后生成的是*.hex文件。</p><p> ?。?)在Protues軟件中畫好原理圖后,然后雙擊主芯片AT89S52就會(huì)彈出如圖(4.4)所示的對(duì)話框。然后再選擇上面生成的*.hex文件。最后進(jìn)行運(yùn)行。</p><p>  圖4.

109、4程序加載的界面</p><p><b>  4.3仿真結(jié)果</b></p><p>  8位數(shù)碼管中分別顯示的是:溫度、年/時(shí)、月/分、日/秒,如圖4.5所示。</p><p>  圖4.5(a)顯示的是初始化的溫度、時(shí)、分、秒</p><p>  圖4.5(b)顯示的是初始化的溫度、年、月、日</p>

110、<p><b>  致謝</b></p><p>  感謝指導(dǎo)老師趙秀英老師,在這次課題設(shè)計(jì)中趙老師幫助我了很多,程序或者是仿真軟件的繪圖出現(xiàn)錯(cuò)誤導(dǎo)致不能正確運(yùn)行時(shí),老師都給予了耐心指導(dǎo),最終使我的設(shè)計(jì)完美運(yùn)行沒有錯(cuò)誤。通過這次課程設(shè)計(jì)我對(duì)單片機(jī)課程的學(xué)習(xí)有了更進(jìn)一步的認(rèn)識(shí),我對(duì)單片機(jī)也有了鉆研的興趣,學(xué)習(xí)了很多,收獲了很多。</p><p><b&g

111、t;  參考文獻(xiàn)</b></p><p>  【1】李軍.51系列單片機(jī)高級(jí)實(shí)例開發(fā)指南.北京航空航天大學(xué)出版社.2004</p><p>  【2】王守義,聶元銘.51單片機(jī)開發(fā)入門與典型實(shí)例.人民郵電出版社.2009</p><p>  【3】李全利.單片機(jī)原理及應(yīng)用技術(shù).高等教育出版社.2004</p><p>  【4】高

112、偉.AT89單片機(jī)原理及應(yīng)用.北京國(guó)防工業(yè)出版社.2008</p><p>  【5】蔡朝陽(yáng).單片機(jī)控制實(shí)習(xí)與專題制作.京航空航天大學(xué)出版社.2006</p><p>  【6】劉建清.從零開始學(xué)單片機(jī)技術(shù).國(guó)防工業(yè)出版社.2006</p><p>  【7】李全利.單片機(jī)原理及應(yīng)用技術(shù).高等教育出版社.2004</p><p>  【8】徐

113、愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì).北京航空航天大學(xué)出版社.2004</p><p>  【9】楊志忠,衛(wèi)樺林.數(shù)字電子技術(shù)基礎(chǔ).高等教育出版社.2004</p><p><b>  附錄一:總原理圖</b></p><p><b>  附錄二:程序</b></p><p>  T_RST BIT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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)論