ATC單片機結(jié)構(gòu)和原理PPT教學(xué)課件_第1頁
ATC單片機結(jié)構(gòu)和原理PPT教學(xué)課件_第2頁
ATC單片機結(jié)構(gòu)和原理PPT教學(xué)課件_第3頁
ATC單片機結(jié)構(gòu)和原理PPT教學(xué)課件_第4頁
ATC單片機結(jié)構(gòu)和原理PPT教學(xué)課件_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、P0驅(qū)動器P2驅(qū)動器P0鎖存器P2鎖存器RAMRAM地址寄存器BACCTMP1TMP2PSWP1驅(qū)動器P1鎖存器P3驅(qū)動器P3鎖存器OSC定時控制邏輯電路指令寄存器PCONSCONTMODTCONT2CONTH0TL0TH1TH2TL2RCAP2H*RCAP2L*中斷、串行口,定時器邏輯TL1SBUFIEIPFlash程序地址寄 存 器緩沖器PC加1器程序計數(shù)器DPTRP0.0P0.7P2.0P2.7ALUSPP1.0P1.7P3.0P3.7PSENALERSTEAXTAL1XTAL2VCCGND*只在AT89C52中有圖2-1 AT89C51內(nèi)部結(jié)構(gòu)框圖 第1頁/共75頁 2.1.1 中央處

2、理器(CPU) CPU是單片機內(nèi)部的核心部件,是一個8位二進制數(shù)的中央處理單元,主要由運算器、控制器和寄存器陣列構(gòu)成。 1. 運算器 運算器用來完成算術(shù)運算和邏輯運算功能,它是AT89C51內(nèi)部處理各種信息的主要部件。運算器主要由算術(shù)邏輯單元(ALU)、累加器(ACC)、暫存寄存器(TMP1、TMP2)和狀態(tài)寄存器(PSW)組成。第2頁/共75頁 (1) 算術(shù)邏輯單元(ALU):AT89C51中的ALU由加法器和一個布爾處理器組成(圖中未具體畫出)。 (2) 累加器(ACC):用來存放參與算術(shù)運算和邏輯運算的一個操作數(shù)或運算的結(jié)果。 (3) 暫存寄存器(TMP1、TMP2):用來存放參與算術(shù)運

3、算和邏輯運算的另一個操作數(shù),它對用戶不開放。 (4) 狀態(tài)寄存器(PSW):PSW是一個8位標(biāo)志寄存器,用來存放ALU操作結(jié)果的有關(guān)狀態(tài)。 第3頁/共75頁 表2-1 PSW各位定義表位編號PSW7PSW6PSW5PSW4PSW3PSW2PSW1PSW0位定義CYACF0RS1RS0OVP位地址D7HD6HD5HD4HD3HD2HD1HD0H第4頁/共75頁 進位標(biāo)志位CY:表示累加器A在加減運算過程中其最高位A7有無進位或借位。 輔助進位位AC:表示累加器A在加減運算時低4位(A3)有無向高4位(A4)進位或借位。 用戶標(biāo)志位F0:是用戶定義的一個狀態(tài)標(biāo)志位,根據(jù)需要可以用軟件來使它置位或清

4、除。第5頁/共75頁 寄存器選擇位RS1、RS0:AT89C51共有四組,每組八個工作寄存器R0R7。編程時用于存放數(shù)據(jù)或地址。但每組工作寄存器在內(nèi)部RAM中的物理地址不同。RS1和RS0的四種狀態(tài)組合就是用來確定四組工作寄存器的實際物理地址的。RS1、RS0狀態(tài)與工作寄存器R0R7的物理地址關(guān)系如表2-2所示。第6頁/共75頁 表2-2 工作寄存器組R0R7的物理地址RS1 RS0工作寄存器組號R0R7的物理地址0 00 11 01 1012300H07H08H0FH16H17H18H1FH第7頁/共75頁 溢出標(biāo)志位OV:當(dāng)執(zhí)行算術(shù)指令時,由硬件自動置位或清零,表示累加器A的溢出狀態(tài)。 奇

