測試過程控制§1.189C51單片機概述_第1頁
測試過程控制§1.189C51單片機概述_第2頁
測試過程控制§1.189C51單片機概述_第3頁
測試過程控制§1.189C51單片機概述_第4頁
測試過程控制§1.189C51單片機概述_第5頁
已閱讀5頁,還剩132頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

機械系統計算機測控第一章單片機I/O接口擴展第二章工業控制計算機第三章傳感器與接口電路第四章步進電機的控制第五章驅動元件第一章單片機的I/O接口擴展技術§1.1MCS-51單片機概述§1.2I/O擴展§1.3人機通道配置與接口技術§1.4前向通道配置與接口技術§1.5后向通道配置與接口技術§1.6應用系統的抗干擾技術 MCS-51單片機的結構 MCS-51單片機引腳及其功能 89C51存儲器配置 CPU時鐘

復位及復位電路 89C51單片機的低功耗工作方式返回§1.1MCS-51單片機概述

輸出/輸入端口結構 MCS-51單片機的結構§2.1.1MCS-51單片機的基本組成§2.1.2MCS-51單片機內部結構返回MCS-51單片機的基本組成一、組成二、MCS-51系列單片機的性能返回一、組成89C51單片機結構框圖如圖2-1所示返回89C51單片機結構框圖89C51CPU振蕩器和時序OSC64KB總線擴展控制器數據存儲器256BRAM/SFR2×16位定時器/計數器可編程I/O程序存儲器4KBFLASHROM可編程全雙工串行口外中斷內中斷控制并行口串行通信外部時鐘源外部事件計數返回一、組成一個8位的微處理器CPU。返回一、組成用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等。片內數據存儲器(RAM128B/256B):返回一、組成用以存放程序、一些原始數據和表格。但有一些單片機內部不帶ROM/EPROM,如8031、8032、80C31等。片內程序存儲器FlashROM

(4KB):返回一、組成 每個口可以用作輸入,也可以用作輸出。四個8位并行I/O(輸入/輸出)接口 P0~P3:返回一、組成每個定時/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制。兩個或三個定時/計數器:

返回一、組成可實現單片機與單片機或其它微機之間串行通信。一個全雙工UART的串行I/O口:返回一、組成但需外接晶振和電容。片內振蕩器和時鐘產生電路:返回一、組成五個中斷源的中斷控制系統。返回二、MCS-51系列單片機的性能如表2-1所示。表中型號帶“C”表示所用的是CMOS工藝,具有功耗低的優點。返回MCS-51系列單片機的性能表返回MCS-51單片機內部結構一、結構圖二、結構組成返回一、結構圖由中央處理單元(CPU)、存儲器(ROM及RAM)和I/O接口組成。MCS-51單片機內部結構如圖2-2所示。返回P0驅動器P2驅動器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBFlashROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器緩沖器PC增1PCDPTR中斷、串行口和定時器PSWP1鎖存器P1驅動器P3鎖存器P3驅動器定時控制指令寄存器指令譯碼器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARET89C51單片機內部結構圖返回二、結構組成(一)、中央處理單元(CPU)(二)、存儲器(三)、I/O接口返回(一)、中央處理單元(CPU)1.運算器返回2.控制器1.運算器(1)8位的ALU:返回(2)8位累加器ACC(A):(3)8位程序狀態寄存器PSW:(4)8位寄存器B:(5)布爾處理器:(6)2個8位暫存器:1.運算器可對4位、8位、16位數據進行操作。返回(1)8位的ALU:1.運算器(2)8位累加器ACC(A):它經常作為一個運算數經暫存器2進入ALU的輸入端,與另一個來自暫存器1的運算數進行運算,運算結果又送回ACC。返回1.運算器指示指令執行后的狀態信息供程序查詢和判別用。(3)8位程序狀態寄存器PSW:返回1.運算器(4)8位寄存器B:

