89c51單片機和ds18b20數(shù)字溫度計(外文原文+翻譯)_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  AT89S51概述</b></p><p><b>  1 一般概述 </b></p><p>  該AT89S51是一個低功耗,高性能CMOS 8位微控制器,可在4K字節(jié)的系統(tǒng)內(nèi)編程的閃存存儲器。該設(shè)備是采用Atmel的高密度、非易失性存儲器技術(shù)和符合工業(yè)標準的80C51指令集和引腳。芯片上的Flash程序存儲器在

2、系統(tǒng)中可重新編程或常規(guī)非易失性內(nèi)存編程 。通過結(jié)合通用8位中央處理器的系統(tǒng)內(nèi)可編程閃存的單芯片, AT89S51是一個功能強大的微控制器提供了高度靈活的和具有成本效益的解決辦法,可在許多嵌入式控制中應(yīng)用。 </p><p>  在AT89S51提供以下標準功能: 4K字節(jié)的Flash閃存 , 128字節(jié)的RAM , 32個 I / O線,看門狗定時器,兩個數(shù)據(jù)指針,兩個16位定時器/計數(shù)器, 5向量兩級中斷結(jié)構(gòu),

3、全雙工串行端口,片上振蕩器和時鐘電路。此外, AT89S51設(shè)計了可降至零頻率的靜態(tài)邏輯操作和支持兩種軟件可選的節(jié)電工作模式。</p><p>  在空閑模式下停止CPU的工作,但允許RAM 、定時器/計數(shù)器、串行接口和中斷系統(tǒng)繼續(xù)運行。掉電模式保存RAM中的內(nèi)容,停止振蕩器工作并禁止其它所有部件工作,直到下一個外部中斷或硬件復(fù)位。 </p><p><b>  2 端口<

4、/b></p><p>  P0端口是一個8位漏極開路雙向I / O端口。作為一個輸出端口,每個引腳可驅(qū)動8個TTL輸入。對端口寫“1”可作為高阻抗輸入端用。在訪問外部程序和數(shù)據(jù)存儲器時,P0端口也可以配置為復(fù)低階地址/數(shù)據(jù)總線。在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,PO端口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),同時要求外接上拉電阻。 </p><p>  P1端口是

5、一個帶內(nèi)部上拉電阻的8位雙向I /O端口。P1端口的輸出緩沖級可以驅(qū)動四個TTL輸入。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作為輸入口。作為輸入口時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL),F(xiàn)lash編程和程序校驗期間,P1接收低8位地址。</p><p>  P2端口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2端口的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個T

6、TL輸入。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。當作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVX @ DPTR指令 )時,P2端口送出高8位地址數(shù)據(jù)。 在訪問8位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@Ri指令)時,P2端口上的內(nèi)容(即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個訪問期間不

7、變。Flash編程或校驗時,P2也可接收高位地址和其它控制信號。</p><p>  P3端口是一組帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3端口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3端口寫入“1”時,他們被內(nèi)部上拉電阻拉高并作為輸入端口。當作輸入端時,被外部拉低的P2端口將用上拉電阻輸出電流(IIL).P3端口還接收一些用于Flash閃存編程和程序校驗的控制信號。P3端口可以采用AT89

8、S51的</p><p>  各種特殊功能,如下表所示。</p><p><b>  3 存儲器結(jié)構(gòu)</b></p><p>  MCS-51單片機內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具有64KB外部程序和數(shù)據(jù)的尋址空間。</p><p>  3.1 程序存儲器 </p><p>  

9、如果的EA引腳接地(GND),全部程序都可以執(zhí)行外部存儲器。在AT89S51 ,如果EA連接到電源+(VCC) ,程序首先執(zhí)行地址從0000H到FFFH內(nèi)部存儲器,在執(zhí)行地址從1000H到FFFFH的外部程序存儲器。</p><p>  3.2 數(shù)據(jù)存儲器 </p><p>  AT89S51具有128字節(jié)的內(nèi)部RAM 。 這128字節(jié)都可以通過直接和間接尋址方式訪問,堆棧操作可利用間接尋

10、址方式進行,因此, 128字節(jié)都可以可作為堆棧空間。</p><p>  4 看門狗定時器 (WDT)</p><p>  看門狗定時器(WDT)是為了解決CPU程序運行時可能進入混亂或死循環(huán)而設(shè)置,它由一個14bit計數(shù)器和看門狗定時器復(fù)位SFR(WDTRST)構(gòu)成。外部復(fù)位時,看門狗定時器(WDT)默認為關(guān)閉狀態(tài),要打開WDT,用戶必須按順序?qū)?1EH和0E1H寫到WDTRST寄存器(

11、SFR地址為0A6H),當啟動了WDT,它會隨警惕振蕩器在每個機器周期計數(shù),除了硬件復(fù)位或WDT溢出復(fù)位外沒有其它方法關(guān)閉WDT,當WDT溢出,將使RST引腳輸出高電平的復(fù)位脈沖。</p><p>  4.1使用看門狗定時器(WDT)</p><p>  用戶在打開WDT時,需要按次序?qū)?1EH和0E1H寫到WDTRST寄存器(SFR的地址為0A6H),當WDT打開后,需要在一定的時候?qū)?

