當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 熱搜器件
[導(dǎo)讀]AT89C52 ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī).片內(nèi)含8K byTES的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和256 byTES 。的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS

AT89C52 ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī).片內(nèi)含8K byTES的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和256 byTES 。的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052 產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU )和FLASH由存儲(chǔ)單元,功能強(qiáng)大AT89C52單片適用于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。

主要性能參數(shù):

與Mcs-51產(chǎn)品指令和引腳完全兼容。

8字節(jié)可重擦寫FLASH閃速存儲(chǔ)器

1000 次擦寫周期

全靜態(tài)操作:0HZ-24MHZ

三級(jí)加密程序存儲(chǔ)器

256X8字節(jié)內(nèi)部RAM

32個(gè)可編程I/0口線

3個(gè)16 位定時(shí)/計(jì)數(shù)器

8個(gè)中斷源

可編程串行UART通道

低功耗空閑和掉電模式

內(nèi)部結(jié)構(gòu)圖

AT89C52內(nèi)部框圖

功能特性:

AT89C52 提供以下標(biāo)準(zhǔn)功能:8字節(jié)FLASH閃速存儲(chǔ)器,256字竹內(nèi)部RAM , 32個(gè)I/O口線,3個(gè)16 位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89c52可降至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電上作模式??臻e方式停止CPU 的工作,但允許RAM,定時(shí)/計(jì)數(shù)器.串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位.

功能引腳說(shuō)明:

Vcc:電源電壓

GND:地

P0:P0口是一組8位漏極開(kāi)路型雙向1/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí).每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL 邏輯門電路,對(duì)端口P0 寫“1”時(shí),可作為高阻抗輸入端用。

在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部 上拉電阻。

在FLASH由編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字 節(jié),校驗(yàn)時(shí),要求外接上拉電阻。

P1口:PI 是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流IIL

與AT89C51不同之處是,Pl.0 和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(Pl.0/T2 )和輸入(P1.1/T2EX) ,

參見(jiàn)表1

FLASH編程和程序校驗(yàn)期間,Pl接收低8位地址。

表1 PI.O 和PI.l 的第二功能

口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯電路。對(duì)端口P2寫“l",通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(llt )。

在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOvx@DPTR 指令)時(shí),P2送出高8 位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器、如執(zhí)行MOVX@RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。

FLASH編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。

·P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL) .

P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表所示:

此外,P3口還接收一些用于FLASH閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。

RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。

·ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié).一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。

對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。

如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位.可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活,此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。

·PSEN:程序儲(chǔ)存允許PSEN輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。

·EA/VPP:外部訪問(wèn)允許。欲使CPU 僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH ) , EA端必須保持低電平(接地).需注怠的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。

如EA端為高電平(接Vcc端), CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。

flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源VPP ,當(dāng)然這必須是該器件是使用12V編程電壓VPP 。

·XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端.

·XTAL1:振蕩器反相放大器的輸出端。

,特殊功能寄存器:

在AT89C52片內(nèi)存儲(chǔ)器中,80H-FFH共128個(gè)單元為特殊功能寄存器(SFE ) , SFR的地址空間映象如表2所示。并非所有的地址都被定義,從80H-FFH共128 個(gè)字節(jié)只有一部分被定義,還有相當(dāng)一部分沒(méi)有定義。對(duì)沒(méi)有定義的單元讀寫將是無(wú)效的,讀出的數(shù)位將不確定,而寫入的數(shù)據(jù)也將丟失。

不應(yīng)將數(shù)據(jù)"1"寫入未定義的單元,由于這些單元在將來(lái)的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。

表2 AT89C52 SFR 映象及復(fù)位狀態(tài)[!--empirenews.page--]

AT89C52除了與AT89C51所有的定時(shí)/計(jì)數(shù)器0和定時(shí)/計(jì)數(shù)器1 外,還增加了一個(gè)定時(shí)/計(jì)數(shù)器2 .定時(shí)/計(jì)數(shù)器2的控制和狀態(tài)位位于T2CON (參見(jiàn)表3) T2CON(參見(jiàn)表4) ,寄存器對(duì)(RCA02H、RCAP2L)是定時(shí)器2在16 位捕獲方式或16位自動(dòng)重裝載方式下的捕獲/自動(dòng)重裝載寄存器。