5、偶標(biāo)志位P:用于指示運算結(jié)果中1的個數(shù)的奇偶性,若累加器A中1的個數(shù)為奇數(shù),則P=1;若1的個數(shù)為偶數(shù),則P=0。第8頁/共75頁 2. 控制器 控制器是單片機內(nèi)部按一定時序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的部件??刂破髦饕沙绦蛴嫈?shù)器PC、指令寄存器IR、指令譯碼器ID和定時控制邏輯電路等構(gòu)成。 程序計數(shù)器PC是專門用于存放現(xiàn)行指令的16位地址的。CPU就是根據(jù)PC中的地址到ROM中去讀取程序指令碼和數(shù)據(jù),并送給指令寄存器IR進行分析。 第9頁/共75頁 指令寄存器IR用于存放CPU根據(jù)PC地址從ROM中讀出的指令操作碼。 指令譯碼器ID是用于分析指令操作的部件,指令操作碼經(jīng)譯碼后產(chǎn)生相

6、應(yīng)于某一特定操作的信號。 定時控制邏輯中定時部件用來產(chǎn)生脈沖序列和多種節(jié)拍脈沖。 第10頁/共75頁 3寄存器陣列 寄存器陣列是單片機內(nèi)部的臨時存儲單元或固定用途單元,包括通用寄存器組和專用寄存器組。 通用寄存器組用來存放過渡性的數(shù)據(jù)和地址,提高CPU的運行速度。 專用寄存器組主要用來指示當(dāng)前要執(zhí)行指令的內(nèi)存地址,存放特定的操作數(shù),指示指令運行的狀態(tài)等。 第11頁/共75頁 2.1.2 存儲器 AT89C51單片機內(nèi)部有256個字節(jié)的RAM數(shù)據(jù)存儲器和4KB的閃存程序存儲器(Flash),當(dāng)不夠使用時,可分別擴展為64 KB外部RAM存儲器和64 KB外部程序存儲器。它們的邏輯空間是分開的,并

7、有各自的尋址機構(gòu)和尋址方式。這種結(jié)構(gòu)的單片機稱為哈佛型結(jié)構(gòu)單片機。 程序存儲器是可讀不可寫的,用于存放編好的程序和表格常數(shù)。 數(shù)據(jù)存儲器是既可讀也可寫的,用于存放運算的中間結(jié)果,進行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。第12頁/共75頁 2.1.3 I/O端口 AT89C51單片機對外部電路進行控制或交換信息都是通過I/O端口進行的。單片機的I/O端口分為并行I/O端口和串行I/O端口,它們的結(jié)構(gòu)和作用并不相同。 1并行I/O端口 AT89C51有四個8位并行I/O端口,分別命名為P0口、P1口、P2口和P3口,它們都是8位準(zhǔn)雙向口,每次可以并行輸入或輸出8位二進制信息。 第13頁/共75頁 2串行I/O端

8、口 AT89C51有一個全雙工的可編程串行I/O端口,它利用了P3口的第二功能,即將P3.1引腳作為串行數(shù)據(jù)的發(fā)送線TXD,將P3.0引腳作為串行數(shù)據(jù)的接收線RXD。 第14頁/共75頁 2.1.4 定時器/計數(shù)器 AT89C51內(nèi)部有兩個16位可編程定時器/計數(shù)器,簡稱為定時器0(T0)和定時器1(T1),T0和T1分別由兩個8位寄存器構(gòu)成,其中T0由TH0(高8位)和TL0(低8位)構(gòu)成,T1由TH1(高8位)和TL1(低8位)構(gòu)成。TH0、TL0、TH1、TL1都是SFR中的特殊功能寄存器(見表2-4)。第15頁/共75頁 T 0 和 T 1 在 定 時 器 控 制 寄 存 器 TC O