12、1EH和0E1H寫道WDTRST寄存器以避免WDT計數(shù)溢出。14位WDT計數(shù)器達到16383(3FFFH),WDT將溢出并使用器件復(fù)位。WDT打開時,它會隨著晶體振蕩器在每個機器周期計數(shù),這意味著用戶必須在小于每個16383機器周期內(nèi)復(fù)位WDT,也即寫01EH和0E1H到WDTRST寄存器,WDTRST為只寫寄存器。WDT計數(shù)器既不可讀也不可寫,當WDT溢出時,通常將使RST引腳輸出高電平的復(fù)位脈沖。復(fù)位脈沖持續(xù)時間為98xTosc,而

13、Tosc=1/Fosc(晶體振蕩頻率)。為使WDT工作最優(yōu)化,必須在合適的程序代碼時間段周期地復(fù)位WDT防止WDT溢出。</p><p>  4.2掉電和空閑模式下的WDT</p><p>  掉電時期,晶體振蕩停止,看門狗定時器也停止。掉電模式下,用戶不嗯那個在復(fù)位看門狗定時器。有兩種方法可以推出掉電模式:硬件復(fù)位或通過激活外部中斷,當硬件復(fù)位退出掉電模式時,處理看門狗定時器可像通常的上

14、電復(fù)位一樣。當由中斷退出掉電模式時則有所不同,中斷低電平狀態(tài)持續(xù)到晶體振蕩穩(wěn)定,當中斷電平變?yōu)楦唠娖绞录纯上鄳?yīng)中斷服務(wù)。以防止中斷誤復(fù)位,當器件復(fù)位,中斷引腳持續(xù)為低時,看門狗定時器并未開始計數(shù),知道中斷引腳被拉高時為止。這為在掉電模式下的中斷執(zhí)行中斷服務(wù)程序而設(shè)置。為保證看門狗定時器在退出掉電模式時極端情況下不溢出,最好在進入掉電模式前復(fù)位看門狗定時器。在進入空閑模式前,看門狗定時器打開時,WDT是否繼續(xù)計數(shù)由SFR中的AUXR的WD

15、IDLE位決定,在IDLE期間(位WDIDLE=0)默認狀態(tài)是繼續(xù)計數(shù)。為防止AT89S51從空閑模式中復(fù)位,用戶應(yīng)該周期性地設(shè)置定時器,重新進入空閑模式。</p><p>  當WDIDLE位被置位,在空閑模式中看門狗定時器將停止計數(shù),直到從空閑(IDLE)模式中退出重新開始計數(shù)。</p><p><b>  5 中斷</b></p><p&g

