華東交通大學(xué)單片機(jī)微機(jī)原理及應(yīng)用基礎(chǔ)教程第章單片機(jī)硬件基礎(chǔ) 課件_第1頁
華東交通大學(xué)單片機(jī)微機(jī)原理及應(yīng)用基礎(chǔ)教程第章單片機(jī)硬件基礎(chǔ) 課件_第2頁
華東交通大學(xué)單片機(jī)微機(jī)原理及應(yīng)用基礎(chǔ)教程第章單片機(jī)硬件基礎(chǔ) 課件_第3頁
華東交通大學(xué)單片機(jī)微機(jī)原理及應(yīng)用基礎(chǔ)教程第章單片機(jī)硬件基礎(chǔ) 課件_第4頁
華東交通大學(xué)單片機(jī)微機(jī)原理及應(yīng)用基礎(chǔ)教程第章單片機(jī)硬件基礎(chǔ) 課件_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2.1 80C51單片機(jī)概述2.2 中央處理器CPU2.3 存儲器2.4 并行I/O接口2.5 80C51的工作方式第2章 51單片機(jī)硬件根底 2.1 80C51單片機(jī)概述 80C51是Intel公司出品的MCS-51系列單片機(jī)中的一款典型機(jī)型,其字長為8位,內(nèi)、外部數(shù)據(jù)總線寬度均為8位,地址總線寬度為16位。 80C51芯片為40引腳雙列直插式封裝DIP40,+5V電源供電,CHMOS制造工藝。MCS-51系列單片機(jī)硬件配置片內(nèi)存儲器(字節(jié))定時計數(shù)器并行IO口串行IO口中斷源制造工藝無ROMEPROMRAMMCS-51子系列803180514K87514K128B2164815HMOS80

2、C3180C514K87C514K128B2164815CHMOSMCS-52子系列803280528K87528K256B3164816HMOS80C23280C2528K87C2528K256B3164816CHMOS 2.1 80C51單片機(jī)概述中央處理器CPU8位128B片內(nèi)RAM區(qū)4KB的片內(nèi)ROM特殊功能存放器SFR區(qū)4個并行I/O接口P0P31個全雙工串行I/O接口2個16位定時/計數(shù)器T0、T1中斷系統(tǒng)2.1.1 80C51內(nèi)部功能結(jié)構(gòu)2.1.2 80C51引腳定義及總線結(jié)構(gòu)1234567891011121314151617181920403938373635343332313

3、029282726252424222180C51 1. 電源類引腳 VCC(40腳):芯片工作電源的輸入端,接+5V。 Vss (20腳):電源接地端。2. 時鐘振蕩電路引腳 XTAL1(19腳)和XTAL2(18腳):這兩個引腳與單片機(jī)內(nèi)部時鐘電路相連,兩引腳的外接電路有兩種。2.1.2 80C51引腳定義及總線結(jié)構(gòu)(a) 內(nèi)部振蕩器方式 (b) 外部振蕩器方式 3. 控制類引腳ALE/PROG(30腳): ALE為地址鎖存允許信號輸出端。PSEN(29腳):外部程序存儲器ROM的讀選通信號輸出端。EA/Vpp(31腳):EA為訪問內(nèi)外部程序存儲器控制信號。 當(dāng)EA0時,對ROM的訪問限定在

