單片機(jī)第二章.ppt_第1頁
單片機(jī)第二章.ppt_第2頁
單片機(jī)第二章.ppt_第3頁
單片機(jī)第二章.ppt_第4頁
單片機(jī)第二章.ppt_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第章單片機(jī)結(jié)構(gòu)原理,本章內(nèi)容,Single Chip Microcomputer,單片機(jī)內(nèi)部結(jié)構(gòu)及引腳,單片機(jī)時(shí)序及接口,單片機(jī)存儲(chǔ)器配置,單片機(jī)輸入輸出口,2-1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)及引腳,MCS-51系列單片機(jī)是英特爾公司1980推出的高檔8位機(jī) 分為二個(gè)子系列,、三個(gè)版本:,返回,MCS-51單片機(jī)硬件結(jié)構(gòu),結(jié)構(gòu)框圖,中央處理器CPU:8位,運(yùn)算和控制功能,內(nèi)部RAM:共256個(gè)RAM單元,用戶使用前128個(gè)單元,用于存放可讀寫數(shù)據(jù),后128個(gè)單元被專用寄存器占用。,內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。,定時(shí)/計(jì)數(shù)器:兩個(gè)16位的定時(shí)/計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)

2、數(shù)功能。,并行I/O口:4個(gè)8位的I/O口P0、P1、P2、P3。,串行口:一個(gè)全雙工串行口。,中斷控制系統(tǒng):5個(gè)中斷源(外部中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2 個(gè),串行中斷1個(gè)),時(shí)鐘電路:可產(chǎn)生時(shí)鐘脈沖序列,允許晶振頻率6MHZ和12MHZ,1、8051單片機(jī)的基本組成,中央處理器CPU:8位,運(yùn)算和控制功能 內(nèi)部RAM:共256個(gè)RAM單元,用戶使用前128個(gè)單元,用于存放可讀寫數(shù)據(jù),后128個(gè)單元被專用寄存器占用。 內(nèi)部ROM:4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)和表格。 定時(shí)/計(jì)數(shù)器:兩個(gè)16位的定時(shí)/計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。 并行I/O口:4個(gè)8位的I/O口P0、P1、P2、P3。

3、 串行口:一個(gè)全雙工串行口。 中斷控制系統(tǒng):5個(gè)中斷源(外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2 個(gè),串行中斷1個(gè)) 時(shí)鐘電路:可產(chǎn)生時(shí)鐘脈沖序列,允許晶振頻率6MHZ和12MHZ,2、MCS-51單片機(jī)信號(hào)引腳簡介,P3口線的第二功能,VCC,VSS,XTAL2XTAL1,RST,P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7,P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7,P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0,ALE,P3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7,2、

4、振蕩電路:XTAL1、XTAL2,3、復(fù)位引腳:RST,4、并行口:P0、P1、P2、P3,7、ALE:地址鎖存控制信號(hào),1、電源線:VCC(+5V)、VSS(地),= 0 時(shí),只訪問外部程序存儲(chǔ)器,即外ROM,= 1 時(shí),訪問內(nèi)部程序存儲(chǔ)器,即內(nèi)ROM,/ Vpp 內(nèi)外ROM選擇端,對(duì)于8751單片機(jī)編程時(shí),該端施加編程電壓 IO引腳 P0.0 P0.7 ; P1.0 P1.7 ; P2.0 P2.7 ;P3.0 P3.7 四個(gè)I / O口,每口八條線;還兼作地址/數(shù)據(jù)線。,EA,ALE / PROG 地址鎖存控制端,訪問外部存儲(chǔ)器用來鎖存由P0口送出的低8位地址信息;不訪問外存時(shí),提供1/