16、t;  AT89S51共有五個中斷向量:兩個外部中斷( INT0和INT1 ) ,兩個定時器中斷(Timer0和Timer1)和一個串行中斷。這些中斷源各自的禁止和使能位參見特殊功能寄存器的IE。IE也包含總中斷控制位EA,EA清0,將關(guān)閉所有中斷。</p><p><b>  6 振蕩器特性 </b></p><p>  AT89S51中有一個用于構(gòu)成內(nèi)部振蕩器的高

17、增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。如圖所示。外接石英晶體或陶瓷諧振器都可以使用于反饋元件。用戶也可以采用外部時鐘,在這種情況下,外部時鐘接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空,如圖7-2所示。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但是最小高電平持續(xù)時間和最大的低電平時序時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p&g

18、t;<p><b>  7 空閑模式 </b></p><p>  在空閑工作模式狀態(tài), CPU保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍然保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時,片內(nèi)RAM和所有特殊功能寄存器的內(nèi)特那個保持不變,空閑模式可由任何語序中斷的請求或硬件復(fù)位終止。</p><p>  需要注意的是,當由硬件復(fù)位來終止空閑工作模式時,CPU通常是從激活空閑

19、模式那條指令的下一條指令開始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個機器周期有效,在這種情況下,內(nèi)部禁止CPU訪問片內(nèi)RAM,而允許訪問其他端口。為了避免在復(fù)位結(jié)束時可能對端口產(chǎn)生意外寫入,激活空閑模式的那條指令的后一條指令不應(yīng)該是一條對端口或外部存儲器的寫入指令。</p><p><b>  8 掉電模式</b></p><p>  在掉線模式下,

20、振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的方法是硬件復(fù)位或由處于使能狀態(tài)的外中斷INT0和INT1激活。復(fù)位后將重新定義全部特殊功能寄存器,但不改變原來RAM中的內(nèi)容,在VCC恢復(fù)到正常工作電平前,復(fù)位應(yīng)無效,且必須保持一定時間以使振蕩器重啟動并穩(wěn)定工作。</p><p>  DS18B20 數(shù)字溫度計</p>&

21、lt;p><b>  描述:</b></p><p>  DS18B20 數(shù)字溫度計提供9至12位溫度讀數(shù),指示器件的溫度。</p><p>  信息經(jīng)過單線接口送入DS18B20或送出,因此從中央處理器到DS18B20僅需連接一條(和地)。讀、寫和完成溫度變換所需的電源可以有數(shù)據(jù)線本身提供,而不需要外部電源。</p><p>  因為每

22、一個DS18B20有唯一的系列號,因此多個DS18B20可以存在于同一條單線總線上。這允許在許多不同的地方放置溫度靈敏器件。此特性的應(yīng)用范圍包括HVAC環(huán)境控制,建筑物、設(shè)備或機械內(nèi)的溫度檢測,以及過程監(jiān)視和控制中的溫度檢測。</p><p><b>  特性:</b></p><p>  獨特的單線接口,只需一個接口引腳即可通信。</p><p&

23、gt;  多點能力使分布式溫度檢測應(yīng)用得以簡化。</p><p><b>  不需要外部元件。</b></p><p>  可用數(shù)據(jù)線供電,提供3.0V到5.5V的電源。</p><p><b>  不需備份電源。</b></p><p>  測量范圍從-55°C 到+125°C

24、,等效的華氏溫標范圍是-67°F 到+257°F</p><p>  以9到12位數(shù)字值方式讀出溫度。</p><p>  在750毫秒內(nèi)把12位溫度變換為數(shù)字。</p><p>  用戶可定義的,非易失性的溫度警告設(shè)置。</p><p>  告警搜索命令識別和尋址溫度在編定的極限之外的器件(溫度告警情況)。</p&

25、gt;<p>  應(yīng)用范圍包括恒溫控制,工業(yè)系統(tǒng),消費類產(chǎn)品,溫度計或任何熱敏系統(tǒng)。</p><p><b>  引腳排列</b></p><p><b>  引腳說明</b></p><p><b>  GND – 地</b></p><p>  DQ – 數(shù)