在乘除運算時,用來存放一個操作數也用來存放運算后的一部分結果;如不能做乘除運算時,作為通用寄存器。返回1.運算器(5)布爾處理器:專門用于處理位操作的,以PSW中的C為其累加器。返回1.運算器(6)2個8位暫存器:ALU的兩個入口處。返回2.控制器(1)程序計數器PC(16位)(2)指令寄存器IR及指令譯碼器ID(3)振蕩器和定時電路返回(1)程序計數器PC(16位)由兩個8位計數器PCH、PCL組成。PC是程序的字節地址計數器,PC內容為將要執行的指令地址。改變PC內容,改變執行的流向。PC可對64KB的ROM直接尋址,也可對89C51片內RAM尋址。返回(2)指令寄存器IR及指令譯碼器ID由PC中的內容指定ROM地址,取出來的指令經IR送至ID,由ID對指令譯碼產生一定序列的控制信號,以執行指令所規定的操作。返回(3)振蕩器和定時電路89C51單片機片內有振蕩電路,只需外接石英晶體和頻率微調電容(2個30pF左右),其頻率范圍為1.2MHz~12MHz。該信號作為89C51工作的基本節拍即時間的最小單位。返回(二)、存儲器1、程序存儲器(ROM)2、數據存儲器(RAM)返回1、程序存儲器(ROM)地址從0000H開始。用于存放程序和表格常數。返回2、數據存儲器(RAM)地址為00H~7FH。用于存放運算的中間結果、數據暫存以及數據緩沖等。這128B的RAM中有32個字節單元可指定為工作寄存器。片內還有21個特殊功能寄存器(SFR),它們同128字節RAM統一編址,地址為80H~FFH。后面詳細介紹。返回(三)、I/O接口89C51有四個8位并行I/O接口P0~P3。它們都是準雙向端口,每個端口各有8條I/O線。P0-P3口四個鎖存器同RAM統一編址,可作為SFR來尋址。返回 MCS-51單片機引腳及其功能 MCS-51單片機引腳MCS-51單片機引腳功能返回 89C51單片機引腳89C51單片機引腳如圖2-3所示。返回89C51單片機引腳圖返回89C51單片機引腳功能一、電源引腳:Vcc和Vss二、時鐘電路引腳:XTAL1和XTAL2三、控制信號引腳RST、ALE、PSEN和EA四、I/O端口P0、P1、P2和P3返回一、電源引腳:Vcc和Vss1.Vcc(40腳):電源端,為+5V。2.Vss(20腳):接地端。返回圖2-3二、時鐘電路引腳:XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調電容的一端;在89C51片內它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。89C51/8031正常工作時,該引腳應有脈沖信號輸出。返回XTAL1(19腳):接外部晶體和微調電容的另一端;在片內它是振蕩電路反向放大器的輸入端,在采用外部時鐘時,該引腳接地。二、時鐘電路引腳:XTAL1和XTAL2返回三、控制信號引腳:

RST、ALE、PSEN和EARST/VPD(9腳):RST:復位信號輸入端,高電平有效。當此輸入端保持兩個機器周期的高電平時,就可以完成復位操作。返回RST/VPD(9腳):VPD

:RST引腳的第二功能,備用電源輸入端。當主電源Vcc發生故障,降低到低電平規定值時,將+5V電源自動接入該引腳,為RAM提供備用電源,以保證RAM中的信息不丟失,使得復位后能繼續正常運行。返回三、控制信號引腳:

RST、ALE、PSEN和EAALE/PROG(30腳):ALE:地址鎖存允許信號端。正常工作時,該引腳以振蕩頻率的1/6固定輸出正脈沖。CPU訪問片外存儲器時,該引腳輸出信號作為鎖存低8位地址的控制信號。它的負載能力為8個LS型TTL負載。返回三、控制信號引腳:

RST、ALE、PSEN和EAALE/PROG(30腳):PROG:是對片內帶有4KBEPROM的8751編程寫入時的編程脈沖輸入端。返回三、控制信號引腳:

RST、ALE、PSEN和EAPSEN(29腳):程序存儲器允許信號輸出端。在訪問片外ROM時,定時輸出負脈沖作為讀片外ROM的選通信號,接片外ROM

