版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第二章MCS—51系列單片機芯片結構
第二章12.1MCS—51系列單片機的結構原理2.1.1MCS-51單片機邏輯結構MCS-51單片機的系統(tǒng)結構框圖如圖2.1所示。
圖2.1MCS-51單片機的系統(tǒng)結構框圖2.1MCS—51系列單片機的結構原理圖2.1M2由圖2.1可以看出,單片機內(nèi)部主要包含下列幾個部件:u
一個8位CPU;u
一個時鐘電路;u
4Kbyte程序存儲器;u
128byte數(shù)據(jù)存儲器;u
兩個16位定時/計數(shù)器;u
64Kbyte擴展總線控制電路;u
四個8-bit并行I/O端口;u
一個可編程串行接口;五個中斷源,其中包括兩個優(yōu)先級嵌套中斷
由圖2.1可以看出,單片機內(nèi)部主要包含下列幾個部件:32.1.2MCS-51單片機內(nèi)部結構MCS-51單片機芯片內(nèi)部結構框圖如圖2.2所示。
圖2.2MCS-51單片機芯片內(nèi)部結構框圖2.1.2MCS-51單片機內(nèi)部結構圖2.241.CPUCPU即中央處理器的簡稱,是單片機的核心部件,它完成各種運算和控制操作,CPU由運算器和控制器兩部分電路組成。(1)運算器電路運算器電路包括ALU(算術邏輯單元)、ACC(累加器)、B寄存器、狀態(tài)寄存器、暫存器1和暫存器2等部件,運算器的功能是進行算術運算和邏輯運算。
(2)控制器電路控制器電路包括程序計數(shù)器PC、PC加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器以及定時與控制電路等。控制電路完成指揮控制工作,協(xié)調(diào)單片機各部分正常工作。
1.CPU52.定時器/計數(shù)器MCS-51單片機片內(nèi)有兩個16位的定時/計數(shù)器,即定時器0和定時器1。它們可以用于定時控制、延時以及對外部事件的計數(shù)和檢測等。3.存儲器MCS-51系列單片機的存儲器包括數(shù)據(jù)存儲器和程序存儲器,其主要特點是程序存儲器和數(shù)據(jù)存儲器的尋址空間是相互獨立的,物理結構也不相同。4.并行I/O口MCS-51單片機共有4個8位的I/O口(P0、P1、P2和P3),每一條I/O線都能獨立地用作輸入或輸出。P0口為三態(tài)雙向口,能帶8個TTL門電路,P1、P2和P3口為準雙向口,負載能力為4個TTL門電路。
2.定時器/計數(shù)器65.串行I/O口MCS-51單片機具有一個采用通用異步工作方式的全雙工串行通信接口,可以同時發(fā)送和接收數(shù)據(jù)。6.中斷控制系統(tǒng)8051共有5個中斷源,即外中斷2個,定時/計數(shù)中斷2個,串行中斷1個。7.時鐘電路MCS-51芯片內(nèi)部有時鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列,振蕩器的頻率范圍為1.2MHz~12MHz,典型取值為6MHz。8.總線以上所有組成部分都是通過總線連接起來,從而構成一個完整的單片機。系統(tǒng)的地址信號、數(shù)據(jù)信號和控制信號都是通過總線傳送的,總線結構減少了單片機的連線和引腳,提高了集成度和可靠性。
5.串行I/O口72.1.3引腳信號圖2.3為MCS-51系列單片機引腳圖及邏輯符號,它們?yōu)闃藴实?0腳DIP封裝。
圖2.3MCS-51系列單片機引腳圖及邏輯符號2.1.3引腳信號圖2.3MCS-51系列單8電源引腳Vcc和VssVcc:電源端,接+5V。Vss:接地端。時鐘電路引腳XTAL1和XTAL2XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時鐘時,該引腳必須接地。XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。地址鎖存允許ALE系統(tǒng)擴展時,ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實現(xiàn)數(shù)據(jù)與低位地址的復用。
電源引腳Vcc和Vss9外部程序存儲器讀選通信號是讀外部程序存儲器的選通信號,低電平有效。程序存儲器地址允許輸入端/VPP
當為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當PC中的值超過0FFFH時,將自動轉向執(zhí)行片外程序存儲器指令。當為低電平時,CPU只執(zhí)行片外程序存儲器指令。復位信號RST該信號高電平有效,在輸入端保持兩個機器周期的高電平后,就可以完成復位操作。外部程序存儲器讀選通信號101.
輸入/輸出口引腳P0、P1、P2和P3P0口(P0.0~P0.7):該端口為漏極開路的8位準雙向口,負載能力位8高LSTTL負載,它為8位地址線和8位數(shù)據(jù)線的復用端口。P1口(P1.0~P1.7):它是一個內(nèi)部帶上拉電阻的8位準雙向I/O口,P1口的驅動能力為4個LSTTL負載。P2口(P2.0~P2.7):它為一個內(nèi)部帶上拉電阻的8位準雙向I/O口,P2口的驅動能力也為4個LSTTL負載。在訪問外部程序存儲器時,它作存儲器的高8位地址線。P3口(P3.0~P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。1.
輸入/輸出口引腳P0、P1、P2和P3112.2MCS—51單片機的存儲器MCS-51的存儲器結構如圖2.4所示。在本節(jié)中我們將對單片機的內(nèi)部數(shù)據(jù)存儲器、內(nèi)部程序存儲器和外部存儲器分別作一介紹。
圖2.4MCS-51的存儲器結構如2.2MCS—51單片機的存儲器圖2.4122.2.1內(nèi)部數(shù)據(jù)存儲器
2.2.1內(nèi)部數(shù)據(jù)存儲器131.內(nèi)部數(shù)據(jù)存儲器低128單元在低128字節(jié)存儲單元中,前32個單元(00H~1FH)作為工作寄存器使用,這32個寄存器分作4組,每組由8個通用寄存器(R0~R7)組成,組號依次為0、1、2和3。通過對程序狀態(tài)字中RS1和RS0的設置,可以決定選用哪一組工作寄存器,通常沒有選中的單元也可作為一般的數(shù)據(jù)緩存使用。系統(tǒng)上電復位時,默認選中第0組寄存器。在工作寄存器后的16個數(shù)據(jù)單元(20H~2FH),它們既可以作為一般的數(shù)據(jù)單元使用,由可以按位對每個單元進行操作,因此這16個數(shù)據(jù)單元又稱作位尋址區(qū)。位尋址區(qū)共計128位,其位地址為00H~0FH。在內(nèi)部RAM的低128個單元中,剩余的80個數(shù)據(jù)單元即30H~7FH為真正的用戶RAM區(qū),對于這些區(qū)域,用戶只能以存儲單元的形式來使用,通常在應用中也把堆棧開辟在這段區(qū)域。1.內(nèi)部數(shù)據(jù)存儲器低128單元在工作寄存器后的1142.
內(nèi)部數(shù)據(jù)存儲器高128單元內(nèi)部數(shù)據(jù)存儲器的高128個單元是為專用寄存器提供的,因此該區(qū)也稱作特殊功能寄存器區(qū)(SFR),它們主要用于存放控制命令、狀態(tài)或數(shù)據(jù)。除去程序計數(shù)器PC外,還有21個特殊功能寄存器,其地址空間為80H~FFH。這21個寄存器中有11個特殊功能寄存器具有位尋址能力,它們的字節(jié)地址剛好能被8整除。下面將對部分專用寄存器作簡要介紹。
累加器ACC累加器為8位寄存器,是程序中最常用的專用寄存器,在指令系統(tǒng)中累加器的助記符為A。大部分單操作數(shù)指令的操作取自累加器,很多雙操作數(shù)指令的一個操作數(shù)也取自累加器。加、減乘和除等算術運算指令的運算結果都存放在累加器A或AB寄存器中,在變址尋址方式中累加器被作為變址寄存器使用。在MCS-51中由于只有一個累加器,而單片機2.
內(nèi)部數(shù)據(jù)存儲器高128單元累加器ACC15中的大部分數(shù)據(jù)操作都是通過累加器進行的,故累加器的使用是十分頻繁的。B寄存器B寄存器為8位寄存器,主要用于乘除指令中。乘法指令的兩個操作數(shù)分別取自累加器A和寄存器B,其中B為乘數(shù),乘法結果的高8位存放于寄存器B中。除法指令中,被除數(shù)取自A,除數(shù)取自B,除法的結果商數(shù)存放于A,余數(shù)存放于B中。在其它指令中,B寄存器也可作為一般的數(shù)據(jù)單元來使用。程序狀態(tài)字PSW程序狀態(tài)字是一個8位寄存器,它包含程序的狀態(tài)信息。在狀態(tài)字中,有些位狀態(tài)是根據(jù)指令執(zhí)行結果,由硬件自動完成設置的,而有些狀態(tài)位則必須通過軟件方法設定。PSW中的每個狀態(tài)位都可由軟件讀出,PSW的各位定義如表2.1。
中的大部分數(shù)據(jù)操作都是通過累加器進行的,故累加器的使用是十分16表2.1PSW的各狀態(tài)位定義
(1)CY:進位標志位在執(zhí)行某些算術和邏輯指令時,可以被硬件或軟件置位或清零。在算術運算中它可作為進位標志,在位運算中,它作累加器使用,在位傳送、位與和位或等位操作中,都要使用進位標志位。(2)
AC:輔助進位標志進行加法或減法操作時,當發(fā)生低四位向高四位進位或借位時,AC由硬件置位,否則AC位被置“0”。在進行十進制調(diào)整指令時,將借助AC狀態(tài)進行判斷。
位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0RS1RS0OV/ P表2.1PSW的各狀態(tài)位定義 (1)CY:進位標志位17(3)用戶標志位該位為用戶定義的狀態(tài)標記,用戶根據(jù)需要用軟件對其置位或清零,也可以用軟件測試F0來控制程序的跳轉。(4)RS1和RS0:寄存器區(qū)選擇控制位該兩位通過軟件置“0”或“1”來選擇當前工作寄存器區(qū)。(5)OV:溢出標志位當執(zhí)行算術指令時,由硬件置位或清零來指示溢出狀態(tài)。在帶符號的加減運算中,OV=1表示加減運算結果超出了累加器A所能表示的符號數(shù)有效范圍(-128~+127),即運算結果是錯誤的,反之,OV=0表示運算正確,即無溢出產(chǎn)生。無符號數(shù)乘法指令MUL的執(zhí)行結果也會影響溢出標志,若置于累加器A和寄存器B的兩個數(shù)的乘積超過了255,則OV=1,反之OV=0。由于乘積的高8位存放于B中,低8位存放于A中,OV=0則意味著只要從A中取得乘積即可,否則要從BA寄存器對中取得乘積結果。(3)用戶標志位18在除法運算中,DIV指令也會影響溢出標志,當除數(shù)為0時,OV=1,否則OV=0。(6)P:奇偶標志位每個指令周期由硬件來置位或清零用以表示累加器A中1的個數(shù)的奇偶性,若累加器中1的個數(shù)為奇數(shù)則P=1,否則P=0。l
數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR為一個16位的專用寄存器,其高位用DPH表示,其低位用DPL表示,它即既可以作為一個16位的寄存器來使用,也可作為兩個8位的的寄存器DPH和DPL使用。DPTR在訪問外部數(shù)據(jù)存儲器時既可用來存放16位地址,也可作地址指針使用。如MOVX@DPTR,A。l
I/O端口P0~P3
在除法運算中,DIV指令也會影響溢出標志,當除數(shù)19P0~P3為四個8位的特殊功能寄存器,分別是四個并行I/O端口的鎖存器,當I/O端口的某一位用作輸入時,對應的鎖存器必須先置“1”。l
定時器/計數(shù)器在MCS-51中,除8032/8052外都只有兩個16位定時器/計數(shù)器T0和T1,它們由兩個相互獨立的8位寄存器組成TH和TL,共有四個獨立的寄存器TH0、TL0、TH1和TL1,只可對這四個寄存器獨立尋址,而不能作為一個16位寄存器來尋址。
l
串行數(shù)據(jù)緩沖寄存器串行數(shù)據(jù)緩沖器SBUF用于存放將要發(fā)送或已接收的數(shù)據(jù),它由發(fā)送緩沖器和接收緩沖器組成,將要發(fā)送的數(shù)據(jù)被送入SBUF時進入發(fā)送緩沖器,反之進入接收緩沖器。
P0~P3為四個8位的特殊功能寄存器,分別是四個202.2.2外部數(shù)據(jù)存儲器在MCS-51中,其片外數(shù)據(jù)存儲器和I/O口與片內(nèi)數(shù)據(jù)存儲器空間0000FH~FFFFH是重疊的。在8051單片機中采用MOV和MOVX兩種指令來區(qū)分片內(nèi)外RAM空間,其中片內(nèi)RAM使用MOV指令,片外RAM和I/O口使用MOVX指令。2.2.3程序存儲器在MCS-51系列中,程序存儲器被用來存放程序、常數(shù)或表格等。在8051中,其片內(nèi)有4K字節(jié)的ROM存儲單元,地址為0000H~0FFFH。8751有4K字節(jié)的EPROM,而8052和8752則有8K字節(jié)的片內(nèi)存儲器。8031和8032無片內(nèi)程序存儲器,所以片內(nèi)程序存儲器的有無是區(qū)分芯片的主要標志。在程序存儲器中,以下6個單元具有特殊含義:
2.2.2外部數(shù)據(jù)存儲器21
0000H:單片機復位后,PC=0000H,程序從0000H開始執(zhí)行指令。
0003H:外部中斷0入口地址。000BH:定時器0中斷入口地址。0013H:外部中斷1入口地址。001BH:定時器1中斷入口地址。0023H:串行口中斷入口地址。在系統(tǒng)中斷相應之后,將自動轉各中斷入口地址處執(zhí)行程序,而中斷服務程序一般無法存放于幾個單元之內(nèi),因此在中斷入口地址處往往存放一條無條件轉移指令進行跳轉,以便執(zhí)行中斷服務程序。
0000H:單片機復位后,PC=0000H,222.3MCS-51單片機輸入/輸出(I/O)口2.3.1P0口圖2.6給出了P0口的邏輯結構,它由一個鎖存器、兩個三態(tài)輸入緩沖器、一個多路復用開關以及控制電路和驅動電路等組成。
圖2.6P0口的邏輯結構2.3MCS-51單片機輸入/輸出(I/O)口圖2.623P0口可以作為輸入輸出口,在實際應用中它通常作為地址/數(shù)據(jù)復用總線。在訪問外部存儲器時,P0口為真正的雙向口。
2.3.2P1口P1口是一個準雙向口,通常作為I/O口使用,其位結構圖如圖2.7。由于在其輸出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。圖2.7位結構圖P0口可以作為輸入輸出口,在實際應用中它通常作為地242.3.3P2口P2口位結構圖如圖2.8。P2通用為一個準雙向口,其位結構與P0口相似。對于8031單片機來說,P2口通常用作地址信號輸出。
圖2.8P2口位結構圖2.3.3P2口圖2.8P2口位結構圖252.3.4P3口P3口的位結構圖如圖2.9。P3口為雙功能口,當P3口作為通用I/O口使用時,它為準雙向口,且每位都可定義為輸入或輸出口,其工作原理同P1口類似。
圖2.9P3口的位結構圖2.3.4P3口圖2.9P3口的位26P3口還具有第二功能,其引腳描述如表2-5。表2-5P3口特殊功能口線特殊功能信號名稱P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2外部中斷0輸入口P3.3外部中斷1輸入口P3.4T0定時器0外部輸入口P3.5T1定時器1外部輸入口P3.6WR寫選通輸出口P3.7RD讀選通輸出口P3口還具有第二功能,其引腳描述如表2-5??诰€特殊功能272.4單片機的工作方式2.4.1復位及復位電路在MCS-51中,最常見的復位電路為圖2.10所示的上電復位電路,它能有效的實現(xiàn)上電復位和手動復位。RST引腳是復位信號輸入端,復位信號為高電平有效,其有效時間應持續(xù)24個振蕩周期以上才能完成復位操作,若使用6MHz晶振,則需持續(xù)4μS以上才能完成復位操作。圖2.10中,在通電瞬間,由于RC的充電過程,在RST端出現(xiàn)一定寬度的正脈沖,只要該正脈沖保持10ms以上,就能使單片機自動復位,在6MHz時鐘時,通常CR取22μF,R1取200Ω,R2取1KΩ,這時能可靠的上電復位和手動復位。2.4單片機的工作方式28CPU在第二個機器周期內(nèi)執(zhí)行內(nèi)部復位操作,以后每個機器周期重復一次,直至RST端電平變低。在單片機復位期間,AlE和信號都不產(chǎn)生。復位操作將對部分專用寄存器產(chǎn)生影響。圖2.10上電復位電路
CPU在第二個機器周期內(nèi)執(zhí)行內(nèi)部復位操作,以292.4.2時鐘電路和時序1.時鐘電路根據(jù)硬件電路的不同,單片機的時鐘連接方式可分為內(nèi)部時鐘方式和外部時鐘方式,如圖2.11所示。
(a)內(nèi)部方式時鐘電路
(b)外接時鐘電路
圖2.11時鐘電路
2.4.2時鐘電路和時序(a)內(nèi)部方式時鐘電路302.指令時序(1)振蕩周期振蕩周期指為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。(2)時鐘周期時鐘周期又稱作狀態(tài)周期或狀態(tài)時間S,它是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍,通常在P1節(jié)拍完成算術邏輯操作,在P2節(jié)拍完成內(nèi)部寄存器之間的傳送操作。(3)機器周期一個機器周期由6個狀態(tài)組成,如果把一條指令的執(zhí)行過程分作幾個基本操作,則將完成一個基本操作所需的時間稱作機器周期。單片機的單周期指令執(zhí)行時間就為一個機器周期。2.指令時序31(4)指令周期指令周期即執(zhí)行一條指令所占用的全部時間,通常為1~4個機器周期。在圖2.12中給出了MCS-51單片機的典型取指、執(zhí)行時序。
圖2.12MCS-51單片機取指、執(zhí)行時序
(4)指令周期圖2.12MCS-51單片機取指、執(zhí)322.4.3單片機的低功耗方式對于MCS-51系列機型來說,它們有待機方式和掉電保護方式兩種低功耗方式。通過設置電源控制寄存器PCON的相關位可以確定當前的低功耗方式。PCON寄存器格式如下:其中SMOD:波特率倍增位GF0,GF1:通用標志位PD:掉電方式位,PD=1為掉電方式IDL:待機方式位,IDL=1為待機方式位序B7B6B5B4B3B2B1B0位符號SMOD///GF1GF0PDIDL2.4.3單片機的低功耗方式其中SMOD:波特33
第二章MCS—51系列單片機芯片結構
第二章342.1MCS—51系列單片機的結構原理2.1.1MCS-51單片機邏輯結構MCS-51單片機的系統(tǒng)結構框圖如圖2.1所示。
圖2.1MCS-51單片機的系統(tǒng)結構框圖2.1MCS—51系列單片機的結構原理圖2.1M35由圖2.1可以看出,單片機內(nèi)部主要包含下列幾個部件:u
一個8位CPU;u
一個時鐘電路;u
4Kbyte程序存儲器;u
128byte數(shù)據(jù)存儲器;u
兩個16位定時/計數(shù)器;u
64Kbyte擴展總線控制電路;u
四個8-bit并行I/O端口;u
一個可編程串行接口;五個中斷源,其中包括兩個優(yōu)先級嵌套中斷
由圖2.1可以看出,單片機內(nèi)部主要包含下列幾個部件:362.1.2MCS-51單片機內(nèi)部結構MCS-51單片機芯片內(nèi)部結構框圖如圖2.2所示。
圖2.2MCS-51單片機芯片內(nèi)部結構框圖2.1.2MCS-51單片機內(nèi)部結構圖2.2371.CPUCPU即中央處理器的簡稱,是單片機的核心部件,它完成各種運算和控制操作,CPU由運算器和控制器兩部分電路組成。(1)運算器電路運算器電路包括ALU(算術邏輯單元)、ACC(累加器)、B寄存器、狀態(tài)寄存器、暫存器1和暫存器2等部件,運算器的功能是進行算術運算和邏輯運算。
(2)控制器電路控制器電路包括程序計數(shù)器PC、PC加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器以及定時與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機各部分正常工作。
1.CPU382.定時器/計數(shù)器MCS-51單片機片內(nèi)有兩個16位的定時/計數(shù)器,即定時器0和定時器1。它們可以用于定時控制、延時以及對外部事件的計數(shù)和檢測等。3.存儲器MCS-51系列單片機的存儲器包括數(shù)據(jù)存儲器和程序存儲器,其主要特點是程序存儲器和數(shù)據(jù)存儲器的尋址空間是相互獨立的,物理結構也不相同。4.并行I/O口MCS-51單片機共有4個8位的I/O口(P0、P1、P2和P3),每一條I/O線都能獨立地用作輸入或輸出。P0口為三態(tài)雙向口,能帶8個TTL門電路,P1、P2和P3口為準雙向口,負載能力為4個TTL門電路。
2.定時器/計數(shù)器395.串行I/O口MCS-51單片機具有一個采用通用異步工作方式的全雙工串行通信接口,可以同時發(fā)送和接收數(shù)據(jù)。6.中斷控制系統(tǒng)8051共有5個中斷源,即外中斷2個,定時/計數(shù)中斷2個,串行中斷1個。7.時鐘電路MCS-51芯片內(nèi)部有時鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列,振蕩器的頻率范圍為1.2MHz~12MHz,典型取值為6MHz。8.總線以上所有組成部分都是通過總線連接起來,從而構成一個完整的單片機。系統(tǒng)的地址信號、數(shù)據(jù)信號和控制信號都是通過總線傳送的,總線結構減少了單片機的連線和引腳,提高了集成度和可靠性。
5.串行I/O口402.1.3引腳信號圖2.3為MCS-51系列單片機引腳圖及邏輯符號,它們?yōu)闃藴实?0腳DIP封裝。
圖2.3MCS-51系列單片機引腳圖及邏輯符號2.1.3引腳信號圖2.3MCS-51系列單41電源引腳Vcc和VssVcc:電源端,接+5V。Vss:接地端。時鐘電路引腳XTAL1和XTAL2XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時鐘時,該引腳必須接地。XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時鐘時,該引腳為外部時鐘的輸入端。地址鎖存允許ALE系統(tǒng)擴展時,ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實現(xiàn)數(shù)據(jù)與低位地址的復用。
電源引腳Vcc和Vss42外部程序存儲器讀選通信號是讀外部程序存儲器的選通信號,低電平有效。程序存儲器地址允許輸入端/VPP
當為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當PC中的值超過0FFFH時,將自動轉向執(zhí)行片外程序存儲器指令。當為低電平時,CPU只執(zhí)行片外程序存儲器指令。復位信號RST該信號高電平有效,在輸入端保持兩個機器周期的高電平后,就可以完成復位操作。外部程序存儲器讀選通信號431.
輸入/輸出口引腳P0、P1、P2和P3P0口(P0.0~P0.7):該端口為漏極開路的8位準雙向口,負載能力位8高LSTTL負載,它為8位地址線和8位數(shù)據(jù)線的復用端口。P1口(P1.0~P1.7):它是一個內(nèi)部帶上拉電阻的8位準雙向I/O口,P1口的驅動能力為4個LSTTL負載。P2口(P2.0~P2.7):它為一個內(nèi)部帶上拉電阻的8位準雙向I/O口,P2口的驅動能力也為4個LSTTL負載。在訪問外部程序存儲器時,它作存儲器的高8位地址線。P3口(P3.0~P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。1.
輸入/輸出口引腳P0、P1、P2和P3442.2MCS—51單片機的存儲器MCS-51的存儲器結構如圖2.4所示。在本節(jié)中我們將對單片機的內(nèi)部數(shù)據(jù)存儲器、內(nèi)部程序存儲器和外部存儲器分別作一介紹。
圖2.4MCS-51的存儲器結構如2.2MCS—51單片機的存儲器圖2.4452.2.1內(nèi)部數(shù)據(jù)存儲器
2.2.1內(nèi)部數(shù)據(jù)存儲器461.內(nèi)部數(shù)據(jù)存儲器低128單元在低128字節(jié)存儲單元中,前32個單元(00H~1FH)作為工作寄存器使用,這32個寄存器分作4組,每組由8個通用寄存器(R0~R7)組成,組號依次為0、1、2和3。通過對程序狀態(tài)字中RS1和RS0的設置,可以決定選用哪一組工作寄存器,通常沒有選中的單元也可作為一般的數(shù)據(jù)緩存使用。系統(tǒng)上電復位時,默認選中第0組寄存器。在工作寄存器后的16個數(shù)據(jù)單元(20H~2FH),它們既可以作為一般的數(shù)據(jù)單元使用,由可以按位對每個單元進行操作,因此這16個數(shù)據(jù)單元又稱作位尋址區(qū)。位尋址區(qū)共計128位,其位地址為00H~0FH。在內(nèi)部RAM的低128個單元中,剩余的80個數(shù)據(jù)單元即30H~7FH為真正的用戶RAM區(qū),對于這些區(qū)域,用戶只能以存儲單元的形式來使用,通常在應用中也把堆棧開辟在這段區(qū)域。1.內(nèi)部數(shù)據(jù)存儲器低128單元在工作寄存器后的1472.
內(nèi)部數(shù)據(jù)存儲器高128單元內(nèi)部數(shù)據(jù)存儲器的高128個單元是為專用寄存器提供的,因此該區(qū)也稱作特殊功能寄存器區(qū)(SFR),它們主要用于存放控制命令、狀態(tài)或數(shù)據(jù)。除去程序計數(shù)器PC外,還有21個特殊功能寄存器,其地址空間為80H~FFH。這21個寄存器中有11個特殊功能寄存器具有位尋址能力,它們的字節(jié)地址剛好能被8整除。下面將對部分專用寄存器作簡要介紹。
累加器ACC累加器為8位寄存器,是程序中最常用的專用寄存器,在指令系統(tǒng)中累加器的助記符為A。大部分單操作數(shù)指令的操作取自累加器,很多雙操作數(shù)指令的一個操作數(shù)也取自累加器。加、減乘和除等算術運算指令的運算結果都存放在累加器A或AB寄存器中,在變址尋址方式中累加器被作為變址寄存器使用。在MCS-51中由于只有一個累加器,而單片機2.
內(nèi)部數(shù)據(jù)存儲器高128單元累加器ACC48中的大部分數(shù)據(jù)操作都是通過累加器進行的,故累加器的使用是十分頻繁的。B寄存器B寄存器為8位寄存器,主要用于乘除指令中。乘法指令的兩個操作數(shù)分別取自累加器A和寄存器B,其中B為乘數(shù),乘法結果的高8位存放于寄存器B中。除法指令中,被除數(shù)取自A,除數(shù)取自B,除法的結果商數(shù)存放于A,余數(shù)存放于B中。在其它指令中,B寄存器也可作為一般的數(shù)據(jù)單元來使用。程序狀態(tài)字PSW程序狀態(tài)字是一個8位寄存器,它包含程序的狀態(tài)信息。在狀態(tài)字中,有些位狀態(tài)是根據(jù)指令執(zhí)行結果,由硬件自動完成設置的,而有些狀態(tài)位則必須通過軟件方法設定。PSW中的每個狀態(tài)位都可由軟件讀出,PSW的各位定義如表2.1。
中的大部分數(shù)據(jù)操作都是通過累加器進行的,故累加器的使用是十分49表2.1PSW的各狀態(tài)位定義
(1)CY:進位標志位在執(zhí)行某些算術和邏輯指令時,可以被硬件或軟件置位或清零。在算術運算中它可作為進位標志,在位運算中,它作累加器使用,在位傳送、位與和位或等位操作中,都要使用進位標志位。(2)
AC:輔助進位標志進行加法或減法操作時,當發(fā)生低四位向高四位進位或借位時,AC由硬件置位,否則AC位被置“0”。在進行十進制調(diào)整指令時,將借助AC狀態(tài)進行判斷。
位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位標志CYACF0RS1RS0OV/ P表2.1PSW的各狀態(tài)位定義 (1)CY:進位標志位50(3)用戶標志位該位為用戶定義的狀態(tài)標記,用戶根據(jù)需要用軟件對其置位或清零,也可以用軟件測試F0來控制程序的跳轉。(4)RS1和RS0:寄存器區(qū)選擇控制位該兩位通過軟件置“0”或“1”來選擇當前工作寄存器區(qū)。(5)OV:溢出標志位當執(zhí)行算術指令時,由硬件置位或清零來指示溢出狀態(tài)。在帶符號的加減運算中,OV=1表示加減運算結果超出了累加器A所能表示的符號數(shù)有效范圍(-128~+127),即運算結果是錯誤的,反之,OV=0表示運算正確,即無溢出產(chǎn)生。無符號數(shù)乘法指令MUL的執(zhí)行結果也會影響溢出標志,若置于累加器A和寄存器B的兩個數(shù)的乘積超過了255,則OV=1,反之OV=0。由于乘積的高8位存放于B中,低8位存放于A中,OV=0則意味著只要從A中取得乘積即可,否則要從BA寄存器對中取得乘積結果。(3)用戶標志位51在除法運算中,DIV指令也會影響溢出標志,當除數(shù)為0時,OV=1,否則OV=0。(6)P:奇偶標志位每個指令周期由硬件來置位或清零用以表示累加器A中1的個數(shù)的奇偶性,若累加器中1的個數(shù)為奇數(shù)則P=1,否則P=0。l
數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR為一個16位的專用寄存器,其高位用DPH表示,其低位用DPL表示,它即既可以作為一個16位的寄存器來使用,也可作為兩個8位的的寄存器DPH和DPL使用。DPTR在訪問外部數(shù)據(jù)存儲器時既可用來存放16位地址,也可作地址指針使用。如MOVX@DPTR,A。l
I/O端口P0~P3
在除法運算中,DIV指令也會影響溢出標志,當除數(shù)52P0~P3為四個8位的特殊功能寄存器,分別是四個并行I/O端口的鎖存器,當I/O端口的某一位用作輸入時,對應的鎖存器必須先置“1”。l
定時器/計數(shù)器在MCS-51中,除8032/8052外都只有兩個16位定時器/計數(shù)器T0和T1,它們由兩個相互獨立的8位寄存器組成TH和TL,共有四個獨立的寄存器TH0、TL0、TH1和TL1,只可對這四個寄存器獨立尋址,而不能作為一個16位寄存器來尋址。
l
串行數(shù)據(jù)緩沖寄存器串行數(shù)據(jù)緩沖器SBUF用于存放將要發(fā)送或已接收的數(shù)據(jù),它由發(fā)送緩沖器和接收緩沖器組成,將要發(fā)送的數(shù)據(jù)被送入SBUF時進入發(fā)送緩沖器,反之進入接收緩沖器。
P0~P3為四個8位的特殊功能寄存器,分別是四個532.2.2外部數(shù)據(jù)存儲器在MCS-51中,其片外數(shù)據(jù)存儲器和I/O口與片內(nèi)數(shù)據(jù)存儲器空間0000FH~FFFFH是重疊的。在8051單片機中采用MOV和MOVX兩種指令來區(qū)分片內(nèi)外RAM空間,其中片內(nèi)RAM使用MOV指令,片外RAM和I/O口使用MOVX指令。2.2.3程序存儲器在MCS-51系列中,程序存儲器被用來存放程序、常數(shù)或表格等。在8051中,其片內(nèi)有4K字節(jié)的ROM存儲單元,地址為0000H~0FFFH。8751有4K字節(jié)的EPROM,而8052和8752則有8K字節(jié)的片內(nèi)存儲器。8031和8032無片內(nèi)程序存儲器,所以片內(nèi)程序存儲器的有無是區(qū)分芯片的主要標志。在程序存儲器中,以下6個單元具有特殊含義:
2.2.2外部數(shù)據(jù)存儲器54
0000H:單片機復位后,PC=0000H,程序從0000H開始執(zhí)行指令。
0003H:外部中斷0入口地址。000BH:定時器0中斷入口地址。0013H:外部中斷1入口地址。001BH:定時器1中斷入口地址。0023H:串行口中斷入口地址。在系統(tǒng)中斷相應之后,將自動轉各中斷入口地址處執(zhí)行程序,而中斷服務程序一般無法存放于幾個單元之內(nèi),因此在中斷入口地址處往往存放一條無條件轉移指令進行跳轉,以便執(zhí)行中斷服務程序。
0000H:單片機復位后,PC=0000H,552.3MCS-51單片機輸入/輸出(I/O)口2.3.1P0口圖2.6給出了P0口的邏輯結構,它由一個鎖存器、兩個三態(tài)輸入緩沖器、一個多路復用開關以及控制電路和驅動電路等組成。
圖2.6P0口的邏輯結構2.3MCS-51單片機輸入/輸出(I/O)口圖2.656P0口可以作為輸入輸出口,在實際應用中它通常作為地址/數(shù)據(jù)復用總線。在訪問外部存儲器時,P0口為真正的雙向口。
2.3.2P1口P1口是一個準雙向口,通常作為I/O口使用,其位結構圖如圖2.7。由于在其輸出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。圖2.7位結構圖P0口可以作為輸入輸出口,在實際應用中它通常作為地572.3.3P2口P2口位結構圖如圖2.8。P2通用為一個準雙向口,其位結構與P0口相似。對于8031單片機來說,P2口通常用作地址信號輸出。
圖2.8P2口位結構圖2.3.3P2口圖2.8P2口位結構圖582.3.4P3口P3口的位結構圖如圖2.9。P3口為雙功能口,當P3口作為通用I/O口使用時,它為準雙向口,且每位都可定義為輸入或輸出口,其工作
溫馨提示
- 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年上海二手車交易合同格式版(2篇)
- 2025 濟南解除勞動的合同證明書
- 2025公司業(yè)務轉讓合同范本
- 汽車整車運輸保險合同樣本
- 2025年業(yè)主委托物業(yè)房屋租賃合同范文(2篇)
- 2025年與司機長期運輸合同模板(三篇)
- 2025年一般借款抵押擔保合同(2篇)
- 2025年上海市肉禽買賣合同經(jīng)典版(三篇)
- 2025年度個人與公司簽訂的購車借款及保養(yǎng)服務合同4篇
- 2025版我國海上貨物運輸全程保險服務合同3篇
- 《大學生職業(yè)發(fā)展與就業(yè)指導》課程標準
- 第23課《出師表》課件(共56張)
- GB/T 3953-2024電工圓銅線
- 發(fā)電機停電故障應急預案
- 接電的施工方案
- 常用藥物作用及副作用課件
- 幼兒阿拉伯數(shù)字描紅(0-100)打印版
- 社會組織等級評估報告模板
- GB/T 12173-2008礦用一般型電氣設備
- 新媒體研究方法教學ppt課件(完整版)
- 2020新版?zhèn)€人征信報告模板
評論
0/150
提交評論