26、字輸入輸出</p><p>  VDD – 可選的VDD</p><p><b>  NC – 不連接</b></p><p><b>  詳細引腳說明</b></p><p><b>  綜述</b></p><p>  圖1的方框圖表示DS18B

27、20的主要部件。DS18B20有三個主要的數(shù)據(jù)部件:1)64為激光ROM,2)溫度靈敏元件,3)非易失性溫度告警觸發(fā)器TH和TL。器件從單線的通信線取得其電源,在信號線為高電平的時間周期內(nèi),把能量貯存在內(nèi)部的電容器中,在單信號線為低電平的時間期內(nèi)斷開此電源,直到信號線變?yōu)楦唠娖街匦陆由霞纳娙荩╇娫礊橹?,作為另一種可供選擇的方法,DS18B20也用外部5V電源供電。</p><p>  與DS18B20的通信經(jīng)

28、過一個單線接口。在單線接口情況下,在ROM操作未定建立之前不能使用存貯器和控制操作。主機必須首先提供五種ROM操作命令之一:1)讀ROM,2)符合ROM,3)搜索ROM,4)跳過ROM,5)告警搜索。這些命令對每一個器件的64位激光ROM部分進行操作。如果在單線上有許多器件,那么可以挑選出一個特定的器件,并給總線上的主機指示存在多少器件及其類型。在成功地執(zhí)行了ROM操作序列之后,可使用貯存2器和控制操作。然后主機可以提供六種存貯器和操作

29、命令之一。</p><p>  一個操作命令指示DS18B20完成溫度測量。改測量的結(jié)果放入DS18B20的高速暫存存貯器,通過發(fā)出讀暫存存儲器內(nèi)容的存儲器操作命令可以讀出此結(jié)果。每一溫度告警觸發(fā)器TH和TL構(gòu)成一個字節(jié)的EPROM。如果不對DS18B20施加告警搜索命令,這些寄存器用作通用用戶存儲器。使用存儲器操作命令可以寫TH和TL。對這些寄存器的讀訪問通過便簮存儲器。所以數(shù)據(jù)均以最低有效位在前的方式被讀寫。

30、</p><p><b>  單線總線系統(tǒng)</b></p><p>  單線總線是一種具有一個總線主機和一個或若干個從機的系統(tǒng)。DS18B20起從機的作用。這種總線系統(tǒng)的討論分為三個題目:硬件接法,處理順序,以及單線信號(信號類型與定時)。</p><p><b>  硬件接法</b></p><p&g

31、t;  根據(jù)定義,單線總線只有一根線:這一點很重要的,即線上的第一個器件能在適當?shù)臅r間驅(qū)動該總線。為了做到這一點第一個連接到總線上的器件必須具有漏極開路或三態(tài)輸出。DS18B20的單線接口。多站總線由單線總線和多個與之相連的從屬器件組成。單線總線要求近似等于5 k?.</p><p>  單線總線的空閑狀態(tài)是高電平。不管任何原因,如果執(zhí)行需要被掛起,那么,若要重新恢復(fù)執(zhí)行,總線必須保持在空閑狀態(tài)。如果不滿足這一點

32、且總線保持在低電平時間大于480微秒,那么總線上所有的器件均被復(fù)位。</p><p><b>  硬件連接圖</b></p><p><b>  處理順序</b></p><p>  經(jīng)過單線總線接口訪問DS18B20的協(xié)議如下:</p><p><b>  初始化</b>&l

33、t;/p><p><b>  ROM操作命令</b></p><p><b>  存貯器操作命令</b></p><p><b>  處理/數(shù)據(jù)</b></p><p><b>  初始化</b></p><p>  單線總線上的所有處