表3 定時(shí)/計(jì)數(shù)器2控制寄存器T2CON

中斷寄存器:

AT89C52有6個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí),lE寄存器控制各中斷位,lP寄存器中6個(gè)中斷源的每一個(gè)可定為2個(gè)優(yōu)先級(jí)。

數(shù)據(jù)存儲(chǔ)器

AT89C52有256個(gè)字節(jié)的內(nèi)部RAM , 80H-FFH高128個(gè)字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字竹的RAM和殊功能寄存器的地址是相同的,但物理上它們是分開(kāi)的。

當(dāng)一條指令訪問(wèn)7FH以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問(wèn)高128字節(jié)RAM還是訪問(wèn)特殊功能寄存器。如果指令是直接尋址方式則為訪問(wèn)特殊功能寄存器.

例如,下面的直接尋址指令訪問(wèn)特殊功能寄存器0A0H(即P2口)地址單元。

MOV 0A0H ,#data

間接尋址指令訪問(wèn)高128字節(jié)RAM ,例如下面的間接子址指令中,R0的內(nèi)容為OAOH ,則訪問(wèn)數(shù)據(jù)字節(jié)地址為0A0H , 而不是P2口(0A0H )。

MOV @RO ,#data

堆棧操作也是間接尋址方式,所以,高128位數(shù)據(jù)RAM亦可作為堆棧區(qū)使用。

定時(shí)器O和定時(shí)器1

AT89C52的定時(shí)器O和定時(shí)器1的工作方式與AT89C51相同。

定時(shí)2

定時(shí)器2是一個(gè)16位定時(shí)計(jì)數(shù)器。它既可當(dāng)定時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其工作方式由特殊功能寄存器T2CON(如表3 )的C/T2位選擇。定時(shí)器2有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON的控制位來(lái)選擇,參見(jiàn)表4 。

表4 定時(shí)器2 工作方式

定時(shí)器2由兩個(gè)8位寄存器TH2和TL2組成,在定時(shí)器工作方式中,每個(gè)機(jī)器周期TL2寄存器的值加1 ,由于一個(gè)機(jī)器周期由12個(gè)振蕩時(shí)鐘構(gòu)成,因此,計(jì)數(shù)速率為振蕩頻率的1/l2 。

在計(jì)數(shù)工作方式時(shí),當(dāng)T2引腳上外部輸入信號(hào)產(chǎn)生由1至O的下降沿時(shí),寄存器的值加1,在這種工作方式下,每個(gè)機(jī)器周期的5SP2期間,對(duì)外部輸入進(jìn)行采樣。若在第一個(gè)機(jī)器周期中采到的值為1,而在下一個(gè)機(jī)器周期中采到的值為0 , 則在緊跟著的下一個(gè)周期的S3P1期間寄存器加l 。由于識(shí)別1至0的跳變需要2個(gè)機(jī)器周期(24個(gè)振蕩周期),因此,最高計(jì)數(shù)速率為振蕩頻率的1/24 .為確保采樣的正確性,要求輸入的電平在變化前至少保持一個(gè)完整周期的時(shí)間,以保證輸入信號(hào)至少被采樣一次.

捕獲方式:

在捕獲方式下,通過(guò)T2CON控制位以EXEN2來(lái)選抒兩種方式。如果ExEN2=0,定時(shí)器2是一個(gè)16位定時(shí)器或計(jì)數(shù)器,計(jì)數(shù)溢出時(shí),對(duì)T2CON溢出標(biāo)志TFZ置位,同到激活中斷。如果EXEN2=1,定時(shí)器2完成相同的操作,而當(dāng)T2EX引腳外部輸入信號(hào)發(fā)生l至0負(fù)跳變時(shí),也出現(xiàn)TH2和TL2中的值分別被捕獲到RCAP2H和RCAP2L中.另外,T2EX引腳信號(hào)的跳變使得T2CON中的EXF2置位,與TF2相仿,EXF2也會(huì)激活中斷。捕獲方式如圖4 所示。

