




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機的基本組成在講單片機的組成之前我們先來說一下大家都熟知的計算機一、 計算機的經(jīng)典結(jié)構(gòu)在設計計算機時匈牙利籍數(shù)學家馮.諾依曼提出的“程序存儲”和“二進制運算”的思想。1、二進制運算決定了計算機的硬件結(jié)構(gòu)。二進制運算包括二進制算術(shù)運算和邏輯運算(邏輯運算的基礎(chǔ)是邏輯代數(shù),又稱布爾代數(shù))。邏輯量只表示兩種不同的狀態(tài),可以對應電子線路中的電阻高低、二極管、三極管的通斷等。因此,二進制運算決定了計算機可以由電子元器件,特別是集成電路組成。2、 程序存儲決定了軟件控制硬件工作。因此,計算機的基本結(jié)構(gòu)包括硬件和軟件兩部分。計算機的工作原理:由輸入設備將軟件送入存儲器,然后由控制器逐條取出存儲器中的控制
2、軟件,并運行,再將運行結(jié)果送到輸出設備。3、計算機的經(jīng)典結(jié)構(gòu)根據(jù)以上思路,計算機由運算器、控制器、存儲器和輸入設備、輸出設備組成。圖1.1.1 計算機經(jīng)典結(jié)構(gòu)圖對經(jīng)典結(jié)構(gòu)中各部分有機組合,就構(gòu)成了微型計算機。由于各部分的具體電路(元器件及元器件的組合方式)不同,又形成了各種應用形態(tài)。二、 微型計算機(Microcomputer)組成及應用形態(tài)1、 微型計算機組成將經(jīng)典結(jié)構(gòu)中的運算器、控制器組合在一起,再增加一些寄存器等,集成為一個芯片,這個芯片稱為微處理器(Microcontroller),即CPU(Center Processing Unit )。這樣微型計算機就由CPU、存儲器、輸入/輸出
3、(I/O)接口組成。再配以輸入/輸出(I/O)設備和軟件,就構(gòu)成了微型計算機應用系統(tǒng),簡稱微型計算機。圖1.1.2 微型計算機系統(tǒng)結(jié)構(gòu)圖2、 應用形態(tài)(1)系統(tǒng)機(多版機)微處理器CPU、存儲器、I/O端口電路和總線接口等組裝在一塊主板上,再通過系統(tǒng)總線和外設適配卡連接鍵盤、顯示器、打印機等,再配上系統(tǒng)軟件就構(gòu)成了一個完整的計算機系統(tǒng)。 圖1.1.3 微型計算機結(jié)構(gòu)圖這就是辦公室、家庭使用的PC機的典型形態(tài)。由于較大的存儲容量(存儲器、硬盤、軟盤、光盤等),輸入、輸出設備齊全,而且軟件豐富(系統(tǒng)軟件和應用軟件),能夠進行海量計算和應用系統(tǒng)開發(fā)。(2)單板機將CPU、存儲器、I/O接口芯片和簡單
4、的I/O設備等裝配在一塊線路板上,再配上監(jiān)控程序(固化在ROM中)就構(gòu)成了單板機。圖1.1.4 單板機結(jié)構(gòu)圖實驗開發(fā)系統(tǒng)就是單板機的典型形態(tài):由于有硬件和軟件,能獨立運行,但I/O設備簡單,特別是軟件資源少(只有監(jiān)控程序),不能應用于海量計算和大型應用程序的開發(fā),主要用于計算機原理教學和簡單的測試(調(diào)試)系統(tǒng)。三 單片機 將CPU、存儲器、I/O接口電路集成到一塊芯片上,這個芯片稱為單片機。圖1.1.5 單片機結(jié)構(gòu)圖單片機作為一片集成了微型計算機基本部件的集成電路芯片,與通用計算機相比,自身不帶軟件,不能獨立運行;存儲容量小,沒有輸入、輸出設備,不能將系統(tǒng)軟件和應用軟件存儲到自身的存儲器中并加
5、以運行,它自身沒有開發(fā)功能。所以,必須借助開發(fā)機(一種特殊的計算機系統(tǒng))來完成開發(fā)任務。即相應的軟、硬件設計和調(diào)試以及將調(diào)試好的程序固化到自身的存儲器中。完成單片機的硬件和軟件設計、調(diào)試,把軟件固化(下載)到單片機應用系統(tǒng)中,是單片機原理與應用課程的主要學習任務,也是檢查這門課程學習效果的基本標準。1、 單片機開發(fā)系統(tǒng)和單片機應用系統(tǒng)開發(fā)單片機開發(fā)系統(tǒng)又稱為開發(fā)機或仿真機。單片機的實質(zhì)仍然是計算機,其工作的基本條件就是軟件配合硬件才能正常工作。但單片機自身沒有開發(fā)能力。即不能用自身系統(tǒng)檢查硬件故障和軟件錯誤;也不能用自身的系統(tǒng)將軟件程序?qū)懭胱约旱拇鎯ζ髦?。在設計計算機應用系統(tǒng)時,完成軟件、硬件
6、設計后,必須使用開發(fā)系統(tǒng)(其它設備)完成軟件、硬件的測試和程序?qū)懭?。完成這一目標的過程,稱為單片機應用系統(tǒng)的開發(fā)。完成開發(fā)的設備,稱開發(fā)系統(tǒng)(仿真器)2、 單片機應用系統(tǒng)開發(fā)方式 (1)、仿真:利用開發(fā)機的資源(CPU、存儲器、I/O設備等)來模擬欲開發(fā)的單片機應用系統(tǒng)(即目標機)的CPU、存儲器和I/O操作,并跟蹤目標機的運行情況。然后再將調(diào)試好的程序固化到目標機中。即把開發(fā)機上的單片機出借給目標機,因為開發(fā)機本身具有開發(fā)能力,通過開發(fā)機調(diào)試目標機,調(diào)試完成后,再把程序固化到目標機,目標機就可以獨立運行了。1)、獨立型仿真機開發(fā) 獨立型仿真器采用與單片機應用系統(tǒng)相同類型的單片機做成單板機形式
7、,板上配有LED顯示器和簡單鍵盤,可以進行源程序的編輯、匯編、運行調(diào)試。2)利用非獨立型仿真器開發(fā) 獨立式仿真器還配有串行按口,能與普通微機系統(tǒng)連接,利用普通微機系統(tǒng)配備的組合軟件進行源程序的編輯、匯編和聯(lián)機仿真器,用仿真器進行程序固化。(2)在系統(tǒng)與在應用仿真將單片機先安裝到印制線路板上,然后通過PC機將程序下載到目標系統(tǒng),實現(xiàn)在系統(tǒng)和在應用編程功能。具有這種功能的單片機內(nèi)部必須具有EPROM或FLAS偵測邏輯電路,調(diào)試器和燒寫器。如:SST公司的SST89E54, 89E58;MICROCHIP公司PIC16F87X;ATMEL公司的AT89S5X等單片機芯片均有此功能。3)MCS51是美
8、國INTEL公司生產(chǎn)的一個高檔8位單片機系統(tǒng)的總稱。屬于這一系列,即以51為核心的單片機芯片主要有:8031/8051,8751;8032/8052;80C51/87C51/80C31;還有ATMEL公司的AT89S51,AT89S51等品種,它們的工作原理和內(nèi)部構(gòu)架相同,引腳和指令系統(tǒng)相互兼容,主要在內(nèi)部功能單元數(shù)量,存儲器類型和容量以及應用上有些區(qū)別。一、單片機內(nèi)部結(jié)構(gòu)從功能上劃分,MCS51內(nèi)部結(jié)構(gòu)可以分為5個部分:CPU、存儲器、I/O端口、定時/計時器、中斷系統(tǒng)。概述: MCS51結(jié)構(gòu)圖1、 CPU結(jié)構(gòu)8051內(nèi)部CPU是一個字長為8位的中央處理單元(center processin
9、g unit)它對數(shù)據(jù)的處理是按資字節(jié)為單位的。 CPU包括三部分:運算器、控制器和專用寄存器。(1) 運算器:由一個算術(shù)邏輯單元ALL、一個布爾處理器和兩個8位暫存器組成。能給實現(xiàn)數(shù)據(jù)的四則運算(加、減、乘、除),邏輯運算(與、或、非、異或等),數(shù)據(jù)傳遞,移位,判斷,程序轉(zhuǎn)移等功能。(2) 控制器:由指令寄存器IR,指令譯碼器ID,定時及控制邏輯電路等組成。指令寄存器IR保存當前正在執(zhí)行的一條指令。指令的內(nèi)容含指令操作碼和地址碼。操作碼送往指令譯碼器ID,經(jīng)譯碼后形成相應的微操作信號,地址碼送往操作數(shù)地址形成電路,以形成實際的操作數(shù)地址。定時與控制部件完成取指令、執(zhí)行指令、存取操作數(shù)和運算結(jié)
10、果,向其它部件發(fā)出各種控制信號,協(xié)調(diào)各部件的工作。(3)專用寄存器:主要用來指示當前要執(zhí)行指令的內(nèi)存地址,存放操作數(shù)和指示指令執(zhí)行后的狀態(tài)。包括程序計數(shù)器PC、累加器A、程序狀態(tài)字PSW寄存器,堆棧指示器SP。數(shù)據(jù)指針DPTR寄存器和通用寄存器B。 1)程序計數(shù)器PC( program counter) a)定義:程序計數(shù)器PC是一個二進制16位的程序地址寄存器,是由16個觸發(fā)器構(gòu)成的計數(shù)器。尋址范圍21664K。是MCS-51單片機中唯一一個16位寄存器。b)功能:用來存放將要執(zhí)行指令的內(nèi)存地址,CPU既可以對它并行存取,又可自動加“1”。 迄今為止,世界上的所有電子計算機仍然是馮.諾依曼式
11、的。這就是說,計算機的程序是以二進制形式存放在內(nèi)存儲器中,CPU的任務是自動逐條執(zhí)行已放入內(nèi)存中的指令,以完成某項任務。為了確保CPU能自動連續(xù)執(zhí)行程序,芯片設計師專門在CPU中集成了一個程序計數(shù)器PC,在程序執(zhí)行前用來存放程序在內(nèi)存中的起始地址。CPU根據(jù)PC中的地址就可以到內(nèi)存中取出第一條指令的第一個字節(jié),PC隨后加“1”,自動指向第一條指令的第二個字節(jié);CPU再根據(jù)PC就可以取出第一個指令的第二個字節(jié);PC再次自動加“1”指向第一個指令的下一個字節(jié)或第二條指令的第一個字節(jié)。以此類推。這樣,CPU在執(zhí)行完第一條指令時,PC實際上已得到了第二條指令的起始地址。因此,人們只要在程序執(zhí)行前預先把
12、要執(zhí)行的程序的指令碼按照順序放到程序存儲器中,并把要執(zhí)行的程序的起始地址放入程序計數(shù)器PC,CPU就能讓程序自動執(zhí)行。PC的自動加“1”功能確保了存儲器中程序的連續(xù)執(zhí)行。在單片機設計中,在電路結(jié)構(gòu)上設計成單片機復位時PC0000h,故,程序的首起始地址通常0000h開始。2)累加器(accumulator) a)定義:累加器A又記作ACC,是一個具有特殊用途的二進制8位寄存器。b)功能:專門用來存放操作數(shù)和運算結(jié)果。 最初的計算機,其操作數(shù)包括四部分地址。操作碼第一操作數(shù)第二操作數(shù)結(jié)果操作數(shù)下條指令地址 操作碼字段用于指示機器執(zhí)行何種操作。第一操作數(shù)用于指示兩個操作數(shù)中第一個操作數(shù)在內(nèi)存中的地
13、址;第二操作數(shù)可以使機器找到參加運算的第二個操作數(shù);結(jié)果操作數(shù)用于存放操作結(jié)果。下一條指令地址,指示機器按此地址取出下一條要執(zhí)行指令的指令碼。這種指令格式的特點是層次、概念清楚,邏輯關(guān)系簡單明了。缺點是指令碼太長,嚴重影響了指令的執(zhí)行速度。 MCS-51單片機采用了地址壓縮技術(shù),把四字段地址壓縮到一個,故稱單地址指令格式。操作碼操作數(shù) 其中“操作數(shù)”相當與四地址中的“第一操作數(shù)”?!暗诙僮鲾?shù)”和“結(jié)果操作數(shù)”合二為一,由累加器A充任。物理地址為E0H,且在操作碼中隱含。在助記符中寫有A等,只是為了便于理解,它的二進制代碼是隱含在操作碼中的?!跋乱粭l指令地址由程序計數(shù)器PC充當。PC自動加“1
14、”,就能使MCS-51連續(xù)按順序執(zhí)行程序。因此在指令執(zhí)行前,用戶通常必須要安排一條傳送指令,預先把第二操作數(shù)傳送到累加器A。 3)通用寄存器B(General Purpose Register)a)定義:通用寄存器B也是一個8位二進制的寄存器,是專門為乘法和除法設置的寄存器,但也是可以作為普通寄存器使用。 b)功能:在做乘法和除法之前,用來存放乘數(shù)和除數(shù),在乘法和除法完成后,用來存放積的高八位和除法的余數(shù)。 4)程序狀態(tài)字PSW(program status word) a)定義:程序狀態(tài)字PSW也是八位二進制寄存器 b)功能:用來存放指令執(zhí)行后的狀態(tài)(程序設計中,可以根據(jù)狀態(tài)來控制程序執(zhí)行)
15、。PSW中有的位的值(狀態(tài)),通常是在執(zhí)行指令的過程中由硬件電路自動形成的,如:CY,AC,OV,P位,有的也可以根據(jù)需要采用位送指令加以改變,如:FO,RSI,RSO位。各位的定義如下:PSWCYACFORSIRSOOV_P 其中:CY(carry):進位標志位,用于表示加減運算過程中最高位(累加器A7)有無進位或借位。有進位或借位CY=1,否則CY=0。 AC(auxiliary carry):輔助進位標志位,用于表示加減運算中累加器低四位(A3)有無向高四位(A4)進位或借位,有:AC=1,無:AC=0。 F0(FLAG ZERO):用戶標志位。它是用戶根據(jù)需要通過傳送指令確定的,用于決
16、定用戶程序的流向。RS1,RS0:寄存器組選擇位,即它控制(選擇)了當前使用的寄存器組,也就是它確定了當前使用寄存器組的物理地址。 在MCS-51的片內(nèi)存儲器中,有32個8位寄存器,但這32位寄存器只給出了8個寄存器的地址。R0-R7(通常用Rn表示)。為了用這8個地址表示32個寄存器(存儲空間),只能將這32個寄存器進行分組,即分成4組。這樣,用R0-R7,即Rn就可以表示這4組中的任意一組中的一個寄存器(均是8位的)。也就是說通過分組后,從邏輯上能用Rn把它們區(qū)分開來。如R0-代表(第0組的)第一個寄存器,則R5就表示(第0組的)第六個寄存器。故將Rn稱為這32個工作寄存器的邏輯地址。“邏
17、輯”概念的實質(zhì)就是各組之間相互區(qū)分與屏蔽,達到方便保護其中數(shù)據(jù)的目的。但是,用Rn只能區(qū)分某一組中的8個寄存器,具體使用了哪一組,還要其他條件,即RS1 RS0。既然共有四組,可用22表達。故可以通過改變RS1 和RS0的值決定哪一組的R0-R7。這對我們進行程序設計是非常有利的。OV(overflow)溢出標志位:提示運算結(jié)果是否發(fā)生了溢出,即累加器A中運算結(jié)果是否超出了其能表示的數(shù)的范圍,即128127,由機器執(zhí)行過程中自動形成。溢出OV=1,否則OV=0。人們可以根據(jù)OV的狀態(tài)判斷結(jié)果是否正確。 計算公式為:OVCPCSCP*CS 其中CP為最高進位位,CS是次高進位位。P(Pority
18、):奇偶標志位。用于指示運算結(jié)果中“1”的個數(shù)的奇偶行。機器執(zhí)行中自動形成。若“1”的個數(shù)為奇數(shù),則P=1 ,為偶,P=0。5)堆棧指針SP(STACK POINTER) a)定義:SP是一個8位寄存器,能自動加“1”或減“1”b)功能:專門用來寄放堆棧的棧頂?shù)刂贰CS51中,在片內(nèi)RAM中設置了一個特殊的存儲區(qū)。CPU對這個區(qū)域的數(shù)據(jù)存取時必須按照“先進后出”或“后進先出”的原則進行。這樣的特殊存儲區(qū)域稱為堆棧。為了實現(xiàn)對堆棧中數(shù)據(jù)的操作,芯片設計者在CPU中設計了一個堆棧指示器SP,存放堆棧元頂?shù)刂贰P具有自動加“1”或減“1”功能,使得SP中的數(shù)據(jù)始終是棧頂?shù)刂?。CPU根據(jù)SP中的地
19、址對堆棧中的數(shù)據(jù)進行存取。在SP中地址的變化方向上,MCS-51采用的是上推堆棧的設計方案,即數(shù)據(jù)入棧時SP中地址增長,故當堆棧中沒有數(shù)據(jù)時,棧頂與棧底地址必定重合。 8051的片內(nèi)共有128B的RAM存儲單位,地址范圍為00HFFH,原則上,這個區(qū)域中的任何子域都可以作為堆棧區(qū)。實際應用中,常使用30H-7FH中的部分空間作為堆棧區(qū)。堆棧在片內(nèi)RAM中的具體物理位置,由堆底決定??梢杂孟铝兄噶疃x:mov sp,#data 這樣就定義了從data+17FH為堆棧區(qū)6)數(shù)據(jù)指針DPTR(DATA POINTER) a)定義:DPTR是一個16位寄存器,由兩個8位寄存器DPH和DPL拼接而成。b
20、)功能:用來存放片內(nèi)ROM的地址,也可用來存放片內(nèi)外RAM和ROM的地址。2、 存儲器 MCS-51的存儲器不僅有ROM和RAM之分,而且有片內(nèi)和片外之分。MCS-51片內(nèi)存儲器集成在芯片內(nèi)部,是MCS-51的一個組成部分;片外存儲器是外按的專用存儲器芯片。MCS-51只提供地址和控制命令,需要通過印刷電路板上三總線才能聯(lián)機工作。 在物理上設有4個存儲空間 片內(nèi)程序存儲器程序存儲空間ROM 片外程序存儲器 片內(nèi)數(shù)據(jù)存儲器數(shù)據(jù)存儲空間RAM 片外數(shù)據(jù)存儲器MCS-51對這些空間的存取(訪問)是通過不同的控制信號和不同的指令進行的。故這4個物理空間在邏輯上,又可以劃分為3個邏輯空間,即: 片內(nèi),片
21、外統(tǒng)一編址的64KROM 片內(nèi)128B數(shù)據(jù)存儲空間,SFR 片外,64K數(shù)據(jù)存儲空間MCS-51存儲器的地址分配是教材P24,圖2.12和圖2.13片內(nèi)RAM:80C51片內(nèi)RAM共有128B存儲單元,分為工作寄存器區(qū) (00H1FH ),位尋地址(20H2FH)和通用寄存器區(qū)(30H7FH)。工作寄存器用Rn(R0-R7)進行邏輯區(qū)分,再配合RS1,RS0位尋地址(P27表2.3)的16個單元具有雙重功能,它們既可以進行字節(jié)存取,又可以進行位存取。進行位存取時,位地址的表示方法有兩種,一種就是直接分配給每一位一個特定的地址(16×8128位)故其地址范圍為00H7FH,見P27表2
22、.3;另一種方法是采用字節(jié)地址和位數(shù)相結(jié)合的方法表示某一位地址,如09H這個位可以表示成21H.1。在MCS-51單片機中,還設置21個特殊功能寄存器(SFR)。特殊功能寄存器(SPECIAL FUNETIN REGIDTER)是MCS-51的各功能部件的狀態(tài)及控制寄存器。SFR綜合的,實際的反映了整個單片機的基本系統(tǒng)內(nèi)部的工作狀態(tài)及工作方式。它們與片內(nèi)RAM統(tǒng)一編址,它們離散地分布在80H-FFH的地址空間中,字節(jié)地址能被8整除的(即十六進制的地址碼尾數(shù)為0或8的)單元 可以進行字節(jié)尋址或位尋址。訪問SFR只允許用直接尋址方式,而且地址的表示方法也只能用符號地址或物理地址(即要用寄存器的名稱符號,而不是寄存器號。如累加器的名稱符號為ACC,它的寄存器號為A)。P28表2.4。3、 I/O端口I/O端口,也稱為I/O接口或I/O通路 功能:是MCS-51與外部實現(xiàn)控制和交換的通道,分為并行端口和串行端口。(1)并行I/O端口80C51有4個I/O端口,分別為P0P3,它們都有雙向功能 每個端口都有一個8位數(shù)據(jù)輸出鎖存器和一個8位的數(shù)據(jù)輸入緩沖器。4個鎖存器與端口名稱相同,皆為SFR中的一個。由于4個端口的結(jié)構(gòu)不同,它們的功能和作用也不同,通常P0口作為低8位地址輸出口,同時又可以用作數(shù)據(jù)輸入/輸出口,故其后一般跟一個地址鎖存器對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工業(yè)環(huán)保項目規(guī)劃申請報告
- 2025年電子商務師(中級)職業(yè)技能鑒定試卷:電子商務平臺數(shù)據(jù)分析與客戶價值評估試題
- 2025年車工(技師)綜合技能鑒定重點難點解析試卷
- 2025年消防安全培訓考試案例分析:火災現(xiàn)場勘查與調(diào)查試題
- 我的語文老師您的形象永存我心寫人類作文14篇
- 2025年消防執(zhí)業(yè)資格考試消防應急通信保障通信設備操作規(guī)范試題庫
- 2025年P(guān)ETS四級英語試卷:口語實戰(zhàn)與詞匯積累提升試題
- 綜合出生與工作信息證明書(8篇)
- 工作微信號維護操作試題
- 財務會計準則及實務操作模擬試題
- 住院醫(yī)囑審核登記表-9月上
- Q∕SY 05010-2016 油氣管道安全目視化管理規(guī)范
- 藍海華騰變頻器說明書
- 漿砌塊石工程施工程序、施工方法
- 中國海洋大學論文封面模板
- 遵義會議-(演示)(課堂PPT)
- 訂單(英文范本)PurchaseOrder
- 雨污水合槽溝槽回填施工專項方案(優(yōu).選)
- 預焊接工藝規(guī)程pWPS
- 史密特火焰復合機培訓資料
- MSCCirc.913 適用于A類機器處所的固定式局部水基滅火系統(tǒng)認可導則(doc 8)
評論
0/150
提交評論