34、理均從初始化序列開始。初始化序列包括總線主機發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。</p><p><b>  ROM操作命令</b></p><p>  一旦總線主機檢測到從屬器件的存在,他便可以發(fā)出器件ROM操作命令之一。所有ROM操作命令均由8位長,這些命令列表如下:</p><p>  讀ROM [33H]</p>

35、<p>  此命令允許總線主機讀DS18B20的8位產(chǎn)品系列編碼,唯一的48位序列號,以及8位的CRC。此命令只能在總線上僅有一個DS18B20得情況下可以使用。如果總線上存在多于一個得從屬器件,那么所有從片企圖同時發(fā)送時將發(fā)生數(shù)據(jù)沖突的現(xiàn)象。</p><p>  符合ROM [55h]</p><p>  符合ROM命令。后繼以64位的ROM數(shù)據(jù)序列,允許總線主機對多點總線上

36、的DS18B20尋址。只有與64位ROM序列嚴格相符的DS18B20才能對后繼的存貯器操作命令作出響應(yīng)。所有與64位ROM序列不符的從片將等待復(fù)位脈沖。此命令在總線數(shù)據(jù)上有單個或多個器件的情況下均可使用。</p><p>  跳過ROM[CCh]</p><p>  在單點總線系統(tǒng)中,此命令通過允許總線主機不提供64位ROM編碼而訪問存儲器操作來節(jié)省時間。如果在總線上存在多于一個得從屬器件

37、而且在跳過ROM命令之后發(fā)出讀命令,那么由于多個從片同時發(fā)送數(shù)據(jù),會在總線上發(fā)生數(shù)據(jù)沖突</p><p>  搜索ROM[F0h]</p><p>  當系統(tǒng)開始工作時,總線主機可能不知道單線總線上的器件個數(shù)或者不知道其64位ROM編碼。搜索ROM命令允許總線主機使用一種消去處理來識別總線上的所有從片的64位ROM編碼。</p><p>  5.告警搜索[ECh]&

38、lt;/p><p>  此命令的流程與搜索ROM命令相同。但是,僅在最近一次溫度測量出現(xiàn)告警的情況下,DS18B20才對此命令作出響應(yīng)。告警的條件定義為溫度高于TH或低于TL。只要DS18B20一上電,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測量告警。</p><p><b>  6.ROM搜索舉例</b></p><p>  ROM搜索過程是簡單

39、三步過程的重復(fù):讀一位,讀核位的補碼,然后寫所需的那一位的值??偩€主機在ROM的每一位上完成這一簡單的三步過程。在全部過程完成之后,總線主機便知道一個器件中ROM的內(nèi)容,器件中其余的數(shù)以及他們的ROM編碼可以游另外一個過程來識別。</p><p>  以下ROM搜索過程的例子假設(shè)四個不同的器件連接到同一條單線總線上。四個器件的ROM數(shù)據(jù)如下所示:</p><p>  ROM1 001101

40、01…</p><p>  ROM2 10101010…</p><p>  ROM3 11110101…</p><p>  ROM4 00010001…</p><p><b>  搜索過程如下:</b></p><p>  1.總線主機通過發(fā)出復(fù)位脈沖開始初始化序列,從屬器件通過發(fā)出同時的存

41、在脈沖作出響應(yīng)。</p><p>  2.然后總線主機在單線總線上發(fā)出搜索人ROM命令。</p><p>  3.總線主機從單線過程中讀一位。每一器件通過把他們各自ROM數(shù)據(jù)的第一位的值放到單線總線上來作出響應(yīng)。ROM1和ROM4:將把一個0放在單線總線上,即,把它拉至低電平。ROM2和3通過使總線停留在高電平而把1放在單線總線上。結(jié)果是線上所有器件的邏輯與,因此總線主機接收到一個0.總線