的OE端。它的負載能力為8個LS型TTL負載。返回三、控制信號引腳:

RST、ALE、PSEN和EAEA/Vpp(31腳):EA:外部程序存儲器地址允許輸入端。當該引腳接高電平時,CPU訪問片內EPROM/ROM并執行片內程序存儲器中的指令,但當PC值超過0FFFH(片內ROM為4KB)時,將自動轉向執行片外ROM中的程序。當該引腳接低電平時,CPU只訪問片外EPROM/ROM并執行外部程序存儲器中的程序。返回三、控制信號引腳:

RST、ALE、PSEN和EAEA/Vpp(31腳):Vpp:對8751片內EPROM固化編程時,編程電壓輸入端(12-21V)。返回三、控制信號引腳:

RST、ALE、PSEN和EA四、I/O端口P0、P1、P2和P31、準雙向2、P0口3、P1口4、P2口5、P3口返回1、準雙向當I/O口作為輸入時,應先向此口鎖存器寫入全1,此時該口引腳浮空,可作高阻抗輸入。返回2、P0口:漏極開路的8位準雙向I/O口,每位能驅動8個LS型TTL負載。P0口可作為一個數據輸入/輸出口;在CPU訪問片外存儲器時,P0口為分時復用的低8位地址總線和8位數據總線。返回3、P1口:帶內部上拉電阻的8位準雙向I/O端口,每位能驅動4個LS型TTL負載。返回4、P2口:P2口:帶內部上拉電阻的8位準雙向I/O端口,每位能驅動4個LS型TTL負載。在CPU訪問片外存儲器時,它輸出高8位地址。返回5、P3口:帶內部上拉電阻的8位準雙向I/O端口,每位能驅動4個LS型TTL負載。P3口除作為一般I/O口外,每個引腳都有第二功能。返回 89C51存儲器配置 89C51存儲器分類 程序存儲器地址空間 數據存儲器地址空間返回 89C51存儲器分類一、物理結構二、用戶角度返回一、物理結構89C51存儲器程序存儲器RAM數據存儲器ROM片內程序存儲器片外程序存儲器片內數據存儲器片外數據存儲器返回二、用戶角度圖2-489C51存儲器配置二、用戶角度1、片內、外統一編址的64K程序存儲器地址空間。CPU訪問片內、片外ROM指令用MOVC。返回二、用戶角度2、64K的片外數據存儲器地址空間。訪問片外RAM指令用MOVX。返回二、用戶角度3、256字節的片內數據存儲器地址空間。訪問片內RAM指令用MOV。上述三個存儲空間地址是重疊的,89C51的指令系統采用不同的數據傳送指令符號。返回程序存儲器地址空間一、用途:二、編址:三、尋址方式:返回一、用途:用于存放編好的程序和表格常數。返回二、編址:容量為4KB。地址為0000H~0FFFH。片外最多可擴至64KBROM/EPROM,地址為1000H~FFFFH。片內外統一編址。返回三、尋址方式:1、當EA=“1”時:在0000~0FFFH范圍內執行片內ROM中的程序,當指令地址超過0FFFH后就自動轉向片外ROM中取指令。2、當EA=”0”時:片內ROM不起作用,CPU只能從片ROM/EPROM中取指令??梢詮?000H開始尋址。3、片內ROM和片外ROM取指的速度相同。三、尋址方式:4、程序存儲器的保留存儲單元。(1)0000H~0002H三個單元:用作上電復位后引導程序的存放單元。因為復位后PC的內容為0000H,CPU總是從0000H開始執行程序。將轉移指令存放到這三個單元,程序就被引導到指定的程序存儲器空間去執行。三、尋址方式:(2)0003H~002AH單元:均分為五段,用作五個中斷服務程序的入口。中斷矢量地址表。返回數據存儲器地址空間一、用途:二、片外RAM:三、片內RAM:

返回一、用途:用于存放運算的中間結果、數據暫存和緩沖、標志位等。二、片外RAM:地址:0000H~FFFFH尋址:用MOVX指令三、片內RAM:片內數據存儲器最大可尋址256個單元,它們又分為兩部分:低128字節(00H~7FH)是真正的RAM區;高128字節(80H~FFH)為特殊功能寄存器(SFR)區。如圖27所示。高128字節和低128字節RAM中的配置及含義如圖2-8和圖2-9所示。圖2-8低128字節RAM區圖2-9高128字節RAM區(SFR區,特殊功能寄存器區)1)低128字節RAM89C51的32個工作寄存器與RAM安排在同一個隊列空間里,統一編址并使用同樣的尋址方式(直接尋址和間接尋址)。00H~1FH地址安排為4組工作寄存器區,每組有8個工作寄存器(R0~R7),共占32個單元,見表2-4。通過對程序狀態字PSW中RS1、RS0的設置,每組寄存器均可選作CPU的當前工作寄存器組。若程序中并不需要4組,那么其余可用作一般RAM單元。CPU復位后,選中第0組寄存器為當前的工作寄存器。工作寄存器區后的16字節單元(20H~2FH),可用位尋址方式訪問其各位。在89系列單片機的指令系統中,還包括許多位操作指令,這些位操作指令可直接對這128位尋址。這128位的位地址為00H~7FH,其位地址分布見圖2-8。2)高128字節RAM——特殊功能寄存器(SFR)89C51片內高128字節RAM中,有21個特殊功能寄存器(SFR),它們離散地分布在80H~FFH的RAM空間中。訪問特殊功能寄存器只允許使用直接尋址方式。這些特殊功能寄存器見圖2-9。各SFR的名稱及含義如表2-5所列。(1)累加器ACC(E0H)累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,許多指令的操作數取自于ACC,許多運算中間結果也存放于ACC。在指令系統中用A作為累加器ACC的助記符。(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的兩個操作數分別取自A和B,乘積存于B和A兩個8位寄存器中。除法指令中,A中存放被除數,B中放除數,商存放于A,B中存放余數。在其他指令中,B可作為一般通用寄存器或一個RAM單元使用。(3)程序狀態寄存器PSW(D0H)PSW是一個8位特殊功能寄存器,它的各位包含了程序執行后的狀態信息,供程序查詢或判別之用。各位的含義及其格式如表2-6所列。PSW除有確定的字節地址(D0H)外,每一位均有位地址,見表2-6。CY(PSW.7):進位標志位。在執行加法(或減法)運算指令時,如果運算結果最高位(位7)向前有進位(或借位),則CY位由硬件自動置1;如果運算結果最高位無進位(或借位),則CY清0。CY也是89C51在進行位操作(布爾操作)時的位累加器,在指令中用C代替CY。AC(PSW.6):半進位標志位,也稱輔助進位標志。當執行加法(或減法)操作時,如果運算結果(和或差)的低半字節(位3)向高半字節有半進位(或借位),則AC位將被硬件自動置1;否則AC被自動清0。F0(PSW.5):用戶標志位。用戶可以根據自己的需要對F0位賦予一定的含義,由用戶置位或復位,以作為軟件標志。RS0和RS1(PSW.3和PSW.4):工作寄存器組選擇控制位。這兩位的值可決定選擇哪一組工作寄存器為當前工作寄存器組。通過用戶用軟件改變RS1和RS0值的組合,以切換當前選用的工作寄存器組。其組合關系如表2-7所列。89C51上電復位后,RS1=RS0=0,CPU自動選擇第0組為當前工作寄存器組。根據需要,可利用傳送指令對PSW整字節操作或用位操作指令改變RS1和RS0的狀態,以切換當前工作寄存器組。這樣的設置為程序中保護現場提供了方便。OV(PSW.2):溢出標志位。當進行補碼運算時,如有溢出,即當運算結果超出-128~+127的范圍時,OV位由硬件自動置1;無溢出時,OV=0。PSW.1:為保留位。89C51未用,89C52為F1用戶標志位。P(PSW.0):奇偶校驗標志位。每條指令執行完后,該位始終跟蹤指示累加器A中1的個數。如結果A中有奇數個1,則置P=1;否則P=0。常用于校驗串行通信中的數據傳送是否出錯。(4)棧指針SP(81H)堆棧指針SP為8位特殊功能寄存器,SP的內容可指向89C51片內00H~7FHRAM的任何單元。系統復位后,SP初始化為07H,即指向07H的RAM單元。89C51在片內RAM中專門開辟出來一個區域,數據的存取是以“后進先出”的結構方式處理的,好像沖鋒槍壓入子彈。這種數據結構方式對于處理中斷,調用子程序都非常方便。堆棧的操作有兩種:一種叫數據壓入(PUSH),另一種叫數據彈出(POP)。89C51的堆棧指針SP是一個雙向計數器。進棧時,SP內容自動增值,出棧時自動減值。存取信息必須按“后進先出”或“先進后出”的規則進行。在圖2-10中,假若有8個RAM單元,每個單元都在其右面編有地址,棧頂由堆棧指針SP自動管理。每次進行壓入或彈出操作以后,堆棧指針便自動調整以保持指示堆棧頂部的位置。這些操作可用圖2-10說明。圖2-10堆棧的壓入與彈出(5)數據指針DPTR(83H,82H)DPTR是一個16位的特殊功能寄存器,其高位字節寄存器用DPH表示(地址83H),低位字節寄存器用DPL表示(地址82H)。DPTR既可以作為一個16位寄存器來處理,也可以作為兩個獨立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便對64KB片外RAM作間接尋址。(6)I/O端口P0~P3

(80H,90H,A0H,B0H)P0~P3為4個8位特殊功能寄存器,分別是4個并行I/O端口的鎖存器。它們都有字節地址,每一個口鎖存器還有位地址,每一條I/O線均可獨立用作輸入或輸出。用作輸出時,可以鎖存數據;用作輸入時,數據可以緩沖。圖2-11所示為各個SFR所在的字節地址位置??崭癫糠譃槲磥碓O計新型芯片可定義的SFR位置。圖2-11特殊功能寄存器SFR的位置 片內時鐘信號的產生89C51芯片內部有一個高增益反相放大器,用于構成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體及兩個電容就可以構成穩定的自激振蕩器。電容器C1和C2通常取30pF左右,可穩定頻率并對振蕩頻率有微調作用。振蕩脈沖頻率范圍為fOSC=0~24MHz。晶體振蕩器的頻率為fOSC,振蕩信號從XTAL2端輸入到片內的時鐘發生器上,如圖2-12

所示。返回圖2-1289C51的片內振蕩器及時鐘發生器 復位操作返回2.5.1復位操作的主要功能主要功能是把PC初始化為0000H,使單片機從0000H單元開始執行程序。復位操作還對其他一些寄存器有影響,它們的復位狀態如表2-8所列。表2-8中的符號意義如下:A=00H:表明累加器已被清0。PSW=00H:表明選寄存器0組為工作寄存器組。SP=07H:表明堆棧指針指向片內RAM07H字節單元,根據堆棧操作的先加后壓法則,第一個被壓入的數據被寫入08H單元中。P0~P3=FFH:表明已向各端口線寫入1,此時,各端口既可用于輸入,又可用于輸出。IP=×××00000B:表明各個中斷源處于低優先級。IE=0××00000B:表明各個中斷均被關斷。TMOD=00H:表明T0,T1均為工作方式0,且運行于定時器狀態。TCON=00H:表明T0,T1均被關斷。SCON=00H:表明串行口處于工作方式0,允許發送,不允許接收。PCON=00H:表明SMOD=0,波特率不加倍。表2-8各特殊功能寄存器的復位值返回 復位信號及其產生一、復位信號:RST引腳為復位信號輸入端。當RST引腳為高電平,且有效時間持續24個振蕩周期以上,才能復位。二、產生復位信號的電路邏輯圖:如圖2-15所示。返回返回

復位電路施密特觸發器片內RAMRST/VPDVCCVSSD1D2圖2-15復位電路邏輯圖復位電路一、上電自動復位:是通過外部復位電路的電容充電實現。如圖2-16(a)所示。二、按鍵手動復位:按鍵電平復位方式:如圖2-16(b)所示。返回圖2-16(a)上電復位電路只要Vcc的上升時間不超過1ms,就自動上電復位,即接通電源就完成了系統復位。返回VCCCRVCCRST/VPDVSS1KΩ22μF89C51圖2-12(b)按鍵電平復位電路通過使復位端經電阻與VCC電源接通而實現。VCCCR2VCCRST/VPDVSS1KΩ22μF89C51R1200ΩRESET返回89C51單片機的低功耗工作方式89C51提供兩種節電工作方式,即空閑(等待、待機)方式和掉電(停機)工作方式圖2-17所示為實現這兩種方式的內部電路。由圖可見,若IDL(idle)=0,則89C51將進入空閑運作方式。在這種方式下,振蕩器仍繼續運行,但IDL封鎖了去CPU的“與”門,故CPU此時得不到時鐘信號。而中斷、串行口和定時器等環節卻仍在時鐘控制下正常運行。掉電方式下(PD=0),振蕩器凍結。圖2-17中,PD和IDL均為PCON中PD和IDL觸發器的輸出端。圖2-17空閑和掉電方式控制電路方式的設定空閑方式和掉電方式是通過對SFR中的PCON(地址87H)相應位置1而啟動的。圖2-18所示為89C51電源控制寄存器PCON各位的分布情況。HMOS器件的PCON只包括一個SMOD位,其他4位是CHMOS器件獨有的。3個保留位用戶不得使用。圖2-18電源控制寄存器PCON圖2-18中各符號的名稱和功能如下:SMOD:波特率倍頻位。若此位為1,則串行口方式1、方式2和方式3的波特率加倍。GF1和GF0:通用標志位。PD:掉電方式位。此位寫1即啟動掉電方式。由圖217可見,此時時鐘凍結。IDL:空閑方式位。此位寫1即啟動空閑方式。這時CPU因無時鐘控制而停止運作。如果同時向PD和IDL兩位寫1,則PD優先。89C51中PCON的復位值為0×××0000B。空閑(等待、待機)工作方式CPU執行完置IDL=1(PCON.1)的指令后,系統進入空閑工作方式。進入空閑方式后,有兩種方法可以使系統退出空閑方式:一是任何的中斷請求被響應都可以由硬件將PCON.0(IDL)清0而中止空閑工作方式。另一種退出空閑方式的方法是硬件復位,掉電(停機)工作方式當CPU執行一條置PCON.1位(PD)為1的指令后,系統進入掉電工作方式。退出掉電方式的唯一方法是由硬件復位,復位后將所有特殊功能寄存器的內容初始化,但不改變片內RAM區的數據。在掉電工作方式下,VCC可以降到2V,但在進入掉電方式之前,VCC不能降低。而在準備退出掉電方式之前,VCC必須恢復正常的工作電壓值,并維持一段時間(約10ms),使振蕩器重新啟動并穩定后方可退出掉電方式。 輸出/輸入端口I/O端口概述P0口P1口P2口P3口端口的負載能力和接口要求返回 I/O端口概述返回1.89C51單片機有四個8位并行I/O端口:P0、P1、P2和P3。2.每個端口都是8位準雙向口,共占32根引腳。3.每一條I/O線都能獨立地用作輸入或輸出。4.每個端口都包括一個鎖存器(即特殊功能寄存器P0~P3),一個輸出驅動器和輸入緩沖器,作輸出是數據可以鎖存,作輸入時數據可以緩沖。P0口一、結構二、P0口作為一般I/O口使用三、P0口作為地址/數據總線使用返回一、結構P0口某位的結構由一個輸出鎖存器、二個三態輸入緩沖器和輸出驅動電路及控制電路組成。如圖2-21所示。當C=0時,開關MUX被控為如圖示位置,P0口為通用I/O口;當C=1時,開關撥向反相器3的輸出端,P0口分時作為地址/數據總線使用。返回圖2-21

P0口某位的結構圖當C=0時,開關MUX被控為如圖示位置,P0口為通用I/O口;當C=1時,開關撥向反相器3的輸出端,P0口分時作為地址/數據總線使用。返回讀引腳讀鎖存器內部總線寫入DCPQQ地址/數據控制CMUXVCCT1T2P0.X4312鎖存器二、P0口作為一般I/O口使用1、P0口用作輸出口2、P0口作輸入口返回1、P0口用作輸出口當CPU執行輸出指令時,寫脈沖加在D鎖存器的CP上,這樣,與內部總線相連的D端的數據取反后就出現在Q端上,又經輸出級FET(T2)反相,在P0端口上出現的數據正好是內部總線的數據。這是一般的數據輸出情況。返回2、P0口作輸入口當執行一條由端口輸入的指令時,“讀引腳”脈沖把三態緩沖器2打開,這樣,端口上的數據經過緩沖器2讀入到內部總線。在端口進行輸入操作前,應先向端口鎖存器寫入1,也就是使鎖存器Q=0。因為控制線C=0,因此T1和T2全截止,引腳處于懸浮狀態,可作高阻抗輸入。返回三、P0口作為地址/數據總線使用1.P0口用作輸出地址/數據總線以P0口引腳輸出低8位地址或數據信息,MUX開關把CPU內部地址/數據線經反向器3與驅動場效應管FET(T2)柵極接通。上下兩個FET處于反相,構成推拉式的輸出電路(T1導通時上拉,T2導通時下拉),提高了負載能力。當P0口被地址/數據總線占用時,就無法再作I/O口使用了。返回2.由P0口輸入數據:在“讀引腳”信號有效時,打開輸入緩沖器2,使數據進入內部總線。三、P0口作為地址/數據總線使用返回P1口一、P1口結構二、P1口用作通用I/O返回 P1口一、P1口結構:其電路結構見圖2-19,輸出驅動部分與P0口不同,內部有上拉負載電阻與電源相連。實質上,電阻是兩個場效應管FET并在一起:一個FET為負載管,其電阻固定。另一個FET可工作在導通或截止兩種狀態,使其總電阻值變化近似為0或阻值很大兩種情況。當阻值近似為0時,可將引腳快速上拉至高電平;當阻值很大時,P1口為高阻輸入狀態。返回圖2-19

P1口某位的結構圖讀引腳讀鎖存器內部總線寫入DCPQQVCCP1.X12鎖存器 P1口二、P1口用作通用I/OP1口也是一個準雙向口。在端口用作輸入時,也必須先向對應的鎖存器寫入1,使FET截止。當P1口輸出高電平時,能向外提供拉電流負載,所以不必再接上拉電阻。P2口一、P2口結構二、P2口用作一般I/O口三、P2口用作高8位地址總線一、P2口結構如圖2-20所示,P2口某位的結構與P0口類似,有MUX開關。驅動部分與P1口類似,但比P1口多了一個轉換控制部分。圖2-20

P2口某位的結構圖返回讀引腳讀鎖存器內部總線寫入DCPQQ地址/數據控制CMUXVCCP2.X鎖存器二、P2口用作一般I/O口1、當CPU對片內存儲器和I/O口進行讀/寫(執行MOV指令或EA=1時,執行MOVC指令)時,由內部硬件自動使開關MUX倒向鎖存器的Q端,這時,P2口為一般I/O口。返回二、P2口用作一般I/O口2、在只需擴展256B片外RAM的系統中,使用“MOVXA,@Ri”類指令訪問片外RAM時,尋址范圍是256B,只需低8位地址線就可以實現。P2口不受該指令影響,仍可作通用I/O口。返回二、P2口用作一般I/O口3、若擴展的RAM容量超過256B,使用“MOVXA,@DPTR”類指令的尋址范圍是64KB,此時,高8位地址總線用P2口輸出。在片外RAM讀/寫周期內,P2口鎖存器仍保持原來端口的數據;在訪問片外RAM周期結束后,多路開關MUX自動切換倒鎖存器Q端。由于CPU對RAM的訪問不是經常的,在這種情況下,P2口在一定的限度內仍可用作通用I/O口

溫馨提示

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

最新文檔

評論

0/150

提交評論