AT89S52單片機(jī)_第1頁
AT89S52單片機(jī)_第2頁
AT89S52單片機(jī)_第3頁
AT89S52單片機(jī)_第4頁
AT89S52單片機(jī)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、at89s52單片機(jī)1 主要性能 與mcs-51單片機(jī)產(chǎn)品兼容 8k字節(jié)在系統(tǒng)可編程flash存儲器 1000次擦寫周期 全靜態(tài)操作:0hz33hz 三級加密程序存儲器 32個可編程i/o口線 三個16位定時器/計數(shù)器 八個中斷源 全雙工uart串行通道 低功耗空閑和掉電模式 掉電后中斷可喚醒 看門狗定時器 雙數(shù)據(jù)指針 掉電標(biāo)識符2 功能特征描述at89s52是一種低功耗、高性能cmos8位微控制器,具有8k在系統(tǒng)可編程flash 存儲器。使用atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單

2、芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)flash,256字節(jié)ram,32位i/o 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。3.引腳結(jié)構(gòu)4

3、.方框圖3.1 引腳功能vcc:電源gnd: 接地p0口: p0口是一個8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動8個ttl邏輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。在flash編程時,p0口也用來接收指令字節(jié);在程序校驗(yàn)時,輸出指令字節(jié)。程序校驗(yàn)時,需要外部上拉電阻。p1口: p1口是一個具有內(nèi)部上拉電阻的8位雙向i/o口,p1輸出緩沖器能驅(qū)動4個ttl 邏輯電平。對p1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)

4、部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(p1.0/t2)和時器/計數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表2-1所示。在flash編程和校驗(yàn)時,p1口接收低8位地址字節(jié)。表2-1 p1口引腳的第二功能引腳號第二功能p1.0t2(定時器/計數(shù)器t2的外部計數(shù)輸入),時鐘輸出p1.1t2ex(定時器/計數(shù)器t2的捕捉/重載觸發(fā)信號和方向控制)p1.5mosi(在系統(tǒng)編程用)p1.6miso(在系統(tǒng)編程用)p1.7sck(在系統(tǒng)編程用)p2口: p2 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動4個ttl

5、邏輯電平。對p2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr)時,p2 口送出高八位地址。在這種應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri)訪問外部數(shù)據(jù)存儲器時,p2口輸出p2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時,p2口也接收高8位地址字節(jié)和一些控制信號。p3口: p3口是一個有內(nèi)部上拉電阻的8位雙向i/o 口,p2輸出緩沖器能驅(qū)動4個ttl 邏輯電平。對p3 端口寫“1”時,內(nèi)部上拉電

6、阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,如下表2-2所示。在flash編程和校驗(yàn)時,p3口也接收一些控制信號。表2-2 p3口引腳的第二功能引腳號第二功能p3.0rxd(串行輸入)p3.1txd(串行輸出)p3.2 (外部中斷0)p3.3 (外部中斷1)p3.4t0(定時器0外部輸入)p3.5t1定時器1外部輸入)p3.6 (外部數(shù)據(jù)存儲器寫選通)p3.7 (外部數(shù)據(jù)存儲器寫選通)rst: 復(fù)位輸入。晶振工作時,rst腳持續(xù)2個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計時完成

7、后,rst 腳輸出96個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。ale/: 地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳()也用作編程輸入脈沖。在一般情況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ale脈沖將會跳過。如果需要,通過將地址為8eh的sfr的第0位置“1”,ale操作將無效。這一位置 “1”,ale僅在執(zhí)行movx 或movc指令時有效。否則,ale 將被微弱