4、外部程序存儲器;當(dāng)EA1時,對ROM的訪問先從內(nèi)部4KB開始,當(dāng)?shù)刂贩秶?KB時自動切換到外部進(jìn)行訪問。2.1.2 80C51引腳定義及總線結(jié)構(gòu)3. 控制類引腳RST/VPD(9腳):RST為復(fù)位信號輸入端。 RST為復(fù)位信號,高電平有效。輸入持續(xù)兩個機(jī)器周期約10ms以上的高電平就能可靠地復(fù)位單片機(jī)。常用上電/手動復(fù)位電路如圖2-5,通??扇=22F、R1=200、R2=1K 。圖2-5 上電/手動復(fù)位電路3. 控制類引腳 復(fù)位操作會使得單片機(jī)的程序計數(shù)器PC以及特殊功能存放器的內(nèi)容恢復(fù)為設(shè)定的初始值,稱為復(fù)位狀態(tài)。復(fù)位不影響片內(nèi)RAM單元的數(shù)據(jù)變化。4. 并行I/O端口P0口(32-

5、39腳): 分時提供低8位地址,并用作8位雙向數(shù)據(jù)總線。P1口(1-8腳): 是一個帶內(nèi)部提升電阻的8位準(zhǔn)雙向I/O。P2口(21-28腳): 是一個帶內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。在訪問外部存儲器時,提供高8位地址。P3口(10-17腳): 是一個帶內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。在系統(tǒng)中這8個引腳都有各自的第二功能2.1.2 80C51引腳定義及總線結(jié)構(gòu)P3口第二功能表引腳第二功能P3.0RXD(串行口輸入端)P3.1TXD (串行口輸出端)P3.2INT0(外部中斷0請求輸入端)P3.3INT1(外部中斷1請求輸入端)P3.4T0(定時計數(shù)器0計數(shù)脈沖輸入端)P3.5T1(定時計數(shù)

6、器1計數(shù)脈沖輸入端)P3.6WR(外部數(shù)據(jù)存儲器寫選通信號輸出端)P3.7RD(外部數(shù)據(jù)存儲器讀選通信號輸出端2.1.2 80C51引腳定義及總線結(jié)構(gòu)MCS-51單片機(jī)三總線構(gòu)成2.1.2 80C51引腳定義及總線結(jié)構(gòu)2.2.1 運(yùn)算部件 運(yùn)算部件實(shí)現(xiàn)兩大任務(wù):一是8位二進(jìn)制數(shù)的算術(shù)邏輯運(yùn)算及數(shù)據(jù)傳送;二是布爾處理,即對位變量的操作。 運(yùn)算部件是以算術(shù)邏輯單元ALU為核心,加上累加器ACC通常簡寫為A、暫存存放器TMP1和TMP2、存放器B、BCD碼運(yùn)算調(diào)整電路、程序狀態(tài)字存放器PSW以及布爾處理系統(tǒng)等構(gòu)成的。 2.2 中央處理器CPU2.2.1 運(yùn)算部件算術(shù)邏輯單元ALU:完成8位二進(jìn)制的算

7、術(shù)及邏輯運(yùn)算。累加器ACC:簡稱A,是使用最頻繁的存放器。ALU運(yùn)算的操作數(shù)多來自于A,且運(yùn)算結(jié)果也常送回到A保存。存放器B:在ALU進(jìn)行乘除法運(yùn)算時,提供一個操作數(shù)并存放運(yùn)算結(jié)果的一局部;當(dāng)ALU不作乘除法運(yùn)算時,可作為通用存放器使用。暫存器TMP1和TMP2:均為8位存放器,暫時存放數(shù)據(jù)總線或其他存放器送來的操作數(shù)。BCD碼調(diào)整電路:完成BCD碼加法運(yùn)算的十進(jìn)制調(diào)整。CY(Psw.7):進(jìn)位標(biāo)志位AC(Psw.6):輔助進(jìn)位標(biāo)志位F0(Psw.5):用戶定義的標(biāo)志位RS1和RS0(Psw.4,Psw.3):工作存放器組選擇位OV (PSW.2): 溢出標(biāo)志位PSW.1:未定義P (PSW.

8、0):奇偶檢驗(yàn)位CYACF0RS1RS0OVPPsw.0Psw.7程序狀態(tài)字PSW2.2.1 運(yùn)算部件工作存放器組的選擇PSW.4(RS1)PSW.3(RS0)當(dāng)前工作寄存器組R0-R7000組(00H-07H)011組(08H-0FH)102組(10H-17H)113組(18H-1FH)2.2.1 運(yùn)算部件布爾處理系統(tǒng)2.2.1 運(yùn)算部件布爾處理機(jī)布爾指令集布爾累加器位地址空間PSW中的CY17條位操作指令存儲器中的位地址空間 控制部件相當(dāng)于單片機(jī)的神經(jīng)中樞,作用是發(fā)出CPU時序,對指令進(jìn)行譯碼,并且在規(guī)定時刻發(fā)出指令執(zhí)行所需的各種內(nèi)部和外部控制信號,使單片機(jī)各局部協(xié)調(diào)工作,完成指令所規(guī)定的

9、操作。 控制部件由程序計數(shù)器PC、數(shù)據(jù)指針DPTR、堆棧指針SP、指令存放器、指令譯碼器、地址存放器、時鐘電路、定時控制邏輯電路等組成。2.2.2 控制部件程序計數(shù)器PC(Program Counter) PC是一個16位的指針,用于存放即將要執(zhí)行的指令所在單元的地址。CPU將PC的內(nèi)容送至地址總線,從指定的程序存儲器單元中取出指令送到CPU內(nèi)部進(jìn)行譯碼和執(zhí)行。數(shù)據(jù)指針DPTR(Data Pointer) DPTR是一個16位的地址存放器。DPTR既可以用于尋址外部數(shù)據(jù)存儲器單元、外部I/O端口的內(nèi)容,也可以用于尋址程序存儲器單元內(nèi)的表格常數(shù)。堆棧指針SP(Stack Pointer) SP是

10、一個8位的存放器,用于存放堆棧的棧頂單元地址。SP指針總是指向棧頂。2.2.2 控制部件指令存放器、指令譯碼器、定時控制邏輯電路 指令從程序存儲器取出送到CPU的指令存放器存放,在執(zhí)行的整個過程,該指令一直保存在指令存放器中。指令包含操作碼和操作數(shù)兩局部。 操作數(shù)送往地址形成電路,形成操作對象實(shí)際的地址。 操作碼送往指令譯碼器,經(jīng)譯碼分析形成各種邏輯電平信號。這些電平信號與外部時鐘脈沖在CPU定時控制邏輯電路中組合,輸出各種按一定時間節(jié)拍變化的電平和脈沖,即控制信號,用于控制指令規(guī)定的各種操作正確執(zhí)行。2.2.2 控制部件CPU時鐘源 51單片機(jī)均有片內(nèi)振蕩器和時鐘電路,并以此作為CPU的時鐘

11、源。這種時鐘源是用來產(chǎn)生單片機(jī)工作所需要的時鐘信號。振蕩器和時鐘電路一旦確定,CPU的時鐘頻率也就確定了。CPU時序 CPU時序又稱指令時序,即指令執(zhí)行過程中,其所有微操作對應(yīng)的各控制信號脈沖在時間上的相互關(guān)系。分析指令時序首先應(yīng)明確4個有關(guān)的時序單位。2.2.3 CPU時序時序單位2.2.3 CPU時序1振蕩周期 是指為單片機(jī)提供定時信號的振蕩源的周期,是MCS-51型單片機(jī)中最小的時序單位。 2狀態(tài)周期 連續(xù)的兩個振蕩周期稱為一個狀態(tài)周期。即1個狀態(tài)周期=2個振蕩周期。通常把一個狀態(tài)的前后兩個振蕩周期用P1、P2來表示,稱為兩個節(jié)拍。 3機(jī)器周期 把單片機(jī)完成某種根本操作所需要的時間稱為一

12、個機(jī)器周期。一個機(jī)器周期由6個狀態(tài)周期組成,分別用S1-S6來表示。這樣一個機(jī)器周期中的12個振蕩周期就可以表示為S1P1、S1P2、S2P1、S2P2、S6P2。4指令周期 單片機(jī)完成根本指令所需的時間,以機(jī)器周期為單位。MCS-51的指令周期為14個機(jī)器周期。 時序單位2.2.3 CPU時序振蕩周期=1/12 (s)狀態(tài)周期=1/6 (s)機(jī)器周期=1 (s)指令周期=14 (s)例:外接晶振 fosc=12MHZ,求各時序單位的值。2.2.3 CPU時序 2.3 存儲器2.3.2 程序存儲器2.3.3 內(nèi)部數(shù)據(jù)存儲器2.3.1 存儲器概述2.3.4 外部數(shù)據(jù)存儲器字節(jié)(Byte) 位(b

13、it)存儲容量 存儲器所能存儲的二進(jìn)制信息的位數(shù)。存儲單元的地址 為了識別并區(qū)別存儲器內(nèi)部的各存儲單元,用假設(shè)干位二進(jìn)制數(shù)來對每個單元按順序編號,這種編號即為存儲單元的地址。1. 存儲器相關(guān)概念2.3.1 存儲器概述1這三者的本質(zhì)都是二進(jìn)制數(shù)字,或者說都是一串由“0和“1組成的序列。2指令是由單片機(jī)芯片的設(shè)計者規(guī)定的一種數(shù)字,它與我們常用的指令助記符有著嚴(yán)格的一一對應(yīng)關(guān)系,不可以由單片機(jī)的開發(fā)者更改。3地址是尋找單片機(jī)內(nèi)部、外部的存儲單元、輸入輸出口的依據(jù),內(nèi)部單元的地址值已由芯片設(shè)計者規(guī)定好,不可更改,外部的單元可以由單片機(jī)開發(fā)者自行決定。4數(shù)據(jù)是指需要處理的操作對象。數(shù)據(jù)、地址、指令三者的

14、關(guān)系1. 存儲器相關(guān)概念00H08H16H55H89H0000H0001H0002H0003H0004H 每個單元存放一個8位的二進(jìn)制數(shù),單元的地址用2位的十六進(jìn)制數(shù)或4位的十六進(jìn)制數(shù)表示。存儲器單元單元內(nèi)存儲的信息存儲單元地址存儲器單元、單元內(nèi)信息與存儲單元地址的關(guān)系1. 存儲器相關(guān)概念1按存儲器所處的物理位置不同,可分為片外存儲器和片內(nèi)存儲器兩類。2按存儲器的讀寫方式不同,可分為只讀存儲器(ROM)和隨機(jī)讀寫存儲器(RAM)兩類。3按存儲器存放的信息不同,可分為程序存儲器和數(shù)據(jù)存儲器兩類。2. 存儲器的分類方式2.3.1 存儲器概述1普林斯頓結(jié)構(gòu)(VON Neumam) 程序存儲器和數(shù)據(jù)存

15、儲器單元共用一個存儲空間,統(tǒng)一編址。2哈佛結(jié)構(gòu) HawarJ 程序存儲器和數(shù)據(jù)存儲器單元分開編址,二者使用的存儲空間互相獨(dú)立。MCS-5l單片機(jī)采用哈佛結(jié)構(gòu)的存儲器編址方式。3. 存儲器的編址方式2.3.1 存儲器概述80C51單片機(jī)的存儲器構(gòu)成程序存儲器數(shù)據(jù)存儲器片內(nèi)含4KB程序存儲器(0000H-0FFFH)片外64KB 程序存儲器空間(0000H-FFFFH)SFR區(qū)(80H-FFH)片外64KB數(shù)據(jù)存儲器空間(0000H-FFFFH)片內(nèi)256B數(shù)據(jù)存儲器內(nèi)部RAM區(qū)(00H-7FH)4. 80C51單片機(jī)的存儲器構(gòu)成2.3.1 存儲器概述程序存儲器用于存放程序及表格常數(shù)。180C51

16、單片機(jī)有4KB內(nèi)部程序存儲器,單元地址為0000H-0FFFH。2當(dāng)需要擴(kuò)展時,外部程序存儲器從1000H開始編址,這種內(nèi)外存儲器統(tǒng)一編址的方式,是為了便于程序的連續(xù)執(zhí)行。3內(nèi)外ROM的選擇。是由信號EA來控制的。48031型單片機(jī)無內(nèi)部程序存儲器,EA應(yīng)接地。2.3.2 程序存儲器51子系列的程序存儲器空間外部EA=00000HFFFFHEA=0外部內(nèi)部FFFFH1000H0FFFH0000HEA=1EA=11. 51與52子系列程序存儲器的區(qū)別2.3.2 程序存儲器外部52子系列內(nèi)部輔加內(nèi)部FFFFH2000H1FFFH1000H0FFFH0000HEA=1外部EA=00000HFFFFH

17、52子系列的程序存儲器空間2.3.2 程序存儲器1PC是一個16位的存放器,用于存放將要執(zhí)行的 指令地址。2CPU每讀取指令的一個字節(jié)PC值便自動加一, 指向本指令的下一個字節(jié)或下一條指令。3PC可尋址64KB范圍 ROM。在物理結(jié)構(gòu)上是獨(dú) 立的,不屬于內(nèi)部RAM中的SFR范圍。4PC沒有地址,因此是不可尋址的。用戶無法對 其進(jìn)行讀寫,但可以通過轉(zhuǎn)移、調(diào)用、返回等 指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。2. 程序計數(shù)器PC的應(yīng)用特點(diǎn)2.3.2 程序存儲器指令寄存器譯碼地址譯碼程序計數(shù)器地址寄存器累加器A運(yùn)算器存儲器內(nèi)部數(shù)據(jù)總線外部地址總線AB數(shù)據(jù)緩沖器外部數(shù)據(jù)總線DB寄存器區(qū)外部控制總線CB內(nèi)部控

18、制信號時鐘及清零取指過程【例】執(zhí)行指令:MOV A,#09H (74H 09H) ; (A)09H執(zhí)行過程PC=0000H0001H0000H0002H0 1 1 1 0 1 0 00 0 0 0 1 0 0 1(PC)(PC)0001H0002H0000H外部控制總線CB取指過程(PC)執(zhí)行過程3. 單片機(jī)工作過程例如例:將數(shù)據(jù)存儲器20H和30H單元中的兩個數(shù)相加08H01H20H30HRAM30H25H20HE5H0002H0000HROM0001HMOV A,20H;E5H 20HADD A,30H;25H 30HPCPCPCPC操作入口地址復(fù)位0000H外部中斷00003H定時/計數(shù)

19、器0溢出000BH外部中斷10013H定時/計數(shù)器1溢出001BH串行口中斷0023H定時/計數(shù)器2溢出(52子系列)002BH4. 程序運(yùn)行入口地址392.3.4.1 內(nèi)部RAM區(qū)2.3.4.2 特殊功能存放器區(qū)2.3.4.3 位尋址空間2.3.4 內(nèi)部數(shù)據(jù)存儲器 51子系列單片機(jī)內(nèi)部RAM區(qū)地址范圍為00H-7FH,是內(nèi)部數(shù)據(jù)存儲器的低128B的區(qū)域。 內(nèi)部RAM區(qū)按其功能不同可劃分為3個小的功能區(qū)域:工作存放器區(qū)、位尋址區(qū)及數(shù)據(jù)緩沖區(qū)。2.3.4.1 內(nèi)部RAM區(qū)1. 工作存放器區(qū) 1工作存放器區(qū)分為4組。2可通過改變程序狀態(tài)字PSW中的RS0與 RS1 的狀態(tài)來重新設(shè)定當(dāng)前組。3工作存

20、放器區(qū)主要用來存放操作數(shù)和運(yùn)算的 中間結(jié)果。工作存放器區(qū)地址范圍:00H-1FH 。工作存放器3組7FH00H工作存放器2組工作存放器1組工作存放器0組20H1FH工作存放器區(qū)示意圖R0R1R2R3R4R5R6R700H01H02H03H04H05H06H07H工作寄存器0組R0R1R2R3R4R5R6R708H09H0AH0BH0CH0DH0EH0FH工作寄存器1組R0R1R2R3R4R5R6R710H11H12H13H14H15H16H17H工作寄存器2組R0R1R2R3R4R5R6R718H19H1AH1BH1CH1DH1EH1FH工作寄存器3組1該區(qū)域的16個單元的每一位都有一個位地址

21、,依次編址為20H-2FH。2位尋址區(qū)的16個單元可以像普通RAM單元一樣進(jìn)行字節(jié)操作,也可以用位操作指令對單獨(dú)的位進(jìn)行操作。位尋址區(qū)地址范圍:20H-2FH 。2. 位尋址區(qū) 20H.000H20H.707H20H21H000110102FH共16個單元128位78H7FH位地址字節(jié)地址位地址單元中存儲的信息位尋址區(qū)示意圖2. 位尋址區(qū) 內(nèi)部RAM中的位地址表字節(jié)單元地址直接位地址D7D6D5D4D3D2D1D020H07H06H05H04H03H02H01H00H21H0FH0EH0DH0CH0BH0AH09H08H22H17H16H15H14H13H12H11H10H23H1FH1EH1

22、DH1CH1BH1AH19H18H24H27H26H25H24H23H22H21H20H25H2FH2EH2DH2CH2BH2AH29H28H26H37H36H35H34H33H32H31H30H27H3FH3EH3DH3CH3BH3AH39H38H28H47H46H45H44H43H42H41H40H29H4FH4EH4DH4CH4BH4AH49H48H2AH57H56H55H54H53H52H51H50H2BH5FH5EH5DH5CH5BH5AH59H58H2CH67H66H65H64H63H62H61H60H2DH6FH6EH6DH6CH6BH6AH69H68H2EH77H76H75H7

23、4H73H72H71H70H2FH7FH7EH7DH7CH7BH7AH79H78H1內(nèi)部RAM l28單元中從30H開始的80個單元,就是供用戶使用的一般數(shù)據(jù)存儲區(qū)域。2用戶對該區(qū)域的訪問是按字節(jié)尋址方式進(jìn)行的。3該區(qū)域主要用來存放隨機(jī)數(shù)據(jù)及運(yùn)算的中間結(jié)果,另外也常把堆棧開辟在該區(qū)域。數(shù)據(jù)緩沖區(qū)地址范圍:30H-7FH 。3. 數(shù)據(jù)緩沖區(qū)1堆棧的概念 堆棧是一種數(shù)據(jù)結(jié)構(gòu)。所謂堆棧,就是數(shù)據(jù)只允許在其一端出入的一段存儲空間。2堆棧的功能 堆棧是為程序調(diào)用和中斷操作而設(shè)立的,具體功能是保護(hù)現(xiàn)場和斷點(diǎn)地址。3堆棧操作的原那么 先進(jìn)后出的原那么。數(shù)據(jù)寫入堆棧稱為入?;驂簵#粩?shù)據(jù)從堆棧中讀出那么稱為出棧

24、或彈出。4. 堆棧與堆棧指針484堆棧指針SP(Stack Pointer) 堆棧指針SP是一個8位的特殊功能存放器,用來存放堆棧的棧頂?shù)刂贰?堆棧區(qū)域設(shè)定 MCS-51單片機(jī)復(fù)位后SP初值自動設(shè)為07H 。用戶程序設(shè)計時,一般都將堆棧設(shè)在內(nèi)部RAM的30H一7FH地址空間。4. 堆棧與堆棧指針6堆棧的類型 MCS-51系列單片機(jī)屬于向上生長型堆棧。隨著數(shù)據(jù)進(jìn)棧地址遞增,SP的內(nèi)容逐漸增大,指針上移;相反,隨著數(shù)據(jù)的出棧,地址遞減,SP內(nèi)容逐漸減小,指針SP下移。494. 堆棧與堆棧指針00H進(jìn)棧出棧棧頂SPSP1例:PUSH A,設(shè)(A)=00H, (SP)=07H00HA00HSP100H