自動(dòng)重裝載(向上或向下計(jì)數(shù)器)方式:

當(dāng)定時(shí)器2工作于16位自動(dòng)重裝載方式時(shí),能對(duì)其編程為向上或向下計(jì)數(shù)方式,這個(gè)功能可通過(guò)特殊功能寄存器T2CON(見(jiàn)表5)的DCEN位(允許向下計(jì)數(shù))來(lái)選擇的。復(fù)位時(shí),DCEN位置“0 " ,定時(shí)器2默認(rèn)設(shè)置為向上計(jì)數(shù)。當(dāng)DCEN置位時(shí),定時(shí)器2既可向上計(jì)數(shù)也可向下計(jì)數(shù),這取決于T2EX引腳的值,參見(jiàn)圖5 ,當(dāng)DCEN=0時(shí),定時(shí)器2自動(dòng)設(shè)置為向上計(jì)數(shù),在這種方式下,T2CON中的EXEN2控制位有兩種選擇,若EXEN2,定時(shí)器2為向上計(jì)數(shù)至OFFFFH溢出,置位TF2激活中斷,同時(shí)把16位計(jì)數(shù)寄存器RCAP2H和RCAP2L重裝載,RCAP2H 和RCAP2L的值可由軟件預(yù)置。若EXEN2=1 ,定時(shí)器2的16位重裝載由溢出或外部輸入端T2EX從1至0的下降沿觸發(fā)。這個(gè)脈沖使EXF2置位,如果中斷允許,同樣產(chǎn)生中斷。

當(dāng)DCEN=1時(shí),允許定時(shí)器2向上或向下計(jì)數(shù),如圖6所示。這種方式下,T2EX引腳控制計(jì)數(shù)器方向。T2EX以引腳為邏輯“1”時(shí).定時(shí)器向上計(jì)數(shù),當(dāng)計(jì)數(shù)OFFFFH向上溢出時(shí),置位TF2,同時(shí)把16位計(jì)數(shù)寄存器RCAP2H和RCAP2L 重裝載到TH2和TL2中。T2EX引腳為邏輯“0”時(shí),定時(shí)器2向下計(jì)數(shù).當(dāng)TH2和TL2中的數(shù)值等于RCAP2H 和RCAP2L中的值時(shí),計(jì)數(shù)溢出,置位TF2,司時(shí)將OFFFFH數(shù)值重新裝入定時(shí)寄存器中。

當(dāng)定時(shí)了計(jì)數(shù)器2向上滋出或向下溢出時(shí),置位ExF2位.

波特率發(fā)生器:

當(dāng)T2CON創(chuàng)(表3)中的TCLK以和RCLK置位時(shí),定時(shí)/計(jì)數(shù)器2作為波特率發(fā)生器使用。如果定時(shí)/計(jì)數(shù)器2作為發(fā)送器或接收器.其發(fā)送和接收的波特率可以是不同的,定時(shí)器1用于其它功能,如圖7所示。若RCLK和TCLK置位,則定時(shí)器2工作于波特率發(fā)生器方式。

波特率發(fā)生器的方式與自動(dòng)重裝載方式相仿,在此方式下,TH2翻轉(zhuǎn)使定時(shí)器2的寄存器用RCAP2H和RCAP2L中的16位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。

在方式1和方式3中,波特率由定時(shí)器2的溢出速率根據(jù)下式確定:

定時(shí)器既能工作于定時(shí)方式也能工作于計(jì)數(shù)方式,在大多數(shù)的應(yīng)用中,勝作在定時(shí)方式(C/T2=0 ) .定時(shí)器2作為波特率發(fā)生器時(shí),與作為定時(shí)器的操作是不同的,通常作為定時(shí)器時(shí),在每個(gè)機(jī)器周期(1/12 振蕩頻率)寄存器的值加1, 而作為波特率發(fā)生器使用時(shí),在每個(gè)狀態(tài)時(shí)間(1/2 振蕩頻率)寄存器的值加1 。波特率的計(jì)算公式如下:[!--empirenews.page--]