5、6 fosc振蕩頻率;PROG用于對(duì)8751片內(nèi)的EPROM輸入編程脈沖 ; PSEN 外部程序存儲(chǔ)器的讀選通信號(hào)端,3、時(shí)鐘電路與復(fù)位電路 (1)時(shí)鐘振蕩電路,幾個(gè)工作周期的區(qū)別: 振蕩周期 狀態(tài)周期 機(jī)器周期 指令周期,時(shí)鐘周期 ,T:時(shí)序中最小的時(shí)間單位.其值由外接晶體或外輸入時(shí)鐘來決定,其值為石英振蕩器頻率的倒數(shù)。 例如:在單片機(jī)外接1MHZ的晶體,則單片機(jī)的系統(tǒng)時(shí)鐘的頻率為1M, 時(shí)鐘周期為1us. 機(jī)器周期:完成特定功能所需要的時(shí)間,在MCS-51單片機(jī)中機(jī)器周期由12個(gè)時(shí)鐘周期構(gòu)成,并分為6個(gè)狀態(tài)(S1-S6),每個(gè)狀態(tài)又分為P1和P2兩拍.這樣一個(gè)機(jī)器周期的12個(gè)震蕩周期可以表

6、示為: S1P1,S1P2,S2P1,S2P2,S3P1,S3P2 S6P1,S6P2 將12個(gè)震蕩周期用6個(gè)狀態(tài)和2拍來替代。,T,S1,S2,S6,S5,S4,S3,機(jī)器周期,指令周期:這是時(shí)序圖中最大的時(shí)間單位,既執(zhí)行一條指令所需要的時(shí)間.在MCS-51系統(tǒng)中,不同的指令它所包含的機(jī)器周期數(shù)不同.它們分別是: 1,單機(jī)器周期指令; 2,雙機(jī)器周期指令; 3,四機(jī)器周期指令 我們知道:一個(gè)機(jī)器周期包含了12個(gè)震蕩周期.如果我們使用一個(gè)12M的晶體震蕩器,那么: 一個(gè)機(jī)器周期為1us, 兩個(gè)機(jī)器周期為2us, 四個(gè)機(jī)器周期為4us. 可見一條指令的運(yùn)算速度與它所包含的機(jī)器周期數(shù)有關(guān).機(jī)器周期

7、數(shù)越少,執(zhí)行的速度就越快.在MCS-51單片機(jī)的指令系統(tǒng)中,除了乘、除法指令為四個(gè)機(jī)器周期外,其余都是單周期和雙周期指令.,返回,(2)、控制或復(fù)位引腳 RST / VPD 當(dāng)出現(xiàn)兩個(gè)機(jī)器周期高電平時(shí),單片機(jī)復(fù)位 。 復(fù)位后,P0 P3 輸出高電平;SP寄存器為07H; 其它寄存器全部清0;不影響RAM狀態(tài)。 參考復(fù)位電路如下:,(2)復(fù)位電路,單片機(jī)復(fù)位條件: 必須使RST引腳持續(xù)10 us以上高電平(外部時(shí)鐘12MHz),誰知道 復(fù)位電路怎么起到復(fù)位的作用?,2-2存儲(chǔ)器配置,8031 8751 8051 89C51,256B(字節(jié)),4K,64K,64K,物理上分為:4個(gè)空間,即片內(nèi)RO

8、M、片外ROM 片內(nèi)RAM、片外RAM 邏輯上分為: 3個(gè)空間, 即程序內(nèi)存(片內(nèi)、外)統(tǒng)一編址 MOVC 數(shù)據(jù)存儲(chǔ)器(片內(nèi)) MOV 數(shù)據(jù)存儲(chǔ)器(片外) MOVX,馮.諾依曼結(jié)構(gòu) 哈佛結(jié)構(gòu) 改進(jìn)哈佛結(jié)構(gòu),(1)程序存儲(chǔ)器,程序存儲(chǔ)器,內(nèi)部,外部,(PC),程序存儲(chǔ)器資源分布,中斷入口地址,七個(gè)具有特殊含義的單元是:,0000H 系統(tǒng)復(fù)位,PC指向此處; 0003H 外部中斷0入口 000BH T0溢出中斷入口 0013H 外中斷1入口 001BH T1溢出中斷入口 0023H 串口中斷入口 002BH T2溢出中斷入口,內(nèi)部,外部,(2)數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,RAM,專用寄存器,內(nèi)部RAM

