版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、AT89C52單片機8位微控制器與Flash 8 k字節(jié)特性:與通過mcs51匯編語言產(chǎn)品兼容8 k字節(jié)的可重復(fù)編程的細(xì)節(jié)閃存耐力:1000寫/擦除周期完全靜態(tài)操作:0赫茲到24 MHz三級程序內(nèi)存鎖256 x 8位內(nèi)部RAM32可編程I/O線三個16位定時器/計數(shù)器八個中斷源可編程串行通道低功耗閑置和省電模式說明:AT89C52單片機是一個低功耗、高性能CMOS 8位微機與8k字節(jié)的Flash編程和可擦只讀存儲器(PEROM)。設(shè)備制造使用Atmel公司的高密度不易失存儲器技術(shù)和兼容行業(yè)標(biāo)準(zhǔn)80C51單片機和80C52指令集。芯片上的Flash允許程序內(nèi)存重新編程細(xì)節(jié)或通過傳統(tǒng)的非易失性內(nèi)存
2、的程序。Atmel公司的AT89C52單片機是一個功能強大的微型計算機,結(jié)合一個8位單片芯片CPU使用Flash,提供了一個高度靈活和具有成本效益的解決許多嵌入式控制應(yīng)用程序。圖1圖2AT89C52單片機提供以下標(biāo)準(zhǔn)特性:8k字節(jié)的Flash,256字節(jié)的內(nèi)存,32個I/ O線,三個16位定時器/計數(shù)器,兩級中斷架構(gòu),一個全雙工串行端口,芯片上的振蕩器和時鐘電路。此外,AT89C52設(shè)計的靜態(tài)邏輯操作可降到零頻率和支持選擇兩種軟件的節(jié)電模式??臻e模式停止CPU時同時允許RAM、定時器/計數(shù)器、串行端口、和中斷系統(tǒng)繼續(xù)引發(fā)反應(yīng),省電模式節(jié)省了內(nèi)存內(nèi)容但凍結(jié)振蕩器,禁用所有其他芯片的功能,直到下一
3、個硬件復(fù)位。引腳描述:VCC:電源電壓。地:接地。0端口端口0是一個8位漏極開路型雙向1/O口。作為輸出端口,每位能吸收電流的方式驅(qū)動8個TTL 邏輯門電路。對端口P0 寫“1”時,可作為高阻抗輸入端用。端口0也可以配置多路復(fù)用的低位地址/數(shù)據(jù)總線訪問外部程序和數(shù)據(jù)存儲器。在訪問期間激活內(nèi)部上拉電阻。在FLASH由編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。端口1端口1是一個8位雙向I / O端口與內(nèi)部引體向上。端口1的輸出緩沖級可以吸收四個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在
4、上拉電阻某個引腳被外部信號拉低時會輸出一個電流IIL。此外,P1.0和P1.1可以配置為外部計數(shù)定時器/計數(shù)器2輸入(P1.0/ T2)和定時器/計數(shù)器2觸發(fā)輸入(P1.1/ T2EX),分別如下表1所示。端口1低階也接收地址字節(jié)在Flash編程和驗證。表1引腳號功能特性Pl.0T2 (定時計數(shù)器2外部計數(shù)脈沖輸入),時鐘輸出Pl.1TZEx 定時計數(shù)2捕獲/重裝載觸發(fā)和方向控制)端口2端口2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口。端口2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯電路。對端口P2寫“l(fā)",通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因
5、為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(LLT)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOvxDPTR 指令)時,端口2送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器、如執(zhí)行MOVXRI指令)時,P2口輸出端口2鎖存器的內(nèi)容。FLASH編程或校驗時,端口2亦接收高位地址和一些控制信號。端口3端口3是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的端口3將用上拉電阻輸出電流(IIL)。端口3還提供各種AT89C51沒
6、有的特殊的功能特性,如下表所示。端口3還接收一些用于FLASH閃速存儲器編程和程序校驗的控制信號。表2端口引腳第二功能P3.0RXD(串行輸入口P3.1TXD(串行輸出口P3.2INT0(外中斷0P3.3INT1(外中斷l(xiāng))P3.4T0 (定時計數(shù)器0 )P3.5T1 (定時計數(shù)器l )P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸
7、出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元。可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活,此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。PSEN:程序儲存允許PSEN輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令時,每個機器周期兩次PSEN有效,即輸出兩個
8、脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H-FFFFH ) ,EA端必須保持低電平(接地)。需注意的是:如果加密位LBI被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源VPP ,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1:內(nèi)部反向振蕩放大器的輸入和內(nèi)部時鐘的輸入端。XTAL2:內(nèi)部反向振蕩放大器的輸出。特殊功能寄存器:片上內(nèi)存區(qū)域的地址稱為特殊
9、功能寄存器(SFR)空間。注意,并不是所有的地址都被定義,還有相當(dāng)一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)位將不確定,而寫入的數(shù)據(jù)也將丟失。不應(yīng)將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。定時器/寄存器2:控制和狀態(tài)寄存器中包含T2CON和T2MOD定時器2。寄存器對(RCA02H、RCAP2L)是定時器2在16 位捕獲方式或16位自動重裝載方式下的捕獲/自動重裝載寄存器。中斷寄存器:IE的個別中斷允許位寄存器。lP寄存器中6個中斷源的每一個可定為2個優(yōu)先級。數(shù)據(jù)存儲器:AT89C52單片機芯片
10、上有256字節(jié)的RAM。28個字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字竹的RAM和殊功能寄存器的地址是相同的,但物理上它們是分開的。當(dāng)一個指令訪問內(nèi)部位置上面地址7跳頻,地址模式用于指令指定CPU訪問上面的128字節(jié)的RAM或SFR空間指令。例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即P2口)地址單元。MOV 0A0H ,#data間接尋址指令訪問高128字節(jié)RAM ,例如下面的間接子址指令中,R0的內(nèi)容為0A0H ,則訪問數(shù)據(jù)字節(jié)地址為0A0H , 而不是P2(0A0H )。MOV R0,#data ,
11、所以上面的128字節(jié)的RAM可用數(shù)據(jù)堆??臻g。定時器0和1:AT89C52單片機定時器0和定時器1的操作與AT89C51單片機定時器0和定時器1操作一樣。定時器2:定時器2是一個16位的定時器/計數(shù)器,可以作為一個定時器或計數(shù)器。其工作方式由特殊功能寄存器T2CON的C/T2位選擇。定時器2有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON的控制位來選擇。定時器2由兩個8位寄存器TH2和TL2組成,在定時器工作方式中,每個機器周期TL2寄存器的值加1,由于一個機器周期由12個振蕩時鐘構(gòu)成,因此,計數(shù)速率為振蕩頻率的1/l2。在計數(shù)工作方式時,當(dāng)T
12、2引腳上外部輸入信號產(chǎn)生由1至0的下降沿時,寄存器的值加1,在這種工作方式下,對外部輸入進行采樣。若在第一個機器周期中采到的值為1,而在下一個機器周期中采到的值為0 , 則在緊跟著的下一個周期的S3P1期間寄存器加l。由于識別1至0的跳變需要2個機器周期(24個振蕩周期),因此,最高計數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采樣一次。捕獲模式:在捕獲模式下,兩個選項被選中,EXEN2,T2CON進來的。如果EXEN2=0,定時器2是一個16位的定時器或計數(shù)器溢出后集TF2,T2CON進來的。這一點可以用來產(chǎn)
13、生一個中斷。如果EXEN2=1,定時器2執(zhí)行相同的操作,在外部輸入1與0過渡T2EX也導(dǎo)致當(dāng)前值在TH2和TL2捕獲到RCAP2H,RCAP2L,分別。此外,過渡在T2CON,T2EX導(dǎo)致EXF2設(shè)置。EXF2,F(xiàn)2一樣,可以產(chǎn)生一個中斷。捕獲模式如圖3所示。圖3自動重載(向上或向下計數(shù)器):定時器2可以向上或向下計數(shù)時配置的16位自動重載模式。DCEN調(diào)用此功能的計數(shù)器使)位于SFR,T2MOD。在重置,DCEN位設(shè)置為0,這樣定時器2將默認(rèn)計算。當(dāng)DCEN設(shè)置、定時器2可以向上或向下,這取決于T2EX引腳的值。圖4顯示了當(dāng)DCEN=0時,定時器2自動設(shè)置為向上計數(shù),在這種方式下,T2CON
14、中的EXEN2控制位有兩種選擇,若EXEN2,定時器2為向上計數(shù)至0FFFFH溢出,置位TF2激活中斷,同時把16位計數(shù)寄存器RCAP2H和RCAP2L重裝載,RCAP2H 和RCAP2L的值可由軟件預(yù)置。若EXEN2=1 ,定時器2的16位重裝載由溢出或外部輸入端T2EX從1至0的下降沿觸發(fā)。這個脈沖使EXF2置位,如果中斷允許,同樣產(chǎn)生中斷。當(dāng)DCEN=1時,允許定時器2向上或向下計數(shù)。這種方式下,T2EX引腳控制計數(shù)器方向。T2EX以引腳為邏輯“1”時。定時器向上計數(shù),當(dāng)計數(shù)0FFFFH向上溢出時,置位TF2,同時把16位計數(shù)寄存器RCAP2H和RCAP2L
15、;重裝載到TH2和TL2中。T2EX引腳為邏輯“0”時,定時器2向下計數(shù)。當(dāng)TH2和TL2中的數(shù)值等于RCAP2H 和RCAP2L中的值時,計數(shù)溢出,置位TF2,司時將0FFFFH數(shù)值重新裝入定時寄存器中。當(dāng)定時了計數(shù)器2向上滋出或向下溢出時,置位EXF2位圖4圖5波特率發(fā)生器:定時器2是選為波特率發(fā)生器通過設(shè)置TCLK或RCLK,T2CON。注意,傳輸和接收的波特率可以是不同的,如果定時器2是用于接收機或發(fā)射機時,定時器1用于其他功能。設(shè)置RCLK和/或TCLK把定時器2的波特率發(fā)生器模式,如圖6所示。波特率發(fā)生器的方式與自動重裝載方式相仿,在此方式下,TH2翻轉(zhuǎn)使定時器2的寄存器
16、用RCAP2H和RCAP2L中的16位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。定時器可以配置定時器或計數(shù)器操作。在大多數(shù)應(yīng)用程序中,它是配置為計時器操作(CP/T2 = 0)。定時器2作為波特率發(fā)生器。T2CON中的RCLK或TCLK=1時,波特率工作方式才有效。在波特率發(fā)生器工作方式中,TH2翻轉(zhuǎn)不能使TF2置位,故而不產(chǎn)生中斷:但若EXEN2 置位,且T2EX 端產(chǎn)生由l至0的負(fù)跳變,則會使EXF2置位,此時并不能將(RCAP2H,RCAP2L)的內(nèi)容重新裝入TH2和TL2中。所以當(dāng)定時器2作為波特率發(fā)生器使用時,T2EX可作為附加的外部中斷源來使用。需要注意的是,當(dāng)定時器2&
17、#160;工作于波特頻率器時,作為定時器運行(TR2=1)時,并不能訪問TH2和TL2 。因為此時每個狀態(tài)時間定時器都會加1,對其讀寫將得到一個不確定的數(shù)值。然而,對RCAP2則可讀而不可寫,因為寫入操作將是重新裝載,寫入操作可能令寫和/或重裝載出錯在訪問定時器2或RCAP2寄存器之前,應(yīng)將定時器關(guān)閉(清除TR2)。圖6可編程時鐘輸出:定時器2可通過編程從P1.0 輸出一個占空比為50%的時鐘信號,如圖7所示。所示P1.0引腳除了是一個標(biāo)準(zhǔn)的I/O口外,還可以通過編程使其作為定時/計數(shù)器2的外部時鐘輸入和輸出占空比50%的時鐘脈沖,當(dāng)時鐘振蕩頻率為16MHz時,輸出時鐘頻率
18、范圍為6lH-4MHz。當(dāng)設(shè)置定時/計數(shù)器2為時鐘發(fā)生器時,C/T2(T2CON.1)=0,T2OE(T2MOD.1)=1,必須由TR2(T2CON.2)啟動或停止定時器。時鐘輸出頻率取決于振蕩頻率和定時器2捕獲寄存器(RCAP2H, RCAP2L)的重新裝載值在鐘模式下,定時器2翻轉(zhuǎn)不會產(chǎn)生一個中斷。這種行為類似于當(dāng)定時器2是用作波特率發(fā)生器??梢允褂枚〞r器2波特率發(fā)生器和一個同步時鐘發(fā)生器。但是請注意,波特率和獨立鐘頻率不能確定從一個另一個,因為他們都使用RCAP2H 和RCAP2L。圖7UART:AT89C52單片機的UART操作AT89C51單片機的UART操作一樣。中斷:AT89C5
19、2單片機共有6個中斷向量:兩個外部中斷(INT0和INT1),三個定時器中斷(定時器0、1和2),和串口中斷。這些中斷都如圖8所示。每個中斷源可以單獨啟用或禁用通過設(shè)置或清除有點特殊功能寄存器中。即還包含一個總禁止中斷EA,禁用所有中斷。在AT89C51中IE.5也是保留位,程序員不應(yīng)將“l(fā)”寫入這些位,它們是將來AT89系列產(chǎn)品作為擴展用的。定時器2的中斷是由T2CIN中的TF2和EXF2邏輯或產(chǎn)生的當(dāng)轉(zhuǎn)向中斷服務(wù)程序時,這些標(biāo)志位不能被硬件清除,事實上,服務(wù)程序需確定是TF2或EXF2產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時器0和定時器1的標(biāo)志位TF0和TFI在定時器溢出那個機器周期的S5P
20、Z狀態(tài)置位,而會在下一個機器周期才查詢到該中斷標(biāo)志。然而,定時器2的標(biāo)志位TF2在定時器溢出的那個機器周期的S2P2 狀態(tài)置位,并在同一個機器周期內(nèi)查詢到該標(biāo)志。圖8時鐘振蕩器:XTAL1和XTAL2分別輸入和輸出,一個反相放大器,可以配置為使用作為一個芯片上的振蕩器,如圖9所示。石英晶體或陶瓷諧振器可以使用。驅(qū)動裝置從外部時鐘源,XTAL2應(yīng)該孤立而XTAL1驅(qū)動,如圖10所示。沒有要求的責(zé)任周期外部時鐘信號,由于內(nèi)部時鐘電路的輸入是通過除以2觸發(fā)器,但最小和最大電壓高和低時間必須遵守規(guī)范。圖9圖10空閑模式:在空閑模式下,CPU將處于睡眠狀態(tài)在所有的芯片外設(shè)保持活躍。由軟件調(diào)用模
21、式。片上內(nèi)存的內(nèi)容,所有的特殊功能寄存器在這種模式保持不變??臻e模式可以由任何啟用中斷或終止一個硬件復(fù)位。注意,當(dāng)空閑模式終止由硬件復(fù)位,恢復(fù)設(shè)備正常程序執(zhí)行從那里離開,到前兩個機器周期內(nèi)部復(fù)位算法控制。片上硬件抑制訪問內(nèi)部RAM在這種情況下,但訪問端口針不抑制。當(dāng)用復(fù)位終止空閑方式時,為避免可能對端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應(yīng)是一條對端口或外部存儲器的寫入指令。省電模式:在省電模式下,振蕩器停止,最后指令執(zhí)行指令,調(diào)用斷電。芯片上的RAM和特殊功能寄存器保留它們的值,直到終止省電模式。唯一退出省電模式的方法是硬件復(fù)位。重置重新定義SFR但不改變芯片上的RAM。重置不應(yīng)
22、該被激活之前VCC恢復(fù)正常操作水平,必須積極足夠長的時間來允許重新啟動和穩(wěn)定的振蕩器。程序存儲器的加密:AT89C52單片機有三個密位,可以離開塔(U)或可編程(P)獲得。鎖點1是編程時,在EA引腳邏輯電平采樣和鎖定在重置。如果在設(shè)備沒有復(fù)位,則鎖存器的初始化到一個隨機值,隨機值將一直保留。為了讓設(shè)備正常運行,EA的鎖閉的價值必須同意當(dāng)前邏輯電平。FLASH存儲器的編程:AT89C52單片機內(nèi)部有8k字節(jié)的FlASH PEROM,這個FLASH存儲陣列出廠時己處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為FFH),用戶隨時可對其進行編程。編程接口可接收高電壓(+12V)或低電壓(VCC)的允許編程信號。低電平編程模式適合于用戶在線編程系統(tǒng),而高電平編程模式可與通用EPROM編程器兼容。AT89C52單片機中,有些屬于低電平編程方式,而有些則是高電平編程方式,用戶可從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得該信息。編程算法:AT89C52單片機編程之前,地址、數(shù)據(jù)和控制信號應(yīng)設(shè)置根據(jù)Flash編程模式表和圖11和圖12。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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程施工合同當(dāng)中的質(zhì)量檢驗標(biāo)準(zhǔn)約定
- 《薄層層析柱層析》課件
- 2025年臨汾貨物運輸駕駛員從業(yè)資格考試系統(tǒng)
- 2025年漢中道路貨運駕駛員從業(yè)資格證考試
- 《行政許可范圍制度》課件
- 住宅小區(qū)施工備案委托協(xié)議
- 排水系統(tǒng)工程合同協(xié)議書范本
- 長期購銷合同變更問題
- 花卉園藝設(shè)備租賃合同
- 舞臺表演音響租賃合同范本
- 《富馬酸盧帕他定口崩片關(guān)鍵質(zhì)量屬性與標(biāo)準(zhǔn)研究》
- 走近非遺 課件 2024-2025學(xué)年湘美版(2024)初中美術(shù)七年級上冊
- 新生兒壞死性小腸結(jié)腸炎臨床診療指南解讀 課件
- 網(wǎng)絡(luò)數(shù)據(jù)安全管理條例
- 2024版2024年【人教版】二年級上冊《道德與法治》全冊教案
- 2024年浙江省單獨招生文化考試語文試卷(含答案詳解)
- 山東省泰安市2024屆高三上學(xué)期期末數(shù)學(xué)試題(含答案解析)
- 少兒編程獲獎?wù)n件
- 2024年《風(fēng)力發(fā)電原理》基礎(chǔ)技能及理論知識考試題庫與答案
- 軟件開發(fā)項目監(jiān)理細(xì)則
- (必會)軍隊文職(藥學(xué))近年考試真題題庫(含答案解析)
評論
0/150
提交評論