25、07H4. 堆棧與堆棧指針位尋址區(qū)128位工作存放器3組30H2FH00H數(shù)據(jù)緩沖區(qū)7FH工作存放器2組工作存放器1組工作存放器0組20H1FH51系列內(nèi)部RAM區(qū)示意圖RAM存儲器52子系列位尋址區(qū)128位工作存放器區(qū)FFH30H2FH20H1FH00H數(shù)據(jù)緩沖區(qū)80H7FH51子系列52子系列MCS-51型系列單片機(jī)內(nèi)部的累加器A、B存放器、程序狀態(tài)字PSW、堆棧指針SP以及I/O口鎖存器、串行口數(shù)據(jù)緩沖器、各種控制存放器和狀態(tài)存放器等,統(tǒng)稱為特殊功能存放器(Special Function Register),簡稱SFR。它是單片機(jī)的狀態(tài)和控制字存放器。2.3.4.2 特殊功能存放器區(qū)特

26、殊功能存放器例如2.3.4.2 特殊功能存放器區(qū)內(nèi)部RAM中,地址為20H-2FH的16個字節(jié)單元內(nèi)的連續(xù)128個可尋址位。SFR區(qū)中的93位。2.3.4.3 位尋址空間1尋址范圍:64K 0000HFFFFH2訪問指令:MOVX3數(shù)據(jù)指針存放器DPTR(Data Pointer)的特點(diǎn)16位特殊功能存放器由DPH和DPL兩個8位的特殊功能存放器組成,是對片外RAM及擴(kuò)展IO口進(jìn)行存取操作地址指針。也可分成兩個8位存放器進(jìn)行操作。2.3.5 外部數(shù)據(jù)存儲器2.4.1 P0接口2.4.2 P1接口2.4.3 P2接口2.4.4 P3接口2.4.5 并行I/O接口的特點(diǎn) 2.4 并行I/O接口并行