9、存儲(chǔ)器,工作寄存器區(qū)選擇位RS0、RS1,位尋址區(qū)(20H2FH)16個(gè)字節(jié)。 16*8=128位,每一位都有一個(gè)位地址,范圍為:00H7FH,位地址區(qū)也可作為一般RAM使用。,位尋址區(qū),特殊功能寄存器SFR MCS-51單片機(jī)內(nèi)共有22個(gè)特殊功能寄存器,包括PC及SFR。 PC為程序計(jì)數(shù)器。它是一個(gè)雙字節(jié)寄存器,尋址范圍為: 0000H FFFFH,即0 64KB。 SFR為特殊功能寄存器。其尋址空間:80H FFH 其中,51子系列有18個(gè)寄存器,占有21個(gè)字節(jié); 52子系列有21個(gè)寄存器,占有26個(gè)字節(jié)。 51子系列SFR的地址分配及位地址見下頁表:,高128個(gè)單元,離散分布有21個(gè)特殊

10、功能寄存器SFR。, 11個(gè)可以進(jìn)行位尋址。,特別提示:對(duì)SFR只能使用直接尋址方式,書寫時(shí)可使用寄存器符號(hào),也可用寄存器單元地址。,+,+,注意: 1、表中共有3個(gè)雙字節(jié)寄存器。 2、PC也為雙字節(jié)寄存器,但是不在80H FFH 范圍內(nèi)。 3、表中,凡地址能被8整除的寄存器都是可位 尋址的寄存器。,各寄存器的名稱: 1、算術(shù)運(yùn)算寄存器 (1)A累加器。 (2)BB寄存器,乘、除法運(yùn)算用。 (3)PSW程序狀態(tài)字寄存器:包含程序運(yùn) 行狀態(tài)、信息。,程序狀態(tài)字PSW: 8位寄存器. 表征程序執(zhí)行的狀態(tài)信息。 CY (PSW.7)進(jìn)位標(biāo)志: 在加減法運(yùn)算中,累加器A的最高位A7有進(jìn)位,則CY=1,

11、否則CY=0.同理,在減法運(yùn)算中,如果A7有借位,則CY=1.因此CY往往作為無符號(hào)數(shù)運(yùn)算是否有溢出的標(biāo)志。 AC(PSW.6):輔助進(jìn)位位: 用來判斷加減法運(yùn)算時(shí),低四位是否向高四位進(jìn)位或借位(既A3的進(jìn)位或借位).往往用來判斷壓縮的BCD碼的運(yùn)算處理. F0(PSW.5) 用戶標(biāo)志位: 完全由用戶來定義和使用。 RS1,RS0工作寄存器區(qū)選擇位:確定工作寄存器R0-R7在哪個(gè)區(qū)中. 單片機(jī)在上電或復(fù)位后RS1、RS0=00。當(dāng)需要人為的修改RS1,RS0的值來改變工作寄存器區(qū)的位置。 0 0 : 0區(qū) R0 R7 0 1 : 1區(qū) R0 R7 1 0 : 2區(qū) R0 R7 1 1 : 3區(qū)

12、 R0 R7,OV(PSW.2) 溢出標(biāo)志位: 判斷有符號(hào)數(shù)(補(bǔ)碼)加減法運(yùn)算時(shí)是否有溢出. OV的結(jié)果可以用一個(gè)算法來表示: OV=CP異或CS 其中:CP為A7的進(jìn)位,CS為A6的進(jìn)位OV=1表明有溢出。 P(PSW.0)奇偶標(biāo)志位: 用來標(biāo)志累加器A中運(yùn)算后1的個(gè)數(shù)。 當(dāng)P=1時(shí),表明A中1的個(gè)數(shù)為奇數(shù)個(gè),反之為偶數(shù)個(gè)。 【舉例】:有兩個(gè)數(shù)0FH和F8H,試將兩數(shù)相加 MOV A,#0FH ;將立即數(shù)0f h 送累加器A ADD A,#0F 8H ;A的內(nèi)容與立即數(shù)0f8h相加,結(jié)果送A 0000 1111 運(yùn)算結(jié)果:A=07H,CY=1(既CP=1), + 1111 1000 CS=1