式中(RCAP2H , RCAP2L)是RCAP2H和RCAP2L中的16位無(wú)符號(hào)數(shù)

定時(shí)器2作為波特率發(fā)生器使用的電路如圖7所示。T2CON中的RCLK或TCLK=1時(shí),波特率工作方式才有效。在波特率發(fā)生器工作方式中,TH2翻轉(zhuǎn)不能使TF2置位,故而不產(chǎn)生中斷:但若EXEN2 置位,且T2EX 端產(chǎn)生由l至0的負(fù)跳變,則會(huì)使ExF2置位,此時(shí)并不能將(RCAP2H, RCAP2L)的內(nèi)容重新裝入TH2和TL2中。所以當(dāng)定時(shí)器2作為波特率發(fā)生器使用時(shí),T2EX可作為附加的外部中斷源來(lái)使用。需要注意的是,當(dāng)定時(shí)器2 工作于波特頻率器時(shí),作為定時(shí)器運(yùn)行(TR2=1)時(shí),并不能訪問(wèn)TH2和TL2 。因?yàn)榇藭r(shí)每個(gè)狀態(tài)時(shí)間定時(shí)器都會(huì)加1,對(duì)其讀寫將得到一個(gè)不確定的數(shù)值。

然而,對(duì)RCAP2則可讀而不可寫,因?yàn)閷懭氩僮鲗⑹侵匦卵b載,寫入操作可能令寫和/或重裝載出錯(cuò).在訪問(wèn)定時(shí)器2或RCAP2寄存器之前,應(yīng)將定時(shí)器關(guān)閉(清除TR2)。

圖7 波特率發(fā)生器工作方式

可編程時(shí)鐘輸出:

定時(shí)器2可通過(guò)編程從P1.0 輸出一個(gè)占空比為50%的時(shí)鐘信號(hào),如圖8 所示.P1.0引腳除了是一個(gè)標(biāo)準(zhǔn)的I/O口外,還可以通過(guò)編程使其作為定時(shí)/計(jì)數(shù)器2的外部時(shí)鐘輸入和輸出占空比50%的時(shí)鐘脈沖,當(dāng)時(shí)鐘振蕩頻率為16MHz時(shí),輸出時(shí)鐘頻率范圍為6lH-4MHz 。

當(dāng)設(shè)置定時(shí)/計(jì)數(shù)器2為時(shí)鐘發(fā)生器時(shí),C/T2(T2CON.1)=0, T2OE(T2MOD.1)=1,必須由TR2(T2CON.2)啟動(dòng)或停止定時(shí)器。時(shí)鐘輸出頻率取決于振蕩頻率和定時(shí)器2捕獲寄存器(RCAP2H, RCAP2L)的重新裝載值,公式如下:

在時(shí)鐘輸出方式下,定時(shí)器2的翻轉(zhuǎn)不會(huì)產(chǎn)生中斷,這個(gè)特性與作為波特率發(fā)生器使用時(shí)相仿。定時(shí)器2作為波恃率發(fā)生器使用時(shí),還可作為時(shí)鐘發(fā)生器使用,但需要注意的是波特率和時(shí)鐘輸出頻率不能分開(kāi)確定,這是因?yàn)樗鼈兺褂肦CAP2L和RCAP2L 。

圖8 定時(shí)器2時(shí)鐘輸出方式

AT89C52的UART工作方式與AT89C51工作方式相同。

中斷:

AT89C52共有6個(gè)中斷向量:兩個(gè)外中斷(INT0和INTI) , 3個(gè)定時(shí)器中斷(定時(shí)器0、l、2)和串行口中斷。所有這些中斷源如圖9所示。