27、I/O接口應(yīng)用例如2.4.1.1 P0口的位結(jié)構(gòu)2.4.1.2 P0口的功能2.4.1 P0接口1P0口位結(jié)構(gòu)圖02.4.1.1 P0口的位結(jié)構(gòu)分時提供低8位地址,并用作8位雙向數(shù)據(jù)總線。此時內(nèi)部的控制信號為高電平,使得Mux接到了上檔位置,同時翻開了上面的與門,P0口的輸出僅受內(nèi)部地址/數(shù)據(jù)線的控制。讀鎖存器三態(tài)緩沖器處于高阻狀態(tài),當(dāng)需要輸入數(shù)據(jù)時,輸入信號就直接從引腳通過輸入緩沖器進(jìn)人內(nèi)部總線。P0口作為地址/數(shù)據(jù)總線使用時,無需外接上拉電阻。2.4.1.2 P0口的功能1. P0口作地址/數(shù)據(jù)總線010110110011P0口作地址/數(shù)據(jù)總線輸出12P0口作地址數(shù)據(jù)總線輸入0/10/1當(dāng)

28、P0口不需用作地址/數(shù)據(jù)總線時可用作通用輸入輸出口。內(nèi)部的控制電平為低電平,封鎖與門,將輸出驅(qū)動電路的上面的場效應(yīng)管截止。同時使多路轉(zhuǎn)接開關(guān)MUX接通鎖存器Q端的輸出通路。輸出鎖存器在CP脈沖的配合下將內(nèi)部總線傳來的信息反映到輸出端并鎖存。P0口作為通用輸入輸出使用時,需外接上拉電阻。2. P0口用作通用輸入輸出口000101(1) P0口用于通用輸出_“01 P0口作為通用輸出001001+5v(2) P0口用于通用輸出_“11 P0口作為通用輸出 此時應(yīng)區(qū)分兩種情況: 一般操作的輸入讀引腳 端口操作的輸入讀鎖存器2P0口作為通用輸入 讀引腳就是直接讀取P0.x引腳的狀態(tài)。在“讀引腳信號的控

