




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第二章第二章 單片微機的基本結(jié)構(gòu)單片微機的基本結(jié)構(gòu)浙江大學電氣學院彭勇剛第二章第二章 單片微機的基本結(jié)構(gòu)單片微機的基本結(jié)構(gòu)2.1 80C51單片微機的內(nèi)部結(jié)構(gòu)單片微機的內(nèi)部結(jié)構(gòu)單片機的單片機的8大部件:中央處理器(大部件:中央處理器(CPU)、數(shù)據(jù)存儲器)、數(shù)據(jù)存儲器(RAM)、程序存儲器()、程序存儲器(ROM/EPROM)、并行輸入)、并行輸入/輸出口(輸出口(P0口口-P3口)、串行口、定時口)、串行口、定時/計數(shù)器、中斷系計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。統(tǒng)及特殊功能寄存器??傊瑔纹瑱C是由總之,單片機是由片內(nèi)總線連接8大部件構(gòu)成。2.2 2.2 MCS-51MCS-51單片機的引腳及
2、片外總線結(jié)構(gòu)單片機的引腳及片外總線結(jié)構(gòu) 1.MCS-511.MCS-51單片機的引腳(單片機的引腳(4040引腳引腳 PDIPPDIP封裝)封裝)P0.0P0.7 8 P1.0P1.7 8 P2.0P2.7 8 P3.0P3.7 8引腳名稱引腳名稱 引腳個數(shù)引腳個數(shù)Vcc, GND 2XTAL1, XTAL2 2RESET 1EA/Vpp 1ALE/PROG 1PSEN 1片內(nèi)振蕩電路輸入片內(nèi)振蕩電路輸入/輸出端輸出端復位信號輸入端復位信號輸入端讀片外讀片外ROM控制端控制端 / 編程電源輸入端編程電源輸入端低低8位地址鎖存允位地址鎖存允許信號輸出端許信號輸出端 / 編編程脈沖輸入端程脈沖輸入
3、端讀片外程序存儲器讀片外程序存儲器選通信號輸出端選通信號輸出端4組組8位并行位并行I/O口口WRRDEAPSEN2、MCS-51單片機的片外單片機的片外三總線三總線結(jié)構(gòu)結(jié)構(gòu) 所謂總線所謂總線,就是連接單片機與系統(tǒng)就是連接單片機與系統(tǒng)中各部件的一組公共的信號線。中各部件的一組公共的信號線。2.3 80C51 CPU的結(jié)構(gòu)圖的結(jié)構(gòu)圖2.3 80C51 CPU的結(jié)構(gòu)和特點的結(jié)構(gòu)和特點2.3.1 CPU 2.3.1 CPU 的組成的組成 (1)運算器)運算器v 8 8位算術邏輯運算單元位算術邏輯運算單元ALUv 累加器累加器A(ACC) v 寄存器寄存器B v 程序狀態(tài)字寄存器程序狀態(tài)字寄存器PSW
4、(2 2)控制器)控制器v 程序計數(shù)器程序計數(shù)器PC v 堆棧指針堆棧指針SPv 數(shù)據(jù)指針數(shù)據(jù)指針DPTRv 指令寄存器指令寄存器IR v 定時與控制邏輯定時與控制邏輯完成算術運算、邏完成算術運算、邏輯運算和輯運算和位操作位操作。a、以主振頻率為基準產(chǎn)生時鐘以主振頻率為基準產(chǎn)生時鐘信號,控制取指令、執(zhí)行指令、信號,控制取指令、執(zhí)行指令、存取操作數(shù)或運算結(jié)果等操作。存取操作數(shù)或運算結(jié)果等操作。b、向其他部件發(fā)出各種微控制向其他部件發(fā)出各種微控制信號,使各部件自動協(xié)調(diào)工作。信號,使各部件自動協(xié)調(diào)工作。 是程序中最繁忙的特殊功能寄存器,是程序中最繁忙的特殊功能寄存器,功能是向功能是向ALUALU提供
5、操作數(shù)、存放運算的提供操作數(shù)、存放運算的中間結(jié)果、數(shù)據(jù)傳送的中轉(zhuǎn)站。中間結(jié)果、數(shù)據(jù)傳送的中轉(zhuǎn)站。 主要用于乘、除運算主要用于乘、除運算8 8位寄存器,用于存放指令執(zhí)行狀態(tài),位寄存器,用于存放指令執(zhí)行狀態(tài),供程序查詢和判斷供程序查詢和判斷 8 8位專用寄存器,存放堆棧棧頂存位專用寄存器,存放堆棧棧頂存儲單元的地址儲單元的地址 向存儲器向存儲器裝入程序裝入程序執(zhí)行指令執(zhí)行指令取指令取指令執(zhí)行指令執(zhí)行指令從存儲器中從存儲器中取出指令取出指令,對指令進行譯碼,明確對指令進行譯碼,明確該指令執(zhí)行該指令執(zhí)行何種操作何種操作,以及操作數(shù)的存放以及操作數(shù)的存放地址地址,再根據(jù)這個地址獲取操再根據(jù)這個地址獲取操
6、作數(shù)作數(shù)按操作碼指明的操作類型對按操作碼指明的操作類型對獲取的操作數(shù)進行操作獲取的操作數(shù)進行操作 單片機最小系統(tǒng)指單片機正常工作需要的單片機最小系統(tǒng)指單片機正常工作需要的最少元件,最少元件, 以一以以一以AT89C51AT89C51最小系統(tǒng)為例,常最小系統(tǒng)為例,常為為4 4部分:部分:工作電源、時鐘電路、復位電路、存工作電源、時鐘電路、復位電路、存儲器設置電路。儲器設置電路。 單片機硬件系統(tǒng)通常以最小系統(tǒng)作為基本部分,單片機硬件系統(tǒng)通常以最小系統(tǒng)作為基本部分,配以不同的外圍電路,實現(xiàn)不同的電路功能。配以不同的外圍電路,實現(xiàn)不同的電路功能。單片機最小控制系統(tǒng)的結(jié)構(gòu)圖單片機最小控制系統(tǒng)的結(jié)構(gòu)圖 X
7、1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1CPURAMROM中斷系統(tǒng)中斷系統(tǒng)串行口串行口并并 行行 口口定時計數(shù)器定時計數(shù)器振蕩電路振蕩電路T0 T1外設外設 外設外設 外設外設RST+5V單片機最小硬件系統(tǒng)單片機最小硬件系統(tǒng) CPURAMROM定時定時中斷中斷串口串口CBP2P3P1P0P0P2P3P1鎖鎖存存器器 ALE單片機擴展系統(tǒng)的結(jié)構(gòu)圖單片機擴展系統(tǒng)的結(jié)構(gòu)圖RST+5V X1 X2ABDB存儲器I/O口外設用于產(chǎn)生單片機工作所需要的時鐘信號用于產(chǎn)生單片機工作所需要的時鐘信號單片機芯片內(nèi)部有一個高增益反向放大器,通過引腳單片機芯片內(nèi)部有一個高增益反向放大器,通
8、過引腳XTAL1和和XTAL2,接,接晶體振蕩器晶體振蕩器CYS和微調(diào)電容器和微調(diào)電容器C1、C2形成反饋電路(通常取值在形成反饋電路(通常取值在2030pF),構(gòu)成穩(wěn)),構(gòu)成穩(wěn)定的自激振蕩器并產(chǎn)生振蕩脈沖。定的自激振蕩器并產(chǎn)生振蕩脈沖。 外部振蕩方式外部振蕩方式:引入外部:引入外部脈沖信號作為單片機的振脈沖信號作為單片機的振蕩脈沖,對于蕩脈沖,對于80C5180C51單片單片機而言,這時機而言,這時外部脈沖信外部脈沖信號是經(jīng)號是經(jīng)XTAL1XTAL1引腳注入引腳注入,而而XTAL2XTAL2引腳懸空引腳懸空,這種,這種方式常用于多塊芯片同時方式常用于多塊芯片同時工作,這樣便于同步。工作,這樣
9、便于同步。1、節(jié)拍與狀態(tài)、節(jié)拍與狀態(tài) 把振蕩脈沖的周期定義為節(jié)拍(用把振蕩脈沖的周期定義為節(jié)拍(用“P”表示)。振蕩脈表示)。振蕩脈沖經(jīng)過二分頻后,就是單片機的時鐘信號,把時鐘信號的周沖經(jīng)過二分頻后,就是單片機的時鐘信號,把時鐘信號的周期定義為狀態(tài)(用期定義為狀態(tài)(用“S”表示)。這樣,一個狀態(tài)就包含兩個表示)。這樣,一個狀態(tài)就包含兩個拍節(jié),其前半周期對應的節(jié)拍叫節(jié)拍拍節(jié),其前半周期對應的節(jié)拍叫節(jié)拍1(P1),后半周期對應),后半周期對應的節(jié)拍叫節(jié)拍的節(jié)拍叫節(jié)拍2(P2)。)。2、機器周期、機器周期 規(guī)定一個機器周期的寬度為規(guī)定一個機器周期的寬度為6個狀態(tài),并依次表示為:個狀態(tài),并依次表示為:
10、S1S6。由于一個狀態(tài)又包括兩個節(jié)拍,因此一個機器周期。由于一個狀態(tài)又包括兩個節(jié)拍,因此一個機器周期總共有總共有12個節(jié)拍,分別記作個節(jié)拍,分別記作S1P1 、S1P2、S6P12。由。由于一個機器周期共有于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是個振蕩脈沖周期,因此機器周期就是振蕩頻率的十二分頻。振蕩頻率的十二分頻。 2.3.3.2時序與時序定時單位時序與時序定時單位3、指令周期、指令周期 指令周期是最大的時序定時單位,執(zhí)行一條指指令周期是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱之為指令周期。指令周期以機器令所需要的時間稱之為指令周期。指令周期以機器周期的數(shù)目來表示,周期的
11、數(shù)目來表示,MCS51的指令周期根據(jù)指的指令周期根據(jù)指令的不同,可包含有一(單周期)、二(雙周期)、令的不同,可包含有一(單周期)、二(雙周期)、三或四個機器周期。三或四個機器周期。 指令的運算速度和指令所包含的機器周期數(shù)指令的運算速度和指令所包含的機器周期數(shù)有關,機器周期數(shù)越少的指令執(zhí)行速度越快。有關,機器周期數(shù)越少的指令執(zhí)行速度越快。 例如當振蕩脈沖頻率為例如當振蕩脈沖頻率為12MHz時,一個機器時,一個機器周期為周期為1微秒,當振蕩脈沖頻率為微秒,當振蕩脈沖頻率為6MHz時,一個時,一個機器周期為機器周期為2微秒。微秒。 對于振蕩脈沖頻率為對于振蕩脈沖頻率為12MHz的的單周期指令、雙周
12、期指令、三周期指令和四周期指單周期指令、雙周期指令、三周期指令和四周期指令其指令的執(zhí)行時間分別為:令其指令的執(zhí)行時間分別為: 1微秒、微秒、2微秒、微秒、3微微秒和秒和4微秒。微秒。 各種周期之間的關系P1P2S1振蕩周期狀態(tài)周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2時序要點: 一個指令周期一個指令周期1,2或者或者4個機器周期個機器周期 一個機器周期一個機器周期12個晶振周期個晶振周期 一個機器周期輸出兩個一個機器周期輸出兩個ALE脈沖脈沖即:即: ALE
13、的輸出頻率的輸出頻率fALE(1/6)fOSC 如果使用晶振頻率為如果使用晶振頻率為12MHZ,則則fALE 2MHZ,指令執(zhí)行時間指令執(zhí)行時間1,2,4微秒。微秒。例:單片機外接晶振頻率例:單片機外接晶振頻率12MHZ時,求時,求各時序單位的值。各時序單位的值。1/fosc=1/12MHZ=0.0833us2/fosc=2/12MHZ=0.1667us12/fosc=12/12MHZ=1us(14)機器周期)機器周期=14 us2021-10-1720a)單字節(jié)單周期;b)雙字節(jié)單周期指令;c)單字節(jié)雙周期字節(jié);d)單字節(jié)雙周期指令2021-10-1721時序的共同點:時序的共同點: 每一次
14、每一次ALEALE信號有效,信號有效,CPUCPU均從均從ROMROM中讀取指令碼中讀取指令碼(包(包括操作碼和操作數(shù)),但不一定有效,讀了之后再丟棄(假括操作碼和操作數(shù)),但不一定有效,讀了之后再丟棄(假讀)。讀)。 有效時,有效時,PC+1PCPC+1PC(程序計數(shù)器(程序計數(shù)器PCPC加加1 1);無效時不無效時不變變。其余時間用于執(zhí)行指令操作功能,但在時序中沒有完全。其余時間用于執(zhí)行指令操作功能,但在時序中沒有完全反映出。如雙字節(jié)單機器周期,分別在反映出。如雙字節(jié)單機器周期,分別在S1S1、S4S4讀操作碼和操讀操作碼和操作數(shù),執(zhí)行指令就一定在作數(shù),執(zhí)行指令就一定在S2S2、S3 S3
15、 、S5 S5 、S6S6中完成。中完成。復位操作通常有兩種基本形式:上電自動復位、手動按鍵復位復位操作通常有兩種基本形式:上電自動復位、手動按鍵復位接通電源后自動接通電源后自動實現(xiàn)復位操作實現(xiàn)復位操作電源接通的條件下,在單電源接通的條件下,在單片機運行期間,用按鈕開片機運行期間,用按鈕開關操作使單片機復位關操作使單片機復位使系統(tǒng)回復到使系統(tǒng)回復到初始狀態(tài)初始狀態(tài)的操作的操作單片機復位后的狀態(tài)單片機復位后的狀態(tài)寄存器寄存器復位狀態(tài)復位狀態(tài)寄存器寄存器復位狀態(tài)復位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR00
16、00HTL100HP0P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H存儲器結(jié)構(gòu)和地址空間存儲器結(jié)構(gòu)和地址空間計算機的兩種不同結(jié)構(gòu)計算機的兩種不同結(jié)構(gòu)馮馮諾依曼型:諾依曼型:中央處理器中央處理器(CPUCPU)輸入輸入/輸出輸出部件部件存存儲儲器器邏輯部件邏輯部件(ALU)控制部件控制部件計算機的兩種不同結(jié)構(gòu)計算機的兩種不同結(jié)構(gòu)哈佛型:哈佛型:中央處理器中央處理器(CPUCPU)輸入輸入/輸出輸出部件部件程序存儲器程序存儲器邏輯部件邏輯部件(ALU)控制部件控制部件數(shù)據(jù)存儲器數(shù)據(jù)存儲器單片機的存儲器單片機的存儲器幾個有關
17、的概念:幾個有關的概念: 計算機中的存儲器就是一個用來存放貨物計算機中的存儲器就是一個用來存放貨物(包括數(shù)據(jù)和程序)的倉庫,倉庫中有很多用(包括數(shù)據(jù)和程序)的倉庫,倉庫中有很多用來存放貨物(數(shù)據(jù))的貨架,貨架分成很多格來存放貨物(數(shù)據(jù))的貨架,貨架分成很多格子,格子的大小是子,格子的大小是1 1個字節(jié),這就是存儲器中的個字節(jié),這就是存儲器中的存儲單元存儲單元。 在這個倉庫中存放數(shù)據(jù)可以一個字節(jié)一個在這個倉庫中存放數(shù)據(jù)可以一個字節(jié)一個字節(jié)的放、也可以一個位一個位的放,為了存字節(jié)的放、也可以一個位一個位的放,為了存取貨物(數(shù)據(jù))方便,每個格子都有一個編號,取貨物(數(shù)據(jù))方便,每個格子都有一個編號,
18、這個編號被稱為地址,即這個編號被稱為地址,即存儲單元地址存儲單元地址,地址地址用一個用一個2 2位或位或4 4位的十六進制數(shù)來表示。位的十六進制數(shù)來表示。MCS51單片機單片機存儲器結(jié)構(gòu)及地址空間存儲器結(jié)構(gòu)及地址空間 程序存儲器的0000H-002AH共43個單元用作存儲特定程序的入口地址。 0000H-0002H這3個單元是系統(tǒng)的啟動單元; 0003H-002AH共40個單元是中斷服務程序地址區(qū),它被分為五段,每段8個單元,分別分配給5個中斷源: 0003H-000AH 外部中斷0中斷服務程序地址區(qū); 000BH-OO12H 定時/計數(shù)器0中斷服務程序地址區(qū); 0013H-001AH 外部中
19、斷1中斷服務程序地址區(qū); 001BH-0022H 定時/計數(shù)器1中斷服務程序地址區(qū); 0023H-002AH 串行口中斷服務程序地址區(qū)。2FH2FH存儲器配置存儲器配置(片內(nèi)片內(nèi)RAM):片內(nèi)片內(nèi)RAM 128字節(jié)字節(jié)(00H7FH)00H00H20H20H7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SFR分布在分布在80H-FFH其中其中92個位個位可位尋址可位尋址80H80HFFHFFH所有的所有的RAMRAM區(qū)區(qū)( (包括工包括工作寄存器區(qū)、位尋址作寄存器區(qū)、位尋址區(qū)、通用區(qū)、
20、通用RAMRAM區(qū))都可區(qū))都可以用于存放據(jù)。以用于存放據(jù)。80C51 128128字節(jié)字節(jié)特殊功能特殊功能寄存器區(qū)寄存器區(qū)128128字節(jié)字節(jié)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)工作寄存器區(qū)3工作寄存器區(qū)工作寄存器區(qū)2工作寄存器區(qū)工作寄存器區(qū)1工作寄存器區(qū)工作寄存器區(qū)00FH10H17H18H00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)存儲器配置存儲器配置(片內(nèi)片內(nèi)RAM):1F
21、H1FH存儲器配置存儲器配置(片內(nèi)片內(nèi)RAM)00H00H20H20H2FH2FH7FH7FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)7F 7E 7D 7C 7B 7A 79 7827H22H21H20H26H24H25H23H28H2FH單元字節(jié)地址單元字節(jié)地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2
22、D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 40位地址位地址MCS51MCS51單片機的特殊功能寄存器單片機的特殊功能寄存器(SFR):特殊功能寄存器特殊功能寄存器SFR(專用寄存器)(專用寄存器)是一類專門用于是一類專門用于控制、選擇、管理、存放控制、選擇、管理、存放單片機內(nèi)部單片機內(nèi)部各部分的各部分的工作方式、條件、狀態(tài)、結(jié)果工作方式、條件、狀態(tài)、結(jié)果的寄存器的寄存器。特殊功能寄存器特殊功能寄存器(SFR)80C51有有21個個SFR與與CPU相關的寄存器相關的寄存器A
23、CC,B,PSW,SP,DPTR (DPH,DPL)與與I/O口相關的寄存器口相關的寄存器P0,P1,P2,P3 ;SCON,SBUF,PCON 與中斷相關的寄存器與中斷相關的寄存器IE,IP 與定時與定時/計數(shù)器相關寄存器計數(shù)器相關寄存器TMOD,TCON,T0,T1 各特殊功能寄存器的符號及地址表各特殊功能寄存器的符號及地址表標識符名 稱地址*Acc累加器E0H*BB寄存器F0H*PSW程序狀態(tài)字D0HSP堆棧指針81HDPTR數(shù)據(jù)指針(DPH和DPL)82H,83H*P0口080H*P1口190H*P2口2A0H*P3口3B0H*IP中斷優(yōu)先級寄存器B8H*IE中斷控制寄存器A8HTMO
24、D定時器方式寄存器89H*TCON定時器控制寄存器88H標識符名 稱地址TH0計數(shù)器0高位8CHTL0計數(shù)器0低位8AHTH1計數(shù)器1高位8DHTL1計數(shù)器1低位8BH*SCON串行口控制98HSBUF串行數(shù)據(jù)緩沖器99HPCON電源控制97H位地址的表示法例: 位名稱位名稱 CY CY 、RS0RS0n 寄存器名加序號寄存器名加序號 PSW.7PSW.7n ACC.1 ACC.1 字節(jié)地址加序號字節(jié)地址加序號 20H.320H.3n 直接位地址直接位地址 00H00H第二章 2 - 37特殊功能寄存器地址空間特殊功能寄存器地址空間特殊功能寄存器特殊功能寄存器(A、B、 P0P3、SP):P0
25、、P1、P2、P3等四個等四個8位位I/O口口分別由名為分別由名為P0、P1、P2、P3四個四個SFR代表。代表。 SP(Stack Pointer): 總是指向堆棧的棧頂。總是指向堆棧的棧頂。累加器累加器 ACC: 8 8位寄存器,地址:位寄存器,地址:E0HE0H,具有位尋址能力。用,具有位尋址能力。用于數(shù)據(jù)傳送中存放中間數(shù)據(jù)、數(shù)學邏輯運算中存放運算數(shù)據(jù)于數(shù)據(jù)傳送中存放中間數(shù)據(jù)、數(shù)學邏輯運算中存放運算數(shù)據(jù), ,是數(shù)據(jù)傳送的中轉(zhuǎn)站。是數(shù)據(jù)傳送的中轉(zhuǎn)站。 寄存器寄存器B: :經(jīng)常與經(jīng)常與 ACC ACC 配合在一起使用的特殊功能寄存器配合在一起使用的特殊功能寄存器( (乘法、乘法、除法中存放另
26、一個運算數(shù)據(jù)除法中存放另一個運算數(shù)據(jù)) ),此外,它也經(jīng)常當作普通寄存,此外,它也經(jīng)常當作普通寄存器使用。器使用。程序狀態(tài)字存儲器程序狀態(tài)字存儲器(PSW):程序狀態(tài)字存儲器程序狀態(tài)字存儲器 PSW: 用于存放在程序執(zhí)行過程中產(chǎn)生的一用于存放在程序執(zhí)行過程中產(chǎn)生的一些特殊狀態(tài)些特殊狀態(tài)(進位、溢出、借位等進位、溢出、借位等)。CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5CY(PSW.7)進位進位/借位標志位借位標志位。若若ACC在運算過程中發(fā)生了進在運算過程中發(fā)生了進位或借位,則位或借位,則CY=1;否則;否則=0。同時它也是布爾處理器的位累。同時它也是布爾處理器的位
27、累加器,可用于布爾操作加器,可用于布爾操作,即位操作。即位操作。F0 (PSW.5)可由用戶定義的標志位??捎捎脩舳x的標志位。程序狀態(tài)字存儲器程序狀態(tài)字存儲器(PSW):RS1和和RS0: RS1和和RS0的組合用于對工作寄存器區(qū)進行選擇的組合用于對工作寄存器區(qū)進行選擇。CYACF0RS0OVPRS1PSW.7PSW.0PSW.4PSW.3RS1,RS0 = 0 0 則選擇了工作寄存器組則選擇了工作寄存器組 0 區(qū)區(qū)R0R7,分別,分別代表代表00H 07H單元。單元。RS1,RS0 = 0 1 則選擇了工作寄存器組則選擇了工作寄存器組 1 區(qū)區(qū)R0R7,分別,分別代表代表08H 0FH單元
28、。單元。RS1,RS0 = 1 0 則選擇了工作寄存器組則選擇了工作寄存器組 2 區(qū)區(qū) R0R7,分別分別代表代表10H 17H單元。單元。RS1,RS0 = 1 1 則選擇了工作寄存器組則選擇了工作寄存器組 3 區(qū)區(qū)R0R7,分別,分別代表代表18H 1FH單元。單元。PSW.6PSW.5程序狀態(tài)字存儲器程序狀態(tài)字存儲器(PSW):OV (PSW.2)溢出標志位溢出標志位。OV=1時特指累加器時特指累加器A在進行帶符號數(shù)在進行帶符號數(shù)(-128 +127)運算時出運算時出錯(超出范圍);錯(超出范圍);OV=0時未出錯。時未出錯。P (PSW.0)奇偶標志位奇偶標志位。P=1表示累加器表示累
29、加器A中中“1”的個數(shù)為奇數(shù)的個數(shù)為奇數(shù)P=0表示累加器表示累加器A中中“1”的個數(shù)為偶數(shù)的個數(shù)為偶數(shù)CPU隨時監(jiān)視著隨時監(jiān)視著ACC中的中的“1”的個數(shù)的個數(shù),并反映在并反映在PSW中中CYACF0RS0OVPRS1PSW.7PSW.0PSW.2PSW.1一個重要的寄存器一個重要的寄存器(PC):程序計數(shù)器程序計數(shù)器PC (Program Counter)PC 不是不是一個特殊功能寄存器一個特殊功能寄存器SFR,但其作用又十分重,但其作用又十分重要和特殊要和特殊! PC在計算機中用于對程序的執(zhí)行進行控制在計算機中用于對程序的執(zhí)行進行控制特點:特點:它是它是16位的按機器周期自動增位的按機器周
30、期自動增1計數(shù)器計數(shù)器總指向下一條指令所在首地址總指向下一條指令所在首地址(當前當前PC值值)一切分支一切分支/跳轉(zhuǎn)跳轉(zhuǎn)/調(diào)用調(diào)用/中斷中斷/復位復位 等操作的本質(zhì)就等操作的本質(zhì)就是是:改變改變 PC 值值MCS51MCS51單片機的單片機的堆棧:堆棧:什么是什么是堆棧堆棧?在在片內(nèi)片內(nèi)RAMRAM中,常常要指定一個專門的區(qū)域來存放某些特別中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù)的數(shù)據(jù), , 它它只允許在其一端只允許在其一端進行數(shù)據(jù)的插入(寫入)和刪進行數(shù)據(jù)的插入(寫入)和刪除(讀出)操作,這端稱為除(讀出)操作,這端稱為棧頂,棧頂,SPSP始終指向棧頂,始終指向棧頂,它遵它遵循循先進
31、后出先進后出和和后進先出后進先出(LIFO/FILO)(LIFO/FILO)的原則的原則, ,這個這個RAMRAM區(qū)叫區(qū)叫堆堆棧棧,堆棧的另外一端稱為堆棧的另外一端稱為棧底棧底。堆棧堆棧的作用是什么?的作用是什么?1)子程序調(diào)用和中斷服務時)子程序調(diào)用和中斷服務時CPU自動自動將將當前當前PC值入棧保存值入棧保存,返回時自動將返回時自動將出棧出棧,將原來保存過,將原來保存過PC值復原值復原。2)保護現(xiàn)場)保護現(xiàn)場/恢復現(xiàn)場恢復現(xiàn)場3)數(shù)據(jù)傳輸)數(shù)據(jù)傳輸MCS51MCS51單片機的單片機的堆棧:堆棧:堆棧區(qū)通過特殊功能寄存器堆棧區(qū)通過特殊功能寄存器SP(堆棧指針堆棧指針)進行進行管管理(理(SP
32、始終指向堆棧的棧頂始終指向堆棧的棧頂),堆棧區(qū)可以安排),堆棧區(qū)可以安排在在 RAM區(qū)任意位置,但為了防止數(shù)據(jù)區(qū)的沖突,區(qū)任意位置,但為了防止數(shù)據(jù)區(qū)的沖突,所以一般不安排在片內(nèi)所以一般不安排在片內(nèi)RAM的工作寄存器區(qū)和位的工作寄存器區(qū)和位尋址區(qū),通常放在片內(nèi)尋址區(qū),通常放在片內(nèi)RAM的通用的通用RAM區(qū)。區(qū)。1FH30H20H2FHMCS51MCS51單片機的單片機的堆棧的操作:堆棧的操作:00H7FH80HFFH52子系列子系列才有的才有的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)初始初始SPSP棧頂棧頂將要進入堆將要進入堆棧的數(shù)據(jù)存棧的數(shù)據(jù)存放于此放于此數(shù)據(jù)數(shù)據(jù)進棧進棧1FH30H20H
33、2FHMCS51MCS51單片機的單片機的堆棧:堆棧:00H7FH80HFFH52子系列子系列才有的才有的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)初始初始SPSP棧頂棧頂出棧出棧:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動減再自動減1 1,按照這樣的規(guī)則,取,按照這樣的規(guī)則,取棧頂數(shù)據(jù),棧頂數(shù)據(jù), SPSP再自動減再自動減1 1 當前要出棧當前要出棧的數(shù)據(jù)的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧1FH30H20H2FHMCS51MCS51單片機的單片機的堆棧:堆棧:00H7FH80HFFH52子系列子系列才有的才有
34、的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)初始初始SPSP棧頂棧頂數(shù)據(jù)數(shù)據(jù)出棧出棧SP-1指向新的指向新的棧頂,也就是棧頂,也就是下一個要出棧下一個要出棧的數(shù)據(jù)的數(shù)據(jù)出棧出棧:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動減再自動減1 1,按照這樣的規(guī)則,取,按照這樣的規(guī)則,取棧頂數(shù)據(jù),棧頂數(shù)據(jù), SPSP再自動減再自動減1 1 2.5 80C51并行輸入并行輸入/輸出端口輸出端口 P0口 P1口 P2口 P3口2.5 80C51的并行口結(jié)構(gòu)與操作2.5.1 P0口的結(jié)構(gòu)口的結(jié)構(gòu) 一、一、 P0口的結(jié)
35、構(gòu)口的結(jié)構(gòu)控制位C0: P0用作通用用作通用I/O口口1: P0用作地址用作地址/數(shù)據(jù)總線數(shù)據(jù)總線1 1、 P0P0用作通用用作通用I/OI/O口口 當系統(tǒng)不進行片外的當系統(tǒng)不進行片外的ROM擴展,也不進擴展,也不進行片外行片外RAM擴展時擴展時,P0用作通用用作通用I/O口口。 在這種情況下,單片機硬件自動使在這種情況下,單片機硬件自動使C=0,MUX開關接向鎖存器的反相輸出端。開關接向鎖存器的反相輸出端。 另外,與門輸出的另外,與門輸出的“0”使輸出驅(qū)動器的上使輸出驅(qū)動器的上拉場效應管拉場效應管T1處于截止狀態(tài)。因此,輸出驅(qū)處于截止狀態(tài)。因此,輸出驅(qū)動級工作在動級工作在需外接上拉電阻需外接
36、上拉電阻的的漏極開路漏極開路方式。方式。v作輸出口時,作輸出口時,CPU執(zhí)行口的輸出指令,內(nèi)執(zhí)行口的輸出指令,內(nèi)部數(shù)據(jù)總線上的數(shù)據(jù)在部數(shù)據(jù)總線上的數(shù)據(jù)在“寫鎖存器寫鎖存器”信號的信號的作用下由作用下由D端進入鎖存器,經(jīng)鎖存器的反向端進入鎖存器,經(jīng)鎖存器的反向端送至場效應管端送至場效應管T2,再經(jīng),再經(jīng)T2反向,在反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。引腳出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。v作輸入口時,數(shù)據(jù)可以讀自口的鎖存器,作輸入口時,數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作也可以讀自口的引腳。這要根據(jù)輸入操作采用的是采用的是“讀鎖存器讀鎖存器”指令還是指令還是
37、“讀引腳讀引腳”指令來決定。指令來決定。 執(zhí)行執(zhí)行“讀讀修改修改寫寫”類輸入指令類輸入指令時(如:時(如:ANL P0,A),內(nèi)部產(chǎn)生的),內(nèi)部產(chǎn)生的“讀鎖存器讀鎖存器”操作信號,使鎖存器操作信號,使鎖存器Q端數(shù)據(jù)進入內(nèi)部數(shù)據(jù)總線,在與累加端數(shù)據(jù)進入內(nèi)部數(shù)據(jù)總線,在與累加器器A進行邏輯運算之后,結(jié)果又送回進行邏輯運算之后,結(jié)果又送回P0的口鎖存器并出現(xiàn)在引腳。的口鎖存器并出現(xiàn)在引腳。讀口鎖存器可以避免因外部電路原因使讀口鎖存器可以避免因外部電路原因使原口引腳的狀態(tài)發(fā)生變化造成的誤讀。原口引腳的狀態(tài)發(fā)生變化造成的誤讀。 在執(zhí)行在執(zhí)行“MOV”MOV”類輸入指令時(如:類輸入指令時(如:MOV M
38、OV A A,P0P0),內(nèi)部產(chǎn)生的操作信號是),內(nèi)部產(chǎn)生的操作信號是“讀引讀引腳腳”。注意,在。注意,在執(zhí)行該類輸入指令前要先把執(zhí)行該類輸入指令前要先把鎖存器寫入鎖存器寫入“1”1”,使場效應管,使場效應管T2T2截止,使截止,使引腳處于懸浮狀態(tài),可以作為高阻抗輸入。引腳處于懸浮狀態(tài),可以作為高阻抗輸入。 否則,在作為輸入方式之前曾向鎖存器輸否則,在作為輸入方式之前曾向鎖存器輸出過出過“0”0”,則,則T2T2導通會使引腳箝位在導通會使引腳箝位在“0”0”電平,使輸入高電平電平,使輸入高電平“1”1”無法讀入。無法讀入。所以,所以,P0P0口在作為通用口在作為通用I/OI/O口時,屬于準雙向
39、口口時,屬于準雙向口。2、P0用作地址用作地址/數(shù)據(jù)總線數(shù)據(jù)總線 當系統(tǒng)進行片外的當系統(tǒng)進行片外的ROM擴展或進行擴展或進行片外片外RAM擴展,擴展,P0用作地址用作地址/數(shù)據(jù)總線數(shù)據(jù)總線時時。 在這種情況下,單片機內(nèi)硬件自動使在這種情況下,單片機內(nèi)硬件自動使C=1,MUX開關接向反相器的輸出端,開關接向反相器的輸出端,這時與門的輸出由地址這時與門的輸出由地址/數(shù)據(jù)線的狀態(tài)決數(shù)據(jù)線的狀態(tài)決定。定。vCPU在執(zhí)行輸出指令時,低在執(zhí)行輸出指令時,低8位地址信息和位地址信息和數(shù)據(jù)信息分時地出現(xiàn)在地址數(shù)據(jù)信息分時地出現(xiàn)在地址/數(shù)據(jù)總線上。數(shù)據(jù)總線上。P0.X引腳的狀態(tài)與地址引腳的狀態(tài)與地址/數(shù)據(jù)線的信
40、息相同。數(shù)據(jù)線的信息相同。vCPU在執(zhí)行輸入指令時,首先低在執(zhí)行輸入指令時,首先低8位地址信位地址信息出現(xiàn)在地址息出現(xiàn)在地址/數(shù)據(jù)總線上,數(shù)據(jù)總線上,P0.X引腳的狀態(tài)與地引腳的狀態(tài)與地址址/數(shù)據(jù)總線的地址信息相同數(shù)據(jù)總線的地址信息相同。然后,。然后,CPU自動地使自動地使轉(zhuǎn)換開關轉(zhuǎn)換開關MUX撥向鎖存器,并向撥向鎖存器,并向P0口寫入口寫入FFH,同時,同時“讀引腳讀引腳”信號有效,信號有效,數(shù)據(jù)經(jīng)緩沖器數(shù)據(jù)經(jīng)緩沖器進入內(nèi)部數(shù)據(jù)總線進入內(nèi)部數(shù)據(jù)總線。 P0口作為地址口作為地址/數(shù)據(jù)總線使用時是一個真正數(shù)據(jù)總線使用時是一個真正的雙向口的雙向口。2.5.2 P2口的結(jié)構(gòu)口的結(jié)構(gòu) 控制位C0: P
41、2用作通用用作通用I/O口口1: P2用作地址總線用作地址總線1 1、 P2P2用作通用用作通用I/OI/O口口 當不在單片機芯片外部擴展程序存儲器,當不在單片機芯片外部擴展程序存儲器,只擴展只擴展256B的片外的片外RAM時,僅用到了地址線時,僅用到了地址線的低的低8位,位,P2口仍可以作為通用口仍可以作為通用I/O口使用口使用。 執(zhí)行輸出指令時,內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)在執(zhí)行輸出指令時,內(nèi)部數(shù)據(jù)總線的數(shù)據(jù)在“寫鎖寫鎖存器存器”信號的作用下由信號的作用下由D端進入鎖存器,經(jīng)反相器端進入鎖存器,經(jīng)反相器后送至場效應管后送至場效應管T,再經(jīng),再經(jīng)T反相,反相,在在P2.X引腳出現(xiàn)的引腳出現(xiàn)的數(shù)據(jù)正好是
42、內(nèi)部總線的數(shù)據(jù)數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。 P2口用作輸入時,數(shù)據(jù)可以讀自口的鎖存器,口用作輸入時,數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器讀鎖存器”指令還是指令還是“讀引腳讀引腳”指令來決定。指令來決定。 執(zhí)行執(zhí)行“讀讀修改修改寫寫”類輸入指令時內(nèi)部類輸入指令時內(nèi)部產(chǎn)生的產(chǎn)生的“讀鎖存器讀鎖存器”操作信號使鎖存器操作信號使鎖存器Q端端數(shù)據(jù)進入內(nèi)部數(shù)據(jù)總線,在與累加器數(shù)據(jù)進入內(nèi)部數(shù)據(jù)總線,在與累加器A進行進行邏輯運算之后,結(jié)果又送回邏輯運算之后,結(jié)果又送回P2的口鎖存器并的口鎖存器并出現(xiàn)在引腳。出現(xiàn)在引腳。 執(zhí)行執(zhí)
43、行“MOV”類輸入指令時,內(nèi)部產(chǎn)生的類輸入指令時,內(nèi)部產(chǎn)生的操作信號是操作信號是“讀引腳讀引腳”。應在執(zhí)行輸入指令。應在執(zhí)行輸入指令前要把鎖存器寫入前要把鎖存器寫入“1”,從而使引腳處高阻,從而使引腳處高阻抗輸入狀態(tài)??馆斎霠顟B(tài)。 P2口在作為通用口在作為通用I/O口時,屬于準雙向口口時,屬于準雙向口。 2 2、P2P2用作地址總線用作地址總線 當需要在單片機芯片外部擴展程序存當需要在單片機芯片外部擴展程序存儲器或擴展的儲器或擴展的RAM容量超過容量超過256字節(jié)時字節(jié)時,單片機內(nèi)硬件自動使控制單片機內(nèi)硬件自動使控制C=1,MUX開開關接向地址線,這時關接向地址線,這時P2.X引腳的狀態(tài)正引腳
44、的狀態(tài)正好與地址線的信息相同好與地址線的信息相同。2.5.3 P12.5.3 P1口口x x的結(jié)構(gòu)的結(jié)構(gòu) 一、一、 P1口的結(jié)構(gòu)口的結(jié)構(gòu) P1口由一個輸出鎖存器、兩個三態(tài)口由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路組成。輸出輸入緩沖器和輸出驅(qū)動電路組成。輸出驅(qū)動電路與驅(qū)動電路與P2口相同,內(nèi)部設有上拉電口相同,內(nèi)部設有上拉電阻。阻。 P1口是通用的準雙向口是通用的準雙向I/O口。輸出高口。輸出高電平時,能向外提供拉電流負載,不必電平時,能向外提供拉電流負載,不必再接上拉電阻。當口用作輸入時,須向再接上拉電阻。當口用作輸入時,須向口鎖存器寫入口鎖存器寫入1。2. P12. P1口的位結(jié)構(gòu)
45、與功能口的位結(jié)構(gòu)與功能1 1)P1P1口也是口也是個準雙向個準雙向I IO O口口2 2)應用:)應用:通常作一般通常作一般I/O口用口用,如如驅(qū)動驅(qū)動LED,連接按鍵連接按鍵RRRRRRRRP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7LED0LED1LED3LED2LED4LED5LED6LED789C51+5VSETB P1.0CLR P1.1MOV P1,#00HMOV P1,#0FFH2.5.4 P3口的結(jié)構(gòu)口的結(jié)構(gòu) P3用作通用用作通用I/O口:口:W=1P3用作第二功能:用作第二功能: Q=11 1、P3P3用作第一功能(通用用作第一功能(通用I/O口)口) 對
46、對P3口進行字節(jié)或位尋址時,單片機內(nèi)部的硬件口進行字節(jié)或位尋址時,單片機內(nèi)部的硬件自動將第二功能輸出線的自動將第二功能輸出線的W置置1。這時,對應的口線。這時,對應的口線為通用為通用I/O口方式??诜绞健輸出時,鎖存器的狀態(tài)(輸出時,鎖存器的狀態(tài)(Q端)與輸出引腳端)與輸出引腳的狀態(tài)相同;的狀態(tài)相同;v輸入時,要先向口鎖存器寫入輸入時,要先向口鎖存器寫入1,使引腳處,使引腳處于高阻輸入狀態(tài)。輸入的數(shù)據(jù)在于高阻輸入狀態(tài)。輸入的數(shù)據(jù)在“讀引腳讀引腳”信號的作用下,進入內(nèi)部數(shù)據(jù)總線。信號的作用下,進入內(nèi)部數(shù)據(jù)總線。 P3口作為通用口作為通用I/O口時,屬于準雙向口口時,屬于準雙向口。vP3.0 :
47、RXD(串行口輸入);(串行口輸入);vP3.1 :TXD(串行口輸出);(串行口輸出);vP3.2 : 外部中斷外部中斷0輸入;輸入;vP3.3 : 外部中斷外部中斷1輸入;輸入;vP3.4 :T0(定時器(定時器0的外部輸入);的外部輸入);vP3.5 :T1(定時器(定時器1的外部輸出);的外部輸出);vP3.6 : (片外數(shù)據(jù)存儲器(片外數(shù)據(jù)存儲器“寫寫”選通控制輸出);選通控制輸出);vP3.7 : (片外數(shù)據(jù)存儲器(片外數(shù)據(jù)存儲器“讀讀”選通控制輸出)。選通控制輸出)。2 2、P3P3用作第二功能使用用作第二功能使用 當當CPU不對不對P3口進行字節(jié)或位尋址時,內(nèi)部硬件口進行字節(jié)或位尋址時,內(nèi)部硬件自動將口鎖存器的自動將口鎖存器的Q端置端置1。這時,。這時,P3口作為第二功口作為第二功能使用能使用。INT0INT1RDWR2.5.5 2.5.5 并行口的負載能力并行口的負載能力 vP0、P1、P2、P3口的口的電平電平與與CMOS和和TTL電平兼容。電平兼
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 各產(chǎn)品種類銷售數(shù)據(jù)統(tǒng)計表
- 文化創(chuàng)意項目推廣與服務合同
- 餐飲公司合作合同書
- 農(nóng)業(yè)生產(chǎn)機械化推進作業(yè)指導書
- 公司內(nèi)部培訓通知及安排
- 農(nóng)業(yè)金融合作與支持協(xié)議書
- 太陽照常升起電影讀后感
- 食品衛(wèi)生與安全測試題及答案詳解
- 房地產(chǎn)前期策劃協(xié)議
- 高中英語課本短劇表演實踐課教學教案
- 重慶大學介紹課件
- 外固定架課件
- 尿液有形成分形態(tài)學檢查與臨床意義課件
- 金屬的電化學腐蝕與防護 完整版課件
- 保密風險評估報告
- DB63-T 2033-2022 青海省農(nóng)房建筑節(jié)能建設標準
- 《橋梁工程計算書》word版
- 中華人民共和國特種設備安全法(節(jié)選)
- 籃球比賽計分表
- 施工現(xiàn)場安全隱患檢查(附標準規(guī)范)
- 吞咽障礙及吞咽功能的評定
評論
0/150
提交評論