8、拉高。這個ale使能標(biāo)志位(地址為8eh的sfr的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。: 外部程序存儲器選通信號()是外部程序存儲器選通信號。當(dāng)at89s52從外部程序存儲器執(zhí)行外部代碼時,在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,將不被激活。/vpp: 訪問外部程序存儲器控制信號。為使能從0000h到ffffh的外部程序存儲器讀取指令,必須接gnd。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接vcc。在flash編程期間,也接收12伏vpp電壓。xtal1: 振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。xtal2: 振蕩器反相放大器的輸出端。表2-3 at89s52特殊寄存器映像及復(fù)位

9、值2.2 特殊功能寄存器 特殊功能寄存器(sfr)的地址空間映像表格2-3所示。并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個隨機(jī)的數(shù)據(jù):寫入的數(shù)據(jù)將會無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。2.2.1 定時器2寄存器:寄存器t2con和t2mod包含定時器2的控制位的狀態(tài)位(如表2-4所示),寄存器堆rcap2h和rcap2l是定時器2的捕捉/自動重載寄存器。2.2.2 中斷寄存器:各中斷允許位在ie寄存器中,六個中斷源的兩個優(yōu)先級也可以在ie中設(shè)置。表2-4 t2con:定時器

10、/計數(shù)器2控制寄存器 t2con 地址為oc8h 復(fù)位值:0000 0000b 位可尋址 tf2exf2rlclktclkexen2tr2c/cp/76543210符號功能tf2定時器2溢出標(biāo)志位。必須軟件清“0”。rclk=1或tclk=1時,tf2不用置為位。exf2定時器2外部標(biāo)志位。exen2=1時,t2ex上的負(fù)跳變而出現(xiàn)捕捉或重載時,exf2會被硬件置位。定時器2打開,exf2=1時,將引導(dǎo)cpu執(zhí)行定時器2中斷程序。exf2必須如見清“0”.在向下/向上技術(shù)模式(dcen=1)下exf2不能引起中斷。rclk串行口接收數(shù)據(jù)時鐘標(biāo)志位。若rclk=1,串行口將使用定時器2溢出脈沖作

11、為串行口工作模式1和3的串口接收時鐘;rclk=0,將使用定時器1計數(shù)溢出作為串口接收時鐘。tclk串行口發(fā)送數(shù)據(jù)時鐘標(biāo)志位。若tclk=1,串行口將使用定時器2溢出脈沖作為串行口工作模式1和3的串口發(fā)送時鐘;tclk=0,將使用定時器1計數(shù)溢出作為串口發(fā)送時鐘。exen2定時器2外部允許標(biāo)志位。當(dāng)exen2=1時,如果定時器2沒有用作串行時鐘,t2ex(p1.1)的負(fù)負(fù)跳變見引起定時器2捕捉和重載。若exen2=0,定時器2將視t2ex端的信號無效tr2開始/停止控制定時器2.tr2=1,定時器2開始工作定時器2定時/計數(shù)選擇標(biāo)志位。=0,定時;=1,外部事件計數(shù)(下降沿觸發(fā))捕捉/重載選擇

12、標(biāo)志位。當(dāng)exen2=1時,=1,t2ex出現(xiàn)負(fù)脈沖,會引起捕捉操作;當(dāng)定時器2溢出或exen2=1時t2ex出現(xiàn)負(fù)跳變,都會出現(xiàn)自動重載操作。=0將引起t2ex的負(fù)脈沖。當(dāng)rckl=1或停車卡了,此標(biāo)志位無效,定時器2溢出時,強(qiáng)制做自動重載操作。2.2.3 雙數(shù)據(jù)指針寄存器:為了更有利于訪問內(nèi)部和外部數(shù)據(jù)存儲器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于sfr中82h83h的dpo和位于84h85h。特殊寄存器auxr1中dps=0選擇dp0;dps=1選擇dp1。用戶應(yīng)該在訪問數(shù)據(jù)指針寄存器前先初始化dps至合理的值。表2-5 auxr:輔助寄存器 auxr 地址:8eh 復(fù)位值:xxx00

13、xx0b 不可位尋址-wdidledisrto-disale76543210- 預(yù)留擴(kuò)展用disale ale使能標(biāo)志位 disale 操作方式 0 ale以1/6晶振頻率輸出信號 1 ale只有在執(zhí)行movx或movc指令時激活disrto 復(fù)位輸出標(biāo)志位 disrto 0 看門狗(wdt)定時結(jié)束,reset輸出高電平 1 reset只有輸入wdidle 空閑模式下wdt使能標(biāo)志位 wdidle 0 空閑模式下,wdt繼續(xù)計數(shù) 1 空閑模式下,wdt停止計數(shù) 2.2.4掉電標(biāo)志位:掉電標(biāo)志位(pof)位于特殊寄存器pcon的第四位(pcon.4)。上電期間pof置“1”。pof可以軟件控制

14、使用與否,但不受復(fù)位影響。表2-6 auxr1:輔助寄存器1auxr1 地址:a2h 復(fù)位值:xxxxxxx0b 不可位尋址-dps76543210- 預(yù)留擴(kuò)展用dps 數(shù)據(jù)指針選擇位 dps 0 選擇dptp寄存器dp0l和dp0h 1 選擇dptr寄存器dp1l和dp1h2.3 存儲器結(jié)構(gòu)mcs-51器件有單獨(dú)的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64k尋址。2.3.1 程序存儲器: 如果引腳接地,程序讀取只從外部存儲器開始。對于89s52,如果接vcc,程序讀寫先從內(nèi)部存儲器(地址為0000h1fffh)開始,接著從外部尋址,尋址地址為:2000hffffh。2.3.

15、2 數(shù)據(jù)存儲器: at89s52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7fh 的地址時,尋址方式?jīng)Q定cpu 訪問高128 字節(jié)ram 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(sfr)。例如,下面的直接尋址指令訪問0a0h(p2口)存儲單元mov 0a0h , #data使用間接尋址方式訪問高128 字節(jié)ram。例如,下面的間接尋址方式中,r0 內(nèi)容為0a0h,訪問的是地址0a0h的寄存器,而不是p2口(它的地址也是0a0h)。mov r0 , #data堆棧操作也

