AT89S52——低功耗高性能CMOS 8位單片機,片內(nèi)8k Bytes ISP(In-system
programmable)的可反復(fù)擦寫1000次的FLASH只讀程序存儲器,器件采用ATMEL公司之高密度、非易失性存儲技術(shù)制造,兼容標準 MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。單芯片上,擁有8 位CPU及在系統(tǒng)可編程FLASH,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效之解決方案。
AT89S52之特點:40個引腳,8k Bytes Flash片內(nèi)程序存儲器,256 bytes
的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。
AT89C52——低電壓高性能CMOS 8位單片機,片內(nèi)8k bytes的可反復(fù)擦寫的FLASH只讀程序存儲器及256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器及FLASH存儲單元,功能強大之AT89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制之應(yīng)用場合。
AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可按照常規(guī)方法進行編程,亦可在線編程。其將通用之微處理器及Flash存儲器結(jié)合,特別是可反復(fù)擦寫的FLASH存儲器可有效降低開發(fā)成本。
AT89C52及AT89S52之別,在于C及S, C表示需用并行編程器下載(接線多且復(fù)雜),S表示可支持ISP下載,可在89S52系統(tǒng)板上面預(yù)留ISP下載接口,ISP下載線可方便地自制,一74HC373,若干電阻,連接電腦并口就可用軟件將hex文件下載至89S52。相比較AT89C52及AT89S52 ,以方便計,選用AT89S52。
AT89S52功能: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é)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一中斷或硬件復(fù)位為止。
P0口——8位漏極開路之雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。訪問外部程序和數(shù)據(jù)存儲器時,P0口亦被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有內(nèi)部上拉電阻。在FLASH編程時,P0口亦用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需外部上拉電阻。
P1口——有內(nèi)部上拉電阻的8位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可作輸入口用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可作輸入口用。作輸入用時,被外部拉低的引腳因內(nèi)部電阻,將輸出電流(IIL)。此外,P1.0及P1.2分別作定時器/計數(shù)器2之外部計數(shù)輸入(P1.0/T2)及時器/計數(shù)器2之觸發(fā)輸入(P1.1/T2EX),詳見表1所示。在flash編程及校驗時,P1口接收低8位地址字節(jié)。 表1:
P2口——有內(nèi)部上拉電阻的8 位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可作輸入口。作輸入用時,被外部拉低的引腳因內(nèi)部電阻,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR) 時,P2口送出高八位地址。在這種應(yīng)用中,P2口用很強的內(nèi)部上拉發(fā)送1。在用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器之內(nèi)容。在FLASH編程及校驗時,P2口亦接收高8位地址字節(jié)及一些控制信號。
P3口——有內(nèi)部上拉電阻的8位雙向I/O口,p3輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可用作輸入口。作輸入用時,被外部拉低的引腳因內(nèi)部電阻之原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)用,如表2所示。在FLASH編程及校驗時,P3口亦接收些控制信號。此外,P3口亦接收些用于FLASH閃存編程及程序校驗的控制信號。 表2
RST——復(fù)位輸入。振蕩器工作時,RST引腳有兩個機器周期以上高電平將是單片機復(fù)位。
ALE/PROG——訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般,ALE仍以時鐘振蕩頻率的1/6輸出固定之脈沖信號,故它可對外輸出時鐘或用于定時目的。需注意:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳亦用于輸入編程脈沖(PROG)。若必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX及MOVC指令方能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。
PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器之讀選通信號,AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。
EA/VPP——外部訪問允許,要CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端須保持低電平(接地)。需注意:若加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。若EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器之指令。
FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這須是該器件是使用12V編程電壓Vpp。
XTAL1——振蕩器反相放大器及內(nèi)部時鐘發(fā)生電路之輸入端。
XTAL2——振蕩器反相放大器之輸出端。