29、制下把緩沖器翻開,將端口引腳上的數(shù)據(jù)經(jīng)緩沖器通過內(nèi)部總線讀進(jìn)來。 注意:P0口在作為一般輸入口使用時在讀取管腳之前還應(yīng)向鎖存器寫入“1,使上下兩個場效應(yīng)管均處于截止?fàn)顟B(tài),使外接的狀態(tài)不受內(nèi)部信號的影響,然后再來讀。(1) 一般操作的輸入:讀引腳2P0口作為通用輸入00a. 讀引腳讀入“0 當(dāng)下方場效應(yīng)管截止時000(1) 一般操作的輸入讀引腳000 當(dāng)下方場效應(yīng)管導(dǎo)通時00a. 讀引腳讀入“0(1) 一般操作的輸入讀引腳b. 讀引腳讀入“1 當(dāng)下方場效應(yīng)管截止時11001(1) 一般操作的輸入讀引腳b. 讀引腳讀入“1 當(dāng)下方場效應(yīng)管導(dǎo)通時此時內(nèi)部總線上不能讀入“1只能讀到“000001(1)

30、 一般操作的輸入讀引腳00100在每次輸入操作之前,要先執(zhí)行向準(zhǔn)雙向口寫“1的指令。 例如: MOV P0,#0FFH針對上述問題的處理方法111 當(dāng)執(zhí)行 “ ANL P0,A的指令時,需要對P0口進(jìn)行“讀修改寫的三步操作。 為了實(shí)現(xiàn)類似于上述指令的執(zhí)行所需的“讀修改寫操作的需要,在P0口電路中另外設(shè)置了讀取鎖存器的輸入通道,在“讀鎖存器信號的控制下可以直接讀取鎖存器的Q端的狀態(tài),從而防止讀引腳讀到錯誤數(shù)據(jù)。(2) 端口操作的輸入讀鎖存器2P0口作為通用輸入0/1000/1(2) 端口操作的輸入讀鎖存器2P0口作為通用輸入10 假設(shè)P0口沒有從鎖存器讀入的功能,那么以下圖所示情況中,T1導(dǎo)通將