9、 N 和 定 時 器 方 式 選 擇 寄 存 器TMOD的控制下(TCON、TMOD為特殊功能寄存器),可工作在定時器模式或計數(shù)器模式下,每種模式下又有不同的工作方式。當(dāng)定時或計數(shù)溢出時還可申請中斷。詳細(xì)情況參見第6章。第16頁/共75頁 2.1.5 中斷系統(tǒng) 單片機中的中斷是指CPU暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源服務(wù)(執(zhí)行中斷服務(wù)程序),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指能夠處理上述中斷過程所需要的部分電路。 AT89C51的中斷系統(tǒng)由中斷源、中斷允許控制器IE、中斷優(yōu)先級控制器IP、定時器控制器TCON(中斷標(biāo)志寄存器)等構(gòu)成,IE、IP、TCON均為SFR特殊功能

10、寄存器(見表2-2)。 第17頁/共75頁 2.1.6 內(nèi)部總線 總線是用于傳送信息的公共途徑??偩€可分為數(shù)據(jù)總線、地址總線、控制總線。單片機內(nèi)的CPU、存儲器、I/O接口等單元部件都是通過總線連接到一起的。采用總線結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,增強系統(tǒng)靈活性。 AT89C51單片機內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的。 第18頁/共75頁2.2 AT89C51單片機引腳及其功能 AT89C51有40條引腳,與其他51系列單片機引腳是兼容的。這40條引腳可分為I/O端口線、電源線、控制線、外接晶體線四部分。其封裝形式有兩種:雙列直插封裝(DIP)形式和方形封裝形式

11、,如圖2-2所示。第19頁/共75頁12345678910111213141516171819204039383736353433323130292827262524232221(T2)P1.0(T 2EX)P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(T0)P3.4(T1)P3.5XTAL2XTAL1GND(TNT0)P3.2(TNT1)P3.3(WR)P3.6(RD)P3.7VCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)P2.7(A1

12、5)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)EA/VPPALE/PROGPSENP1.5P1.6P1.7RST(RXD)P3.0NC(TXD)P3.1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VPPNCALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)789101112131415161739383736353433323130291819202122232425262728P1

13、.4P1.3P1.2P1.1(T 2EX)P1.0(T 2)NCVCCP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)(WR)P3.6(RD)P3.7XTAL2XTAL1GNDNC(A8)P2.0(A9)P2.1(A10)P2.2(A11)P2.3(A12)P2.46543214443424140(a)(b)圖2-2 AT89C51封裝和引腳分配圖(a) 雙列直插式封裝;(b) 方形封裝第20頁/共75頁 2.2.1 I/O端口功能 1P0口 P0口有八條端口線,命名為P0.0P0.7,其中P0.0為低位,P0.7為高位。每條線的結(jié)構(gòu)組成如圖2-3所示。它由一個輸出鎖存

14、器,兩個三態(tài)緩沖器,輸出驅(qū)動電路和輸出控制電路組成。P0口是一個三態(tài)雙向I/O口,它有兩種不同的功能,用于不同的工作環(huán)境。第21頁/共75頁DCLQQP0.X鎖存器MUXT2T1VCC控制地址/數(shù)據(jù)讀鎖存器內(nèi)部總線寫鎖存器讀引腳P0.X圖2-3 P0口位結(jié)構(gòu)圖第22頁/共75頁 2. P1口 P1口有八條端口線,命名為P1.0P1.7,每條線的結(jié)構(gòu)組成如圖2-4所示。P1口是一個準(zhǔn)雙向口,只作普通的I/O口使用,其功能與P0口的第一功能相同。作輸出口使用時,由于其內(nèi)部有上拉電阻,所以不需外接上拉電阻;作輸入口使用時,必須先向鎖存器寫入“1”,使場效應(yīng)管T截止,然后才能讀取數(shù)據(jù)。第23頁/共75

15、頁DCLQQP1.X鎖存器讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCP1.XT圖2-4 P1口位結(jié)構(gòu)圖第24頁/共75頁 3. P2口 P2口有八條端口線,命名為P2.0P2.7,每條線的結(jié)構(gòu)如圖2-5所示。P2口也是一個準(zhǔn)雙向口,它有兩種使用功能:一種是當(dāng)系統(tǒng)不擴展外部存儲器時,作普通I/O口使用,其功能和原理與P0口第一功能相同,只是作為輸出口時不需外接上拉電阻;另一種是當(dāng)系統(tǒng)外擴存儲器時,P2口作系統(tǒng)擴展的地址總線口使用,輸出高8位的地址A7A15,與P0口第二功能輸出的低8位地址相配合,共同訪問外部程序或數(shù)據(jù)存儲器(64 KB),但它只確定地址并不能像P0口那樣還可以傳送存儲器的讀寫數(shù)據(jù)。第

