




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 單片機芯片的硬件結(jié)構(gòu)本章重點: MCS-51單片機的一般性能特點,內(nèi)部變成結(jié)構(gòu)和存儲器結(jié)構(gòu)講授內(nèi)容: MCS-51系列單片機機芯結(jié)構(gòu);MCS-51單片機的存儲結(jié)構(gòu);MCS-51系列單片機的芯片引腳功能 因為單片機是微型機的一個分支,在原理和結(jié)構(gòu)上,單片機與微型機之間不但沒有根本性的差別,而微型機的許多技術(shù)與特點都被單片機繼承下來了。所以,可以用微型機的眼光看待單片機,用微型機的思路學(xué)習(xí)單片機.MCS-51單片機結(jié)構(gòu)框圖到目前為止,盡管計算機科學(xué)和技術(shù)得到了充分的發(fā)展,但計算機的體系結(jié)構(gòu)仍然沒能突破計算機的開拓者、數(shù)字家約翰馮諾曼最先提出來的經(jīng)典體系結(jié)構(gòu)框架,即一臺計算機是由運算器、控制
2、器、存儲器、輸入設(shè)備以及輸出設(shè)備共五個基本部分組成的。微型機是這樣,單片機也不例外。因此我們要從計算機五個基本組成部分的觀點來理解單片機的系統(tǒng)結(jié)構(gòu),所不同的只是單片機是把那些作為控制應(yīng)用所必需的內(nèi)容,包括運算器、控制器、少量的存儲器、最基本的輸入輸出電路、串行口電路、中斷和定時電路等都集成在一個尺寸有限的芯片上。要在一個極小的芯片上集成這么多電路,而立還要求結(jié)構(gòu)簡單靈活,工作穩(wěn)定可靠因此,單片機必須采用精巧的設(shè)計,以克服芯片尺寸有限所帶來的許多制約。以MCS一5l為例,單片機的系統(tǒng)邏輯結(jié)構(gòu)如圖所示。 2.1 MCS-51單片機的邏輯結(jié)構(gòu)及信號引腳2.1.1 MCS-51單片機的結(jié)構(gòu)框圖2.1.
3、2 MCS-51單片機芯片內(nèi)部邏輯結(jié)構(gòu)2.1.3 MCS-51單片機信號引腳2.1.1 MCS-51單片機的基本組成圖2-1 MCS-51單片機基本結(jié)構(gòu)示意圖(1)一個8位微處理器CPU。(2)數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR。(3)內(nèi)部程序存儲器ROM。(4)兩個定時/計數(shù)器,用以對外部事件進行計數(shù),也可用作定時器。(5)四個8位可編程的I/O(輸入/輸出)并行端口,每個端口既可做輸入,也可做輸出。(6)一個串行端口,用于數(shù)據(jù)的串行通信。(7)中斷控制系統(tǒng)。(8)內(nèi)部時鐘電路。MCS-51 特點:2.1.2 MCS-51單片機芯片內(nèi)部邏輯結(jié)構(gòu)1內(nèi)部程序存儲器(ROM)和內(nèi)部數(shù)據(jù)存儲器(
4、RAM)容量(如表2-1所示)。2輸入/輸出(I/O)端口3外部程序存儲器和外部數(shù)據(jù)存儲器尋址空間4中斷與堆棧5定時/計數(shù)器與寄存器區(qū)6指令系統(tǒng)問題: 8051與8751的區(qū)別在于 :(1)內(nèi)部程序存儲器的類型不同(2)內(nèi)部數(shù)據(jù)存儲器的類型不同(3)內(nèi)部程序存儲器的容量不同(4)內(nèi)部數(shù)據(jù)存儲器的容量不同問題:80C50與8051的區(qū)別在于:(1)內(nèi)部ROM的類型不同(2)半導(dǎo)體工藝的形式不同(3)內(nèi)部寄存單元的數(shù)目不同(4)80C51使用EEPROM,而8051使用EPROM 存儲器類型單片機系列掩膜ROMEPROMRAMMCS-5151子系列8031/128B80514KB/128B8751
5、/4KB128B52子系列8032/256B80528KB/256B8752/8KB256B表2-1 MCS-51單片機存儲器容量1中央處理器(1)運算器:組成、功能 見書運算器由8位算術(shù)邏輯運算單元ALU(Arithmetic Logic Unit)、8位累加器ACC(Accumulator)、8位寄存器B、程序狀態(tài)字寄存器PSW(Program Status Word)、8位暫存寄存器TMP1和TMP2等組成。 (2)控制器:組成、功能 見書主要由程序計數(shù)器PC、指令寄存器IR、指令譯碼器ID、堆棧指針SP、數(shù)據(jù)指針DPTR、時鐘發(fā)生器及定時控制邏輯等組成。2、內(nèi)部數(shù)據(jù)存儲器3、內(nèi)部程序存
6、儲器4、定時器/計數(shù)器5、并行I/O口6、串行口7、中斷控制系統(tǒng)8、時鐘電路9、位處理器10、總線 總結(jié): 從上述內(nèi)容可以看出,雖然MCS51只是一個硅片,但“麻雀雖小五臟俱全”,作為計算機應(yīng)該具有的基本部件在單片機中幾乎都包括,因此,實際上它已經(jīng)是一個簡單的微型計算機系統(tǒng)了,應(yīng)當(dāng)按計算機系統(tǒng)的概念來理解單片機。2.1.3 MCS-51單片機的引腳 圖為MCS-51單片機的引腳配置圖,40引腳。1主電源引腳VCC和VSS2外接晶振引腳XTAL1和XTAL23輸入/輸出引腳P0、P1、P2、P3(共32根)4. ALE/PROG:地址鎖存控制信號/編程脈沖 PSEN:外部程序存儲器選通信號 EA
7、 /Vpp:訪問程序存儲器控制信號/編程電壓 0-外部程序存儲器 RST/ VPD RAM保護特點:存儲器地址獨立、命令獨立、功能獨立 引腳表現(xiàn)出的是單片機的外特性或硬件特性,在硬件方面用戶只能使用引腳即通過引腳組建系統(tǒng)。因此熟悉引腳是單片機硬件學(xué)習(xí)的重要內(nèi)容。 問題:引腳的第一、第二功能不會混淆一個信號引腳。又是第一功能又是第二功能,會不會在使用時引起混亂和造成錯誤呢?不會的。對此起碼有以下三點理由: 1、對于各種型號的芯片,其引腳的第一功能信號是相同的,所不同的只在引腳的第二功能信號上。2、對于9(RST/VPD)、30(ALE/PROG)和31(EA/Vpp)各引腳,由于第一功能信號與第
8、二功能信號是單片機在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。3、P3口線的情況卻有所不同,它的第二功能信號都是單片機的重要控制信號。因此在實際使用時,總是先按需要優(yōu)先選用它的第二功能,剩下不用的才作為口線使用。 2.2 MCS-51單片機的內(nèi)部存儲器2.2.1 內(nèi)部數(shù)據(jù)存儲器低128單元(邏輯結(jié)構(gòu)研究) 80C51的內(nèi)部共有256個數(shù)據(jù)存儲器單元通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址00H-7FH)和高128單元(單元地址80HFFH)。如圖所示。 其中:低128單元是單片機中供用戶使用的數(shù)據(jù)存儲器單元,即我們稱之為內(nèi)部RAM的存儲器,按用途可把低128單元劃
9、可分為3個區(qū)域:總體介紹(筆記上內(nèi)容)(內(nèi)部硬件資源:軟件使用) 1、寄存器區(qū) 內(nèi)部RAM的前32個單元是作為寄存器使用的,共分為4組,每組有8個寄存器,組今依次為0、1、2、3,每個寄存器都是8位,在組中按R7R0編號。寄存器常用于存放操作數(shù)及中間結(jié)果等,由于它們的功能及使用不作預(yù)先規(guī)定,因此稱之為通用寄存器,有時也叫工作寄存器。4組通用寄存器占據(jù)內(nèi)部RAM的00H-1FH單元地址。 在任一時刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱之為當(dāng)前寄存器組。到底是那一組,由程序狀態(tài)字哥存器PSW中RSl、RS2位的狀態(tài)組合來決定。優(yōu)點:(1)通用寄存器為CPU提供了數(shù)據(jù)就近存
10、取的便利,提高處理速度()有利于提高程序編制的靈活性,簡化程序設(shè)計,提高程序運行速度。(例子:生產(chǎn)線設(shè)計) 因此在MCS-51中使用通用寄存器的指令特別多,又多為單字節(jié)的指令,執(zhí)行速度最快。此外,使用通用寄存器還能提高程序編制的靈活性,因此在單片機的應(yīng)用編程中應(yīng)充分利用這些寄存器以簡化程序設(shè)計,提高程序運行速度。2位尋址區(qū) 內(nèi)部RAM的20H-2FH單元,既可作為一般RAM單元使用,進行字節(jié)操作,也可以對單元中的每一位進行位操作、因此把該區(qū)林之為位尋址區(qū)。位尋址區(qū)共有16個RAM單元,總計128位,位地址為00H-7FH。位尋址區(qū)是為位操作而準備的,是 MCS-51位處理器的數(shù)據(jù)存儲空間,其中
11、的所有位均可以直接尋址。表為位尋址區(qū)的位地址表。通常在使用中,“位”有兩種表示方式。一種是以位地址的形式(如表22所示),例如位尋址區(qū)的最后一個位是7FH;另一種是以存儲單元地址加位的形式表示,例如:同樣的最后位表示為2FH7。3、用戶RAM區(qū) 在內(nèi)部RAM低128單元中,通用寄存器占去32個單元,位尋址區(qū)占去16個單元,剩余80個單元,這就是供用戶使用的一般RAM區(qū),其單元地址為30H-7FH。 對于用戶RAM區(qū),只能以存儲單元的形式來使用,其他沒有任何規(guī)定或限制。但應(yīng)當(dāng)提及,在一般應(yīng)用中常把堆棧開辟在此區(qū)中。222 內(nèi)部數(shù)據(jù)存儲器高128單元 內(nèi)部數(shù)據(jù)存儲器的高128單元是為專用寄存器提供
12、的,因此稱之為專用寄存器區(qū),其單元地址為80H-FFH,用于存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)。因這些寄存器的功能已作專門規(guī)定,故而稱為專用寄存器(SFR),有時也稱為特殊功能寄存器。MC551中80C51的專用寄存器共有22個,其中可尋址的為21個(有些硬件影響它、有些軟件編程置位影響它)。一專用寄存器簡介 現(xiàn)把22個專用寄存器中的5個介紹如下,其余的將在以后章節(jié)中陸續(xù)說明。 1程序計數(shù)器(PC-Program Counter) PC是一個16位的計數(shù)器。其內(nèi)客為將要執(zhí)行的指令地址,尋址范圍達64KB。 PC有自動加1功能,以實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此 用戶無法
13、對它進行讀寫。但在執(zhí)行轉(zhuǎn)移、調(diào)用、返回等指令時能自動改變其內(nèi)容,以改變程序的執(zhí)行順序。2累加器A(或ACC-Accumulator) 累加器為8位寄存器,是程序中最常用的專用寄存器,功能較多,地位重要。概括起來有以下幾項功能: 累加器用于存放操作數(shù),是ALU數(shù)據(jù)輸入的一個重要來源。單片機中大部分單操作指令的操作數(shù)取自累加器,許多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。 累加器是ALU運算結(jié)果的暫存單元,用于存放運算的中間結(jié)果。 累加器是數(shù)據(jù)傳送的中轉(zhuǎn)站,單片機中的大部分數(shù)據(jù)傳送都通過累加器進行。 在變址尋址方式中把累加器作為變址寄存器使用。 MCS-51只有一個累加器,而單片機個的大部分數(shù)據(jù)操
14、作都是通過累加器進行的,所以累加器的使用十分頻繁,其情形有如城市個交通繁忙的路口,很容易出現(xiàn)阻塞現(xiàn)象。為此在80C51中設(shè)置了一些不經(jīng)過累加器的數(shù)據(jù)傳送指令,例如:寄存器與直接尋址單元之間的數(shù)據(jù)傳送指令,直接尋址單元與間接尋址單元之間的數(shù)據(jù)傳送指今,寄存器、直接尋址單元、間接尋址單元與立即數(shù)之間的數(shù)據(jù)傳送指令等,以緩和累加器的擁堵。 由于累加器的“瓶頸”作用制約著單片機運算速度的提高,為此人們已開始考慮使用寄存器陣列(Register File)來代替累加器,即賦予更多的寄存器以累加器功能,形成多累加器結(jié)構(gòu),從而徹底解決累加器的“瓶頸”問題,以利于提高單片機的效率。(程序?qū)ぶ窌r的多樣性)3、B
15、寄存器 B寄存器是一個8位寄存器,主要用于乘除運算。乘法運算時,B為乘數(shù)。乘法操作后,乘積的高8位存于B中。除法運算時,B為除數(shù)。除操作后,余數(shù)存于B中。此外,B寄存器也可作為一般數(shù)據(jù)寄存器使用。4、程序狀態(tài)字(PSW-Program Status Word) 程序狀態(tài)字是一個8位寄存器,用于寄存指令執(zhí)行的狀態(tài)信息。其中有些位狀態(tài)是根據(jù)指令執(zhí)行結(jié)果,由硬件自動設(shè)置的,而有些位狀態(tài)則是使用軟件方法沒定的。PSW的位狀態(tài)可以用專門指令進行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令將根據(jù)PSW中有關(guān)位的狀態(tài),來進行程序轉(zhuǎn)移。PSW的各位定義如下:見頁5.數(shù)據(jù)指針(DPTR)數(shù)據(jù)指針為16位寄存器,它是
16、MCS-51中唯一一個供用戶使用的16位寄存器。DPTR的使用比較靈活,它既可以按16位寄存器使用,也可以作為兩個8位寄存器使用,即DPH DPTR高位字節(jié)DPL DPTR低位字節(jié)DPTR在訪問外部數(shù)據(jù)存儲器時作地址指針使用,由于外部數(shù)據(jù)存儲器的尋址范圍為64KB,故把DPTR設(shè)計為16位。此外,在變址尋址方式中,用DPTR作基址寄存器,用于對程序存儲器的訪問。二專用寄存器的字節(jié)尋址 如上所述,MCS-5l的22個專用寄存器中,有21個是可尋址的。這些可尋址寄存 器的名稱、符號及地址列于表23中。對專用寄存器的字節(jié)尋址問題作如下幾點說明:21個可尋址的專用寄存器是不連續(xù)地分散在內(nèi)部RAM高12
17、8單元之中。盡管還剩余許多空閑單元,但用戶并不能使用。如果訪問這些沒有定義的單元,讀出的為不定數(shù),而寫入的數(shù)被合棄。 在22個專用寄存器個,唯一一個不可尋址的專用寄存器就是程序計數(shù)器(PC)。 PC在物理上是獨立的,不占據(jù)RAM單元,因此是不可尋址的寄存器。 對專用寄存器只能使用直接尋址方式,在指令中既可使用寄存器符號表示,也可使用寄存器地址表示。 在21個可尋址的專用卑存器中,有11個寄存器是可以位尋址的,即表23中在寄存器符號前打星號(*)的寄存器。80C51專用寄存器中可尋址位共有83個,其中許多位還有其專用名稱,尋址時既可使用位地址,也可使用位名稱。專用寄存器的可尋址位加上位尋址區(qū)的1
18、28個通用位,構(gòu)成了MCS一51位處理器的整個數(shù)據(jù)位存儲空間。下面再把各專用寄存器的位地址位名稱列于表24中。(可位地址、位名稱尋址)特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A0E0HTMOD89HB0F0HTCON88HPSW0D0HTH08CHSP81HTL08AHDPL82HTH18DHDPH83HTL18BHP0P380、 90、 0A0、0B0HSBUF99HIP0B8HSCON98HIE0A8HPCON87H表2-6 單片機專用寄存器一覽表MCS-51單片機存儲器結(jié)構(gòu)特點單片機的存儲器結(jié)構(gòu)與微型計算機有很大的不同。MCS-51單片機的存儲器結(jié)構(gòu)有兩個重要的特點:一是把數(shù)據(jù)存儲器
19、和程序存儲器截然分開,二是存儲器有內(nèi)外之分。對于面向控制應(yīng)用且又不可能具有磁盤的單片機系統(tǒng)來說,程序存儲器是至關(guān)重要的,但數(shù)據(jù)存儲器也不可少。為此單片機的存儲器分為數(shù)據(jù)存儲器和程序存儲器,其地址空間、存取指令和控制信號各有一套。單片機應(yīng)用系統(tǒng)的存儲器除類型不同外,還有內(nèi)外之分,即有片內(nèi)存儲器和片外存儲器。片內(nèi)存儲器的特點是使用方便,對于簡單的應(yīng)用系統(tǒng),有時只使用片內(nèi)存儲器就夠了。但片內(nèi)存儲器的容量受到限制,程序存儲器一般只有4KB,數(shù)據(jù)存儲器也就是128個單元,這對于復(fù)雜一點的應(yīng)用是很不夠的。為此,單片機應(yīng)用系統(tǒng)時常需要在芯片之外另行擴展存儲器。為了與芯片內(nèi)固有的存儲器區(qū)別,通常把擴展的存儲器
20、稱之為外部存儲器。為了擴展外部存儲器,單片機芯片的引腳已經(jīng)作了預(yù)先準備。例如通過口線最多可提供16位地址,對外部存儲器的手址范圍達64KB,還有一些引腳信號也是供存儲器擴展使用的,例如:ALE信號用于外部存儲器的地址鎖存控制,PSEN信號用于外部程序存儲器的讀選通EA信號用于內(nèi)外程存存儲器的訪問控制等。總的來說,由芯片內(nèi)存儲器和芯片外擴展存儲器構(gòu)成了單片機應(yīng)用系統(tǒng)的整個存儲器系統(tǒng),其結(jié)構(gòu)和存儲空間分配如圖所示。外部存儲器擴展是構(gòu)建單片機系統(tǒng)的重要內(nèi)容,我們將在后面的章節(jié)中詳細介紹。223 MCS一51的堆棧操作(軟件內(nèi)部器件) 堆棧是一種數(shù)據(jù)結(jié)構(gòu),所謂堆棧就是只允許在其一端進行數(shù)據(jù)插入和數(shù)據(jù)刪
21、除操作 的線性表。數(shù)據(jù)寫入堆棧稱為插入運算(PUSH),也叫入棧,數(shù)據(jù)從堆棧中讀出稱之為刪除運算(POP),也叫出棧。堆棧的最大特點就是“后進先出”的數(shù)據(jù)操作規(guī)則,常把后進先出寫為LIFO(Last-In First-Out)、,這里所說的進與出就是數(shù)據(jù)的入棧和 出棧。即先入棧的數(shù)據(jù)由于存放在狀的底部,因此后出棧;而后入棧的數(shù)據(jù)存放在棧的頂部,因此先出棧。這跟往彈倉壓入子彈和從彈倉中彈出于彈的情形非常類似。 1堆棧的功用 堆棧主要是為子程序調(diào)用和中斷操作而設(shè)立的。其具體功能有兩個:保護斷點和保護現(xiàn)場。因為在計算機中無論是執(zhí)行手程序調(diào)用操作還是執(zhí)行中斷操作。最終都要返回主程序。因此在計算機轉(zhuǎn)去執(zhí)
22、行于程序或中斷服務(wù)之前,必須考慮其返回問題。 為此應(yīng)預(yù)先把主程序的斷點保護起來,為程序的正確返回作準備。計算機在轉(zhuǎn)去執(zhí)行子程序或中斷服務(wù)程序以后,很可能要使用單片機中的一些寄存單元,這樣就會破壞這些寄存單元中的原有內(nèi)容。為了既能在子程序或中斷服務(wù)程序中使用這些寄存單元,又能保證在返回主程序之后恢復(fù)這些寄存單元的原有內(nèi)容。 所以在轉(zhuǎn)中斷服務(wù)程序之前要把單片機中各有關(guān)寄存單元的內(nèi)容保存起來,這就是所謂現(xiàn)場保護。那么把斷點和現(xiàn)場內(nèi)容保存在哪兒呢?保存在堆棧中。可見堆棧主要是為中斷服務(wù)操作和子程序調(diào)用而設(shè)立的。為了使計算機能進行多級中斷嵌套及多重子程序嵌套所以要求堆棧具有足夠的容量(或者說足夠的堆棧深
23、度)。此外,堆棧也可用于數(shù)據(jù)的臨時存放,在程序設(shè)計中時常用到。 2堆棧的開辟 鑒于單片機的單片特點,堆棧只能開辟在芯片的內(nèi)部數(shù)據(jù)存儲器個,即所謂的內(nèi)堆棧形式。MCS-51當(dāng)然也不例外。內(nèi)堆棧的主要優(yōu)點是操作速度快,但堆棧容量有限。3堆棧指示器 如前所述,堆棧共有兩種操作:進棧和出棧。但不論是數(shù)據(jù)進棧還是數(shù)據(jù)出棧,都是對堆棧的棧項單元進行的,即對棧項單元的寫和讀操作。為了指示棧頂?shù)刂罚詴O(shè)置堆棧指示器SP(Stack Pointer)SP的內(nèi)客就是堆棧棧項的存儲單元地址。 MCS一5l單片機由于堆棧設(shè)在內(nèi)部RAM中,因此SP是一個8位寄存器,實際上SP此是專用寄存器的一員。系統(tǒng)復(fù)位后,SP的
24、內(nèi)容為07H,但由于堆棧最好在內(nèi)部RAM的30H7FH單元個開辟,所以在程序設(shè)計時應(yīng)注意把SP值初始化為30H以后以免占用寶貴的寄存器區(qū)和位尋址區(qū)。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就 跟著確定下來,由于SP可初始化為不同值,因此堆棧位又是浮動的。 4堆棧類型 堆棧可有兩種類型:向上生長型和向下生長型如圖25所示。向上生長型堆棧,棧底在低地址單元。隨著數(shù)據(jù)進棧,地址遞增,SP的內(nèi)容越來越大,指針上移;反之,隨總數(shù)據(jù)的出棧,地址遞減,的內(nèi)容越來越小,指針下移。 MCS一51屬向上生長型堆棧,這種堆棧的操作規(guī)則如下: 進棧操作:先SP加1,后寫入數(shù)據(jù) 出棧操作:先讀出數(shù)據(jù),后SP減1 向下生長型堆棧
25、,棧底設(shè)在高地址單元。隨總數(shù)據(jù)道棧,地址速減,SP內(nèi)容越來越小,指針下移;反之,隨總數(shù)據(jù)的出棧,地址遞增,SP內(nèi)容越來越大,指針上移。其堆棧操作規(guī)則與向上生長型正好相反。堆棧使用方式堆棧的使用有兩種方式。一種是自動方式,即在調(diào)用子程序或中斷時,返回地址(斷點)自動進棧。程序返回時,斷點再自動彈回PC。這種堆棧操作無需用戶干預(yù),因此稱為自動方式。另一種是指令方式,即使用專用的堆棧操作指令,進行進出棧操作。其進棧指令為PUSH,出棧指令為POP。例如現(xiàn)場保護就是指令方式的進棧操作;而現(xiàn)場恢復(fù)則是指令方式的出棧操作。 23 MCS-5l單片機并行輸入輸出口電路 單片機芯片內(nèi)還有一項重要內(nèi)容就是并行I
26、O口電路。MCS-51共有4個8位的并行雙向IO。,分別記作P0、P1、P2、P3,實際上它們已被歸入專用寄存器之列。這4個。除了按字節(jié)尋址之外,還可以按位尋址,4個口合在一起共有32位。 在單片機中,口是一個集數(shù)據(jù)輸入緩沖、數(shù)據(jù)輸出驅(qū)動及鎖存等多項功能于一體的IO電路。MCS-51的4個口在電路結(jié)構(gòu)上是基本相同的,但它們又各具特點,因此在功能和使用上各口之間有一定的差異。P0口的字節(jié)地址為80H,位地址為80H-87H。口的各位口線具有完全相同但又相互獨立的邏輯電路,如圖27所示。P0口電路邏輯的主要內(nèi)容包括: 一個數(shù)據(jù)輸出鎖存器用于進行數(shù)據(jù)位的鎖存。 兩個三態(tài)輸入緩沖器,分別用于鎖存器數(shù)據(jù)
27、和引腳數(shù)據(jù)約輸入緩沖。 一個多路轉(zhuǎn)接開關(guān)MUX,它的一個輸入來自鎖存器,另一個輸入為“地址數(shù)據(jù)”。輸入轉(zhuǎn)接由“控制”信號控制。之所以設(shè)置多路轉(zhuǎn)接開關(guān),是因為P0口既可以作為通用的IO 口進行數(shù)據(jù)的輸入輸,又可以作為單片機系統(tǒng)的地址 數(shù)據(jù)線使用。即在控制信號的作用下,由MUX實現(xiàn)鎖存器輸出和地址數(shù)據(jù)線之間的接通轉(zhuǎn)接。 數(shù)據(jù)輸出的驅(qū)動和控制電路由兩只場效應(yīng)管(FET)組成上面的那只場效應(yīng)管構(gòu)成上拉電路。32 P1口 P1口的字節(jié)地址為90H,位地址為90H-97H。P1口的口線邏輯電路請參見圖28。 P1口只能作為通用IO口使用所以在電路結(jié)構(gòu)上與P0口有一些不同,主要表現(xiàn)有兩點:首先,因為它只傳送
28、數(shù)據(jù),所以不再需要多路持接開關(guān)MUX;其次,由于只用來傳送數(shù)據(jù),因此輸出電路中有上拉電阻、上拉電阻與場效應(yīng)管共同組成輸出驅(qū)動電路。因為這樣電路的輸出不是三態(tài)的,所以Pl口是準雙向口。為此: 當(dāng)P1口作為輸出。使用時,已能對外提供推擔(dān)電流負載,外電路無需開接上拉電阻。 當(dāng)P1口作為輸入口使用時,應(yīng)允向其鎖存器寫入“1”使輸出驅(qū)動電路的FET截止。33 P2口 P2口的字節(jié)地址為0A0H,位地址為0A0H-0A7H。P2口的電路邏輯請參見圖29。因為在實際應(yīng)用中P0口用于為系統(tǒng)提供高位地址,因此同P0口一樣,在口電路中有一個多路轉(zhuǎn)接開關(guān)MUX。但MUX的一個輸入端不再是“地址數(shù)據(jù)”,而是單一的“地
29、址”,這是因為P2口作為地址線使用而不作為數(shù)據(jù)線使用。當(dāng)P2M作為高位地址線使用時,多路轉(zhuǎn)接開關(guān)應(yīng)倒向“地址”端。正因為只作為地址線使用口的輸出用不著是三態(tài)的,所以P2口也是一個準雙向口。此外,P2口也可以作為通用IO口使用,這時多路轉(zhuǎn)接開關(guān)倒向鎖存器Q端。34 P3口P3口的字節(jié)地址為0BOH,位地址為0B0H0B7H。P3口電路邏輯請參見圖210。雖然P2口可以作為通用IO口使用,但在實際應(yīng)用中它的第三功能信號更為重要,為適應(yīng)引腳信號第二功能的需要,在口電路中增加了第二功能技制邏輯。由于第二功能信號有輸入和輸出兩類,因此我們分兩種情況說明。對于輸出的第二功能信號引腳,當(dāng)作為通用IO口使用時
30、,電路個的“第二輸出功能”信號線應(yīng)保持高電平,與非門開通,以維持從鎖存器到輸出端數(shù)據(jù)輸出通路的暢通。當(dāng)輸出第二功能信號時,該鎖存器應(yīng)預(yù)先置“1”,使與非門對第二功能信號的輸出是暢通的,從而實現(xiàn)第二功能信號的輸出。對于第二功能為輸入信號的引腳,在口線的輸入通路上增加了一個緩沖器,輸入的信號就從這個緩沖器的輸出端取得。而作為通用IO。線使用的數(shù)據(jù)輸入,仍取自三態(tài)緩沖器的輸出端。總起來說,不管是作為輸入口使用還是第二功能信號輸入,輸出電路中的領(lǐng)存器輸出和“第二功能輸出信號”線都應(yīng)保持高電平。2.3.5 MCS-51口電路小結(jié) 前面講述了Mcs-51的口電路邏輯和功能,下面把這些口在使用中的一些問題總
31、結(jié)一下。 1P0、P1、P2、P3都是并行IO口,都可用于數(shù)據(jù)的輸入輸出傳送,但P0口和P2口除了可進行數(shù)據(jù)的輸入輸出外,通常是用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以 在口電路邏輯中有一個多路轉(zhuǎn)接開關(guān)MUX,以便進行兩種用途的轉(zhuǎn)換。而P1和 P3口沒有構(gòu)建數(shù)據(jù)和地址總線的功能,因此在電路中沒有多路轉(zhuǎn)公開關(guān)MUX口。 由于P0口可作為地址數(shù)據(jù)復(fù)用線使用,輸送系統(tǒng)的低8位地址和8位數(shù)據(jù),因此 MUX的一個輸入端為“地址數(shù)據(jù)”信號。而P2口僅作為高位地址線使用,不涉及數(shù)據(jù),所以MUX的一個輸入信號為“地址”。 24 MCS-51單持機時鐘電路與時序 時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,單片機
32、本身就是一個復(fù)雜的同步 時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴格地按 時序進行工作。而時序所研究的則是指令執(zhí)行中各信號之間的相互時間關(guān)系。除使用晶體振蕩器外,如對時鐘頻率要求不高,還可以用電感或陶瓷諧振器代替。電路中的電容Cl和C2一般取30 pF左右,而晶體的娠蕩頻率范圍通常是12MHz12MHz晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機運行速度也就快。但反過來運行速度快對存儲器的速度要求就高,對印刷電路板的工藝要求也高(線間寄生電容要小)。MCS-5l在通常應(yīng)用情況下,使用振蕩頻率為6MHz的石英晶體而12MHz主要是在高速串行通信的情況下才使用。隨著技術(shù)的
33、發(fā)展,單片機的時鐘頻率也在逐步提高,現(xiàn)在高速芯片巳達40 MHz。定時報蕩器的工作可由專用寄存器PCON的PD位進行拄制,把PD位至“1”,振蕩器件止工作,系統(tǒng)進入低功耗狀態(tài)。振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用,如圖212所示。振蕩脈沖經(jīng)過二分頻后才作為系統(tǒng)的時鐘信號(請讀者特別注意時鐘脈沖與振蕩脈沖之間的二分頻關(guān)系,否則會造成概念上的錯誤),在二分頻的基礎(chǔ)上再三分頻產(chǎn)生ALE信號(這就是在前面介紹ALE時所說的ALE是以晶扳六分之一的固定頻率輸出的正脈沖”),在二分頻的基礎(chǔ)上再六分頻得到機器周期信號。、引入外部脈沖信號在由多片單片機組成的系統(tǒng)中,為了各單片機之間時鐘
34、信號的同步應(yīng)當(dāng)引入唯一的公用外部脈沖信號作為各單片機的振蕩脈沖。這時外部的脈沖信號是經(jīng)XTAL2引腳注入,其連接如圖213所示。注意,外接的脈沖信號應(yīng)當(dāng)是高低電平持續(xù)時間大于20 ns的方波且脈沖頻率應(yīng)低于12MHz。對于80C5l單片機,情況有些不同。外引脈沖信號需從XTAL1引腳注入,而XTAL2引腳懸空,其電路請參見圖214。2。42 時序定時單位 單片機執(zhí)行指令是在時序電路的控制下一步一步進行的人們通常以時序圖的形式 來表明相關(guān)信號的波形及出現(xiàn)的先后次序。為了說明信號的時間關(guān)系需要定義定 時單位。MCS-51時序的定時單位共有4個,從小到大依次是:拍節(jié)、狀態(tài)、機器周 期和指令周期。下面
35、分別加以說明。 1拍節(jié) 把振蕩脈沖的周期定義為拍節(jié)(用P表示)。狀態(tài)振蕩脈沖經(jīng)過二分頻后,就是單片 機的時鐘信號、把時鐘信號的周期定義為狀態(tài)(用“S表示)。這樣一個狀態(tài)就包 含兩個拍節(jié),其前半周期對應(yīng)的拍節(jié)叫柏節(jié)l(P1)后半周期對應(yīng)的拍節(jié)叫拍節(jié)2(P2)。機器周期 MCS51采用同步控制方式,因此它有固定的機器周期。規(guī)定一個機器周期的寬度為6個狀態(tài),并依次表示為。由于一個狀態(tài)又包括兩個拍節(jié),因此一個機器周期總共有12個拍節(jié),分別記作SPl,SP2,v,S6P2。由于一個機器周期共有l(wèi) 2個振蕩脈沖周期,因此機器周期就是振蕩脈沖的十二分頻。 當(dāng)震蕩脈沖頻率為12MH時,一個機器周期為1微秒,當(dāng)
36、振蕩脈沖頻率為6MHz 時,一個機器周期為2微秒。 指令周期 指令周期是最大的時序定時單位執(zhí)行一條指令所需要的時間稱之為指令周期。 指令周期以機器周期的數(shù)目來表示MCS51的指令周期根據(jù)指令的不同,可包含有1、2、3或4個機器周期。.4.3 典型指令時序 MC51共有111余指令,全部指令按其長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。執(zhí)行這些指令所需要的機器周期數(shù)目是不同的,概括起來共有以下幾種情況:單字節(jié)指令單機器周期和單字節(jié)指令雙機器周期;雙字節(jié)指令單機器周期和雙字節(jié)指令雙機器周期;三字節(jié)的指令都是雙機器周期,而單字節(jié)的乘除指令別為四機器周期。圖215所在示的是幾種典型單機器周期和雙機
37、器周期指令的時序。圖中的ALE信號是為地址鎖存而定義的,該信號每有效一次對應(yīng)單片機進行的一次讀指令操作。ALE信號以振蕩脈沖六分之一的頻率出現(xiàn),因此在一個機器周期中,ALE信號兩次有效,第一次在SlP2和S2P1期間第二次在4SP2和5SP1期間。有效寬度為一個狀態(tài)。25 MCS-51單片機工作方式(工作狀態(tài)) MCS-51單片機共方復(fù)位、程序執(zhí)行、單步執(zhí)行、掉電保護、低功耗以及EPROM編程和校驗等6種工作方式。251 復(fù)位方式和復(fù)位電路 1復(fù)位操作 復(fù)位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從 0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程
38、序運行出錯 或操作錯誤使系統(tǒng)處于死損狀態(tài)時,為擺脫困境,也需按復(fù)位鍵以重新啟動。 除PC之外,復(fù)位操作還對其它一些專用寄存器有影吶,它們的復(fù)位狀態(tài)如下:復(fù)位操作還對單片機的個別引腳信號有影響,例如把ALE和PSEN信號變?yōu)闊o效狀 態(tài),即ALEO,PSEN1。2復(fù)位信號及其產(chǎn)生 RST引腳是復(fù)住信號的輸入端,復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩 脈沖周期(即2個機器周期)以上若使用頻率為6MHz的晶振則復(fù)位信號持續(xù) 時間應(yīng)超過4微秒才能完成復(fù)位操作。 產(chǎn)生復(fù)位信號的電路邏輯如圖216所示。 整個復(fù)位電路包括芯片內(nèi)外兩部分。外部電路產(chǎn)生的復(fù)位信號(RT)送施密特觸發(fā)器,再由片內(nèi)復(fù)位電路
39、在每個機器周期的P2時刻對施密特觸發(fā)器的輸出進行采樣。然后才得到內(nèi)部復(fù)位操作所需要的信號。3復(fù)位方式 復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式 電路的電容充電束實現(xiàn)的,其電路如圖217(a)所示這樣,只要電源Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)往初始化。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其個按鍵電平義位是通過使義位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的,其電路如圖217(b)所示。而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖束實現(xiàn)的,其電路如圖2017(c)所示。上述電路圖中的電阻電容參數(shù)適宜于6MHz晶振,能保證義位信號高電平持續(xù)時間大于2個機器周期。252 程序執(zhí)行方式 程序執(zhí)行方式是單片機的基本工作方式。由于復(fù)位后PC0000H,因此程序執(zhí)行總是從地址0000H開始。253掉電保護方式 單片機系統(tǒng)在運行過程中,如發(fā)生掉電故障,將會使系統(tǒng)數(shù)據(jù)丟失,其后果有時是很嚴重的。為此,MCS51單片機設(shè)置有掉電保護措施,進行掉電保護處理。其具體作法是,先把有用數(shù)據(jù)轉(zhuǎn)存,然后開啟用備用電源維持
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國彩色纖維浮雕墻衣行業(yè)投資前景及策略咨詢研究報告
- 2025年鄉(xiāng)村振興戰(zhàn)略中職業(yè)技能培訓(xùn)與農(nóng)村生態(tài)農(nóng)業(yè)發(fā)展融合報告
- 浙江省嘉興市八校2024-2025學(xué)年高一下學(xué)期4月期中考試化學(xué)試題(含答案)
- 《數(shù)控車床項目化教學(xué)(第四版)》項目六 零件綜合加工和CADCAM加工(章節(jié)任務(wù)習(xí)題及答案)
- 數(shù)字技術(shù)在數(shù)學(xué)游戲化教育中的角色與挑戰(zhàn)
- 教育心理學(xué)在商業(yè)培訓(xùn)中的運用
- 部編版語文(2024)三年級上冊第一單元綜合素養(yǎng)測評A卷(含答案)
- 技術(shù)驅(qū)動的在線教育探索與未來發(fā)展趨勢
- 促進教育公平的利器AI在偏遠地區(qū)教育資源優(yōu)化中的貢獻
- 教育心理學(xué)視角下的學(xué)習(xí)者心理機制探究
- 杭州市富陽區(qū)衛(wèi)健系統(tǒng)事業(yè)單位招聘筆試真題2024
- 2023-2024學(xué)年貴州省黔南州都勻市統(tǒng)編版三年級下冊期末考試語文試卷
- 2025遼寧沈陽副食集團所屬企業(yè)招聘25人筆試參考題庫附帶答案詳解析集合
- 2025鋼管租賃合同樣本
- 2024年福建省廈門市思明區(qū)初中畢業(yè)班適應(yīng)性練習(xí)(二)地理試卷
- 創(chuàng)造良好工作氛圍的有效途徑
- 2025年心理學(xué)基礎(chǔ)考試試卷及答案
- 2025上海電子信息職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 三大國企面試題及答案
- 無人機設(shè)計與架構(gòu)試題及答案
- 小學(xué)教育研究方法智慧樹知到期末考試答案章節(jié)答案2024年海南師范大學(xué)
評論
0/150
提交評論