16、是簡介尋址方式。因此,高128字節(jié)數(shù)據(jù)ram也可用于堆??臻g。2.4 看門狗定時器wdt是一種需要軟件控制的復(fù)位方式。wdt 由13位計數(shù)器和特殊功能寄存器中的看門狗定時器復(fù)位存儲器(wdtrst)構(gòu)成。wdt在默認(rèn)情況下無法工作;為了激活wdt,戶用必須往wdtrst 寄存器(地址:0a6h)中依次寫入01eh 和0e1h。當(dāng)wdt激活后,晶振工作,wdt在每個機(jī)器周期都會增加。wdt計時周期依賴于外部時鐘頻率。除了復(fù)位(硬件復(fù)位或wdt溢出復(fù)位),沒有辦法停止wdt工作。當(dāng)wdt溢出,它將驅(qū)動rsr引腳一個高個電平輸出。2.4.1 wdt的使用為了激活wdt,用戶必須向wdtrst寄存器(

17、地址為0a6h的sfr)依次寫入0e1h和0e1h。當(dāng)wdt激活后,用戶必須向wdtrst寫入01eh和0e1h喂狗來避免wdt溢出。當(dāng)計數(shù)達(dá)到8191(1fffh)時,13位計數(shù)器將會溢出,這將會復(fù)位器件。晶振正常工作、wdt激活后,每一個機(jī)器周期wdt 都會增加。為了復(fù)位wdt,用戶必須向wdtrst寫入01eh 和0e1h(wdtrst 是只讀寄存器)。wdt計數(shù)器不能讀或?qū)?。?dāng)wdt計數(shù)器溢出時,將給rst引腳產(chǎn)生一個復(fù)位脈沖輸出,這個復(fù)位脈沖持續(xù)96個晶振周期(tosc),其中tosc=1/fosc。為了很好地使用wdt,應(yīng)該在一定時間內(nèi)周期性寫入那部分代碼,以避免wdt復(fù)位。2.4

18、.2 掉電和空閑方式下的wdt在掉電模式下,晶振停止工作,這意味這wdt也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給wdt 喂狗,就如同通常at89s52 復(fù)位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止wdt在中斷保持低電平的時候復(fù)位器件,wdt直到中斷拉低后才開始工作。這就意味著wdt 應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開掉電模式最初的幾個狀態(tài)wdt不被溢出,最好在進(jìn)入掉電模式前就復(fù)wdt。在進(jìn)入待機(jī)模式

19、前,特殊寄存器auxr的wdidle位用來決定wdt是否繼續(xù)計數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下,wdidle0,wdt繼續(xù)計數(shù)。為了防止wdt在待機(jī)模式下復(fù)位at89s52,用戶應(yīng)該建立一個定時器,定時離開待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。2.5 uart在at89s52 中,uart 的操作與at89c51 和at89c52 一樣。為了獲得更深入的關(guān)于uart的信息,可參考atmel 網(wǎng)站(http/)。從這個主頁,選擇“products”,然后選擇“8051-architech flash microcontroller”,再選擇“productoverview”即可。2.6定時器0 和定時器1在at89s52 中,定時器0 和定時器1 的操作與at89c51 和at89c52 一樣。為

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論