16、25頁/共75頁DCLQQP2.X鎖存器MUXTVCC控制內(nèi)部上拉電阻讀鎖存器內(nèi)部總線寫鎖存器讀引腳P2.X地址圖2-5 P2口位結(jié)構(gòu)圖第26頁/共75頁 4. P3口 P3口有八條端口線,命名為P3.0P3.7,每條線的結(jié)構(gòu)如圖2-6所示。P3口是一個多用途的準(zhǔn)雙向口。第一功能是作普通I/O口使用,其功能和原理與P1口相同。第二功能是作控制和特殊功能口使用,這時八條端口線所定義的功能各不相同,如表2-3所示。 第27頁/共75頁DCLQQP3.X鎖存器讀鎖存器內(nèi)部總線寫鎖存器讀引腳VCCP3.XT內(nèi)部上拉電阻第二輸出功能第二輸入功能圖2-6 P3口位結(jié)構(gòu)圖第28頁/共75頁 表2-3 P3口

17、各位的第二功能第29頁/共75頁 5I/O口的讀寫 P0P3口都可作為普通I/O口來使用。當(dāng)作為輸入口使用時,必須先向該口的鎖存器中寫入“1”,然后再從讀引腳緩沖器中讀入引腳狀態(tài),這樣的讀入結(jié)果才正確(前面已分析過)。 第30頁/共75頁 2.2.2 電源線 AT89C51單片機的電源線有以下兩種: (1) VCC:+5 V電源線。 (2) VSS:接地線。第31頁/共75頁 2.2.3 外接晶體引腳 AT89C51單片機的外接晶體引腳有以下兩種: (1) XTAL1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時鐘工作的輸入端。采用內(nèi)部振蕩器時,它接外部石英晶體和微調(diào)電容的一個引腳。 (2) XTAL

18、2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時,該引腳懸空。第32頁/共75頁 2.2.4 控制線 AT89C51單片機的控制線有以下幾種: (1) RST:復(fù)位輸入端,高電平有效。 (2) ALE/ :地址鎖存允許/編程線。 (3) :外部程序存儲器的讀選通線。 (4) /VPP:片外ROM允許訪問端/編程電源端。 PROGPSENEA第33頁/共75頁2.3 AT89C51存儲器 AT89C51單片機存儲器結(jié)構(gòu)采用哈佛型結(jié)構(gòu),即將程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)分開,它們有各自獨立的存儲空間、尋址機構(gòu)和尋址方式。其典型結(jié)構(gòu)如圖2-7所示。第3

19、4頁/共75頁1EA 內(nèi)部0FFFH0000H0EA 外部外部FFFFH1000H內(nèi)部RAM專用寄存器外部00H80H7FH00H0000HFFFFH(a)(b)圖2-7 AT89C51存儲器結(jié)構(gòu)圖(a) 程序存儲器地址分配;(b) 數(shù)據(jù)存儲器地址分配第35頁/共75頁 2.3.1 程序存儲器 AT89C51程序存儲器有片內(nèi)和片外之分。片內(nèi)有4 KB字節(jié)的Flash程序存儲器,地址范圍為0000H0FFFH。當(dāng)不夠使用時,可以擴展片外程序存儲器,因程序計數(shù)器PC和程序地址指針DPTR都是16位的,所以片外程序存儲器擴展的最大空間是64 KB,地址范圍為0000HFFFFH。 第36頁/共75頁

