簡介:第2章MCS51單片機(jī)結(jié)構(gòu)和原理,學(xué)習(xí)重點和難點,單片機(jī)的結(jié)構(gòu)特點。存儲器配置與空間的分布。程序狀態(tài)寄存器PSW。單片機(jī)的指令時序。,21單片機(jī)內(nèi)部組成及引腳功能22布爾處理機(jī)23單片機(jī)的存儲器組織24單片機(jī)的輸入/輸出端口25時鐘電路與CPU時序26MCS51單片機(jī)工作方式本章小結(jié)習(xí)題,第2章MCS51單片機(jī)結(jié)構(gòu)和原理,21單片機(jī)內(nèi)部組成及引腳功能,211單片機(jī)的內(nèi)部結(jié)構(gòu)212單片機(jī)的引腳及功能,MCS51是美國INTEL公司的8位高檔單片機(jī)系列,也是我國目前應(yīng)用最為廣泛的一種單片機(jī)系列。8051/80C51是整個MCS51系列單片機(jī)的核心,該系列其他型號的單片機(jī)都是在這一內(nèi)核的基礎(chǔ)上發(fā)展起來的。MCS51單片機(jī)系列分為51和52子系列,并以芯片型號的末位數(shù)字加以標(biāo)識。其中,51子系列是基本型,而52子系列是增強型。單片機(jī)型號帶有字母“C”的,表示該單片機(jī)采用的是CHMOS工藝,具有低功耗的特點。8051的功耗為630MW,而80C51的功耗只有120MW。,2118051單片機(jī)的內(nèi)部結(jié)構(gòu),8051單片機(jī)的結(jié)構(gòu)框圖如下圖所示,可以看出,在一塊芯片上集成了一個微型計算機(jī)的主要部件,它包括以下幾部分1個8位微處理器CPU。1個時鐘電路。4KB程序存儲器。256B數(shù)據(jù)存儲器。2個16位定時/計數(shù)器。64KB擴(kuò)展總線控制電路。4個8位并行I/O接口P0~P3。1個全雙工串行I/O接口。5個中斷源,其中包括2個優(yōu)先級嵌套中斷。,,CPU即中央處理器,是單片機(jī)的核心部件,是計算機(jī)的控制指揮中心。同微型計算機(jī)CPU類似,8051內(nèi)部CPU由運算器和控制器兩部分組成。(1)運算器電路以算術(shù)邏輯單元ALU,ARITHMETICLOGICUNIT為核心,由暫存器1、暫存器2、累加器ACC,ACCUMULATOR、寄存器B、程序狀態(tài)寄存器PSW,PROGRAMSTATUSWORD及布爾處理機(jī)共同組成。它的主要任務(wù)是完成算術(shù)運算、邏輯運算、位運算和數(shù)據(jù)傳送等操作,運算結(jié)果的狀態(tài)由程序狀態(tài)寄存器PSW保存。(2)控制器電路包括程序計數(shù)器PC、PC增1寄存器、指令寄存器IR、指令譯碼器ID、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器及定時控制電路等??刂破麟娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。,2128051單片機(jī)的引腳及功能,MCS51單片機(jī)的封裝形式有兩種,一種是雙列直插式DIP封裝,另一種是方形封裝。8051的40個引腳可分為電源引腳2根時鐘引腳2根控制引腳4根I/O引腳32根由于8051單片機(jī)是高性能的單片機(jī),同時受到引腳數(shù)目的限制,所以有部分引腳具有第二功能。,8051單片機(jī)引腳圖,,DIP引腳圖邏輯符號,8051引腳的功能描述,電源引腳2根VCC40腳電源端,接5V電源。VSS20腳接地端。時鐘引腳2根XTAL119腳接外部晶振和微調(diào)電容的一端。采用外部時鐘電路時,對HMOS型工藝的單片機(jī),此引腳應(yīng)接地;對CHMOS型而言,此引腳應(yīng)接外部時鐘的輸入端。XTAL218腳接外部晶振和微調(diào)電容的另一端。使用外部時鐘時,對HMOS型工藝的單片機(jī),此引腳應(yīng)接外部時鐘的輸入端;對CHMOS型而言,此引腳懸空。,8051引腳的功能描述,控制引腳4根RST/VPD9腳復(fù)位信號/備用電源輸入引腳。當(dāng)RST引腳保持兩個機(jī)器周期的高電平后,就可以使8051完成復(fù)位操作。該引腳的第二功能是VPD,即備用電源的輸入端,具有掉電保護(hù)功能。若在該引腳接5V備用電源,在使用中若主電源VCC掉電,可保護(hù)片內(nèi)RAM中的信息不丟失。ALE/PROG30腳地址鎖存允許信號輸出/編程脈沖輸入引腳。當(dāng)CPU訪問片外存儲器時,ALE輸出信號控制鎖存P0口輸出的低8位地址,從而實現(xiàn)P0口數(shù)據(jù)與低位地址的分時復(fù)用。當(dāng)8051上電正常工作后,自動在ALE端輸出頻率為FOSC/6的脈沖序列FOSC代表振蕩器的頻率。該引腳的第二功能PROG是對8751內(nèi)部4KBEPROM編程寫入時,作為編程脈沖的輸入端。,EA/VPP31腳外部程序存儲器地址允許輸入端/編程電壓輸入端。當(dāng)EA接高電平時,CPU執(zhí)行片內(nèi)ROM指令,但當(dāng)PC值超過0FFFH時,將自動轉(zhuǎn)去執(zhí)行片外ROM指令;當(dāng)EA接低電平時,CPU只執(zhí)行片外ROM指令。對于8031,由于其無片內(nèi)ROM,故其EA必須接低電平。該引腳的第二功能VPP是對8751片內(nèi)EPROM編程寫入時,作為21V編程電壓的輸入端。PSEN29腳片外ROM讀選通信號端。在讀片外ROM時,PSEN有效,為低電平,以實現(xiàn)對片外ROM的讀操作。,8051引腳的功能描述,8051引腳的功能描述,I/O引腳4832根P00~P0739~32腳P0口的8位雙向I/O口線。P0口即可作地址/數(shù)據(jù)總線使用,又可作通用的I/O口使用。當(dāng)CPU訪問片外存儲器時,P0口分時先作低8位地址總線,后作雙向數(shù)據(jù)總線,此時,P0口就不能再作I/O口使用了。P10~P171~8腳P1口的8位準(zhǔn)雙向I/O口線。P1口作為通用的I/O口使用。P20~P2721~28腳P2口的8位準(zhǔn)雙向I/O口線。P2口即可作為通用的I/O口使用,也可作為片外存儲器的高8位地址總線,與P0口配合,組成16位片外存儲器單元地址。P30~P3710~17腳P3口的8位準(zhǔn)雙向I/O口線。P3口除了作為通用的I/O口使用之外,每個引腳還具有第二功能。,22布爾處理機(jī),MCS51單片機(jī)不僅能按字節(jié)進(jìn)行操作,還能按位進(jìn)行操作。也就是說MCS51單片機(jī)實際上又是一個完整而獨立的1位單片機(jī),即布爾處理機(jī)。,23存儲器組織,231MCS51存儲器特點232數(shù)據(jù)存儲器RAM233程序存儲器ROM,231MCS51存儲器特點,8051的存儲器結(jié)構(gòu)與常見的微型計算機(jī)的配置方式不同,它把程序存儲器和數(shù)據(jù)存儲器分開,有各自的尋址系統(tǒng)、控制信號和功能。8051的存儲器在物理結(jié)構(gòu)上分為片內(nèi)數(shù)據(jù)存儲器、片內(nèi)程序存儲器、片外數(shù)據(jù)存儲器和片外程序存儲器4個存儲空間。但從用戶使用的角度看,8051的存儲器分為3個邏輯空間。,片內(nèi)外統(tǒng)一尋址的64KB程序存儲器空間,地址范圍為0000H~FFFFH。64KB的片外數(shù)據(jù)存儲器空間,地址范圍也為0000H~FFFFH。256B的片內(nèi)數(shù)據(jù)存儲器空間,地址范圍為00H~FFH。,232數(shù)據(jù)存儲器RAM,數(shù)據(jù)存儲器RAM主要用來存放運算的中間結(jié)果和數(shù)據(jù)等。在8051中,其存儲空間分布如下片外RAM最多可擴(kuò)至64KB存儲單元,地址范圍為0000H~FFFFH。片內(nèi)RAM為256B存儲單元,地址范圍為00H~FFH。片內(nèi)RAM地址空間共有256B,又分為兩個部分低128B00H~7FH為真正的RAM區(qū),如下圖所示。高128B80H~FFH為特殊功能寄存器SFR區(qū),如下表所示。,片內(nèi)RAM地址空間,SFR中位地址分布表,程序狀態(tài)字PSW,數(shù)據(jù)指針DPTR,數(shù)據(jù)指針DPTR是一個16位的特殊功能寄存器,編程時DPTR可以作為一個16位寄存器使用,也可以作為兩個獨立的8位寄存器分開使用,此時DPH表示高字節(jié),DPL表示低字節(jié)。一般編程時常用DPTR來存放外RAM單元的16位地址,作間接寄存器使用。,程序技術(shù)器PC,程序技術(shù)器PC是16位專用寄存器,其內(nèi)容為下一條要執(zhí)行指令的首地址。PC具有自動加1的功能。改變PC的內(nèi)容就可以改變指令執(zhí)行的次序。系統(tǒng)復(fù)位后PC的地址是0000H。一般編程時常用DPTR來存放外RAM單元的16位地址,作間接寄存器使用。,233程序存儲器ROM,程序存儲器ROM用來存放程序、常數(shù)或表格等。在8051中,其存儲空間分布如下片內(nèi)有4KB的ROM存儲單元,地址為0000H~0FFFH。片外最多可擴(kuò)至64KB的ROM,地址為1000H~FFFFH。片內(nèi)外ROM統(tǒng)一編址。當(dāng)EA引腳接高電平時,CPU將首先訪問片內(nèi)ROM,當(dāng)指令地址超過0FFFH時,自動轉(zhuǎn)向片外ROM取指令。當(dāng)EA引腳接低電平時,CPU只訪問片外ROM。片外ROM的地址從0000H開始編址。對于8031,由于其片內(nèi)無ROM,所以使用時必須使EA接低電平,以便能夠從片外擴(kuò)展的EPROM中取指令。,,,程序存儲器ROM,在程序存儲器中,以下6個單元具有特殊含義。0000H單片機(jī)復(fù)位后的程序入口地址。0003H外部中斷0的中斷服務(wù)程序入口地址。000BH定時器0的中斷服務(wù)程序入口地址。0013H外部中斷1的中斷服務(wù)程序入口地址。001BH定時器1的中斷服務(wù)程序入口地址。0023H串行口的中斷服務(wù)程序入口地址。,24單片機(jī)的輸入/輸出端口,241P0口242P1口243P2口244P3口,8051單片機(jī)有4個8位并行I/O端口,稱為P0、P1、P2和P3口,每個端口都各有8條I/O口線,每條I/O口線都能獨立地用作輸入或輸出。在無片外擴(kuò)展存儲器的系統(tǒng)中,這四個I/O口都可以作為通用I/O口使用。在有片外擴(kuò)展存儲器的系統(tǒng)中,P2口送出高8位地址,P0口分時送出低8位地址和8位數(shù)據(jù)。,P0口某一位的結(jié)構(gòu)圖如下圖所示,它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器、一個轉(zhuǎn)換開關(guān)MUX、一個輸出驅(qū)動電路T1和T2和一個與門及一個非門組成。,241P0口,1P0口用作通用I/O口,MUX與鎖存器的Q端接通,與門輸出為0,T1截止,輸出驅(qū)動級就工作在需外接上拉電阻的漏極開路方式。①P0口用作輸出口CPU在執(zhí)行輸出指令時,內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)在“寫鎖存器”信號的作用下,由D端進(jìn)入鎖存器,取反后出現(xiàn)在Q端,再經(jīng)過T2反向,則P0X引腳上的數(shù)據(jù)就是內(nèi)部總線的數(shù)據(jù)。由于T2為漏極開路輸出,故此時必須外接上拉電阻。②P0口用作輸入口數(shù)據(jù)可以讀自端口的鎖存器,也可以讀自端口的引腳,這要看輸入操作執(zhí)行的是“讀鎖存器”指令還是“讀引腳”指令。方式1讀引腳。CPU在執(zhí)行“MOV”類輸入指令時如MOVA,P0,內(nèi)部產(chǎn)生的操作信號是“讀引腳”。P0X引腳上的數(shù)據(jù)經(jīng)過緩沖器2讀入到內(nèi)部總線。注意,在讀引腳時,必須先向電路中的鎖存器寫入1,使T2截止,P0X引腳處于懸浮狀態(tài),可作為高阻抗輸入。方式2讀鎖存器。CPU在執(zhí)行“讀改寫”類輸入指令時如ANLP0,A,內(nèi)部產(chǎn)生的操作信號是“讀鎖存器”,鎖存器中的數(shù)據(jù)經(jīng)過緩沖器1送到內(nèi)部總線,然后與A的內(nèi)容進(jìn)行邏輯“與”,結(jié)果送回P0的端口鎖存器并出現(xiàn)在引腳。除了MOV類指令外,其他的讀口操作指令都屬于這種情況。,2P0口用作地址/數(shù)據(jù)總線,MUX將地址/數(shù)據(jù)線與T2接通,同時與門輸出有效。若地址/數(shù)據(jù)線為1,則T1導(dǎo)通,T2截止,P0口輸出為1;反之T1截止,T2導(dǎo)通,P0口輸出為0。當(dāng)數(shù)據(jù)從P0口輸入時,讀引腳使三態(tài)緩沖器2打開,端口上的數(shù)據(jù)經(jīng)緩沖器2送到內(nèi)部總線。,(3)P0口小結(jié),①P0口既可作地址/數(shù)據(jù)總線使用,也可作通用I/O口使用。當(dāng)P0口作地址/數(shù)據(jù)總線使用時,就不能再作通用I/O口使用了。②P0口作輸出口使用時,輸出級屬漏極開路,必須外接上拉電阻,才有高電平輸出。③P0口作輸入口讀引腳時,應(yīng)先向鎖存器寫1,使T2截止,不影響輸入電平。,P1口是唯一的單功能口,僅能作為通用I/O口使用。由于在其輸出端接有上拉電阻,故可以直接輸出而無需外接上拉電阻。同P0口一樣,當(dāng)作輸入口時,必須先向鎖存器寫“1”,使場效應(yīng)管T截止。,,,242P1口,圖中的控制信號C決定轉(zhuǎn)換開關(guān)MUX的位置當(dāng)C0時,MUX撥向下方,P0口為通用I/O口;當(dāng)控制信號C1時,MUX撥向上方,P0口作為地址總線使用。在實際應(yīng)用中,P2口通常作為高8位地址總線使用。,,243P2口,P3口用作通用I/O口時,第二輸出功能信號W1,P3口的每一位都可定義為輸入或輸出,其工作原理同P1口類似。在真正的應(yīng)用電路中,P3口的第二功能顯得更為重要。,,244P3口,P3口的第二功能,,,,輸入/輸出端口負(fù)載能力,P0口的輸出級與P1~P3口的輸出級在結(jié)構(gòu)上不同,其輸出級無上拉電阻,因此它們的負(fù)載能力和接口要求也不相同。P0口的每一位能驅(qū)動8個LSTTL負(fù)載。在作為通用I/O口使用時,輸出驅(qū)動電路是開漏的,所以,驅(qū)動集電極開路OC門電路或漏級開路電路需外接上拉電阻。當(dāng)作為地址/數(shù)據(jù)總線使用時T1可以提供上拉電平,口線不是開漏的,無需外接上拉電阻。P1~P3口的每一位能驅(qū)動4個LSTTL負(fù)載。它們的輸出驅(qū)動電路有上拉電阻,所以可以方便地由集電極開路OC門電路或漏級開路電路所驅(qū)動,而無需外接上拉電阻。對于80C51單片機(jī)CHMOS,端口只能提供幾毫安的輸出電流,故當(dāng)作輸出口去驅(qū)動一個普通晶體管的基極時,應(yīng)在端口與晶體管基極間串聯(lián)一個電阻,以限制高電平輸出時的電流。,25時鐘電路與CPU時序,251時鐘電路252CPU時序,,251時鐘電路,8051單片機(jī)的時鐘信號通常由兩種方式產(chǎn)生一是內(nèi)部振蕩方式,二是外部時鐘方式。A內(nèi)部方式時鐘電路B外部方式時鐘電路,,251時鐘電路,1內(nèi)部振蕩方式在8051單片機(jī)內(nèi)部有一個高增益的反相放大器,用于構(gòu)成振蕩器,反相放大器的輸入端為XTAL1,輸出端為XTAL2。內(nèi)部振蕩方式是在XTAL1和XTAL2引腳兩端跨接石英晶體振蕩器和兩個電容構(gòu)成穩(wěn)定的自激振蕩電路。電容C1和C2通常取30PF,對振蕩頻率有微調(diào)作用。晶振頻率范圍是12MHZ~12MHZ。2外部時鐘方式外部時鐘方式是把外部已有的時鐘信號引入到單片機(jī)內(nèi)。8051外部時鐘由XTAL2輸入,直接送入內(nèi)部時鐘電路,XTAL1接地;80C51外部時鐘由XTAL1輸入,XTAL2懸空。外部時鐘信號為高電平持續(xù)時間要大于20NS,且頻率低于12MHZ的方波。,252CPU時序,CPU時序就是CPU在執(zhí)行指令時所需控制信號的時間順序。單片機(jī)的時序定時單位從小到大依次為振蕩周期、狀態(tài)周期、機(jī)器周期和指令周期。MCS51單片機(jī)共有111條指令,按照指令字節(jié)數(shù)和機(jī)器周期數(shù)可分為六類,即單字節(jié)單周期指令、單字節(jié)雙周期指令、單字節(jié)四周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令和三字節(jié)雙周期指令。,典型指令的取指、執(zhí)行時序,,,振蕩周期為單片機(jī)提供定時信號的振蕩源的周期或外部輸入時鐘信號的周期。時鐘周期又成為狀態(tài)周期或狀態(tài)S是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍。一條指令的執(zhí)行過程分作幾個基本操作,完成一個基本操作所需的時間稱作機(jī)器周期。執(zhí)行一條指令所需的時間稱為指令周期。,26MCS51單片機(jī)工作方式,261復(fù)位方式與復(fù)位電路262程序執(zhí)行方式263單步執(zhí)行方式264低功耗操作方式265EPROM編程和校驗方式,261復(fù)位方式與復(fù)位電路,復(fù)位是單片機(jī)的初始化操作。復(fù)位功能是把PC初始化為0000H,使CPU從0000H單元開始執(zhí)行程序;復(fù)位操作同時還對其他一些寄存器有影響,但內(nèi)部RAM的數(shù)據(jù)是不變的。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵重新啟動。,部分特殊功能寄存器的復(fù)位狀態(tài),說明表中符號狀為隨機(jī)態(tài)。,復(fù)位電路,單片機(jī)的復(fù)位引腳RST出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。常見的復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。按鍵手動復(fù)位是通過復(fù)位端經(jīng)電阻與電源VCC接通而實現(xiàn)的,它兼?zhèn)渖想姀?fù)位功能。A上電自動復(fù)位B按鍵手動復(fù)位,,262程序執(zhí)行方式,單片機(jī)執(zhí)行程序的過程,就是逐條執(zhí)行指令的過程。單片機(jī)每執(zhí)行一條指令都可分為三個階段,即取指令分析指令執(zhí)行指令。單片機(jī)中的程序一般事先都已通過寫入器編程器固化在片內(nèi)或片外程序存儲器中,因而一開機(jī)即可執(zhí)行指令。,本章小結(jié),INTEL公司MCS51系列單片機(jī)是我國目前應(yīng)用最為廣泛的單片機(jī)。8051/80C51是整個MCS51系列單片機(jī)的核心,該系列其他型號的單片機(jī)都是在這一內(nèi)核的基礎(chǔ)上發(fā)展起來的。8051單片機(jī)內(nèi)部結(jié)構(gòu)包括中央處理器、程序存儲器、數(shù)據(jù)存儲器、并行I/O接口、定時器/計數(shù)器、時鐘電路、中斷系統(tǒng)、串行口。中央處理器是單片機(jī)的核心部件,是計算機(jī)的控制指揮中心。8051的程序存儲器和數(shù)據(jù)存儲器是各自獨立的,各有各的尋址系統(tǒng)、控制信號和功能。在物理結(jié)構(gòu)上可分為片內(nèi)數(shù)據(jù)存儲器、片內(nèi)程序存儲器、片外數(shù)據(jù)存儲器和片外程序存儲器4個存儲空間。片內(nèi)RAM共256B,分為兩大功能區(qū),低128B為真正的RAM區(qū);高128B為特殊功能寄存器SFR區(qū)。低128BRAM又分為工作寄存器區(qū)、位尋址區(qū)和用戶RAM區(qū)。,本章小結(jié),8051單片機(jī)有P0、P1、P2和P34個8位并行I/O端口,每個端口各有8條I/O口線,每條I/O口線都能獨立地用作輸入或輸出。各端口的功能不同,且結(jié)構(gòu)上也有差異,通常P2口作為高8位地址線,P0口分時復(fù)用作為低8位地址線和8位數(shù)據(jù)線,P3口使用第二功能,P1口只能作為通用I/O口使用。P0口的輸出級與P1~P3口的輸出級在結(jié)構(gòu)上不同,其輸出級無上拉電阻,因此它們的負(fù)載能力和接口要求也不相同。時序就是CPU在執(zhí)行指令時所需控制信號的時間順序,其單位有振蕩周期、時鐘周期、機(jī)器周期和指令周期。時鐘信號產(chǎn)生方式有內(nèi)部振蕩方式和外部時鐘方式兩種。復(fù)位是單片機(jī)的初始化操作,復(fù)位操作對PC和部分特殊功能寄存器有影響,但對內(nèi)部RAM沒有影響。,,習(xí)題,1請結(jié)合MCS51系列單片機(jī)的結(jié)構(gòu)框圖,闡明其組成。2綜述MCS51系列單片機(jī)各引腳的作用,并試分類。3程序計數(shù)器的符號是什么MCS51系列單片機(jī)的程序計數(shù)器有幾位4何謂程序狀態(tài)字它的符號是什么它各位的含義是什么5何謂振蕩周期、時鐘周期、機(jī)器周期和指令周期針對MCS5L系列單片機(jī),如采用12MHZ晶振,它們的周期各是什么值6引腳的作用是什么在下列三種情況下,引腳各應(yīng)接何種電平1只有片內(nèi)ROM;2有片內(nèi)ROM和片外ROM;3有片內(nèi)ROM和片外ROM,片外ROM所存為調(diào)試程序。7MCS51系列單片機(jī)存儲器的地址空間是如何劃分的各地址空間的地址范圍和容量如何8MCS5L怎樣實現(xiàn)上電自動復(fù)位與按鍵手動復(fù)位并請綜述各專用寄存器復(fù)位后的狀態(tài)。,,
下載積分: 4 賞幣
上傳時間:2024-01-06
頁數(shù): 45
大?。?0.7(MB)
子文件數(shù):