新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AT89S51單片機原理與應(yīng)用

AT89S51單片機原理與應(yīng)用

作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
一、AT89S51與AT89C51的區(qū)別

這里,初學(xué)者要澄清單片機實際使用方面的一個產(chǎn)品概念,MCS-51單片機是美國INTE公司于1980年推出的產(chǎn)品,典型產(chǎn)品有8031(內(nèi)部沒有程序存儲器,實際使用方面已經(jīng)被市場淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,實際使用方面已經(jīng)被市場淘汰)和8751等通用產(chǎn)品,一直到現(xiàn)在,MCS-51內(nèi)核系列兼容的單片機仍是應(yīng)用的主流產(chǎn)品(比如目前流行的89S51、已經(jīng)停產(chǎn)的89C51等),各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MCS-51單片機作為代表進行理論基礎(chǔ)學(xué)習(xí)。

有些文獻(xiàn)甚至也將8051泛指MCS-51系列單片機,8051是早期的最典型的代表作,由于MCS-51單片機影響極深遠(yuǎn),許多公司都推出了兼容系列單片機,就是說MCS-51內(nèi)核實際上已經(jīng)成為一個8位單片機的標(biāo)準(zhǔn)。

其他的公司的51單片機產(chǎn)品都是和MCS-51內(nèi)核兼容的產(chǎn)品而以。同樣的一段程序,在各個單片機廠家的硬件上運行的結(jié)果都是一樣的,如ATMEL的89C51(已經(jīng)停產(chǎn))、89S51,PHILIPS(菲利浦),和WINBOND(華邦)等,我們常說的已經(jīng)停產(chǎn)的89C51指的是Atmel公司的AT89C51單片機,同時是在原基礎(chǔ)上增強了許多特性,如時鐘,更優(yōu)秀的是由Flash(程序存儲器的內(nèi)容至少可以改寫1000次)存儲器取帶了原來的ROM(一次性寫入),AT89C51的性能相對于8051已經(jīng)算是非常優(yōu)越的了。

不過在市場化方面,89C51受到了PIC單片機陣營的挑戰(zhàn),89C51最致命的缺陷在于不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續(xù)MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,現(xiàn)在,89S51目前已經(jīng)成為了實際應(yīng)用市場上新的寵兒,作為市場占有率第一的Atmel目前公司已經(jīng)停產(chǎn)AT89C51,將用AT89S51代替。89S51在工藝上進行了改進,89S51采用0.35新工藝,成本降低,而且將功能提升,增加了競爭力。89SXX可以像下兼容89CXX等51系列芯片。同時,Atmel不再接受89CXX的定單,大家在市場上見到的89C51實際都是Atmel前期生產(chǎn)的巨量庫存而以。

89S51相對于89C51增加的新功能包括:

1. 新增加很多功能,性能有了較大提升,價格卻基本不變,甚至比89C51更低!

2. ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個強大易用的功能。

3. 工作頻率為33MHz,大家都知道89C51的極限工作頻率只有24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度。

4. 具有雙工UART串行通道。

5. 內(nèi)部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。

6. 雙數(shù)據(jù)指示器。

7. 電源關(guān)閉標(biāo)識。

8. 全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯。

9. 兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期MCS-51兼容產(chǎn)品。也就是說所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運行,這就是所謂的向下兼容。

比較結(jié)果:就如同INTEL的P3向P4升級一樣,雖然都可以跑Windows98,不過速度是不同的。

從AT89C51升級到AT89S51,也是同理。和S51比起來,C51就要遜色多了,實際應(yīng)用市場方面技術(shù)的進步是永遠(yuǎn)向前的。

二、AT89S51看門狗功能的使用方法

在ATMEL的89S51系列的89S51與89C51功能相同。指令兼容。HEX程序無需任何轉(zhuǎn)換可以直接使用。89S51只比89C51增加了一個看門狗功能。89S51的其它功能可以參見89C51的資料。

看門狗具體使用方法如下:

在程序初始化中向看門狗寄存器(WDTRST地址是0A6H)中先寫入01EH,再寫入0E1H。即可激活看門狗。

Org0000H
Ljmpbegin
Begin:
Mov0A6H,#01EH ;先送1E
Mov0A6H,#0E1H ;后送E1
;在程序初始化中激活看門狗。
……
……
For:
……
Mov0A6H,#01EH ;先送1E
Mov0A6H,#0E1H ;后送E1
;喂狗指令
……
Ljmpfor


注意事項:

1.89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復(fù)位。否則看門狗也無法工作。
2.看門狗使用的是CPU的晶振。在晶振停振的時候看門狗也無效。
3.89S51只有13位計數(shù)器。在8191個機器周期內(nèi)必須至少喂狗一次。而且這個時間是固定的,無法更改。當(dāng)晶振為12M時每8個毫秒需喂狗一次。
以上程序我已調(diào)試通過。還利用定時器把看門狗的喂狗時間延長幾秒至幾分鐘。


關(guān)鍵詞: AT89S51單片

評論


技術(shù)專區(qū)

關(guān)閉