20、 2.3.2 數(shù)據(jù)存儲器 AT89C51數(shù)據(jù)存儲器也有片內(nèi)和片外之分。片內(nèi)有256個字節(jié)RAM,地址范圍為00HFFH。片外數(shù)據(jù)存儲器可擴展64 KB存儲空間,地址范圍為0000HFFFFH,但兩者的地址空間是分開的,各自獨立的,結(jié)構(gòu)分配如圖2-7(b)所示。 第37頁/共75頁 1. 片內(nèi)數(shù)據(jù)存儲器 AT89C51單片機片內(nèi)數(shù)據(jù)存儲器可分為兩部分:00H7FH單元空間的128字節(jié)為RAM區(qū);80HFFH單元空間的128字節(jié)為專用寄存器(SFR)區(qū)。兩部分的地址空間是連續(xù)的。 (1) 片內(nèi)RAM區(qū):共128字節(jié),它又可劃分為通用寄存器區(qū)、位尋址區(qū)、普通RAM區(qū),如圖2-8所示。第38頁/共75

21、頁7FH 30H2FH7F7E7D7C7B7A7978 2EH7776757473727170 2DH6F6E6D6C6B6A6968 2CH6766656463626160 2BH5F5E5D5C5B5A5958 2AH5756555453525150 29H4F4E4D4C4B4A4948 28H4746454443424140位尋址區(qū)27H3F3E3D3C3B3A3938 26H373635343332313025H2F2E2D2C2B2A2928 24H2726252423222120 23H1F1E1D1C1B1A1918 22H1716151413121110 21H0F0E0D0

22、C0B0A0908 20H0706050403020100 1FH 3組 18H 17H 2組 10H通用寄存器區(qū)0FH 1組 08H 07H 0組 00H圖2-8 AT89C51內(nèi)部RAM空間分配第39頁/共75頁 通用寄存器區(qū):00H1FH這32個單元為通用寄存器區(qū),分為四組,每組占八個 RAM單元,地址由小到大分別用代號R0R7表示。通過設(shè)置程序狀態(tài)字PSW中的RS1、RS0狀態(tài)來決定哪一組寄存器工作,如表2-2所示。 位尋址區(qū):20H2FH這16個單元為位尋址區(qū)。它有雙重尋址功能,既可以進行位尋址操作,也可以同普通RAM單元一樣按字節(jié)尋址操作。 第40頁/共75頁 普通RAM區(qū):30H

23、7FH這80個單元為普通RAM區(qū)。用于存放用戶數(shù)據(jù),只能按字節(jié)存取。 堆棧區(qū):堆棧是片內(nèi)RAM存儲器中的特殊群體。第41頁/共75頁棧頂棧底(SP)34B33H32H31H30H圖2-9 堆棧結(jié)構(gòu)圖第42頁/共75頁 (2) 專用寄存器區(qū):片內(nèi)80HFFH這一區(qū)間,AT89C51集合了一些特殊用途的寄存器,一般稱之為特殊功能寄存器SFR。每個SFR占有一個RAM單元。它們離散地分布在80HFFH地址范圍內(nèi),如表2-4所示。第43頁/共75頁 表2-4 AT89C51特殊功能寄存器SFR一覽表第44頁/共75頁第45頁/共75頁 沒有被SFR占據(jù)的地址可能在片內(nèi)并不存在。對這些地址讀出時,通常會

24、得到隨機的數(shù)據(jù),而寫入時將會有不確定的效應(yīng),因此軟件設(shè)計時不要使用這些單元。特殊功能寄存器通常用寄存器尋址,但也可以用直接尋址方式進行字節(jié)訪問。其中11個寄存器還可進行位尋址(表2-4中帶*號的寄存器)操作,其位地址的分配如表2-5所示。第46頁/共75頁 表2-5 SFR中的位地址分配寄存器符號位地址字節(jié)地址D7D6D5D4D3D2D1D0BF7F6F5F4F3F2F1F0F0HACCE7E6E5E4E3E2E1E0E0HPSWD7D6D5D4D3D2D1D0D0HIP BCBBBAB9B8B8HP3B7B6B5B4B3B2B1B0B0HIEAF ACABAAA9A8A8HP2A7A6A5A