31、把P0.X引腳輸出的高電平拉為低電平,從而導(dǎo)致讀到錯誤的結(jié)果。例1(2) 端口操作的輸入讀鎖存器2.4.2.1 P1口的位結(jié)構(gòu)2.4.2.2 P1口的功能特點(diǎn)2.4.2 P1接口P1.X口位結(jié)構(gòu)圖 注意比較P1口位結(jié)構(gòu)與P0口位結(jié)構(gòu)的相同點(diǎn)和不同點(diǎn)。2.4.2.1 P1口的位結(jié)構(gòu)P1口是一個準(zhǔn)雙向I/O口。它只能作為通用I/O口使用,沒有第二功能。在輸出級內(nèi)部由做阻性元件使用的場效應(yīng)晶體管組成的上拉電阻因此P1口在作為通用輸出口使用時,不需要再外接上拉電阻。當(dāng)Pl口作為輸入口使用時,仍需要向鎖存器先寫入“1,使場效應(yīng)管截止,然后再讀取輸入信號準(zhǔn)雙向I/O口。其輸入也分為讀引腳方式和“讀鎖存器方

32、式兩種。2.4.2.2 P1口的功能特點(diǎn)2.4.3.1 P2口的位結(jié)構(gòu)2.4.3.2 P2口的功能特點(diǎn)2.4.3 P2接口P2.X口位結(jié)構(gòu)圖 注意比較P2口位結(jié)構(gòu)與P0口、 P1口位結(jié)構(gòu)的相同點(diǎn)和不同點(diǎn)。2.4.3.1 P2口的位結(jié)構(gòu)P2口也是一個準(zhǔn)雙向I/O口。在P2口電路中也由一個多路轉(zhuǎn)接開關(guān)MUX。當(dāng)P2口作為一般I/O口使用時與P1口類似,用于輸出時不需要外接上拉電阻;當(dāng)用于輸入時,仍需要向鎖存器先寫入“1,然后再讀取準(zhǔn)雙向I/O口。P2口輸入也分為讀引腳方式和“讀鎖存器方式兩種。2.4.3.2 P2口的功能特點(diǎn)2.4.4.1 P3口的位結(jié)構(gòu)2.4.4.2 P3口的功能特點(diǎn)2.4.4

