版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)與嵌入式系統(tǒng)主講:梁德勝聯(lián)系方式:dsliang@辦公地點(diǎn):教五樓408室
2024/9/2412.1MCS-51系列概述
MCS-51是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列名稱,按資源的配置數(shù)量,MCS-51系列又分為51和52兩個(gè)子系列,并以芯片型號(hào)的最末位數(shù)字作為標(biāo)志。其中,51子系列是基本型,而52子系列則屬增強(qiáng)型。
﹡8051/8751/8031;
﹡8052/8752/8032;
﹡80C51/87C51/80C31
﹡80C52/87C52/80C32等
。
第2章MCS-51單片機(jī)結(jié)構(gòu)51和C51的區(qū)別是制造工藝的不同51中各個(gè)類型的區(qū)別主要在于ROM的種類和有無(wú)分2024/9/242MCS-51系列單片機(jī)分類表子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量尋址范圍I/O特性中斷源無(wú)ROMEPROM計(jì)數(shù)器并行口串行口51子系列8031805187514KB128B2×64KB2×164×81580C3180C5187C514KB128B2×64KB2×164×81552子系統(tǒng)8032805287528KB256B2×64KB3×164×81680C3280C5287C528KB256B2×64KB3×164×8162024/9/24352子系列功能增強(qiáng)的具體方面表現(xiàn)在:
(1)片內(nèi)ROM從4KB增加到8KB。
(2)片內(nèi)RAM從128B增加到256B。
(3)定時(shí)/計(jì)數(shù)器從2個(gè)增加到3個(gè)。
(4)中斷源從5個(gè)增加到6個(gè)。2024/9/244﹡無(wú)ROM(即ROMLess)型,應(yīng)用時(shí)要在片外擴(kuò)展程序存儲(chǔ)器;﹡掩膜ROM(即MaskROM)型,用戶程序由芯片生產(chǎn)廠寫入;﹡EPROM型,用戶程序通過(guò)寫入裝置寫入,通過(guò)紫外線照射擦除;﹡
FlashROM型,用戶程序可以電寫入或擦除(當(dāng)前常用方式)。片內(nèi)ROM存儲(chǔ)器配置形式2024/9/2452.1.1引腳信號(hào)
圖為MCS-51系列單片機(jī)引腳圖及邏輯符號(hào),它們?yōu)闃?biāo)準(zhǔn)的40腳DIP(
Dualln-linePackage,雙列直插式封裝)封裝。
2024/9/2462024/9/2472024/9/248
電源引腳Vcc和Vss
Vcc:電源端,接+5V。Vss:接地端。時(shí)鐘電路引腳XTAL1和XTAL2XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時(shí)鐘時(shí),該引腳必須接地。
XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時(shí)鐘時(shí),該引腳為外部時(shí)鐘的輸入端。地址鎖存允許ALE/PROG
系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。對(duì)于EPROM單片機(jī),在EPROM編程期間PROG接收編程脈沖。
2024/9/249
外部程序存儲(chǔ)器讀選通信號(hào)PSEN
是讀外部程序存儲(chǔ)器的選通信號(hào),低電平有效。
程序存儲(chǔ)器地址允許輸入端EA/VPP
當(dāng)EA為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過(guò)0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令。當(dāng)EA為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。對(duì)于EPROM單片機(jī),在EPROM編程期間VPP引腳加21V電源。復(fù)位信號(hào)RST/VPD
該RST信號(hào)高電平有效,在輸入端保持兩個(gè)機(jī)器周期的高電平后,就可以完成復(fù)位操作。
VCC掉電期間,此VPD引腳接備用電源。2024/9/24101.
輸入/輸出口引腳P0、P1、P2和P3
P0口(P0.0~P0.7):該端口為漏極開路的8位準(zhǔn)雙向口,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端口。
P1口(P1.0~P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。
P2口(P2.0~P2.7):它為一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。在訪問(wèn)外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線。
P3口(P3.0~P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。2024/9/24112.1.2
MCS-51單片機(jī)的片外總線結(jié)構(gòu)地址鎖存器CBI/OA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0DBABP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0P3.1P3.3P3.4P3.5P3.6P3.7VSSVCC
P0.0P0.1P0.2P0.3P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.2MCS-51片外總線結(jié)構(gòu)示意圖2024/9/2412MCS-51單片機(jī)采用三總線結(jié)構(gòu):(1)地址總線(AB):地址總線寬度為16位,由P0口經(jīng)地址鎖存器提供低8位地址(A0-A7);P2口直接提供高8位地址(A8~A15)。(2)數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,用于傳送數(shù)據(jù)和指令,由P0口提供。(3)控制總線(CB):控制總線隨時(shí)掌握各種部件的狀態(tài),并根據(jù)需要向有關(guān)部件發(fā)出命令。2024/9/24132.2MCS-51單片機(jī)內(nèi)部
MCS-51單片機(jī)的系統(tǒng)結(jié)構(gòu)框圖如圖所示。
MCS-51單片機(jī)的系統(tǒng)結(jié)構(gòu)框圖ROMRAM振蕩器及定時(shí)電路4KB程序存儲(chǔ)器128B數(shù)據(jù)存儲(chǔ)器2個(gè)16位定時(shí)器/事件計(jì)數(shù)器CPU64KB總線擴(kuò)展控制可編程串行口可編程I/O中斷中斷頻率基準(zhǔn)源計(jì)數(shù)器串行輸入串行輸出并行I/O口控制2024/9/2414MCS-51單片機(jī)內(nèi)部主要包含下列幾個(gè)部件:u
一個(gè)8位CPU;u
一個(gè)時(shí)鐘電路;u
4Kbyte程序存儲(chǔ)器;u
128byte數(shù)據(jù)存儲(chǔ)器;u
兩個(gè)16位定時(shí)/計(jì)數(shù)器;u
64Kbyte擴(kuò)展總線控制電路;u
四個(gè)8-bit并行I/O端口;u
一個(gè)可編程串行接口;五個(gè)中斷源,其中包括兩個(gè)優(yōu)先級(jí)嵌套中斷;2024/9/2415MCS-51單片機(jī)芯片內(nèi)部結(jié)構(gòu)框圖2024/9/24161.CPUCPU即中央處理器的簡(jiǎn)稱,是單片機(jī)的核心部件,它完成各種運(yùn)算和控制操作,CPU由運(yùn)算器和控制器兩部分電路組成。(1)運(yùn)算器電路運(yùn)算器電路包括ALU(算術(shù)邏輯單元)、ACC(累加器)、B寄存器、狀態(tài)寄存器、暫存器1和暫存器2等部件,運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。還具有位處理器。
(2)控制器電路控制器電路包括程序計(jì)數(shù)器PC、PC加1寄存器、指令寄存器、指令譯碼器、數(shù)據(jù)指針DPTR、堆棧指針SP、緩沖器以及定時(shí)與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)調(diào)單片機(jī)各部分正常工作。
2024/9/24172.定時(shí)器/計(jì)數(shù)器
MCS-51單片機(jī)片內(nèi)有兩個(gè)16位的定時(shí)/計(jì)數(shù)器,即定時(shí)器0和定時(shí)器1。它們可以用于定時(shí)控制、延時(shí)以及對(duì)外部事件的計(jì)數(shù)和檢測(cè)等。3.存儲(chǔ)器
MCS-51系列單片機(jī)的存儲(chǔ)器包括數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器,其主要特點(diǎn)是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間是相互獨(dú)立的,物理結(jié)構(gòu)也不相同。內(nèi)部ROM容量4K字節(jié)(000H~0FFFH),內(nèi)部RAM容量128字節(jié)(00H~7FH)2024/9/2418并行I/O口
MCS-51單片機(jī)共有4個(gè)8位的I/O口(P0、P1、P2和P3),每一條I/O線都能獨(dú)立地用作輸入或輸出。P0口為三態(tài)雙向口,能帶8個(gè)TTL門電路,P1、P2和P3口為準(zhǔn)雙向口,負(fù)載能力為4個(gè)TTL門電路。5.串行I/O口
MCS-51單片機(jī)具有一個(gè)采用通用異步工作方式的全雙工串行通信接口,可以同時(shí)發(fā)送和接收數(shù)據(jù)。6.中斷控制系統(tǒng)
8051共有5個(gè)中斷源,即外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。2024/9/24197.時(shí)鐘電路
MCS-51芯片內(nèi)部有時(shí)鐘電路,但晶體振蕩器和微調(diào)電容必須外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,振蕩器的頻率范圍為1.2MHz~12MHz,典型取值為6MHz。8.總線以上所有組成部分都是通過(guò)總線連接起來(lái),從而構(gòu)成一個(gè)完整的單片機(jī)。系統(tǒng)的地址信號(hào)、數(shù)據(jù)信號(hào)和控制信號(hào)都是通過(guò)總線傳送的,總線結(jié)構(gòu)減少了單片機(jī)的連線和引腳,提高了集成度和可靠性。
2024/9/24202.3MCS-51的輸入/輸出(I/O)口一、P0口的結(jié)構(gòu)
P0口的一位邏輯結(jié)構(gòu)圖,它由一個(gè)鎖存器、兩個(gè)三態(tài)輸入緩沖器、一個(gè)多路復(fù)用開關(guān)以及控制電路和驅(qū)動(dòng)電路等組成。通用I/O必須外接上拉電阻為什么要加鎖存器?輸入為什么要用三態(tài)?2024/9/24211、P0用作通用I/O口
當(dāng)系統(tǒng)不進(jìn)行片外的ROM擴(kuò)展,也不進(jìn)行片外RAM擴(kuò)展時(shí),P0用作通用I/O口。在這種情況下,單片機(jī)硬件自動(dòng)使控制C=0,MUX開關(guān)接向鎖存器的反相輸出端。另外,與門輸出的“0”使輸出驅(qū)動(dòng)器的上拉場(chǎng)效應(yīng)管T1處于截止?fàn)顟B(tài)。因此,輸出驅(qū)動(dòng)級(jí)工作在需外接上拉電阻的漏極開路方式。
2024/9/2422作輸出口時(shí),CPU執(zhí)行口的輸出指令,內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)在“寫鎖存器”信號(hào)CP的作用下由D端進(jìn)入鎖存器,經(jīng)鎖存器的反向端送至場(chǎng)效應(yīng)管T2,再經(jīng)T2反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。
作輸入口時(shí),數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來(lái)決定。2024/9/2423
CPU在執(zhí)行“讀—修改—寫”類輸入指令時(shí)(如:ANLP0,A),內(nèi)部產(chǎn)生的“讀鎖存器”操作信號(hào),使鎖存器Q端數(shù)據(jù)進(jìn)入內(nèi)部數(shù)據(jù)總線,在與累加器A進(jìn)行邏輯運(yùn)算之后,結(jié)果又送回P0的口鎖存器并出現(xiàn)在引腳。讀口鎖存器可以避免因外部電路原因使原口引腳的狀態(tài)發(fā)生變化造成的誤讀。2024/9/2424
CPU在執(zhí)行“MOV”類輸入指令時(shí)(如:MOVA,P0),內(nèi)部產(chǎn)生的操作信號(hào)是“讀引腳”。注意,在執(zhí)行該類輸入指令前要先把鎖存器寫入“1”,使場(chǎng)效應(yīng)管T2截止,使引腳處于懸浮狀態(tài),可以作為高阻抗輸入。否則,在作為輸入方式之前曾向鎖存器輸出過(guò)“0”,則T2導(dǎo)通會(huì)使引腳箝位在“0”電平,使輸入高電平“1”無(wú)法讀入。所以,P0口在作為通用I/O口時(shí),屬于準(zhǔn)雙向口。2024/9/24252、P0用作地址/數(shù)據(jù)總線
當(dāng)系統(tǒng)進(jìn)行片外的ROM擴(kuò)展或進(jìn)行片外RAM擴(kuò)展,P0用作地址/數(shù)據(jù)總線。在這種情況下,單片機(jī)內(nèi)硬件自動(dòng)使C=1,MUX開關(guān)接向反相器的輸出端,這時(shí)與門的輸出由地址/數(shù)據(jù)線的狀態(tài)決定。
2024/9/2426CPU在執(zhí)行輸出指令時(shí),低8位地址信息和數(shù)據(jù)信息分時(shí)地出現(xiàn)在地址/數(shù)據(jù)總線上。P0.X引腳的狀態(tài)與地址/數(shù)據(jù)線的信息相同。CPU在執(zhí)行輸入指令時(shí),首先低8位地址信息出現(xiàn)在地址/數(shù)據(jù)總線上,P0.X引腳的狀態(tài)與地址/數(shù)據(jù)總線的地址信息相同。然后,CPU自動(dòng)地使轉(zhuǎn)換開關(guān)MUX撥向鎖存器,并向P0口寫入FFH,同時(shí)“讀引腳”信號(hào)有效,數(shù)據(jù)經(jīng)緩沖器進(jìn)入內(nèi)部數(shù)據(jù)總線??梢?,P0口作為地址/數(shù)據(jù)總線使用時(shí)是一個(gè)真正的雙向口。2024/9/2427二、
P2口的結(jié)構(gòu)
P2口位結(jié)構(gòu)圖。P2口是一個(gè)8位準(zhǔn)雙向I/O口,具有兩種功能。一是作通用I/O口用,與P1口相似。二是作擴(kuò)展系統(tǒng)的高8位地址總線,輸出高8位地址,與P0口一起組成16位地址總線。2024/9/24281、P2用作通用I/O口
CPU在執(zhí)行輸出指令時(shí),內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)在“寫鎖存器”信號(hào)的作用下由D端進(jìn)入鎖存器,經(jīng)反相器反相后送至場(chǎng)效應(yīng)管T,再經(jīng)T反相,在P2.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。P2口用作輸入時(shí),數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來(lái)決定。2024/9/2429CPU在執(zhí)行“讀—修改—寫”類輸入指令時(shí)(如:ANLP2,A),內(nèi)部產(chǎn)生的“讀鎖存器”操作信號(hào)使鎖存器Q端數(shù)據(jù)進(jìn)入內(nèi)部數(shù)據(jù)總線,在與累加器A進(jìn)行邏輯運(yùn)算之后,結(jié)果又送回P2的口鎖存器并出現(xiàn)在引腳。CPU在執(zhí)行“MOV”類輸入指令時(shí)(如MOVA,P2),內(nèi)部產(chǎn)生的操作信號(hào)是“讀引腳”。應(yīng)在執(zhí)行輸入指令前要把鎖存器寫入“1”,從而使引腳處高阻抗輸入狀態(tài)。所以,P2口在作為通用I/O口時(shí),屬于準(zhǔn)雙向口。2024/9/24302、P2用作地址總線
單片機(jī)內(nèi)硬件使控制C=1,MUX開關(guān)接向地址線,這時(shí)P2.X引腳的狀態(tài)正好與地址線的信息相同。2024/9/2431三、
P1口的結(jié)構(gòu)
P1口的位結(jié)構(gòu):
P1口是一個(gè)專用的8位準(zhǔn)雙向I/O口,只具有通用輸入/輸出口功能,每一位都能設(shè)定為輸入或輸出。2024/9/2432
由圖可見,P1口由一個(gè)輸出鎖存器、兩個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路組成。輸出驅(qū)動(dòng)電路與P2口相同,內(nèi)部設(shè)有上拉電阻。
P1口是通用的準(zhǔn)雙向I/O口。輸出高電平時(shí),不必再接上拉電阻。當(dāng)口用作輸入時(shí),須向口鎖存器寫入1。2024/9/2433四、
P3口的結(jié)構(gòu)
P3口是一個(gè)8位準(zhǔn)雙向I/O口,除具有與P1口同樣的功能(即可以作通用I/O口使用)外,還具有第二功能。2024/9/24341、P3用作第一功能的通用I/O口
當(dāng)P3口做通用I/O口使用時(shí),單片機(jī)內(nèi)部的硬件自動(dòng)將第二功能輸出線的W=1。作為輸出時(shí),鎖存器的狀態(tài)(Q端)與輸出引腳的狀態(tài)相同;作為輸入時(shí),也要先向口鎖存器寫入1,使引腳處于高阻輸入狀態(tài)。輸入的數(shù)據(jù)在“讀引腳”信號(hào)的作用下,進(jìn)入內(nèi)部數(shù)據(jù)總線。P3口在作為通用I/O口時(shí),也屬于準(zhǔn)雙向口。2024/9/24352、P3用作第二功能使用
P3口作為第二功能使用時(shí),內(nèi)部硬件自動(dòng)將口鎖存器的Q端置1。這時(shí):
P3.0:RXD(串行口輸入);P3.1:TXD(串行口輸出);P3.2:外部中斷0輸入;P3.3:外部中斷1輸入;P3.4:T0(定時(shí)器0的外部輸入);P3.5:T1(定時(shí)器1的外部輸出);P3.6:(片外數(shù)據(jù)存儲(chǔ)器“寫”選通控制輸出);P3.7:(片外數(shù)據(jù)存儲(chǔ)器“讀”選通控制輸出)。2024/9/24362.4單片機(jī)的時(shí)鐘電路和時(shí)序1、單片機(jī)時(shí)鐘電路通常有兩種形式:1)內(nèi)部振蕩方式:MCS-51單片機(jī)片內(nèi)有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。把放大器與作為反饋元件的晶體振蕩器或陶瓷諧振器連接,就構(gòu)成了內(nèi)部自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。2)外部振蕩方式:外部振蕩方式就是把外部已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。
2024/9/2437
(a)內(nèi)部方式時(shí)鐘電路
(b)外接時(shí)鐘電路
XTAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外部時(shí)鐘源2024/9/24382.指令時(shí)序(1)振蕩周期振蕩周期指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期或外部輸入時(shí)鐘的周期。(2)時(shí)鐘周期時(shí)鐘周期是振蕩周期的兩倍,是對(duì)振蕩器2分頻的信號(hào),又稱狀態(tài)周期,用S來(lái)表示。一個(gè)時(shí)鐘周期分為兩個(gè)節(jié)拍,P1和P2節(jié)拍。P1節(jié)拍通常完成算術(shù)邏輯操作,P2節(jié)拍通常完成內(nèi)部寄存器間數(shù)據(jù)的傳遞。2024/9/2439(3)機(jī)器周期
一個(gè)機(jī)器周期由6個(gè)狀態(tài)組成,即S1~S6。如果把一條指令的執(zhí)行過(guò)程分作幾個(gè)基本操作,則將完成一個(gè)基本操作所需的時(shí)間稱作機(jī)器周期。單片機(jī)的單周期指令執(zhí)行時(shí)間就為一個(gè)機(jī)器周期。2024/9/2440(4)指令周期指令周期即執(zhí)行一條指令所占用的全部時(shí)間,MCS-51單片機(jī)的指令周期通常為1~4個(gè)機(jī)器周期。一個(gè)機(jī)器周期包含12個(gè)晶蕩周期或6個(gè)時(shí)鐘周期
指令的執(zhí)行時(shí)間稱作指令周期(單、雙、四周期)2024/9/2441若MCS-51單片機(jī)外接晶振為12MHz時(shí),則單片機(jī)的四個(gè)周期的具體值為:振蕩周期時(shí)鐘周期機(jī)器周期指令周期=1/12MHz=1/12μs=0.0833μs=1/6μs=0.167μs=1μs=1~4μs2024/9/2442再讀下一條指令再讀下一條指令XTAL2(OSC)P2S1ALE讀操作碼讀下一個(gè)操作碼(丟棄)讀第二字節(jié)(a)單字節(jié),單周期指令例:MOVAR1(d)單字節(jié),雙周期指令,如MOVXP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個(gè)操作碼(丟棄)(b)雙字節(jié),單周期指令例:ADDAdir(c)單字節(jié),雙周期指令例:INCDPTR讀操作碼(MOVX)讀下一個(gè)操作碼(丟棄)無(wú)取指無(wú)ALE無(wú)取指地址數(shù)據(jù)(DATA)訪問(wèn)外部存儲(chǔ)器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1取指和執(zhí)行時(shí)序2024/9/24432.5單片機(jī)復(fù)位電路及復(fù)位狀態(tài) 1.復(fù)位及復(fù)位電路復(fù)位目的是使單片機(jī)或系統(tǒng)中的其它部件處于某種確定的初始狀態(tài)。
RST引腳是復(fù)位信號(hào)輸入端,復(fù)位信號(hào)為高電平有效,其有效時(shí)間應(yīng)至少持續(xù)兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上才能完成復(fù)位操作。CPU在第二個(gè)機(jī)器周期內(nèi)執(zhí)行內(nèi)部復(fù)位操作,以后每個(gè)機(jī)器周期重復(fù)一次,直至RST端電平變低。在單片機(jī)復(fù)位期間,AlE和PSEN信號(hào)都不產(chǎn)生。復(fù)位操作將對(duì)部分專用寄存器產(chǎn)生影響。2024/9/2444
單片機(jī)復(fù)位電路包括片內(nèi)、片外兩部分。外部復(fù)位電路就是為內(nèi)部復(fù)位電路提供兩個(gè)機(jī)器周期以上的高電平而設(shè)計(jì)的。MCS-51單片機(jī)通常采用上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。
在通電瞬間,由于RC的充電過(guò)程,在RST端出現(xiàn)一定寬度的正脈沖,只要該正脈沖保持10ms以上,就能使單片機(jī)自動(dòng)復(fù)位,在6MHz時(shí)鐘時(shí),通常C1取22μF,R2取200Ω,R1取1KΩ,這時(shí)能可靠的實(shí)現(xiàn)上電復(fù)位和手動(dòng)復(fù)位。2024/9/2445上電復(fù)位電路按鍵與上電復(fù)位
2024/9/2446復(fù)位后:PC=0000H,所以程序從0000H地址單元開始執(zhí)行;啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM的內(nèi)容;特殊功能寄存器復(fù)位后的狀態(tài)是確定的:P0~P3=FFH,各口可用于輸出,也可用于輸入;SP=07H,第一個(gè)入棧內(nèi)容將寫入08H單元;IP、IE和PCON的有效位為0,各中斷源處于低優(yōu)先級(jí)且均被關(guān)斷、串行通訊的波特率不加倍;PSW=00H,當(dāng)前工作寄存器為0組。2.單片機(jī)復(fù)位后的狀態(tài)單片機(jī)運(yùn)行出錯(cuò)或進(jìn)入死循環(huán)時(shí),可按復(fù)位鍵重新運(yùn)行。21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值.2024/9/2447特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HPC0000HTH100HDPTR0000HTL100HP0~P3FFHSBUF××××××××BIP×××00000BSCON00HIE0××00000BPCON0×××××××B單片機(jī)復(fù)位后特殊功能寄存器的狀態(tài)2024/9/24482.6單片機(jī)的低功耗方式
對(duì)于MCS-51系列機(jī)型來(lái)說(shuō),它們有待機(jī)方式和掉電保護(hù)方式兩種低功耗方式。通過(guò)設(shè)置電源控制寄存器PCON的相關(guān)位可以確定當(dāng)前的低功耗方式。PCON寄存器格式如下:
其中SMOD:波特率倍增位
GF0,GF1:通用標(biāo)志位
PD:掉電方式位,PD=1為掉電方式
IDL:待機(jī)方式位,IDL=1為待機(jī)方式位序
B7
B6
B5B4B3B2B1B0位符號(hào)SMOD
///GF1GF0PDIDL2024/9/24491.
待機(jī)方式將PCON寄存器的IDL位置“1”,單片機(jī)則進(jìn)入待機(jī)方式。通常在待機(jī)方式下,單片機(jī)的中斷仍然可以使用,這樣可以通過(guò)中斷觸發(fā)方式退出待機(jī)模式。2.
掉電保護(hù)方式將PCON寄存器的PD位置“1”,單片機(jī)則進(jìn)入掉電保護(hù)方式。如果單片機(jī)檢測(cè)到電源電壓過(guò)低,此時(shí)除進(jìn)行信息保護(hù)外,還需將PD位被置“1”,使單片機(jī)進(jìn)入掉電保護(hù)方式。2024/9/24502.7MCS-C51存儲(chǔ)器MCS-51存儲(chǔ)器分成兩大類:RAM:CPU在運(yùn)行時(shí)能隨時(shí)進(jìn)行數(shù)據(jù)的寫入和讀出,但在關(guān)閉電源時(shí),其所存儲(chǔ)的信息將丟失。它用來(lái)存放暫時(shí)性的輸入輸出數(shù)據(jù)、運(yùn)算的中間結(jié)果或用作堆棧。ROM:一種寫入信息后不易改寫的存儲(chǔ)器。斷電后,ROM中的信息保留不變。用來(lái)存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。
2024/9/24512.7.1程序存儲(chǔ)器
在MCS-51系列中,程序存儲(chǔ)器包括片內(nèi)和片外程序存儲(chǔ)器兩個(gè)部分。其主要用來(lái)存放編好的用戶程序和表格常數(shù),它以16位的程序計(jì)數(shù)器PC作為地址指針,故尋址空間為64KB。
在8051中,其片內(nèi)有4K字節(jié)的ROM存儲(chǔ)單元,地址為0000H~0FFFH。8751有4K字節(jié)的EPROM,而8052和8752則有8K字節(jié)的片內(nèi)存儲(chǔ)器。8031和8032無(wú)片內(nèi)程序存儲(chǔ)器,所以片內(nèi)程序存儲(chǔ)器的有無(wú)是區(qū)分芯片的主要標(biāo)志。
2024/9/24520000H:?jiǎn)纹瑱C(jī)復(fù)位后,PC=0000H,程序從0000H開始執(zhí)行指令。0003H:外部中斷0入口地址。000BH:定時(shí)器0中斷入口地址。
0013H:外部中斷1入口地址。001BH:定時(shí)器1中斷入口地址。0023H:串行口中斷入口地址。在系統(tǒng)中斷響應(yīng)之后,將自動(dòng)轉(zhuǎn)到各中斷入口地址處執(zhí)行程序,而中斷服務(wù)程序一般無(wú)法存放于幾個(gè)單元之內(nèi),因此在中斷入口地址處往往存放一條無(wú)條件轉(zhuǎn)移指令進(jìn)行跳轉(zhuǎn),以便執(zhí)行中斷服務(wù)程序。
在程序存儲(chǔ)器中,以下6個(gè)單元具有特殊含義:2024/9/2453
2.7.2MCS-C51的程序存儲(chǔ)器配置程序存儲(chǔ)器(ROM)2024/9/2454
程序存儲(chǔ)器(ROM)2024/9/2455
對(duì)于8051和8751除了片內(nèi)的4K字節(jié)的程序存儲(chǔ)器外,片外還有16位地址擴(kuò)展總線擴(kuò)展64K字節(jié)的程序存儲(chǔ)器,兩者統(tǒng)一進(jìn)行編址,當(dāng)EA端接“1”時(shí),片內(nèi)程序存儲(chǔ)器占用0000H~0FFFH,故外部程序存儲(chǔ)器尋址范圍為1000H~FFFFH。當(dāng)EA端接“0”時(shí),MCS-51單片機(jī)均從片外存儲(chǔ)器取指,這時(shí)片外程序存儲(chǔ)器可以從0000H開始編址,對(duì)于8031和8032由于無(wú)片內(nèi)程序存儲(chǔ)器,它們的EA
端必須接“0”。2024/9/2456
2.7.3MCS-C51的數(shù)據(jù)存儲(chǔ)器配置對(duì)于8051單片機(jī),其內(nèi)部共有256個(gè)數(shù)據(jù)存儲(chǔ)器單元,其中低128字節(jié)(00H~7FH)為真正的用戶RAM區(qū),其高128字節(jié)(80H~FFH)為特殊功能寄存器區(qū)。
內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)外部數(shù)據(jù)存儲(chǔ)器(RAM)2024/9/2457片內(nèi)RAM詳圖2024/9/2458
在低128字節(jié)存儲(chǔ)單元中,前32個(gè)單元(00H~1FH)作為工作寄存器使用,這32個(gè)寄存器分作4組,每組由8個(gè)通用寄存器(R0~R7)組成,組號(hào)依次為0、1、2和3。通過(guò)對(duì)程序狀態(tài)字中RS1和RS0的設(shè)置,可以決定選用哪一組工作寄存器,通常沒(méi)有選中的單元也可作為一般的數(shù)據(jù)緩存使用。系統(tǒng)上電復(fù)位時(shí),默認(rèn)選中第0組寄存器。一、工作寄存器區(qū)2024/9/2459低端32個(gè)字節(jié)分成4個(gè)工作寄存器組,每組8個(gè)單元。PSW的RS1、RS0決定當(dāng)前工作寄存器組號(hào)
寄存器0組:地址00H~07H;寄存器1組:地址08H~0FH;寄存器2組:地址10H~17H;寄存器3組:地址18H~1FH。組號(hào)RS1RS0R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H10108H09H0AH0BH0CH0DH0EH0FH21010H11H12H13H14H15H16H17H31118H19H1AH1BH1CH1DH1EH1FH2024/9/2460二、位尋址區(qū)在工作寄存器后的16個(gè)數(shù)據(jù)單元(20H~2FH),它們既可以作為一般的數(shù)據(jù)單元使用,也可以按位對(duì)每個(gè)單元進(jìn)行操作,因此這16個(gè)數(shù)據(jù)單元又稱作位尋址區(qū)。位尋址區(qū)共計(jì)128位,其位地址為00H~7FH。如何區(qū)分訪問(wèn)的是位地址還是字節(jié)地址?2024/9/24612024/9/2462三、通用RAM區(qū)位尋址區(qū)之后的30H至7FH共80個(gè)字節(jié)為通用RAM區(qū)。這些單元可以作為數(shù)據(jù)緩沖器使用。這一區(qū)域的操作指令非常豐富,數(shù)據(jù)處理方便靈活。在實(shí)際應(yīng)用中,常需在RAM區(qū)設(shè)置堆棧。80C51的堆棧一般設(shè)在30H~7FH的范圍內(nèi)。棧頂?shù)奈恢糜蒘P寄存器指示。復(fù)位時(shí)SP的初值為07H,在系統(tǒng)初始化時(shí)可以重新設(shè)置。如:MOVSP,#30H2024/9/2463內(nèi)部數(shù)據(jù)存儲(chǔ)器的高128個(gè)單元是為專用寄存器提供的,因此該區(qū)也稱作特殊功能寄存器區(qū)(SFR),它們主要用于存放控制命令、狀態(tài)或數(shù)據(jù)。除去程序計(jì)數(shù)器PC外,還有21個(gè)特殊功能寄存器,其地址空間為80H~FFH。這21個(gè)寄存器中有11個(gè)特殊功能寄存器具有位尋址能力,它們的字節(jié)地址剛好能被8整除。下面將對(duì)部分專用寄存器作簡(jiǎn)要介紹。
四、特殊功能寄存器區(qū)(SFR)2024/9/2464與運(yùn)算器相關(guān)3個(gè)
ACC
B
PSW與定時(shí)/計(jì)數(shù)器相關(guān)6個(gè)
TH0,TL0
TH1,TL1
TMODTCON指針類3個(gè)
SP
DPH,DPL與口相關(guān)7個(gè)
P0,P1,P2,P3
SBUFSCON
PCON與中斷相關(guān)2個(gè)
IE
IP2024/9/2465符號(hào)單元地址名稱位地址符號(hào)地址*ACCE0H累加器ACC.7~ACC.0E7H~E0H*BF0H乘法寄存器B.7~B.0F7H~F0H*PSWD0H程序狀態(tài)字PSW.7~PSW.0D7H~D0H
SP81H堆棧指針
DPL82H數(shù)據(jù)存儲(chǔ)器指針(低8位)
DPH83H數(shù)據(jù)存儲(chǔ)器指針(高8位)
*IEA8H中斷允許控制器IE.7~I(xiàn)E.0AFH~A8H*IPB8H中斷優(yōu)先控制器IP.7~I(xiàn)P.0BFH~B8H*P080H通道0P0.7~P0.087H~80H*P190H通道1P1.7~P1.097H~90H*P2A0H通道2P2.7~P2.0A7H~A0H*P3B0H通道3P3.7~P3.0B7H~B0H
PCON87H電源控制及波特率選擇
*SCON98H串行口控制SCON.7~SCON.09FH~98H
SBUF99H串行數(shù)據(jù)緩沖器
*TCON88H定時(shí)控制TCON.7~TCON.08FH~88H
TMOD89H定時(shí)器方式選擇
TL08AH定時(shí)器0低8位
TL18BH定時(shí)器1低8位
TH08CH定時(shí)器0高8位
TH18DH定時(shí)器1高8位
MCS-51特殊功能寄存器一覽表*:可位尋址的特殊功能寄存器2024/9/2466特殊功能寄存器地址及功能表2024/9/24671、累加器ACC
累加器為8位寄存器,是程序中最常用的專用寄存器,在指令系統(tǒng)中累加器的助記符為A。大部分單操作數(shù)指令的操作取自累加器,很多雙操作數(shù)指令的一個(gè)操作數(shù)也取自累加器。加、減乘和除等算術(shù)運(yùn)算指令的運(yùn)算結(jié)果都存放在累加器A或AB寄存器中,在變址尋址方式中累加器被作為變址寄存器使用。在MCS-51中由于只有一個(gè)累加器,而單片機(jī)中的大部分?jǐn)?shù)據(jù)操作都是通過(guò)累加器進(jìn)行的,故累加器的使用是十分頻繁的。2024/9/24682、B寄存器
B寄存器為8位寄存器,主要用于乘除指令中。乘法指令的兩個(gè)操作數(shù)分別取自累加器A和寄存器B,其中B為乘數(shù),乘法結(jié)果的高8位存放于寄存器B中。除法指令中,被除數(shù)取自A,除數(shù)取自B,除法的結(jié)果商數(shù)存放于A,余數(shù)存放于B中。在其它指令中,B寄存器也可作為一般的數(shù)據(jù)單元來(lái)使用。2024/9/2469
程序狀態(tài)字是一個(gè)8位寄存器,它包含程序的狀態(tài)信息。在狀態(tài)字中,有些位狀態(tài)是根據(jù)指令執(zhí)行結(jié)果,由硬件自動(dòng)完成設(shè)置的,而有些狀態(tài)位則必須通過(guò)軟件方法設(shè)定。PSW中的每個(gè)狀態(tài)位都可由軟件讀出。3、程序狀態(tài)字PSW程序狀態(tài)字
PSW的各狀態(tài)位定義
P/
OVRS0
RS1F0ACCY位標(biāo)志PSW.0PSW.1PSW.2PSW.3PSW.4PSW.5PSW.6PSW.7位序2024/9/2470
(1)CY:進(jìn)位標(biāo)志位在執(zhí)行某些算術(shù)和邏輯指令時(shí),可以被硬件或軟件置位或清零。在算術(shù)運(yùn)算中它可作為進(jìn)位標(biāo)志,在位運(yùn)算中,它作累加器使用,在位傳送、位與和位或等位操作中,都要使用進(jìn)位標(biāo)志位。(2)
AC:輔助進(jìn)位標(biāo)志進(jìn)行加法或減法操作時(shí),當(dāng)發(fā)生低四位向高四位進(jìn)位或借位時(shí),AC由硬件置位,否則AC位被置“0”。在進(jìn)行十進(jìn)制調(diào)整指令時(shí),將借助AC狀態(tài)進(jìn)行判斷。(3)用戶標(biāo)志位F0
該位為用戶定義的狀態(tài)標(biāo)記,用戶根據(jù)需要用軟件對(duì)其置位或清零,也可以用軟件測(cè)試F0來(lái)控制程序的跳轉(zhuǎn)。(4)RS1和RS0:寄存器區(qū)選擇控制位該兩位通過(guò)軟件置“0”或“1”來(lái)選擇當(dāng)前工作寄存器區(qū)。2024/9/2471(5)OV:溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置位或清零來(lái)指示溢出狀態(tài)。在帶符號(hào)的加減運(yùn)算中,OV=1表示加減運(yùn)算結(jié)果超出了累加器A所能表示的符號(hào)數(shù)有效范圍(-128~+127),即運(yùn)算結(jié)果是錯(cuò)誤的,反之,OV=0表示運(yùn)算正確,即無(wú)溢出產(chǎn)生。無(wú)符號(hào)數(shù)乘法指令MUL的執(zhí)行結(jié)果也會(huì)影響溢出標(biāo)志,若置于累加器A和寄存器B的兩個(gè)數(shù)的乘積超過(guò)了255,則OV=1,反之OV=0。由于乘積的高8位存放于B中,低8位存放于
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品安全與預(yù)制菜管理方案
- 高層建筑配電室消防方案
- 軌道交通工程驗(yàn)收實(shí)施方案
- 旅游業(yè)客戶支持與服務(wù)方案
- 手術(shù)室安全防護(hù)方案
- 外科護(hù)理流程標(biāo)準(zhǔn)化制度
- 外資醫(yī)院護(hù)理帶教競(jìng)聘演講
- 中學(xué)思想政治教育工作實(shí)施方案
- 汽車行業(yè)廣告制作合同范本
- 老年腦梗死腦出血的護(hù)理
- CNAS-CC01:2015 管理體系認(rèn)證機(jī)構(gòu)要求
- 礦山規(guī)模劃分標(biāo)準(zhǔn)
- 北師大版小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)重點(diǎn)練習(xí)試題(全冊(cè))
- 木蘭辭(拼音打印)
- 心血管介入考試器械植入模擬試題卷
- 意愿類能愿動(dòng)詞偏誤分析——以“要”、“想”、“敢”、“肯”為例
- 職業(yè)病防治監(jiān)理實(shí)施細(xì)則
- 水輪機(jī)檢修規(guī)程鐘
- 變壓器類產(chǎn)品型號(hào)注冊(cè)管理辦法
- 廢鋼渣綜合利用項(xiàng)目建議書范文
- 基于PLC四層電梯控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論