25、4A3A2A1A0A0HSCON9F9E9D9C9B9A999898HP1979695949392919090HTCON8F8E8D8C8B8A898888HP0878685848382818080H第47頁/共75頁 2片外數(shù)據(jù)存儲器 AT89C51單片機可擴展片外64 KB空間的數(shù)據(jù)存儲器,地址范圍為0000HFFFFH,它與程序存儲器的地址空間是重合的,但兩者的尋址指令和控制線不同。 第48頁/共75頁2.4 AT89C51單片機工作方式 2.4.1 復(fù)位方式 單片機在開機時或在工作中因干擾而使程序失控或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位的作用是使中央處理器CPU以及其

26、他功能部件都恢復(fù)到一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。第49頁/共75頁 AT89C51單片機的復(fù)位靠外部電路實現(xiàn),信號由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時,只要保持RST引腳高電平兩個機器周期,單片機即復(fù)位。復(fù)位后,PC程序計數(shù)器的內(nèi)容為0000H,其他特殊功能寄存器的復(fù)位狀態(tài)如表2-4所示。片內(nèi)RAM中內(nèi)容不變。 復(fù)位電路一般有上電復(fù)位、手動開關(guān)復(fù)位和自動復(fù)位電路三種,如圖2-10所示。 第50頁/共75頁VCCRSTVSS89C515 VC10 FR8.2 kVCCRSTVSS89C515 VC10 FR8.2 kVCCRSTP1.089C515 VWDIMA

27、X750WDOPESET10 k10 F12(a)(b)(c)1 k89C51圖2-10 單片機復(fù)位電路圖(a) 上電復(fù)位電路;(b) 手動復(fù)位電路;(c) 自動復(fù)位電路第51頁/共75頁 2.4.2 程序執(zhí)行方式 程序執(zhí)行方式是單片機的基本工作方式,也就是執(zhí)行用戶編寫好并存放在ROM中的程序。第52頁/共75頁 2.4.3 省電方式 AT89系列單片機提供了兩種通過軟件編程來實現(xiàn)的省電運行方式,即空閑方式和掉電方式。省電方式可以使單片機在供電困難的環(huán)境中功耗最小,僅在需要正常工作時才正常運行。單片機正常工作時消耗1020 mA電流,空閑方式工作時消耗1.75 mA電流,掉電方式工作時消耗55

28、0 A電流,可見在省電方式下單片機耗能很小。 在空閑和掉電方式下,單片機內(nèi)部硬件控制電路如圖2-11所示。 第53頁/共75頁時鐘發(fā)生器OSCXTAL2XTAL1中斷、串行口定時器CPUPDIDL圖2-11 空閑和掉電方式內(nèi)部電路圖第54頁/共75頁 2.4.4 EPROM編程和校驗方式 1簽名字節(jié)的讀出 簽名字節(jié)是生產(chǎn)廠家在生產(chǎn)89系列單片機時寫入到存儲器中的信息。信息內(nèi)容包括生產(chǎn)廠家、編程電壓和單片機型號。 第55頁/共75頁 2Flash存儲器編程方式 這里的編程是指利用特殊手段將用戶編寫好的程序代碼寫入AT89C51片內(nèi)4 KB字節(jié)Flash存儲器的過程(89C52方法相同)。編程前必

29、須先確定編程電壓。AT89系列單片機只有兩種編程電壓,一種是低壓編程方式,用5 V電壓;另一種是高壓編程方式,用12 V電壓。這一編程電壓可從器件封裝表面讀取或從簽名字節(jié)中讀取。 第56頁/共75頁 (1) 在地址線上輸入要編程單元的地址。 (2) 在數(shù)據(jù)線上輸入要寫入的數(shù)據(jù)字節(jié)。 (3) 在 /Vpp端加入編程電壓(5 V或12 V)。 (4) 激活相應(yīng)的控制信號。 (5) 在ALE/ 端加入一個編程負(fù)脈沖,數(shù)據(jù)線上的數(shù)據(jù)字節(jié)就寫入地址線上對應(yīng)的Flash存儲器單元地址中了。EAPROG第57頁/共75頁P1P2.6P2.7P3.6P3.7XTAL2XTAL1GNDVCCP0ALERSTEA