33、P3接口P3.X口位結(jié)構(gòu) 注意比較P3口位結(jié)構(gòu)與P0口、P1口、 P2口位結(jié)構(gòu)的相同點(diǎn)和不同點(diǎn)。2.4.4.1 P3口的位結(jié)構(gòu)P3口也是一個準(zhǔn)雙向I/O口。在P3口上增加了第二功能控制邏輯。2.4.4.2 P3口的功能特點(diǎn)1P0口和P2口構(gòu)成MCS-51型單片機(jī)的16位地址總線,P0口還是8位的數(shù)據(jù)總線。2P3口多用于第二功能輸入或輸出。3通常只有P1口用于一般輸入輸出。4系統(tǒng)復(fù)位后,P0-P3口的32個管腳均輸出高電平,因此在系統(tǒng)的設(shè)計過程中應(yīng)保證這些管腳控制的外設(shè)不會因?yàn)橄到y(tǒng)復(fù)位而發(fā)生誤動作。5每個并行口,可定義一局部管腳為輸入口,另一局部管腳為輸出腳,沒有使用的管腳可以懸空。2.4.5

34、并行I/O口的特點(diǎn) 2.5 80C51的工作方式 80C51單片機(jī)的工作方式有程序運(yùn)行方式和低功耗方式兩種。 程序運(yùn)行方式是單片機(jī)應(yīng)用系統(tǒng)正常運(yùn)行時的工作方式;低功耗工作方式是80C51單片機(jī)的輔助工作方式。2.5.1 程序運(yùn)行方式 80C51在啟動運(yùn)行時首先進(jìn)入復(fù)位狀態(tài)通過復(fù)位操作,然后再脫離復(fù)位狀態(tài)進(jìn)入到程序運(yùn)行狀態(tài),即系統(tǒng)進(jìn)入程序運(yùn)行工作方式。系統(tǒng)工作于程序運(yùn)行方式時,CPU不斷從程序存儲器讀取并執(zhí)行指令以實(shí)現(xiàn)設(shè)定的功能。 由于復(fù)位操作使PC的內(nèi)容被置為0000H,因此程序運(yùn)行方式下CPU總是從0000H單元開始執(zhí)行指令。 2.5.2 低功耗方式 80C51單片機(jī)具有待機(jī)和停機(jī)兩種低功耗

