主要特性
·與MCS-51 兼容
·4K位元組可程式閃爍存儲器壽命:1000寫/擦循環
·
·三級程式存儲器鎖定
·128*8位內部RAM
·32可程式I/O線·兩個16位定時器/計數器
·
·可程式串列通道
·低功耗的閒置和掉電模式
·片內振盪器和時鐘電路
管腳說明
VCC:供電電壓。
GND:接地。
P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用於外部程式數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩衝器能接收輸出4TTL門電流。P1口管腳寫入1後,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由於內部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。
P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩衝器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。並因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由於內部上拉的緣故。P2口當用於外部程式存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能暫存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”後,它們被內部上拉為高電平,並用作輸入。作為輸入,由於外部下拉為低電平,P3口將輸出電流(ILL)這是由於上拉的緣故。
P3口也可作為AT89C51的一些特殊功能口,如下表所示:
口管腳 備選功能
P3.0 RXD(串列輸入口)
P3.1 TXD(串列輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(記時器0外部輸入)
P3.5 T1(記時器1外部輸入)
P3.6 /WR(外部數據存儲器寫選通)
P3.7 /RD(外部數據存儲器讀選通)
P3口同時為閃爍編程和編程校驗接收一些控制信號。
RST:復位輸入。當振盪器復位器件時,要保持RST腳兩個機器周期的高電平時間。
ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用於鎖存地址的地位位元組。在FLASH編程期間,此引腳用於輸入編程脈衝。在平時,ALE端以不變的頻率周期輸出正脈衝信號,此頻率為振盪器頻率的1/6。因此它可用作對外部輸出的脈衝或用於定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈衝。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
/PSEN:外部程式存儲器的選通信號。在由外部程式存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
/EA/VPP:當/EA保持低電平時,則在此期間為外部程式存儲器(0000H-FFFFH),不管是否有內部程式存儲器讀取外部ROM數據。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,單片機讀取內部程式存儲器。(擴展有外部ROM時讀取完內部ROM後自動讀取外部ROM)。在FLASH編程期間,此引腳也用於施加12V編程電源(VPP)。
XTAL1:反向振盪放大器的輸入及內部時鐘工作電路的輸入。
XTAL2:來自反向振盪器的輸出。
振盪器
特性
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振盪器。石晶振盪和陶瓷振盪均可採用。如採用外部時鐘源驅動器件,XTAL2應不接。由於輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈衝的高低電平要求的寬度。
晶片擦除
整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,並保持ALE管腳處於低電平10ms 來完成。在晶片擦操作中,代碼陣列全被寫“1”且在任何非空存儲位元組被重複編程以前,該操作必須被執行。
此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟體可選的掉電模式。在閒置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容並且凍結振盪器,禁止所用其他晶片功能,直到下一個硬體復位為止。
結構特點
8位CPU;
片內振盪器和時鐘電路;
32根I/O線;
外部存貯器定址範圍ROM、RAM64K;
2個16位的定時器/計數器;
5箇中斷源,兩個中斷優先權;
全雙工串列口;
布爾處理器;
單片機
很多初學51單片機的網友會有這樣的問題:AT89S51是什麼?書上和網路程上可都是8051,89C51等!沒聽說過有89S51 ?
這裡,初學者要澄清單片機實際使用方面的一個產品概念,MCS-51單片機是美國INTEL 公司於1980年推出的產品,典型產品有 8031(內部沒有程式存儲器,實際使用方面已經被市場淘汰)、8051(晶片採用HMOS,功耗是630mW,是89C51的5倍,實際使用方面已經被市場淘汰)和8751等通用產品,一直到現在, MCS-51核心系列兼容的單片機仍是套用的主流產品(比如目前流行的89S51、已經停產的89C51等),各高校及專業學校的培訓教材仍與MCS-51單片機作為代表進行理論基礎學習。
有些文獻甚至也將8051泛指MCS-51系列單片機,8051是早期的最典型的代表作,由於MCS-51單片機影響極深遠,許多公司都推出了兼容系列單片機,就是說MCS-51核心實際上已經成為一個8位單片機的標準。
其他的公司的51單片機產品都是和MCS-51核心兼容的產品而以。同樣的一段程式,在各個單片機廠家的硬體上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51, PHILIPS(菲利浦),和WINBOND(華邦)等,我們常說的已經停產的89C51指的是ATMEL公司的 AT89C51單片機,同時是在原基礎上增強了許多特性,如時鐘,更優秀的是由Flash(程式存儲器的內容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對於8051已經算是非常優越的了。
不過在市場化方面,89C51受到了PIC單片機陣營的挑戰,89C51最致命的缺陷在於不支持ISP(線上更新程式)功能,必須加上ISP功能等新功能才能更好延續MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,現在,89S51目前已經成為了實際套用市場上新的寵兒,作為市場占有率第一的Atmel目前公司已經停產AT89C51,將用AT89S51代替。89S51在工藝上進行了改進,89S51採用0.35新工藝,成本降低,而且將功能提升,增加了競爭力。89SXX可以像下兼容89CXX等51系列晶片。同時,Atmel不再接受89CXX的定單,大家在市場上見到的89C51實際都是Atmel前期生產的巨量庫存而以。如果市場需要,Atmel當然也可以再恢復生產AT89C51。
新功能
89S51相對於89C51增加的新功能包括
-- 新增加很多功能,性能有了較大提升,價格基本不變,甚至比89C51更低!
-- ISP線上編程功能,這個功能的優勢在於改寫單片機存儲器內的程式不需要把晶片從工作環境中剝離。是一個強大易用的功能。
-- 最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度。
-- 具有雙工UART串列通道。
-- 內部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。
-- 雙數據指示器。
-- 電源關閉標識。
-- 全新的加密算法,這使得對於89S51的解密變為不可能,程式的保密性大大加強,這樣就可以有效的保護智慧財產權不被侵犯。
-- 兼容性方面:向下完全兼容51全部字系列產品。比如8051、89C51等等早期MCS-51兼容產品。也就是說所有教科書、網路教程上的程式(不論教科書上採用的單片機是8051還是89C51還是MCS-51等等),在89S51上一樣可以照常運行,這就是所謂的向下兼容。
比較結果:就如同INTEL的P3向P4升級一樣,雖然都可以跑Windows98,不過速度是不同的。
從AT89C51升級到AT89S51,也是同理。和S51比起來,C51就要遜色一些,實際套用市場方面技術的進步是永遠向前的。
********上面這些就是AT89S51的由來********
常見問題
51系列的選型的常見問題
請問現在學習51系列單片機應該選擇AT89C51還是89S51?
答:89C51和89S51核心相同,89S51針對89C51的明顯的幾個升級如下;
1.程式存儲器寫入方式:二者的寫入程式的方式不同,89C51隻支持並行寫入,同時需要VPP燒寫高壓。89S51則支持ISP線上可程式寫入技術!串列寫入、速度更快、穩定性更好,燒寫電壓也僅僅需要4~5V即可。
2.電源範圍:89S5*電源範圍寬達4~5.5V,而89C5*系列在低於4.8V和高於5.3V的時候則無法正常工作。
3.工作頻率:目前89S1*的性能遠高於89C5*,89S5*系列支持最高高達33MHZ的工作頻率,而89C51工作頻率範圍最高只支持到24M。
4.市場價格:由於89C51已經全面停產,所以在市場價格方面,庫存的89C5*的批發價格要比89S5*貴將近一倍!
5.兼容型:89S5*向下兼容89C5*,就是說用89S5*可以替代89C5*使用,同樣的程式,運行結果相同。就是說89S5*也同樣兼容目前所有的教科書範例程式。
6.加密功能:89S5*系列全新的加密算法,這使得對於89S51的解密變為不大可能,程式的保密性大大加強,這樣就可以有效的保護智慧財產權不被侵犯。
7.抗干擾性:內部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路。
8.燒寫壽命更長:89S5*標稱的1000次,實際最少是1000次~10000次,這樣更有利初學者反覆燒寫,減低學習成本。綜合上面的一些區別,個人認為89C51的停止使用只是時間問題而已,就象當年的8031。
2問:採用89C2051開發製造產品是不是要比用89S51更好?因為2051看起來體積比較小。
2答:這個問題並不能一概而論,主要的區別如下:
1.功能差別:因為2051不是標準的51核心,所以205*的程式不能直接移植到51上。由於205*是精簡型,所以P口變得很少(沒有P3.7口),這樣一來就只能用來做一些小的簡單產品,可利用資源比較緊張。實際上,做產品的話用205*是不一定合算的,除非是非常簡單的產品。
2.市場價格:由於89C2051的產量不是非常大,所以市場價格方面89C2051的批發價格和89S51比較接近!相對性能價格比就比較低。
3.產品體積:除非對產品的體積有苛刻的要求,否則二者的PCB面積相差不多,因為40腳的51晶片也有PLCC44小體積封裝。