這些中斷源可通過(guò)分別設(shè)置專用寄存器IE的置位或清0來(lái)控制每一個(gè)中斷的允許或禁止。IE也有一個(gè)總禁止位EA , 它能控制所有中斷的允許或禁止。

注意表5中的IE.6為保留位,在AT89C51中IE.5也是保留位,程序員不應(yīng)將“l”寫入這些位,它們是將來(lái)AT89系列產(chǎn)品作為擴(kuò)展用的.

定時(shí)器2的中斷是由T2CIN中的TF2和EXF2邏輯或產(chǎn)生的.當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是TF2或EXF2產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位.

定時(shí)器0和定時(shí)器1的標(biāo)志位TF0和TFI在定時(shí)器溢出那個(gè)機(jī)器周期的S5PZ狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時(shí)器2的標(biāo)志位TF2在定時(shí)器溢出的那個(gè)機(jī)器周期的S2P2 狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢到該標(biāo)志。

表5 中斷允許寄存器(IE)

時(shí)鐘振蕩器

AT89C52中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諾振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖10。

外接石英晶體(或陶瓷諾振器)及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1、C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器不作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30PF士1OPF,而如使用陶瓷諾振器建議選擇4PF士10PF 。

用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖10右圖所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。

空閑節(jié)電棋式:

在空閑工作模式狀態(tài),CPU自身處于睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),同時(shí)將片內(nèi)RAM和所有特殊功能寄存器的內(nèi)容凍結(jié).空閑模式可由任何允許的中斷請(qǐng)求或硬件復(fù)位終止。

由硬件復(fù)位終止空閑狀態(tài)只需兩個(gè)機(jī)器周期有效復(fù)位信號(hào),在此狀態(tài)下,片內(nèi)硬件禁止訪問(wèn)內(nèi)部RAM,但可以訪問(wèn)端口引腳,當(dāng)用復(fù)位終止空閑方式時(shí),為避免可能對(duì)端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應(yīng)是一條對(duì)端口或外部存儲(chǔ)器的寫入指令。

掉電棋式:

在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器,但不改變RAM 中的內(nèi)容,在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效,且必須保持一定時(shí)間以使振蕩器重啟動(dòng)并穩(wěn)定工作??臻e和掉電模式下,各端口引腳狀態(tài)如表6所示.

表6 空閑和掉電模式外部引腳狀態(tài)

程序存儲(chǔ)器的加密:

AT89C52有3個(gè)程序加密位,可對(duì)芯片上的3個(gè)加密位LBI 、LBZ 、LB3 進(jìn)行編程(P)或不編程(U)來(lái)得到如表7 所示的功能:

表7 加密位保護(hù)功能表

[!--empirenews.page--]

U:表示未編程 P:表示編程

當(dāng)加密位LB1被編程時(shí),在復(fù)位期間,以端的邏輯電平被采樣并鎖存.如果單片機(jī)卜電后一直沒(méi)有復(fù)位,則鎖存起的初始值是一個(gè)隨機(jī)數(shù),且這個(gè)隨機(jī)數(shù)會(huì)一直保存到真正復(fù)位為止。為使單片機(jī)能正常工作,被鎖存的EA電平值必須與該引腳當(dāng)前的邏輯電平一致。此外,加密位只有翻由過(guò)整片擦除的方法清除。

FLASH存儲(chǔ)器的編程:

AT89C52單片機(jī)內(nèi)部有8k字節(jié)的FlASH PEROM,這個(gè)FLASH存儲(chǔ)陣列出廠時(shí)己處于擦除狀態(tài)(即所有存儲(chǔ)單元的內(nèi)容均為FFH) ,用戶隨時(shí)可對(duì)其進(jìn)行編程.編程接口可接收高電壓(+12V)或低電壓(VCC)的允許編程信號(hào)。低電帳編程模式適合于用戶在線編程系統(tǒng),而高電汗編程模式可與通用EPROM編程器兼容。

AT89C52單片機(jī)中,有些屬于低電帳編程方式,而有些則是高電片編程方式,用戶可從芯片上的型號(hào)和讀取芯片內(nèi)的簽名字節(jié)獲得該信息,見(jiàn)表8 。

