ch2_MCS-51單片機(jī)的結(jié)構(gòu)和原理_第1頁
ch2_MCS-51單片機(jī)的結(jié)構(gòu)和原理_第2頁
ch2_MCS-51單片機(jī)的結(jié)構(gòu)和原理_第3頁
ch2_MCS-51單片機(jī)的結(jié)構(gòu)和原理_第4頁
ch2_MCS-51單片機(jī)的結(jié)構(gòu)和原理_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章 MCS-51 單片機(jī)的結(jié)構(gòu)與原理,第2章主要內(nèi)容,2.1 MCS-51單片機(jī)的結(jié)構(gòu) 2.2 MCS51單片機(jī)引腳及功能 2.3 8051單片機(jī)存儲(chǔ)器 2.4 CPU時(shí)序 2.5 復(fù)位及復(fù)位電路 2.6 輸入/輸出端口結(jié)構(gòu),退出,2.1 MCS-51單片機(jī)的結(jié)構(gòu),2.1.1 MCS-51單片機(jī)主要組成,一個(gè)8位的微處理器(CPU) 片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM(128B/256B) 片內(nèi)程序存儲(chǔ)器ROM/EPROM(4KB/8KB) 四個(gè)8位并行I/O接口P0P3,每個(gè)口即可做輸入也可做輸出 2個(gè)定時(shí)器/計(jì)數(shù)器 五個(gè)中斷源的中斷控制系統(tǒng) 一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口 片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接.,MCS-51系列單片機(jī)性能表,型號(hào)帶“C”表示所用的是CMOS工藝,具有低功耗的特點(diǎn)。如8051功耗為630mW,80C51功耗只有120mW,用于便攜式產(chǎn)品中。,MCS-51單片機(jī)典型芯片的性能比較,MCS-51系列單片機(jī)有多種產(chǎn)品,典型的為8051/8751/8031,它們的外部引腳和指令系統(tǒng)完全兼容,只是內(nèi)部程序存儲(chǔ)器的形式不同。 8051: 片內(nèi)4KBROM,程序在制作芯片時(shí)已燒好,適于低成本的大批量生產(chǎn)。 8751: 片內(nèi)4KBEPROM,價(jià)格較貴,適于開發(fā)樣機(jī)。 8031: 片內(nèi)無ROM,需擴(kuò)展外部程序存儲(chǔ)器。,2.1.2 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu),中央處理單元(CPU),CPU包括運(yùn)算器和控制器二大部分: 1 、 運(yùn)算器 運(yùn)算器包括算術(shù)邏輯部件(ALU)、累加器A、暫存寄存器、寄存器B、程序狀態(tài)寄存器(PSW),十進(jìn)制調(diào)整電路等。運(yùn)算器主要用于實(shí)現(xiàn)算術(shù)/邏輯運(yùn)算及位操作運(yùn)算。下面介紹運(yùn)算器的各組成部分。 a、算術(shù)邏輯部件ALU b、累加器A c、寄存器B d、程序狀態(tài)字寄存器PSW,2、控制器 控制器包括程序計(jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID、振蕩器及定時(shí)電路等。 a、程序計(jì)數(shù)器PC b、指令寄存器IR及指令譯碼器ID c、振蕩器及定時(shí)電路,存儲(chǔ)器,程序存儲(chǔ)器(ROM) 8051及8751的片內(nèi)程序存儲(chǔ)器容量為4KB,地址從0000H開始,存放程序和表格常數(shù)。 數(shù)據(jù)存儲(chǔ)器(RAM) 8051/8751/8031片內(nèi)數(shù)據(jù)寄存器為128B,地址為00H7FH,用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。 8051內(nèi)部還有SP、DPTR、PCONIE,IP等特殊寄存器,地址為80HFFH。,I/O接口,8051由四個(gè)8位并行接口,即P0P3,它們都是雙向端口,每個(gè)端口有8條I/O線,均可輸入/輸出。P0P3四個(gè)鎖存器同RAM統(tǒng)一編址,可以把I/O口當(dāng)作一般特殊寄存器來尋址。,2.2 MCS-51單片機(jī)引腳及其功能,MCS-51單片機(jī)的引腳及邏輯符號(hào)圖,MCS-51單片機(jī)芯片外形圖,MCS-51單片機(jī)有兩種封裝形式: a. 40腳的雙列直插DIP封裝; b. 44腳的PLCC。,(DIP封裝),電源引腳 Vcc和Vss 時(shí)鐘電路引腳XTAL1和XTAL2 XTAL2:接外部晶體和微調(diào)電容的一端,在8051片內(nèi)它是振蕩電路反相放大的輸出端,振蕩電路的頻率就是晶體固有頻率.若需采用外部時(shí)鐘電路時(shí)該引腳輸入外部時(shí)鐘脈沖。 要檢查振蕩電路是否正常,可以示波器查看XTAL2是否有脈沖輸出。 XTAL1:接外部晶體和微調(diào)電容的另一端,在片內(nèi)是振蕩電路反相放大器輸入端,在采用外部時(shí)鐘輸入時(shí),該引腳必須接地。,引腳功能,3.控制信號(hào)引腳RST,ALE,,EA,RST/VPD :RST復(fù)位信號(hào)輸入端,高電平有效. 當(dāng)此輸入端保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。 RST引腳的第二功能是VPD 即備用電源的輸入端。當(dāng)主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時(shí),將5V電源自動(dòng)接到RST端,為RAM提供備用電源,以保證存儲(chǔ)在RAM中的信息不丟失。,ALE/PROG (Address Latch Enable/Programming):地址鎖存允許 當(dāng)8051上電正常工作后,ALE引腳不斷向外輸出正脈沖信號(hào),此頻率為振蕩周期fosc 的1/6。(該信號(hào)可用于判斷8051是否正在正常工作?) CPU訪問外部存儲(chǔ)器時(shí),ALE輸出信號(hào)作為鎖存低8位地址的控制信號(hào), 平時(shí)不訪問片外存儲(chǔ)器時(shí),ALE端以振蕩頻率的1/6固定輸出。 第二功能PROG:對(duì)片內(nèi)4Kb EPROM的8751編程寫入時(shí)的編程脈沖輸入端。,(Program Store Enable):程序存儲(chǔ)器允許輸出信號(hào)端,在訪問外部程序存儲(chǔ)器時(shí),此端定時(shí)輸出負(fù)脈沖作為讀片外存儲(chǔ)器的選通信號(hào),此引腳接EPROM的OE端, 有效,即允許讀EPROM/ROM中的指令碼。,/Vpp(ENABLE ADDRESS/VOLTAGE PULSE OF PROGRAMMING):外部程序存儲(chǔ)器地址允許輸入端/固化編程電源輸入端。,接高電平時(shí),CPU先訪問片內(nèi)EPROM/ROM,并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令,當(dāng)PC(程序計(jì)數(shù)器)的值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)去執(zhí)行片外程序存儲(chǔ)器內(nèi)的程序。,接低電平時(shí),CPU只訪問片外EPROM/ROM,不管片內(nèi)是否有程序存儲(chǔ)器,對(duì)無片內(nèi)ROM的8031或8032,需外擴(kuò)EPROM,此端必須接地,如果有片內(nèi)ROM的,外擴(kuò)EPROM的也要將EA接地。,EA,4.輸入/輸出端口P0,P1,P2,P3 P0口(P0.0P0.7):是一個(gè)漏極開路的8位準(zhǔn)雙向I/O端口,作為漏極開路的輸出端口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載.當(dāng)P0口作為輸入口使用時(shí),應(yīng)先向鎖存器寫入全1,此時(shí)P0口的全部引腳浮空,可作為高阻抗輸入。 在CPU訪問片外存儲(chǔ)器時(shí),P0口是分時(shí)提供8位地址和8位數(shù)據(jù)的復(fù)用總線。,P1口(P1.0P1.7):是一個(gè)帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。 當(dāng)P1口作為輸入口使用時(shí),應(yīng)先向鎖存器寫入全1,此時(shí)P1口的全部引腳由內(nèi)部上拉電阻拉成高電平。,P2口(P2.0P2.7):是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O端口, 每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。 在CPU訪問片外存儲(chǔ)器時(shí),P2口輸出高8位地址。 P3口(P3.0P3.7):是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O端口, 每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。 P3口與其他I/O端有很大區(qū)別,它除作為一般準(zhǔn)雙向I/O外,每個(gè)引腳還具有第二功能。,2.3 存儲(chǔ)器配置,一般微機(jī):通常只有一個(gè)地址空間,ROM和RAM可以隨意安排在這一地址范圍內(nèi)不同的空間,CPU訪問存儲(chǔ)器時(shí),一個(gè)地址對(duì)應(yīng)唯一的存儲(chǔ)器單元,此類結(jié)構(gòu)稱為普林斯頓結(jié)構(gòu)。 8051的存儲(chǔ)器:與典型微機(jī)不同,它把程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,各有自己的尋址系統(tǒng)、控制信號(hào)和功能,這種程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的結(jié)構(gòu)稱為哈佛結(jié)構(gòu)。,物理上分4個(gè)存儲(chǔ)器空間 內(nèi)部程序存儲(chǔ)器 外部程序存儲(chǔ)器 內(nèi)部數(shù)據(jù)存儲(chǔ)器 外部數(shù)據(jù)存儲(chǔ)器 邏輯上分3個(gè)存儲(chǔ)器空間 片內(nèi)外統(tǒng)一的64KB程序存儲(chǔ)器 256B(含SFR塊)片內(nèi)數(shù)據(jù)存儲(chǔ)器 64KB片外數(shù)據(jù)存儲(chǔ)器,8051存儲(chǔ)器地址空間分配,在8051單片機(jī)的內(nèi)部集成了4K的程序存儲(chǔ)器和256B的數(shù)據(jù)存儲(chǔ)器,同時(shí)還可以使用片外的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,其擴(kuò)展能力都是64K。,64k程序存儲(chǔ)器地址空間,片內(nèi)外統(tǒng)一編址0000hFFFFh 256B片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間,指令用MOVC,指令用MOV,指令用MOVX,64kb片外數(shù)據(jù)存儲(chǔ)器地址空間,0000hFFFFh,注意: 1、訪問片內(nèi)RAM20H存儲(chǔ)單元; MOV A,20H 2、訪問片外RAM存儲(chǔ)單元; MOV R0,#20h MOVX A,R0 3、盡管片內(nèi)與片外的RAM單元的00H-FFH地址相重疊,但由于指令的不同不會(huì)發(fā)生地址混亂。,2.3.1 程序存儲(chǔ)器地址空間,程序存儲(chǔ)器是存放編好的程序、常數(shù)和表格的,只能讀不能寫。該空間有幾個(gè)特殊單元,應(yīng)用過程中應(yīng)加以注意。 在MCS-51單片機(jī)中,當(dāng)引腳EA=1時(shí),系統(tǒng)使用片內(nèi)的ROM;EA=0時(shí),系統(tǒng)使用片外的ROM。 無論是使用片內(nèi)還是使用片外的ROM(既 EA=1或EA=0),其起始地址都是從0000H單元開始,0000H是系統(tǒng)的啟動(dòng)地址。 0003H002BH是中斷服務(wù)程序入口地址。,8051、52系列保留的存儲(chǔ)單元,8051中斷矢量地址表,思考: 如何合理安排程序存儲(chǔ)器空間?,2.3.2 數(shù)據(jù)存儲(chǔ)器地址空間,片外數(shù)據(jù)存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器 分為兩個(gè)部分 : 1、低128B RAM(00H7FH) 00H1FH,4個(gè)通用工作寄存器區(qū) 20H2FH,位地址空間 堆棧的設(shè)定 2、高128B特殊功能存儲(chǔ)器 (SFR) (80HFFH),特殊功能 寄存器 SFR,片內(nèi) 通用數(shù)據(jù) 存儲(chǔ)器,80H 7FH,00H,FFH,片外數(shù)據(jù) 存儲(chǔ)器 64KB,0000H,FFFFH,低128Bytes RAM,高128bytes RAM,R0R7寄存器分配,思考: 工作寄存器為何分為四組,如何正確使用工作寄存器?,片內(nèi) RAM(20H-2FH)中的位尋址區(qū)結(jié)構(gòu)圖,2FH,20H,字節(jié)地址,位地址,位尋址區(qū)內(nèi)的地址是位地址。共有00-7FH(共128個(gè)位); 要區(qū)分字節(jié)地址和位地址這兩個(gè)不同的地址概念: 從物理的角度:每一個(gè)字節(jié)地址內(nèi)包含了8個(gè)位,既: D7,D6,D5,D4,D3,D2,D1,D0 (我們提到的RAM地址一般都是指字節(jié)地址)。 從邏輯的角度:字節(jié)地址和位地址是靠不同類型的指令來 區(qū)分的。如, MOV A, 20H ;將RAM的20單元內(nèi)容送累加器A; MOV C ,20H ;將RAM位尋址區(qū)中20H位送CY中。 在這二個(gè)例子中,第一條指令為字節(jié)傳送指令,既20H為字節(jié)地址;第二個(gè)例子中的指令為位操作指令,20H為位地址。有關(guān)詳細(xì)內(nèi)容將在后續(xù)章節(jié)中描述。,堆棧的設(shè)定 設(shè)置在內(nèi)部數(shù)據(jù)存儲(chǔ)器,理論深度最大為128字節(jié),但實(shí)際小很多。堆棧指針是8位SP寄存器,復(fù)位后SP=07H,建議SP=30H以上(如:5FH)。SP總是指向棧頂,堆棧是向上生成的,即入棧時(shí)SP加1,出棧時(shí)SP減1。,堆棧操作過程: 進(jìn)棧: PUSH ACC指令(設(shè) SP=07H) 1,SP+1送SP,此時(shí)SP=08H; 2,ACC送RAM的08H單元; 出棧: POP ACC (設(shè)SP=08H); 1,將RAM 中08H單元內(nèi)容送A; 2,SP-1送SP ,此時(shí)SP=07H。,07H,SP,RAM,x,累加器A,堆棧操作示意圖,08H 07H,思考: 復(fù)位后8051堆棧最大容量是多少?,特殊功能寄存器: 共22個(gè)(3個(gè)只屬52子系列),PC在物理上是獨(dú)立的,其余21個(gè)分布在SFR區(qū),共占26個(gè)字節(jié)(5個(gè)雙字節(jié)寄存器)。 這21個(gè)中,有11個(gè)寄存器具有位尋址功能,即寄存器中的每位都具有位地址,它們的特點(diǎn)是字節(jié)地址正好能被8整除。,注意: 1、128B的SFR區(qū)中僅有26B是有定義的,若訪問沒有定義的單元,將得到一個(gè)不確定的隨機(jī)數(shù)。 2、訪問SFR時(shí)只能采用直接尋址方式。,特殊功能寄存器簡(jiǎn)介,程序計(jì)數(shù)器PC 16位,尋址范圍64KB,用于安放下一條要執(zhí)行的指令地址,在物理上是獨(dú)立的。 累加器A(ACC) 8位,是CPU中工作最頻繁的,大部分操作數(shù)取自累加器,運(yùn)算結(jié)果也存放在A中。 B寄存器 8位,用于乘除指令中,對(duì)其他指令可作RAM中的一個(gè)單元用。,程序狀態(tài)字(或標(biāo)志寄存器)PSW 8位,存放運(yùn)算結(jié)果的一些狀態(tài)信息,各位含義如下:,CY(PSW.7):進(jìn)位標(biāo)志位。在進(jìn)行加法(或減法)運(yùn)算時(shí),若運(yùn)算結(jié)果最高位有進(jìn)位或借位,則CY自動(dòng)置“1”,否則CY置“0”,在進(jìn)行布爾操作運(yùn)算時(shí),CY(簡(jiǎn)稱C)作為布爾處理器。 AC:輔助進(jìn)位標(biāo)志位。當(dāng)進(jìn)行加法或減法時(shí),若低4位向高4位有進(jìn)位(或借位)時(shí),AC被置“1”,否則AC被置“0”。在十進(jìn)制調(diào)整指令中AC還作為十進(jìn)制調(diào)整的判別位。 F0:用戶標(biāo)志位。用戶可用軟件對(duì)F0位置“1”或清“0”以決定程序的流向。,OV:溢出標(biāo)志位,當(dāng)運(yùn)算結(jié)果溢出時(shí)OV為“1”,否則為“0”,此標(biāo)志位反映了帶符號(hào)數(shù)運(yùn)算結(jié)果是否溢出。OV的結(jié)果可以用一個(gè)算法來表示: OV=CPCS 其中:CP為A7的進(jìn)位;CS為A6的進(jìn)位。 PSW.1:未定義位。 P(PSW.0):奇偶標(biāo)志位。當(dāng)累加器A中“1”的個(gè)數(shù)為奇數(shù)時(shí),P置“1”,否則P置“0”。此位反映累加器A中內(nèi)容“1”的奇偶性,它常常用于單片機(jī)間通信。 RS1、RS0:工作寄存器區(qū)選擇位。用來選擇當(dāng)前工作的寄存器區(qū)。用戶通過改變RS1 、RS0的內(nèi)容來選擇當(dāng)前工作寄存器區(qū)。RS1、RS0的內(nèi)容與工作寄存器區(qū)的對(duì)應(yīng)關(guān)系如表2-1所示。,棧指針SP 8位,指示堆棧頂部在內(nèi)部RAM中的位置,初始化SP=07H,可重新設(shè)定SP初值,當(dāng)SP初值,堆棧深度。指令系統(tǒng)中的棧操作指令是:PUSH,POP。 數(shù)據(jù)指針DPTR 16位,可分作DPH、DPL兩個(gè)獨(dú)立的8位寄存器,也可作位16位DPTR處理。主要用來保持16位地址,對(duì)外部數(shù)據(jù)存儲(chǔ)器進(jìn)行尋址,也可用于訪問程序存儲(chǔ)器。如: MOVX A,DPTR MOVC A,A+DPTR,端口P0P3 8位,分別是I/O端口P0P3的鎖存器。 SFR中的P0-P3實(shí)際上就是I/O端口的數(shù)據(jù)鎖存器。與RAM中的任意一個(gè)單元一樣,P0-P3都有自己的RAM地址:80H、90H、A0H、B0H。所以,在51單片機(jī)中的輸入、輸出操作實(shí)際上就是個(gè)普通的RAM單元操作一樣:如 輸出指令 MOV 80H,A ;將累加器中的數(shù)據(jù)送到P0口輸出 輸入指令 MOV A,90H ;將P1口的數(shù)據(jù)輸入到累加器A中 即MCS-51的指令系統(tǒng)中沒有專用的輸入、輸出(IN、OUT)指令,而是把P0-P3作為普通的內(nèi)存單元來使用。,串行數(shù)據(jù)緩沖器SBUF 8位,用于存放欲發(fā)送或接收的數(shù)據(jù)。實(shí)際上是兩個(gè)獨(dú)立的寄存器,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器。 定時(shí)器/計(jì)數(shù)器TH0,TL0,TH1,TL1,TH2,TL2(52子系列) 其它控制寄存器IP,IE,TMOD,TCON,SCON,PCON,MCS-51對(duì)外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展能力為64KB,采用間接尋址方式訪問。 8位地址寄存器:R0,R1 16位地址寄存器:DPTR,外部數(shù)據(jù)存儲(chǔ)器(I/O),例: MOV R0,#20H ;將外部RAM單元地址20H送R0寄存器 MOVX A,R0 ;從外部RAM20H單元取數(shù)據(jù)到累加器A 這里使用了R0做間址寄存器,所以尋址范圍為256B。 例: MOV DPTR,#2000H ;將外部 RAM 單元的地址的2000送DPTR MOVX A ,DPTR ;從外部 RAM 2000H單元中取數(shù)據(jù)到A 這里使用了16位的寄存器DPTR,所以尋址范圍為64KB。,2.4 CPU時(shí)序,2.4.1 片內(nèi)振蕩器及時(shí)鐘信號(hào)產(chǎn)生 2.4.2 機(jī)器周期和指令周期 2.4.3 CPU取指和執(zhí)行周期時(shí)序,2.4.1 時(shí)鐘電路,內(nèi)部方式時(shí)鐘電路,電容C1和C2取值: 30pF左右 振蕩頻率范圍: 1.212MHz,外接時(shí)鐘源接法,該方式常用于多塊8051芯片同時(shí)工作,以便同步。,8051片內(nèi)振蕩器及時(shí)鐘發(fā)生器,2.4.2 時(shí)序,基本概念 (1)振蕩周期 振蕩周期指為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期,即晶體振蕩器直接產(chǎn)生的振蕩信號(hào)的振蕩周期。,(2)時(shí)鐘周期(狀態(tài)周期 ) 時(shí)鐘周期是振蕩周期的兩倍。是對(duì)振蕩器2分頻的信號(hào)。時(shí)鐘周期又稱狀態(tài)周期,用S來表示,一個(gè)時(shí)鐘周期,分為兩個(gè)節(jié)拍,P1和P2節(jié)拍。P1節(jié)拍通常完成算術(shù)邏輯操作,P2節(jié)拍通常完成內(nèi)部寄存器間數(shù)據(jù)的傳遞。 (3)機(jī)器周期 一個(gè)機(jī)器周期由12個(gè)振蕩周期即6個(gè)狀態(tài)周期組成,即S1S6,如果把一條指令的執(zhí)行過程劃分為幾個(gè)基本操作,則完成一個(gè)基本操作所需的時(shí)間稱為機(jī)器周期。 (3)指令周期 指令周期是執(zhí)行一條指令所需的全部時(shí)間。MCS-51單片機(jī)的指令周期通常由14個(gè)機(jī)器周期組成。,補(bǔ)充一個(gè)概念 指令的字節(jié)數(shù):一條指令所占內(nèi)存單元的數(shù)量。 MCS-51單片機(jī)的指令系統(tǒng)中有: 單字節(jié)指令(占用1個(gè)ROM字節(jié)) ; 雙字節(jié)指令(占用2個(gè)ROM字節(jié)) ; 三字節(jié)指令(占用3個(gè)ROM字節(jié)) 。 思考: 指令的字節(jié)數(shù)與指令執(zhí)行的時(shí)間有關(guān)系嗎? 是否指令的字節(jié)數(shù)越多,其執(zhí)行的時(shí)間就越長(zhǎng)? 指令的字節(jié)數(shù)越少,執(zhí)行就越快?,機(jī)器周期、狀態(tài)周期、振蕩周期之間的關(guān)系: 1機(jī)器周期=6狀態(tài)周期=12振蕩周期 例:已知fosc=12MHz,則1機(jī)器周期= 1/12s121=1s 指令的運(yùn)算速度與它所包含的機(jī)器周期數(shù)有關(guān)。機(jī)器周期數(shù)越少,執(zhí)行的速度就越快。 MCS-51單片機(jī)的指令系統(tǒng)除了乘、除法指令為四個(gè)機(jī)器周期外,其余都是單周期和雙周期指令。,CPU取指、執(zhí)行周期時(shí)序 每條指令的執(zhí)行都包括取指和執(zhí)行兩個(gè)階段,典型指令的取指和執(zhí)行指令時(shí)序如下頁圖:,幾 種 典 型 的 取 指 和 執(zhí) 行 時(shí) 序,2.5 復(fù)位及復(fù)位電路,2.5.1 復(fù)位操作 復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。 除PC外,復(fù)位操作還會(huì)影響其他一些寄存器,如下表所示。,2.5.2 復(fù)位信號(hào)及其產(chǎn)生,RST引腳是復(fù)位信號(hào)的輸入端,復(fù)位信號(hào)高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即兩個(gè)機(jī)器周期)以上。 如使用6MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4us才能完成復(fù)位操作。,2.5.3 復(fù)位電路,復(fù)位操作有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種.,2.6 輸入/輸出端口結(jié)構(gòu),8051框圖中沒有像8086CPU一樣明確表示出地址線和數(shù)據(jù)線,它的數(shù)據(jù)線和地址線是由并行端口引出的,以使有限的引腳能完成更多的功能。 P0P3每個(gè)端口都有一個(gè)鎖存器,即特殊功能寄存器P0P3,一個(gè)輸出驅(qū)動(dòng)器和兩個(gè)三態(tài)緩沖器(P3口為3個(gè)),這種結(jié)構(gòu)在數(shù)據(jù)輸出時(shí)可一直鎖存保存不變,但對(duì)輸入信號(hào)是不鎖存的,所以外設(shè)欲輸入的數(shù)據(jù)必須保持到取數(shù)指令執(zhí)行為止。,2.6.1 P0口,圖3 P0某位結(jié)構(gòu)圖,作一般(通用)I/O口:,控制信號(hào)=0,模擬轉(zhuǎn)換開關(guān)將輸出級(jí)T2與鎖存器的 Q端接通。 輸出級(jí)是開漏電路,輸出時(shí)需外接上拉電阻才能獲得高電平輸出。 輸入結(jié)構(gòu)中有兩個(gè)緩沖器是為適應(yīng)“讀修改寫”這樣的指令。如:ANL P0,A指令,不是讀引腳上的數(shù)據(jù),而是讀D鎖存器中的數(shù)據(jù)。 是準(zhǔn)雙向口,輸入數(shù)據(jù)時(shí)應(yīng)先向端口寫“1”,使兩個(gè)FET均截止,然后作高阻抗輸入。(復(fù)位時(shí)已是1),作低8位地址/數(shù)據(jù)總線口:,控制信號(hào)=1,模擬轉(zhuǎn)換開關(guān)把CPU內(nèi)部地址/數(shù)據(jù)總線經(jīng)反向器與驅(qū)動(dòng)場(chǎng)效應(yīng)管T2接通。 作總線時(shí),上下兩個(gè)FET處于反相,構(gòu)成推拉式的輸出電路,不需外接上拉電阻,且大大提高了負(fù)載能力。當(dāng)訪問外部存儲(chǔ)器時(shí),CPU自動(dòng)向端口寫入FFH,所以對(duì)用戶而言P0口作地址/數(shù)據(jù)總線時(shí)是一個(gè)真正的雙向口。 當(dāng)P0口已作地址/數(shù)據(jù)總線口時(shí),就不能作一般I/O口。,2.6.2 P1口,圖4 P1某位結(jié)構(gòu)圖,P1口是一個(gè)標(biāo)準(zhǔn)的準(zhǔn)雙向口,內(nèi)部接有上拉電阻,在組成應(yīng)用系統(tǒng)時(shí),往往作通用的I/O口使用。只是在52子系列中,P1.0和P1.1是多功能的。 P1.0:作定時(shí)器/計(jì)數(shù)器2的外部輸入端。 P1.1:作定時(shí)器/計(jì)數(shù)器2的外部控制輸入端。,2.6.3 P2口,圖5 P2某位結(jié)構(gòu)圖,P2口與P0口結(jié)構(gòu)類似,由控制信號(hào)控制模擬轉(zhuǎn)換開關(guān),若接通上邊,則地址信號(hào)加到輸出線路,若接通下邊,則鎖存器Q端與輸出線路接通,P2口作一般I/O口。 作一般(通用)I/O口: 準(zhǔn)雙向口,內(nèi)部接有上拉電阻(同P1,P3口)。 作高8位地址總線口: 用于輸出高8位地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論