42、主機讀另一位。因此搜索ROM數(shù)據(jù)命令正在執(zhí)行,所以單線總線上所有器件通過把各自ROM數(shù)據(jù)第一位的補碼放到單線總線上來對這第二個讀作出響應(yīng)。ROM1和ROM2把1放在單總線上,使之處于高電平。ROM2和ROM3把0放在單線上,因此他將被拉至低電平。對于第一個ROM數(shù)據(jù)位的補碼總線主機觀察到得仍是一個0.總線主機便可決定單線總線上有一些第一位為0的器件和一些第一位為1的器件。</p><p>  4.總線主機寫一個0

43、.在這次搜索過程的其余部分,將不選擇ROM2和ROM3,僅留下連接到單線總線的ROM1和ROM4。</p><p>  5.總線主機再執(zhí)行兩次讀,并在一個1位之后接收到一個0位,這表示所有還連接在總線上的器件的第二個ROM數(shù)據(jù)位為0.</p><p>  6.總線主機接著寫一個0,使ROM1和ROM4二者保持連接。</p><p>  7.總線主機執(zhí)行兩次連讀,并接

44、收到兩次0數(shù)據(jù)位。這表示連接著的器件ROM數(shù)據(jù)的第三位都是1數(shù)據(jù)位和0數(shù)據(jù)位。</p><p>  8.總線主機寫一個數(shù)據(jù)位。這將不選擇ROM1而把ROM4作為唯一仍連接著的器件加以保留。</p><p>  9.總線主機讀ROM4的ROM數(shù)據(jù)位的剩余部分,而且訪問需要的部件。這就完成了第一個過程并且唯一的識別單線總線上的部件。</p><p>  10.總線主機通

45、過重復(fù)步驟1至7開始一個新的ROM搜索序列。</p><p>  11.總線主機寫一個1,這將不與ROM4發(fā)生聯(lián)系,而唯一的與ROM1仍保持著聯(lián)系。</p><p>  12.總線主機對于ROM1讀出ROM位的剩余部分而且,如果需要的話,與內(nèi)部邏輯通信。這就完成了第二個ROM搜索過程,在其中ROM中的另一個被找到。</p><p>  13.總線主機通過重復(fù)步驟1至

46、3開始一次新的ROM搜索。</p><p><b>  注意下述內(nèi)容:</b></p><p>  在第一次ROM搜索過程中,總線主機知道一個單線器件的唯一的ID號。取得部件唯一ROM編碼的時間為:</p><p>  960us+(8+3×64)us=13.16ms</p><p>  因此總線主機每秒鐘能夠

47、識別75個不同的單線器件。</p><p>  The Description of AT89S51</p><p>  1 General Description</p><p>  The AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 4K bytes of In

48、-System Programmable Flash memory. The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry-standard 80C51 instruction set and pinout. The on-chip Flash allo

49、ws the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with In-System Programmable Flash on a monolithic c</p><p>  The AT89

50、S51 provides the following standard features: 4K bytes of Flash, 128 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, two 16-bit timer/counters, a five-vector two-level interrupt architecture, a full duplex

51、 serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. </p><

52、p>  The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM contents but freezes the oscillator, disabling all o

53、ther chip functions until the next external interrupt or hardware reset.</p><p><b>  2 Ports</b></p><p>  Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, ea

54、ch pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs. Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to exter

55、nal program and data memory. In this mode, P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pull-ups </p><

56、p>  Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pull-ups and c

57、an be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. </p><p>  Port 1 also receives the low-order address bytes during

58、 Flash programming and verification.</p><p>  Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins,

59、 they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups.Port 2 emits the high-order

60、 address byte during fetches from external program memory and during accesses to external data memory that use 16-bit a</p><p>  Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3

61、output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low wil

62、l source current (IIL) because of the pull-ups. Port 3 receives some control signals for Flash programming and verification. Port 3 also serves the functions of various special features of the AT89S51, </p><p&

63、gt;  3 Memory Organization</p><p>  MCS-51 devices have a separate address space for Program and Data Memory. Up to 64K bytes each of external Program and Data Memory can be addressed.</p><p>  