13、,OV=0(因?yàn)镃P=1,CS=1) Cy1 0000 0111 AC=1,P=1 如何根據(jù)PSW來分析運(yùn)算結(jié)果是否正確?是否有溢出? 1,若數(shù)據(jù)為無符號(hào)數(shù)。既15+248=263=107H 既CY=1,A=07H。 2,若數(shù)據(jù)為有符號(hào)數(shù)。既+15加-8=+7=07H,OV=0表明無溢出。,2、指針寄存器 (1)程序計(jì)數(shù)器PC 指明即將執(zhí)行的下一條指令的地址(程序存儲(chǔ)器地址),在物理上獨(dú)立,復(fù)位時(shí)PC = 0000H。 (2)堆棧指針SP 指明棧頂元素的地址,8位,可軟件設(shè)置初值,復(fù)位時(shí)SP = 07H。注意壓棧和出棧SP的變化。 (3)數(shù)據(jù)指針DPTR DPTR;指明訪問的數(shù)據(jù)存儲(chǔ)器的單元地

14、址,16位,尋址范圍64KB。 DPTR = DPH + DPL,也可單獨(dú)使用。,SP 堆棧指針:8位寄存器,用來指示堆棧的位置,可由軟件修改。在MCS-51單片機(jī)的設(shè)計(jì)中,片內(nèi)RAM區(qū)為堆棧的可用空間。上電或復(fù)位時(shí),SP被初始化為07H,既堆棧底部被確定在RAM的07H單元。 堆棧操作過程: 進(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,08H 07H,RAM,x,累加器A

15、,堆棧操作示意圖,3、并行輸入/輸出端口 寄存器P0、P1、P2、P3實(shí)為相應(yīng)端口鎖存器。 4、串行輸入/輸出端口 (1)串行數(shù)據(jù)緩沖器 SBUF 是物理上獨(dú)立的兩個(gè)寄存器,共同使用一個(gè)地址(99H)。 (2)串行控制/狀態(tài)寄存器SCON 控制監(jiān)視串行口的工作狀態(tài) (3)電源控制寄存器PCON 控制單片機(jī)的低功耗工作方式及波特率選擇。,5、中斷系統(tǒng) (1)中斷優(yōu)先級(jí)寄存器IP:2級(jí)優(yōu)先,可軟件設(shè)定 (2)中斷允許寄存器IE 6、定時(shí)/計(jì)數(shù)器 (1)定時(shí)器方式寄存器:TMOD (2)定時(shí)器控制寄存器:TCON (3)計(jì)數(shù)寄存器:TH0、TL0;TH1、TL1??捎糜谠O(shè)定計(jì)數(shù)初值。,時(shí)鐘的基本概念

16、 啟動(dòng)單片機(jī)后,指令執(zhí)行順序:,2-3 CPU時(shí)序,單片機(jī)工作的基本時(shí)序,所謂時(shí)序就是CPU總線信號(hào)在時(shí)間上的順序關(guān)系。 CPU控制器實(shí)際上是復(fù)雜的同步時(shí)序電路,所有的工作都是在時(shí)鐘信號(hào)的控制下進(jìn)行的。每執(zhí)行一條指令,CPU控制器都要發(fā)出一系列特定的控制信號(hào),這些控制信號(hào)在時(shí)間上的相互關(guān)系就是CPU的時(shí)序。 一個(gè)單片機(jī)系統(tǒng)要想正常工作,除了要做到電平匹配、功率匹配外,還要做到時(shí)序匹配。,以上是單周期單字節(jié)指令在執(zhí)行過程中ALE脈沖、取指 操作、執(zhí)行操作等在時(shí)間上的先后關(guān)系。 時(shí)序的定義: 單片機(jī)內(nèi)的各種操作都是在一系列脈沖控制下進(jìn)行的,而各脈沖在時(shí)間上是有先后順序的,這種順序就稱為時(shí)序。 指令

17、周期:即從取指到執(zhí)行完,所需時(shí)間。 不同機(jī)器指令周期不一樣;即使相同機(jī)器,不同的 指令其指令周期也不一樣。 機(jī)器周期:機(jī)器的基本操作周期。一個(gè)指令周期含若干機(jī)器周 期(單、雙、四周期),每個(gè)狀態(tài)周期含兩個(gè)振蕩周期,即相位P1、P2。 振蕩周期:由振蕩時(shí)鐘產(chǎn)生。 振蕩周期Tosc = 1/fosc 一個(gè)機(jī)器周期 = 12個(gè)振蕩周期 = 121/fosc 。 例如,若fosc = 12MHz,則一個(gè)機(jī)器周期 = 1s。,狀態(tài)周期:一個(gè)機(jī)器周期分6個(gè)狀態(tài)周期Si,指令的字節(jié)數(shù)與指令周期之間的關(guān)系: 在MCS-51單片機(jī)的指令系統(tǒng)中有: 單字節(jié); 雙字節(jié); 三字節(jié)指令。 在MCS-51的111條指令中

18、,可以分為六種基本的時(shí)序: 1,單字節(jié)單周期指令; 4,雙字節(jié)單周期指令; 2,單字節(jié)雙周期指令; 5,雙字節(jié)雙周期指令; 3,單字節(jié)四周期指令; 6,三字節(jié)雙周期指令.,指令特點(diǎn):在程序存儲(chǔ)器ROM中僅占一個(gè)存儲(chǔ)單元。 在ALE第一次有效(S1P2)時(shí),從ROM中讀取指令的操作碼,送入指令寄存器IR中.并譯碼執(zhí)行,在ALE第二次有效時(shí),封鎖PC加一,使第二次讀數(shù)無效.可見: 1, ALE信號(hào)對(duì)應(yīng)著從ROM中讀指令,所以在一個(gè)機(jī)器周期中CPU可以讀兩次指令; 2,對(duì)于單字節(jié)單周期的指令,CPU通過譯碼后封死PC,實(shí)際上指令的后半部不做任何工作.,單字節(jié)單周期指令的時(shí)序:,機(jī)器周期,讀操作碼一,

19、讀操作無效,ALE,返回,S1,S2,S6,S5,S4,S3,指令特點(diǎn):一條指令長度為兩個(gè)字節(jié),并存儲(chǔ)在ROM相鄰的兩個(gè)單元中。要想完整的將這樣的指令執(zhí)行完,必須從ROM中讀兩次操作碼. 在ALE第一次有效時(shí),CPU 從ROM的n單元中取出指令的第一個(gè)字節(jié)OP1-1,并送入IR譯碼,通過譯碼CPU知道這是一條雙字節(jié)指令,所以使PC加一,并在ALE第二次有效時(shí),從ROM的n+1單元取出指令的第二個(gè)字節(jié)OP1-2送入IR進(jìn)行譯碼,并產(chǎn)生對(duì)應(yīng)的操作.最后在S6P2時(shí)完成本條指令的運(yùn)行.,S1,S2,S6,S5,S4,S3,機(jī)器周期,讀操作碼一,讀操作碼二,OP1-2,OP1-1,n+1 n,程序ROM,PC,雙字節(jié)單周期指令時(shí)序,ALE,返回,指令特點(diǎn):單字節(jié), 需要兩個(gè)機(jī)器周期運(yùn)行.如: INC DPTR DPTR為兩個(gè)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. 人人文庫網(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)論