表8 頂面標(biāo)記及簽名字節(jié)

 
VPP=12V
VPP=5V
頂面標(biāo)記
AT89C52 
XXXX 
YYWW
AT89CS2 
XXXX-5 
YYWW
簽名字節(jié)
(O30H)=1EH 
(031H) =52H 
(O32H)=FFH
(O30H)=1EH 
(O31H)=52H 
(O32H)=O5H
[!--empirenews.page--]

AT89C52的程序存儲(chǔ)器陣列是采用字節(jié)寫入方式編程的,每次寫入一個(gè)字節(jié),要對(duì)整個(gè)芯片內(nèi)的PEROM程序存儲(chǔ)器寫入一個(gè)非空字節(jié),必須使用片擦除的方式將整個(gè)存儲(chǔ)器的內(nèi)容清除.

編程方法:

編程前,須按表9和圖11所示設(shè)置好地址、數(shù)據(jù)及控制信號(hào),AT89C52編程方法如下:

1 .在地址線上加上要編程單元的地址信號(hào)。

2 .在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。

3 .激活相應(yīng)的控制信號(hào)。

4 .在高電什編程方式時(shí),將EA/Vpp 端加上十12V 編程電壓。

5 .每對(duì)FLASH存儲(chǔ)陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加上一個(gè)ALE/PROG編程脈沖。每個(gè)字竹寫入周期是自身定時(shí)的,通常約為1.5ms.重復(fù)1-5步驟.改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束.

(030H)= 1EH 聲明產(chǎn)品由ATMEL公司出品.

(031H)= 52H 聲明為AT89C52單片機(jī)。

(032H)= FFH 聲明為12V編程電樂(lè)。

(032H)= 05H 聲明為5V 編程電壓。

數(shù)據(jù)查詢:

AT89C52單片機(jī)用Dato Palling 表示一個(gè)寫周期結(jié)束為特征,在一個(gè)寫周期中,如需讀取最后寫入的一個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位(P0. 7)是原來(lái)寫入字書(shū)最高位的反碼。寫周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進(jìn)入下一個(gè)字節(jié)的寫周期.寫周期開(kāi)始后,Data Pallmg 可能隨時(shí)有效。

Ready/Busy:字節(jié)編程的進(jìn)度可通過(guò)“RDY/BsY輸出信號(hào)監(jiān)測(cè),編程期間,ALE變?yōu)楦唠娖?ldquo;H”后,P3.4 (RDY/BSY) 端電平被拉低.表示正在編程狀態(tài)吸忙狀態(tài))。編程完成后,P3.4 變?yōu)楦唠娖奖硎緶?zhǔn)備就緒狀態(tài)。

程序校臉:如果加密位LB1 、LB2 沒(méi)有進(jìn)行編程,則代碼數(shù)據(jù)可通過(guò)地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),采用如圖12的電路。加密位不可直接校驗(yàn),加密位的校驗(yàn)可通過(guò)對(duì)存儲(chǔ)器的校驗(yàn)和寫入狀態(tài)來(lái)驗(yàn)證。

芯片擦除:利用控制信號(hào)的正確組合(表6)并保持ALE/PROG引腳10ms的低電平脈沖寬度即可將PEROM 陣列(4k字節(jié))和三個(gè)加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1",這步驟需再編程之前進(jìn)行。

讀片內(nèi)簽名字節(jié):AT89C52單片機(jī)內(nèi)有3個(gè)簽名字節(jié),地址為030H 、03lH 和032H 。用于聲明該器件的廠商、型號(hào)和編程電帳。讀AT89C52簽名字節(jié)需將P3.6 和P3.7置邏輯低電平,讀簽名字竹的過(guò)程和單元030H、031H及032H 的正常校驗(yàn)相仿,只返回值意義如下:

編程和效驗(yàn)特性:

TA =0℃-70℃,Vcc=5.0±10%

僅用與12V編程模式

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