64、3.1 Program Memory</p><p>  If the EA pin is connected to GND, all program fetches are directed to external memory. On the AT89S51, if EA is connected to VCC, program fetches to addresses 0000H through FFFH

65、are directed to internal memory and fetches to addresses 1000H through FFFFH are directed to external memory.</p><p>  3.2 Data Memory</p><p>  The AT89S51 implements 128 bytes of on-chip RAM. T

66、he 128 bytes are accessible via direct and indirect addressing modes. Stack operations are examples of indirect addressing, so the 128 bytes of data RAM are available as stack space.</p><p>  4 Watchdog Time

67、r (One-time Enabled with Reset-out) </p><p>  The WDT is intended as a recovery method in situations where the CPU may be subjected to software upsets. The WDT consists of a 14-bit counter and the Watchdog T

68、imer Reset (WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). When the WDT is enabled, it will inc

69、rement every machine cycle while the oscillator is running. The WDT timeout period is dependent on the external clock f</p><p>  4.1 Using the WDT</p><p>  To enable the WDT, a user must write 0

70、1EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). When the WDT is enabled, the user needs to service it by writing 01EH and 0E1H to WDTRST to avoid a WDT overflow. The 14-bit counter overflows when it

71、reaches 16383 (3FFFH), and this will reset the device. When the WDT is enabled, it will increment every machine cycle while the oscillator is running. This means the user must reset the WDT at least every 16383 machine c

72、ycles. To reset the WD</p><p>  4.2 WDT DURING Power-down and Idle</p><p>  In Power-down mode the oscillator stops, which means the WDT also stops. While in Power-down mode, the user does not n

73、eed to service the WDT. There are two methods of exiting Power-down mode: by a hardware reset or via a level-activated external interrupt, which is enabled prior to entering Power-down mode. When Power-down is exited wit

74、h hardware reset, servicing the WDT should occur as it normally does whenever the AT89S51 is reset. Exiting Power-down with an interrupt is significantly differen</p><p>  With WDIDLE bit enabled, the WDT wi

75、ll stop to count in IDLE mode and resumes the count upon exit from IDLE.</p><p>  5.Interrupts</p><p>  The AT89S51 has a total of five interrupt vectors: two external interrupts (INT0 and INT1)

76、, two timer interrupts (Timers 0 and 1), and the serial port interrupt. These interrupts are all shown in Figure 6-1. Each of these interrupt sources can be individually enabled or disabled by setting or clearing a bit i

77、n Special Function Register IE. IE also contains a global disable bit, EA, which disables all interrupts at once.</p><p>  6 Oscillator Characteristics </p><p>  XTAL1 and XTAL2 are the input an

78、d output, respectively, of an inverting amplifier that can be configured for use as an on-chip oscillator, as shown in Figure 7-1. Either a quartz crystal or ceramic resonator may be used. To drive the device from an ext

79、ernal clock source, XTAL2 should be left unconnected while XTAL1 is driven, as shown in Figure 7-2. There are no requirements on the duty cycle of the external clock signal, since the input to the internal clocking circu

80、itry is through a divide-by-</p><p>  7 Idle Mode </p><p>  In idle mode, the CPU puts itself to sleep while all the on-chip peripherals remain active. The mode is invoked by software. The conte

81、nt of the on-chip RAM and all the special function registers remain unchanged during this mode. The idle mode can be terminated by any enabled interrupt or by a hardware reset. </p><p>  Note that when idle

82、mode is terminated by a hardware reset, the device normally resumes pro-gram execution from where it left off, up to two machine cycles before the internal reset algorithm takes control. On-chip hardware inhibits access

83、to internal RAM in this event, but access to the port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin when idle mode is terminated by a reset, the instruction following the one th

84、at invokes idle mode should not write to</p><p>  8 Power-down Mode</p><p>  In the Power-down mode, the oscillator is stopped, and the instruction that invokes Power-down is the last instructio

85、n executed. The on-chip RAM and Special Function Registers retain their values until the Power-down mode is terminated. Exit from Power-down mode can be initiated either by a hardware reset or by activation of an enabled