35、工作方式,以降低系統(tǒng)功耗。 低功耗方式下VCC的輸入由后備電源提供。假設(shè)要使單片機(jī)進(jìn)入待機(jī)或停機(jī)工作方式,需要對電源控制存放器PCON進(jìn)行操作。低功耗方式的進(jìn)入和退出均由內(nèi)部SFR區(qū)的電源控制存放器PCON進(jìn)行控制。2.5.2 低功耗方式 PCON單元地址為87H,其中5位有定義,控制字格式如下表。 PCON的低4位用于低功耗方式的控制。IDL:待機(jī)方式控制位,該位為1時進(jìn)入待機(jī)方式。PD:停機(jī)方式控制位,該位為1時進(jìn)入停機(jī)方式。當(dāng)PD、IDL同時為1時等同于PD=1的情況,即單片機(jī)進(jìn)入停機(jī)工作方式。2.5.2 低功耗方式GF1、GF0:通用標(biāo)志位,用作指示中斷操作是在程序運(yùn)行方式下還是在待機(jī)方式下發(fā)生的。 在待機(jī)方式設(shè)置指令之前先執(zhí)行置位GF0或GF1為“1的指令;當(dāng)中斷發(fā)生時,在中斷效勞程序中可檢測通用標(biāo)志位,如檢測到GF0或GF1為“1,那么表示是在待機(jī)方式下進(jìn)入的中斷。2.5.2 低功耗方式 假設(shè)要使單片機(jī)進(jìn)入待機(jī)或停機(jī)工作方式,需要執(zhí)行指令使電源控制存放器PCON的IDL位或PD位為“1的就可以了。 51單片機(jī)復(fù)位時,PCON的值為0XXX0000B。1. 待機(jī)方式節(jié)電方式2.5.2 低功耗方式 程序運(yùn)行過程中,當(dāng)CPU無工作任務(wù)或用戶不希望它執(zhí)行程序時,可通過執(zhí)行一條使IDL置“1的指令使單片機(jī)進(jìn)入待機(jī)方式。 待機(jī)方式下CPU工作暫停

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論