30、PSEN5 V編程代碼PROGVIHVPP(5 V/12 V)C1C25 VA7A0A11A8地址0000H0FFFHP2.0P2.3圖2-12 Flash編程硬件邏輯電路圖第58頁/共75頁 3程序的校驗方式 程序校驗方式是指對編程中寫入的程序代碼進行讀出,并與程序?qū)懭肭按a進行比較驗證的過程。 4EPROM加密方式 用戶編寫好的程序通過編程和校驗無誤,寫入到EPROM中后,可進行加密保護以防止非法讀出受保護的應(yīng)用軟件。 第59頁/共75頁 5程序擦除工作方式 AT89C51單片機的片內(nèi)Flash存儲器可多次編程,但在每次對程序存儲器進行編程前必須先執(zhí)行擦除操作,使存儲器單元內(nèi)容變?yōu)槿獸FH

31、狀態(tài)(包括簽名字節(jié))。 第60頁/共75頁2.5 AT89C51時鐘電路與時序 2.5.1 振蕩器與時鐘電路 單片機內(nèi)各部件之間有條不紊的協(xié)調(diào)工作,其控制信號是在一種基本節(jié)拍的指揮下按一定時間順序發(fā)出的,這些控制信號在時間上的相互關(guān)系就是CPU時序。而產(chǎn)生這種基本節(jié)拍的電路就是振蕩器和時鐘電路。 AT89C51單片機內(nèi)部有一個用于構(gòu)成振蕩器的單級反相放大器,如圖2-13所示。第61頁/共75頁內(nèi)部時鐘電路VCCQ2RfQ3Q4GNDXTAL2Q1D1D2R1XTAL1PD圖2-13 AT89C51內(nèi)部振蕩器電路圖第62頁/共75頁 引腳XTAL1為反相器輸入端,XTAL2為反相器輸出端。當(dāng)在放

32、大器兩個引腳上外接一個晶體(或陶瓷振蕩器)和電容組成的并聯(lián)諧振電路作為反饋元件時,便構(gòu)成一個自激振蕩器,如圖2-14所示。 第63頁/共75頁內(nèi)部時鐘電路GNDXTAL1R1RfVCCC1C2XTAL2石英晶體或陶瓷振蕩器(外部)PD圖2-14 內(nèi)部振蕩器等效電路圖第64頁/共75頁 單片機也可采用外部振蕩器向內(nèi)部時鐘電路輸入一固定頻率的時鐘源信號。此時,外部信號接至XTAL1端,輸入給內(nèi)部時鐘電路,而XTAL2端浮空即可,如圖2-15所示。 第65頁/共75頁AT89C51XTAL2XTAL1GND1NC外部振蕩器信號圖2-15 外部時鐘電路圖第66頁/共75頁 2.5.2 時序 1振蕩周期

33、 振蕩周期指由單片機片內(nèi)或片外振蕩器所產(chǎn)生的,為單片機提供時鐘源信號的周期(其值為1/fosc)。 2時鐘周期 時鐘周期又稱為狀態(tài)周期S,由內(nèi)部時鐘電路產(chǎn)生,是振蕩周期的二倍。每個時鐘周期分為P1和P2兩個節(jié)拍,前半周期P1節(jié)拍信號有效,后半周期P2節(jié)拍信號有效,每個節(jié)拍完成不同的邏輯操作。第67頁/共75頁 3機器周期 一個機器周期由六個狀態(tài)周期(12個振蕩周期)組成,六個狀態(tài)周期用S1S6表示,每一狀態(tài)周期的兩個節(jié)拍用P1、P2表示,則一個機器周期的12個節(jié)拍就可用S1P1、S1P2、S2P1、S6P1、S6P2來表示。 第68頁/共75頁 4指令周期 執(zhí)行一條指令所占用的全部時間。一個指令周期通常由14個機器周期組成。若外接晶振頻率為fosc=12 MHZ,則四個基本周期的具體數(shù)值為: (1) 振蕩周期=1/12 s。 (2) 時鐘周期=1/6 s。 (3) 機器周期=1 s。 (4) 指令周期=14 s。第69頁/共75頁讀下一

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論