86、 external interrupt (INT0 or INT1). Reset redefines the SFRs but does not change the on-chip RAM. The reset should not be activated before VCC is restored to its n</p><p>  DS18B20 Digital Thermometer</p&

87、gt;<p>  DESCRIPTION</p><p>  The DS18B20 Digital Thermometer provides 9 to 12-bit (configurable) temperature readings which indicate the temperature of the device.</p><p>  Information i

88、s sent to/from the DS18B20 over a 1-Wire interface, so that only one wire (and ground) needs to be connected from a central microprocessor to a DS18B20. Power for reading, writing, and performing temperature conversions

89、can be derived from the data line itself with no need for an external power source.</p><p>  Because each DS18B20 contains a unique silicon serial number, multiple DS18B20s can exist on the same 1-Wire bus.

90、This allows for placing temperature sensors in many different places. Applications where this feature is useful include HVAC environmental controls, sensing temperatures inside buildings, equipment or machinery, and proc

91、ess monitoring and control.</p><p><b>  FEATURES</b></p><p>  Unique 1-Wire interface requires only one port pin for communication</p><p>  Multidrop capability simplifi

92、es distributed temperature sensing applications</p><p>  Requires no external components</p><p>  Can be powered from data line. Power supply range is 3.0V to 5.5V</p><p>  Zero sta

93、ndby power required</p><p>  Measures temperatures from -55°C to+125°C. Fahrenheit equivalent is -67°F to +257°F</p><p>  Thermometer resolution is programmable from 9 to 12

94、bits</p><p>  Converts 12-bit temperature to digital word in 750 ms (max.)</p><p>  User-definable, nonvolatile temperature alarm settings</p><p>  Alarm search command identifies a

95、nd addresses devices whose temperature is outside of programmed limits (temperature alarm condition)</p><p>  Applications include thermostatic controls, industrial systems, consumer products,thermometers, o

96、r any thermally sensitivesystem.</p><p>  PIN ASSIGNMENT</p><p>  PIN DESCRIPTION</p><p>  GND - Ground</p><p>  DQ - Data In/Out</p><p>  VDD - Power Supp

97、ly Voltage</p><p>  NC - No Connect</p><p>  DETAILED PIN DESCRIPTION </p><p><b>  OVERVIEW</b></p><p>  The block diagram of Figure 1 shows the major compo

98、nents of the DS18B20. The DS18B20 has four main data components: 1) 64-bit lasered ROM, 2) temperature sensor, 3) nonvolatile temperature alarm triggers TH and TL. The device derives its power from the 1-Wire communicati

99、on line by storing energy on an internal capacitor during periods of time when the signal line is high and continues to operate off this power source during the low times of the 1-Wire line until it returns high to reple

100、nish the </p><p>  DS18B20 BLOCK DIAGRAM Figure 1</p><p>  Communication to the DS18B20 is via a 1-Wire port. With the 1-Wire port, the memory and control functions will not be available before

101、the ROM function protocol has been established. The master must first provide one of five ROM function commands: 1) Read ROM, 2) Match ROM, 3) Search ROM, 4) Skip ROM, or 5) Alarm Search. These commands operate on the 64

102、-bit lasered ROM portion of each</p><p>  device and can single out a specific device if many are present on the 1-Wire line as well as indicate to the bus master how many and what types of devices are prese

103、nt. After a ROM function sequence has been successfully executed, the memory and control functions are accessible and the master may then provide any one of the six memory and control function commands.</p><p&

104、gt;  One control function command instructs the DS18B20 to perform a temperature measurement. The result of this measurement will be placed in the DS18B20’s scratch-pad memory, and may be read by issuing a memory functio

105、n command which reads the contents of the scratchpad memory. The temperature alarm triggers TH and TL consist of 1 byte EEPROM each. If the alarm search command is not applied to the DS18B20, these registers may be used

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論