




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第2章MCS-51單片機內(nèi)部結構和原理
MCS-51單片機是高性能8位單片機,其代表是8051。該系列其他單片機以8051為核心,再增加一定的功能部件后構成的。
在單片機中除了有CPU、存儲器和輸入/輸出接口外,還有定時器/計數(shù)器、串行I/O接口和中斷系統(tǒng)等邏輯部件。本章主要介紹MCS-51單片機的基本結構和功能、存儲器、I/O口以及單片機的引腳功能等。2.1MCS-51單片機內(nèi)部結構與封裝2.1.1MCS-51單片機基本結構及功能
MCS-51單片機是由8位CPU、程序存儲器(EPROM/ROM)、數(shù)據(jù)存儲器(RAM)、并行I/O口、串行I/O口、定時器/計數(shù)器、中斷系統(tǒng)、振蕩器和時鐘電路等部分組成,各部分通過內(nèi)部總線相連。MCS-51單片機系統(tǒng)結構如下圖所示。P3P1P2
可編程串行I/O口P0外部中斷基準頻率源控制
128B數(shù)據(jù)存儲器
4KB程序存儲器
2個16位定時/計數(shù)器
振蕩器及定時電路
CPU
64KB總線擴展控制
可編程并行I/O口內(nèi)部中斷計數(shù)脈沖串行輸出串行輸入
累加器A是一個非常常用的寄存器。運算時將一個操作數(shù)經(jīng)暫存寄存器送至ALU,與另一個來自暫存寄存器的操作數(shù)在ALU中運算,結果又送入累加器A中。
寄存器B在乘、除運算時用來存放一個操作數(shù),也用來存放結果的一部分。
暫存寄存器用來暫時存放數(shù)據(jù)總線和其他寄存器送來的操作數(shù)。
程序狀態(tài)字寄存器PSW是狀態(tài)標志寄存器,用來保存ALU運算結果的特征和處理狀態(tài)。(2)控制器。用來統(tǒng)一控制和協(xié)調(diào)單片機進行工作的部件。由程序計數(shù)器PC、指令寄存器IR、指令譯碼器ID和定時及控制邏輯電路等部分組成。程序計數(shù)器PC是16位計數(shù)器,總是存放下一條要讀取指令所在存儲單元的16位地址。每取完一個字節(jié)后PC自動加1。單片機復位時PC自動清0,即裝入地址0000H。指令寄存器IR用來保存當前正在執(zhí)行的一條指令。指令譯碼器ID用來翻譯操作碼,確定所要執(zhí)行的操作。定時與控制邏輯是CPU的核心部件,它控制讀指令、執(zhí)行指令、存取操作數(shù)或運算結果等操作,向其他部件發(fā)出各種操作控制信號,協(xié)調(diào)各部件工作。2.存儲器MCS-51的儲存器結構與常見的微型計算機的配置方法不同,它將程序存儲器和數(shù)據(jù)存儲器分開,各有自己的尋址方式、控制信號和功能。
程序存儲器用來存放程序和始終要保留的常數(shù)。
數(shù)據(jù)存儲器存放程序運行中所需要的常數(shù)和變量。從物理空間看,MCS-51有四個存儲器地址空間:片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器片內(nèi)程序存儲器、片外程序存儲器MCS-51存儲器物理結構見下圖所示:
外部數(shù)據(jù)存儲器(RAM)外部程序存儲器(ROM)內(nèi)部程序存儲器內(nèi)部數(shù)據(jù)存儲器8XX51從邏輯上看,MCS-51有三個存儲器空間:片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器片內(nèi)、片外統(tǒng)一編址的程序存儲器MCS-51的存儲器邏輯結構如圖1-2所示。
MCS-51存儲器物理結構3.定時器/計數(shù)器MCS-51單片機有2個16位定時器/計數(shù)器,實現(xiàn)定時和計數(shù)功能。4.并行I/O口MCS-51單片機有4個8位I/O口,即P0、P1、P2和P3,實現(xiàn)數(shù)據(jù)并行輸入輸出。5.串行口MCS-51單片機有一個全雙工串行口(UART),利用P3.0(RXD)和P3.1(TXD)實現(xiàn)單片機與外設的數(shù)據(jù)傳送。6.中斷控制系統(tǒng)MCS-51單片機有5個中斷源,包括2個外部中斷,2個定時/計數(shù)中斷,1個串行中斷。有高級和低級兩個優(yōu)先級。7.時鐘電路主要為單片機產(chǎn)生時鐘脈沖序列,石英晶體和微調(diào)電容需要外接,典型晶振頻率為11.0592MHz、12MHz和24MHz,微調(diào)電容容量為20pF~30pF。8.總線為了減少單片機的連線和引腳,提高集成度和可靠性,系統(tǒng)的地址信號、數(shù)據(jù)信號和控制信號都是通過總線傳送的,因此有三種總線,即地址總線、數(shù)據(jù)總線和控制總線。2.1.2MCS-51單片機引腳分布及功能圖2-2是89C51的引腳結構圖,有雙列直插封裝(DIP)方式和方形封裝方式。下面分別敘述這些引腳的功能。圖2-289C51的引腳結構1.電源引腳VCC和VSSVCC(40腳):電源端,接+5V。VSS(20腳):接地端,有時標為GND。2.時鐘信號引腳XTAL1和XTAL2XTAL1(19腳):接外部晶振和微調(diào)電容的一端,也是外部時鐘源的輸入端。XTAL2(18腳):接外部晶振和微調(diào)電容的另一端,采用外部時鐘源時該腳懸空。判斷單片機的振蕩電路是否正常工作,可用示波器查看XTAL2端是否有脈沖信號輸出。3.控制信號引腳RST、ALE、和RST(9腳):復位信號輸入端,高電平有效。ALE(30腳):地址鎖存允許信號端。CPU訪問片外存儲器時該引腳輸出信號作為鎖存低8位地址的控制信號。單片機正常工作時該引腳不斷向外輸出正脈沖信號,頻率為振蕩頻率的1/6。(29腳):片外程序存儲允許輸出信號端。單片模式時該引腳不接。(31腳):外部程序存儲器地址允許輸入端。當引腳接高電平時,CPU從片內(nèi)ROM訪問并從內(nèi)部程序存儲器中的指令執(zhí)行;當引腳接低電平時,CPU只訪問片外ROM并執(zhí)行片外程序存儲器中的指令。4.輸入/輸出端口P0、P1、P2和P3P0口(32~39腳):8位漏極開路型雙向并行I/O口。P1口(1~8腳):8位具有內(nèi)部上拉電阻的準雙向I/O口。P2口(21~28腳):8位具有內(nèi)部上拉電阻的準雙向I/O口。P3口(10~17腳):8位具有內(nèi)部上拉電阻的準雙向I/O口,每一位又具有特殊功能(第二功能),如表2-1所示。表2-1P3口引腳與特殊功能表端口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0的外部輸入)P3.5T1(定時器1的外部輸入)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器讀選通)2.2MCS-51單片機內(nèi)部存儲器
CPU訪問存儲器時,一個地址對應唯一的存儲器單元,可以是ROM,也可以是RAM,并用同類訪問指令,此種存儲器結構稱為普林斯頓結構。MCS-51單片機的存儲器在物理上是分開的,共有4個存儲空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器,這種程序存儲器和數(shù)據(jù)存儲器分開的結構形式稱為哈佛結構。
MCS-51單片機的存儲器從邏輯上劃分為3個存儲地址空間:片內(nèi)外統(tǒng)一編址的64KB程序存儲器地址空間(0000H~FFFFH),64KB片外數(shù)據(jù)存儲器地址空間(0000H~FFFFH),256字節(jié)片內(nèi)數(shù)據(jù)存儲器地址空間。CPU訪問片內(nèi)、片外ROM指令用MOVC,訪問片外RAM指令用MOVX,訪問片內(nèi)RAM指令用MOV。圖2-3為MCS-51單片機的存儲器配置。
引腳EA的接法決定了程序儲存器的0000~0FFFH4KB地址范圍是在單片機片內(nèi)還是片外。
H00000FFFH圖1-2MCS-51單片機的存儲器邏輯結構FFFFH0000H0FFFH
外部RAM
外部ROM內(nèi)部ROM(EA=1)H0000外部ROM(EA=0)1000HFFFFH
特殊功能寄存器內(nèi)部數(shù)據(jù)存儲器
內(nèi)部數(shù)據(jù)RAM7FH80H00HFFH外部數(shù)據(jù)存儲器
(增強型)程序存儲器
地址重疊2.2.1程序存儲器
程序存儲器用來存放調(diào)試好的應用程序和表格常數(shù)。內(nèi)部有ROM的單片機,在正常運行時應把引腳接高電平,使程序從內(nèi)部ROM開始執(zhí)行,當PC值超過內(nèi)部ROM地址空間時,自動轉(zhuǎn)向外部ROM去執(zhí)行程序。對內(nèi)部無ROM的單片機,應始終接低電平,迫使CPU從外部ROM取指令。
64KB程序存儲器中的7個入口地址具有特殊功能。0000H單元:程序的起始地址,系統(tǒng)復位后PC的值為0000H,0000H~0002H單元用于初始化,一般在起始地址單元中設置一條絕對轉(zhuǎn)移指令使之轉(zhuǎn)向主程序處執(zhí)行。
其他6個特殊功能的入口地址分別對應6種中斷源的中斷服務程序入口地址,如表2-2所示。通常在中斷入口地址處寫一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到中斷服務程序處執(zhí)行。表2-2中斷向量入口地址表中斷源入口地址外部中斷00003H定時計數(shù)器T0溢出000BH外部中斷10013H定時計數(shù)器T1溢出001BH串行口中斷0023H定時計數(shù)器T2溢出或T2EX輸入負跳變002BH2.2.2數(shù)據(jù)存儲器
數(shù)據(jù)存儲器RAM用于存放運算的中間結果、數(shù)據(jù)暫存和緩沖等。數(shù)據(jù)存儲器地址空間由內(nèi)部和外部數(shù)據(jù)存儲器空間組成,當訪問片內(nèi)RAM時,用MOV類指令;當訪問片外RAM時,則用MOVX類指令。
片內(nèi)數(shù)據(jù)存儲器在物理上又分為三部分:低128BRAM、高128BRAM(僅52系列)和特殊功能寄存器(SFR)。1.片外RAM
片外RAM與片內(nèi)RAM的低地址部分(0000H~00FFH)是重疊的。片內(nèi)RAM使用MOV指令,片外64KBRAM空間專門為MOVX指令所用,采用R0、R1或DPTR寄存器間接尋址方式訪問。如MOVXA,@DPTR。2.片內(nèi)RAM(1)低128BRAM(00H~7FH)
片內(nèi)RAM的低128BRAM由工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)組成,如下圖所示。
00H~1FH地址安排為4組工作寄存器區(qū),每組有8個工作寄存器(R0~R7),共占32個單元,見表2-3。通過對程序狀態(tài)字PSW中RS1、RS0的設置,每組寄存器均可選作CPU的當前工作寄存器組。表2-3工作寄存器地址表RS1RS0寄存器組R0R1R2R3R4R5R6R700工作寄存器組000H01H02H03H04H05H06H07H01工作寄存器組108H09H0AH0BH0CH0DH0EH0FH10工作寄存器組210H11H12H13H14H15H16H17H11工作寄存器組38H19H1AH1BH1CH1DH1EH1FH內(nèi)部RAM中的20H~2FH是16個單元的位尋址區(qū),這16個單元共有128位,其位地址為00H~7FH。所謂位尋址是指CPU能直接對這些位進行置“1”、清“0”、求反、傳送等邏輯操作。數(shù)據(jù)緩沖區(qū)是片內(nèi)RAM中30H~7FH的80個單元,只能以存儲單元的形式使用,一般常把堆棧開辟于此區(qū)中。
(3)特殊功能寄存器(SFR)(80H~0FFH)
該區(qū)存放相應功能部件的控制命令的狀態(tài)或數(shù)據(jù),MCS-51系列單片機的特殊功能寄存器共有22個,可直接尋址的有21個。
①程序計數(shù)器PC(ProgramCounter)。PC是16位計數(shù)器,內(nèi)容為將要執(zhí)行的指令地址,有自動加1功能,以實現(xiàn)程序順序執(zhí)行。PC沒有地址,不可以尋址。但在執(zhí)行轉(zhuǎn)移、調(diào)用、返回等指令時自動改變其內(nèi)容實現(xiàn)程序執(zhí)行順序的改變。
②累加器A(ACC,Accumulator)。ACC為8位寄存器,用于寄放操作數(shù),也是ALU運算結果的暫存單元,也是數(shù)據(jù)的中轉(zhuǎn)站,在變址尋址方式中把累加器作為變址寄存器使用。因此累加器A使用非常頻繁。③寄存器B。8位寄存器,主要用于乘、除運算。
④程序狀態(tài)字PSW(ProgramStatusWord)。PSW的各位定義如下:位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0RS1RS0OV—P2.3MCS-51單片機I/O端口電路、時鐘電路與工作方式2.3.1MCS-51單片機I/O端口的結構及使用方法
MCS-51單片機內(nèi)有4個8位并行I/O口,稱為P0、P1、P2和P3。每個端口都是8位準雙向I/O口,共占32個引腳。每個端口都包含一個鎖存器,一個輸出驅(qū)動器和一個輸入緩沖器。在具有片外擴展存儲器的系統(tǒng)中,P2口送出高8位地址,P0口為雙向總線,分時送出低8位地址和數(shù)據(jù)的輸入/輸出。1.P0口
P0口的字節(jié)地址為80H,位地址為80H~87H。圖2-5所示為P0口某一位的結構圖。它由一個輸出鎖存器、2個三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。圖中控制信號C的狀態(tài)決定轉(zhuǎn)換開關的位置。當C=0時,開關處于圖示位置;當C=1時,開關撥向反相器輸出端位置。圖2-5P0口某位結構圖2.P1口
P1口的字節(jié)地址為90H,位地址為90H~97H。圖2-6所示為P1口某一位的結構圖。它由一個輸出鎖存器、2個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成。輸出驅(qū)動電路只有一個場效應管VT1,同時內(nèi)部帶上拉電阻。圖2-6P1口某位結構圖
P1口可作通用雙向I/O口用,不必再外接上拉電阻。當端口用作輸入時和P0口一樣,必須先向?qū)逆i存器寫入“1”,使VT1截止,然后讀引腳。3.P2口
P2口的字節(jié)地址為0A0H,位地址為0A0H~0A7H。圖2-7所示為P2口某一位的結構圖。它由一個輸出鎖存器、2個三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。輸出驅(qū)動電路只有一個場效應管VT1,同時內(nèi)部帶上拉電阻。圖2-7P2口某位結構圖當單片機系統(tǒng)需要進行片外ROM擴展或進行片外RAM擴展時,P2口可用于輸出高8位地址。4.P3口P3口的字節(jié)地址為0B0H,位地址為0B0H~0B7H。圖2-8所示為P3口某一位的結構圖。它由一個輸出鎖存器、3個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成。輸出驅(qū)動電路只有一個場效應管VT1,同時內(nèi)部帶上拉電阻。比P1口多了一個第二功能控制部分的邏輯電路。圖2-8P3口某位結構圖
P3口是一個多功能端口。圖中“與非”門的作用是一個開關,決定是輸出鎖存器Q端數(shù)據(jù),還是輸出第二功能(W)的信號。當W=1時,輸出Q端信號;當Q=1時,可輸出W線信號。
當P3口作為輸入使用時,同P0~P2口一樣,先由軟件向口鎖存器寫1,即使D鎖存器Q端保持“1”,“與非”門輸出為0,場效應管截止,引腳端可作為高阻輸入。當CPU執(zhí)行讀命令操作時,使緩沖器2上的“讀引腳”信號有效,三態(tài)緩沖器2開通,于是引腳的狀態(tài)經(jīng)緩沖器3、緩沖器2送至CPU內(nèi)部總線。當某位被用作第二功能時,該位D鎖存器Q端被內(nèi)部硬件自動置“1”,使“與非”門對第二功能是暢通的。由于端口不作為I/O口(不執(zhí)行MOVA,P3),故“讀引腳”信號無效,緩沖器2不通,第二輸入功能信號經(jīng)緩沖器4送入第二輸入功能端。注意:P0口與其他口不同,它的輸出級無上拉電阻。P1~P3口都是準雙向口,作為輸入時必須先對相應端口鎖存器寫1。2.3.2MCS-51單片機時鐘電路時鐘電路用于產(chǎn)生單片機工作所需的時鐘信號。單片機是一個復雜的同步時序電路,因此必須受控于唯一的時鐘信號,而時序所研究的則是指令執(zhí)行時各信號之間的相互時間關系。1.單片機時鐘電路單片機芯片內(nèi)部有一個高增益反相放大器,用于構成振蕩器,XTAL1為反相放大器的輸入端,XTAL2為輸出端,兩端跨接石英晶體和兩個電容就構成穩(wěn)定的自激振蕩器。電容器C1和C2通常取30pF左右,可穩(wěn)定頻率并對振蕩頻率有微調(diào)作用。振蕩脈沖頻率范圍為fosc=0~24MHz。單片機的時鐘電路有兩種方式:內(nèi)部時鐘方式和外部時鐘方式。如圖2-9所示。圖2-9單片機的時鐘電路2.CPU時序的幾個概念(1)節(jié)拍與狀態(tài)周期節(jié)拍(用P表示)是指振蕩脈沖的周期。振蕩脈沖經(jīng)過兩分頻后就是單片機的時鐘信號,把時鐘信號的周期定義為狀態(tài)(用S表示)。即一個狀態(tài)包含兩個節(jié)拍。時鐘周期也稱為狀態(tài)周期,它是計算機中最基本的時間單位。MCS-51單片機中一個時鐘周期為振蕩周期的2倍。(2)機器周期和指令周期一個機器周期是指CPU訪問存儲器一次所需要的時間,一個機器周期包括12個振蕩周期,分為6個狀態(tài):S1~S6,每個狀態(tài)又分為兩個節(jié)拍。指令周期是完成一條指令所需要的時間。MCS-51單片機系統(tǒng)中有單周期指令、雙周期指令和四周期指令。四周期指令只有乘、除兩條指令。振蕩周期=1/fosc狀態(tài)周期=2/fosc機器周期=12/fosc指令周期=(1~4)機器周期2.3.3MCS-51單片機工作方式1.復位操作復位是單片機的初始化操作,使單片機系統(tǒng)處于初始狀態(tài),并從這個狀態(tài)開始工作。即把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。RST引腳是復位信號的輸入端,復位信號高電平有效,有效時間應持續(xù)24個振蕩周期(即兩個機器周
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人貸款合同樣本
- 2025年卸氣柱項目發(fā)展計劃
- 飲料加盟合同范本
- 5 走近我們的老師 第一課時 教學設計-2023-2024學年道德與法治三年級上冊統(tǒng)編版
- 買房時的合同范本
- 門店拆除工程合同范本
- 8 蝴蝶的家(教學設計)-2024-2025學年統(tǒng)編版語文四年級上冊
- 美的購銷安裝合同范本
- 4 日月山川(教學設計)-2024-2025學年統(tǒng)編版語文一年級上冊
- 私人包車帶司機協(xié)議
- 《中小學科學教育工作指南》解讀與培訓
- 學校食堂“三同三公開”制度實施方案
- 2025年醫(yī)院財務工作計劃(2篇)
- DB32T 4969-2024大型醫(yī)用設備使用監(jiān)督管理平臺基礎數(shù)據(jù)采集規(guī)范
- 2025年大連長興開發(fā)建設限公司工作人員公開招聘高頻重點提升(共500題)附帶答案詳解
- 教科版三年級下冊科學全冊單元教材分析
- 《物理學的發(fā)展史》課件
- 2025年廣東廣州市海珠區(qū)官洲街道辦事處政府雇員招聘5人高頻重點提升(共500題)附帶答案詳解
- 《道路交通安全法》課件完整版
- 《小腸梗阻的診斷與治療中國專家共識(2023版)》解讀
- 2024屆廣東省廣州市高三一??荚囉⒄Z試題講評課件
評論
0/150
提交評論