




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二章單片微機的基本結構浙江大學電氣學院彭勇剛第二章單片微機的基本結構2.180C51單片微機的內部結構單片機的8大部件:中央處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM/EPROM)、并行輸入/輸出口(P0口-P3口)、串行口、定時/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器??傊?,單片機是由片內總線連接8大部件構成。2.2MCS-51單片機的引腳及片外總線結構
1.MCS-51單片機的引腳(40引腳PDIP封裝)P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.78引腳名稱引腳個數(shù)Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp1ALE/PROG1PSEN1電源端,接+5V;接地端片內振蕩電路輸入/輸出端復位信號輸入端讀片外ROM控制端/編程電源輸入端低8位地址鎖存允許信號輸出端/編程脈沖輸入端讀片外程序存儲器選通信號輸出端4組8位并行I/O口⑴地址總線AB(AddressBus)地址線A0~A15共16位,P2口提供高8位地址A8~A15,P0口經(jīng)地址鎖存器提供低8位地址A0~A7。片外存儲器可尋址范圍達64KB(即=65536個字節(jié))。⑵數(shù)據(jù)總線DB(DataBus)
數(shù)據(jù)線D0-D7共8位,由P0口提供。所以,P0口分時輸送低8位地址(通過地址鎖存器鎖存)和8位數(shù)據(jù)信息。⑶控制總線CB(ControlBus)
控制總線由P3口的第二功能(P3.6)、(P3.7)和3根獨立的控制線、ALE和組成。2、MCS-51單片機的片外三總線結構
所謂總線,就是連接單片機與系統(tǒng)中各部件的一組公共的信號線。2.380C51CPU的結構圖2.380C51CPU的結構和特點2.3.1CPU的組成
(1)運算器
8位算術邏輯運算單元ALU
累加器A(ACC)寄存器B
程序狀態(tài)字寄存器PSW
(2)控制器程序計數(shù)器PC
堆棧指針SP
數(shù)據(jù)指針DPTR
指令寄存器IR
定時與控制邏輯完成算術運算、邏輯運算和位操作。a、以主振頻率為基準產(chǎn)生時鐘信號,控制取指令、執(zhí)行指令、存取操作數(shù)或運算結果等操作。b、向其他部件發(fā)出各種微控制信號,使各部件自動協(xié)調工作。是程序中最繁忙的特殊功能寄存器,功能是向ALU提供操作數(shù)、存放運算的中間結果、數(shù)據(jù)傳送的中轉站。
主要用于乘、除運算8位寄存器,用于存放指令執(zhí)行狀態(tài),供程序查詢和判斷
16位自動加1功能的計數(shù)器8位專用寄存器,存放堆棧棧頂存儲單元的地址
存放16位地址,用特定指令來訪問片外數(shù)據(jù)存儲器或程序存儲器
2.3.2
指令執(zhí)行的基本過程向存儲器裝入程序執(zhí)行指令取指令執(zhí)行指令程序——為了完成某項工作,將一系列指令有序地組合指令——要求單片機執(zhí)行某種操作的命令從存儲器中取出指令,對指令進行譯碼,明確該指令執(zhí)行何種操作,以及操作數(shù)的存放地址,再根據(jù)這個地址獲取操作數(shù)按操作碼指明的操作類型對獲取的操作數(shù)進行操作程序計數(shù)器PC(ProgramCounter)——16位自動加1功能的計數(shù)器。PC中的內容總是CPU將要執(zhí)行的那條指令所存放的存儲單元的首地址,在CPU從存儲單元取指令的過程中,每取1個字節(jié)的內容,程序計數(shù)器PC就自動加1,在取完這條指令后,PC的內容是下一條要執(zhí)行的指令所存放的存儲單元的首地址。2.3.3單片機硬件最小系統(tǒng)
單片機最小系統(tǒng)指單片機正常工作需要的最少元件,以一以AT89C51最小系統(tǒng)為例,常為4部分:工作電源、時鐘電路、復位電路、存儲器設置電路。單片機硬件系統(tǒng)通常以最小系統(tǒng)作為基本部分,配以不同的外圍電路,實現(xiàn)不同的電路功能。單片機最小控制系統(tǒng)的結構圖
X1X2P0P1P2P3TXDRXDINT0INT1返回CPURAMROM中斷系統(tǒng)串行口并行口定時計數(shù)器振蕩電路T0T1外設外設外設RST+5V單片機最小硬件系統(tǒng)CPURAMROM定時中斷串口CBP2P3P1P0P0P2P3P1鎖存器
ALE單片機擴展系統(tǒng)的結構圖RST+5VX1X2ABDB存儲器I/O口外設返回2.3.3.1時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號單片機芯片內部有一個高增益反向放大器,通過引腳XTAL1和XTAL2,接晶體振蕩器CYS和微調電容器C1、C2形成反饋電路(通常取值在20~30pF),構成穩(wěn)定的自激振蕩器并產(chǎn)生振蕩脈沖。振蕩電路產(chǎn)生的振蕩脈沖不直接使用,而是經(jīng)分頻后為系統(tǒng)所用。fosc
外部振蕩方式:引入外部脈沖信號作為單片機的振蕩脈沖,對于80C51單片機而言,這時外部脈沖信號是經(jīng)XTAL1引腳注入,而XTAL2引腳懸空,這種方式常用于多塊芯片同時工作,這樣便于同步。1、節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為節(jié)拍(用“P”表示)。振蕩脈沖經(jīng)過二分頻后,就是單片機的時鐘信號,把時鐘信號的周期定義為狀態(tài)(用“S”表示)。這樣,一個狀態(tài)就包含兩個拍節(jié),其前半周期對應的節(jié)拍叫節(jié)拍1(P1),后半周期對應的節(jié)拍叫節(jié)拍2(P2)。2、機器周期規(guī)定一個機器周期的寬度為6個狀態(tài),并依次表示為:S1~S6。由于一個狀態(tài)又包括兩個節(jié)拍,因此一個機器周期總共有12個節(jié)拍,分別記作S1P1、S1P2、……S6P12。由于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是振蕩頻率的十二分頻。2.3.3.2時序與時序定時單位3、指令周期指令周期是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱之為指令周期。指令周期以機器周期的數(shù)目來表示,MCS-51的指令周期根據(jù)指令的不同,可包含有一(單周期)、二(雙周期)、三或四個機器周期。指令的運算速度和指令所包含的機器周期數(shù)有關,機器周期數(shù)越少的指令執(zhí)行速度越快。例如當振蕩脈沖頻率為12MHz時,一個機器周期為1微秒,當振蕩脈沖頻率為6MHz時,一個機器周期為2微秒。對于振蕩脈沖頻率為12MHz的單周期指令、雙周期指令、三周期指令和四周期指令其指令的執(zhí)行時間分別為:1微秒、2微秒、3微秒和4微秒。
各種周期之間的關系P1P2S1振蕩周期狀態(tài)周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2時序要點:一個指令周期=1,2或者4個機器周期一個機器周期=12個晶振周期一個機器周期輸出兩個ALE脈沖即:ALE的輸出頻率fALE=(1/6)fOSC如果使用晶振頻率為12MHZ,則fALE=2MHZ,指令執(zhí)行時間=1,2,4微秒。例:單片機外接晶振頻率12MHZ時,求各時序單位的值。振蕩周期=狀態(tài)周期=機器周期=指令周期=1/fosc=1/12MHZ=0.0833us2/fosc=2/12MHZ=0.1667us12/fosc=12/12MHZ=1us(1~4)機器周期=1~4us2023/2/520a)單字節(jié)單周期;b)雙字節(jié)單周期指令;c)單字節(jié)雙周期字節(jié);d)單字節(jié)雙周期指令2023/2/521時序的共同點:
每一次ALE信號有效,CPU均從ROM中讀取指令碼(包括操作碼和操作數(shù)),但不一定有效,讀了之后再丟棄(假讀)。有效時,PC+1→PC(程序計數(shù)器PC加1);無效時不變。其余時間用于執(zhí)行指令操作功能,但在時序中沒有完全反映出。如雙字節(jié)單機器周期,分別在S1、S4讀操作碼和操作數(shù),執(zhí)行指令就一定在S2、S3、S5、S6中完成。2.3.3.3MCS-51單片機的復位復位操作通常有兩種基本形式:上電自動復位、手動按鍵復位接通電源后自動實現(xiàn)復位操作電源接通的條件下,在單片機運行期間,用按鈕開關操作使單片機復位如何進行復位呢?在8C051單片機的RST引腳上輸入高電平并至少保持兩個機器周期(即24個振蕩周期)以上時,復位過程即可完成。如果RST引腳持續(xù)保持高電平,單片機就處于循環(huán)復位狀態(tài)。使系統(tǒng)回復到初始狀態(tài)的操作上電瞬間,RST獲得高點平,隨著電容C的充電,RST上的高電平逐漸下降。想一想,如果12M晶振,高電平維持的時間至少多少?MCS-51單片機復位后的狀態(tài)寄存器復位狀態(tài)寄存器復位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H2.4MCS-51存儲器結構和地址空間計算機的兩種不同結構——馮·諾依曼型:中央處理器(CPU)輸入/輸出部件存儲器邏輯部件(ALU)控制部件計算機的兩種不同結構——哈佛型:中央處理器(CPU)輸入/輸出部件程序存儲器邏輯部件(ALU)控制部件數(shù)據(jù)存儲器單片機的存儲器——幾個有關的概念:
計算機中的存儲器就是一個用來存放貨物(包括數(shù)據(jù)和程序)的倉庫,倉庫中有很多用來存放貨物(數(shù)據(jù))的貨架,貨架分成很多格子,格子的大小是1個字節(jié),這就是存儲器中的存儲單元。
在這個倉庫中存放數(shù)據(jù)可以一個字節(jié)一個字節(jié)的放、也可以一個位一個位的放,為了存取貨物(數(shù)據(jù))方便,每個格子都有一個編號,這個編號被稱為地址,即存儲單元地址,地址用一個2位或4位的十六進制數(shù)來表示。MCS51單片機存儲器結構及地址空間MCS-51單片機存儲器可分為5類:片內程序存儲器,片外程序存儲器,片內數(shù)據(jù)存儲器,片外數(shù)據(jù)存儲器,特殊功能寄存器。
MCS-51單片機存儲器的地址空間可分為3個:1、片內片外統(tǒng)一編址的64KB程序存儲器地址空間(用16位地址);2、片內數(shù)據(jù)存儲器與特殊功能寄存器統(tǒng)一編址的256字節(jié)內部數(shù)據(jù)存儲器地址空間(用8位地址);3、64KB片外數(shù)據(jù)存儲器地址空間(16位地址)低4KB(0000H~0FFFH)的片外程序存儲器和4K的片內程序存儲器的地址空間是公共的,控制信號EA來區(qū)分片內和片外程序存儲器程序存儲器的某些單元是保留給系統(tǒng)使用的:1、0000H-0002H單元,系統(tǒng)的啟動單元,即是所有執(zhí)行程序的入口地址。單片機復位后,程序計數(shù)器PC的內容為0000H,使單片機必然從0000H單元取指令執(zhí)行程序。2、0003H-002AH單元,中斷服務程序的入口地址,共40個單元,分成5段,每段8個單元,分配給5個中斷源。用戶程序不應該進入這個區(qū)域。因此,一般從0000H開始,存放一條絕對轉移指令,用戶程序則由轉移后的地址開始執(zhí)行,從而避開以上給系統(tǒng)使用的ROM單元。64KB數(shù)據(jù)存儲器RAM在地址上是和64KB程序存儲器ROM的地址重疊,8051通過不同的信號來選通RAM和ROM:當對片外RAM讀、寫數(shù)據(jù)時,用讀、寫控制信號RD或WR來選通;當對片外ROM取指令時,采用選通信號PSEN程序存儲器的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
外部中斷1中斷服務程序地址區(qū);001BH-0022H
定時/計數(shù)器1中斷服務程序地址區(qū);0023H-002AH
串行口中斷服務程序地址區(qū)。2FH存儲器配置(片內RAM):片內RAM128字節(jié)(00H—7FH)00H20H7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH所有的RAM區(qū)(包括工作寄存器區(qū)、位尋址區(qū)、通用RAM區(qū))都可以用于存放據(jù)。80C51128字節(jié)特殊功能寄存器區(qū)128字節(jié)統(tǒng)一編址R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)00FH10H17H18H00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)存儲器配置(片內RAM):工作寄存器區(qū)(00H—1FH)1FH存儲器配置(片內RAM)位尋址區(qū)(20H—2FH)可按位尋址它們的位地址為:00H—7FH(128位)00H20H2FH7FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)7F7E7D7C7B7A797827H22H21H20H26H24H25H23H28H2FH單元字節(jié)地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A39384746454443424140位地址MCS51單片機的特殊功能寄存器(SFR):特殊功能寄存器SFR(專用寄存器)是一類專門用于控制、選擇、管理、存放單片機內部各部分的工作方式、條件、狀態(tài)、結果的寄存器。不同的SFR管理不同的硬件模塊,負責不同的功能,各司其職換而言之:要讓單片機實現(xiàn)預訂的功能,必須有相應的硬件和編寫相應的軟件,而編寫軟件中最重要的一項工作就是對SFR進行設置。特殊功能寄存器(SFR)80C51有21個SFR(地址碼尾數(shù)為0或8的11個單元具有位尋址能力)與CPU相關的寄存器ACC,B,PSW,SP,DPTR(DPH,DPL)與I/O口相關的寄存器P0,P1,P2,P3;SCON,SBUF,PCON與中斷相關的寄存器IE,IP與定時/計數(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中斷控制寄存器A8HTMOD定時器方式寄存器89H*TCON定時器控制寄存器88H標識符名稱地址TH0計數(shù)器0高位8CHTL0計數(shù)器0低位8AHTH1計數(shù)器1高位8DHTL1計數(shù)器1低位8BH*SCON串行口控制98HSBUF串行數(shù)據(jù)緩沖器99HPCON電源控制97H位地址的表示法例:位名稱
CY、RS0
寄存器名加序號PSW.7ACC.1
字節(jié)地址加序號20H.3
直接位地址 00H第二章2---37特殊功能寄存器地址空間特殊功能寄存器(A、B、P0—P3、SP):P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表。堆棧指針寄存器
SP(StackPointer):
總是指向堆棧的棧頂。累加器ACC:
8位寄存器,地址:E0H,具有位尋址能力。用于數(shù)據(jù)傳送中存放中間數(shù)據(jù)、數(shù)學邏輯運算中存放運算數(shù)據(jù),是數(shù)據(jù)傳送的中轉站。
寄存器B:經(jīng)常與ACC配合在一起使用的特殊功能寄存器(乘法、除法中存放另一個運算數(shù)據(jù)),此外,它也經(jīng)常當作普通寄存器使用。程序狀態(tài)字存儲器(PSW):程序狀態(tài)字存儲器PSW:
用于存放在程序執(zhí)行過程中產(chǎn)生的一些特殊狀態(tài)(進位、溢出、借位等)。CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5CY(PSW.7)進位/借位標志位。若ACC在運算過程中發(fā)生了進位或借位,則CY=1;否則=0。同時它也是布爾處理器的位累加器,可用于布爾操作,即位操作。AC(PSW.6)輔助進位/借位標志位。若ACC在運算過程中,D3位向D4位發(fā)生了進位或借位,則AC=1,否則=0。機器在執(zhí)行“DAA”指令時自動要判斷這一位。F0(PSW.5)可由用戶定義的標志位。程序狀態(tài)字存儲器(PSW):RS1和RS0:
RS1和RS0的組合用于對工作寄存器區(qū)進行選擇。CYACF0RS0OVPRS1PSW.7PSW.0PSW.4PSW.3RS1,RS0=00則選擇了工作寄存器組
0區(qū)R0~R7,分別代表00H~07H單元。RS1,RS0=01則選擇了工作寄存器組
1區(qū)R0~R7,分別代表08H~0FH單元。RS1,RS0=10則選擇了工作寄存器組
2區(qū)
R0~R7,分別代表10H~17H單元。RS1,RS0=11則選擇了工作寄存器組
3區(qū)R0~R7,分別代表18H~1FH單元。PSW.6PSW.5程序狀態(tài)字存儲器(PSW):OV
(PSW.2)溢出標志位。OV=1時特指累加器A在進行帶符號數(shù)(-128—+127)運算時出錯(超出范圍);OV=0時未出錯。P(PSW.0)奇偶標志位。P=1表示累加器A中“1”的個數(shù)為奇數(shù)P=0表示累加器A中“1”的個數(shù)為偶數(shù)CPU隨時監(jiān)視著ACC中的“1”的個數(shù),并反映在PSW中CYACF0RS0OVPRS1PSW.7PSW.0PSW.2PSW.1一個重要的寄存器(PC):程序計數(shù)器PC(ProgramCounter)PC不是一個特殊功能寄存器SFR,但其作用又十分重要和特殊!!!PC在計算機中用于對程序的執(zhí)行進行控制特點:▼它是16位的按機器周期自動增1計數(shù)器▼總指向下一條指令所在首地址(當前PC值)▼一切分支/跳轉/調用/中斷/復位等操作的本質就是:改變PC值MCS51單片機的堆棧:什么是堆棧?在片內RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),
它只允許在其一端進行數(shù)據(jù)的插入(寫入)和刪除(讀出)操作,這端稱為棧頂,SP始終指向棧頂,它遵循先進后出和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧,堆棧的另外一端稱為棧底。堆棧的作用是什么?1)子程序調用和中斷服務時CPU自動將當前PC值入棧保存,返回時自動將出棧,將原來保存過PC值復原。2)保護現(xiàn)場/恢復現(xiàn)場3)數(shù)據(jù)傳輸MCS51單片機的堆棧:堆棧區(qū)通過特殊功能寄存器SP(堆棧指針)進行管理(SP始終指向堆棧的棧頂),堆棧區(qū)可以安排在RAM區(qū)任意位置,但為了防止數(shù)據(jù)區(qū)的沖突,所以一般不安排在片內RAM的工作寄存器區(qū)和位尋址區(qū),通常放在片內RAM的通用RAM區(qū)。1FH30H20H2FHMCS51單片機的堆棧的操作:00H7FH80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)初始SPSP棧頂已經(jīng)存入堆棧的數(shù)據(jù)將要進入堆棧的數(shù)據(jù)存放于此數(shù)據(jù)進棧進棧:首先修改SP,即(SP)+1,使SP指向下一個單元,然后將數(shù)據(jù)放進堆棧的棧頂單元,按照這樣的規(guī)則,SP再自動增1,仍指著棧頂,數(shù)據(jù)進棧……1FH30H20H2FHMCS51單片機的堆棧:00H7FH80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)初始SPSP棧頂出棧:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,按照這樣的規(guī)則,取棧頂數(shù)據(jù),SP再自動減1
……當前要出棧的數(shù)據(jù)數(shù)據(jù)出棧1FH30H20H2FHMCS51單片機的堆棧:00H7FH80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)初始SPSP棧頂數(shù)據(jù)出棧SP-1指向新的棧頂,也就是下一個要出棧的數(shù)據(jù)出棧:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,按照這樣的規(guī)則,取棧頂數(shù)據(jù),SP再自動減1
……2.580C51并行輸入/輸出端口P0口P1口P2口P3口2.580C51的并行口結構與操作2.5.1P0口的結構
一、
P0口的結構控制位C0:P0用作通用I/O口1:P0用作地址/數(shù)據(jù)總線1、P0用作通用I/O口
當系統(tǒng)不進行片外的ROM擴展,也不進行片外RAM擴展時,P0用作通用I/O口。
在這種情況下,單片機硬件自動使C=0,MUX開關接向鎖存器的反相輸出端。
另外,與門輸出的“0”使輸出驅動器的上拉場效應管T1處于截止狀態(tài)。因此,輸出驅動級工作在需外接上拉電阻的漏極開路方式。作輸出口時,CPU執(zhí)行口的輸出指令,內部數(shù)據(jù)總線上的數(shù)據(jù)在“寫鎖存器”信號的作用下由D端進入鎖存器,經(jīng)鎖存器的反向端送至場效應管T2,再經(jīng)T2反向,在P0.X引腳出現(xiàn)的數(shù)據(jù)正好是內部總線的數(shù)據(jù)。作輸入口時,數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來決定。
執(zhí)行“讀—修改—寫”類輸入指令時(如:ANLP0,A),內部產(chǎn)生的“讀鎖存器”操作信號,使鎖存器Q端數(shù)據(jù)進入內部數(shù)據(jù)總線,在與累加器A進行邏輯運算之后,結果又送回P0的口鎖存器并出現(xiàn)在引腳。讀口鎖存器可以避免因外部電路原因使原口引腳的狀態(tài)發(fā)生變化造成的誤讀。
在執(zhí)行“MOV”類輸入指令時(如:MOVA,P0),內部產(chǎn)生的操作信號是“讀引腳”。注意,在執(zhí)行該類輸入指令前要先把鎖存器寫入“1”,使場效應管T2截止,使引腳處于懸浮狀態(tài),可以作為高阻抗輸入。
否則,在作為輸入方式之前曾向鎖存器輸出過“0”,則T2導通會使引腳箝位在“0”電平,使輸入高電平“1”無法讀入。所以,P0口在作為通用I/O口時,屬于準雙向口。2、P0用作地址/數(shù)據(jù)總線
當系統(tǒng)進行片外的ROM擴展或進行片外RAM擴展,P0用作地址/數(shù)據(jù)總線時。
在這種情況下,單片機內硬件自動使C=1,MUX開關接向反相器的輸出端,這時與門的輸出由地址/數(shù)據(jù)線的狀態(tài)決定。CPU在執(zhí)行輸出指令時,低8位地址信息和數(shù)據(jù)信息分時地出現(xiàn)在地址/數(shù)據(jù)總線上。P0.X引腳的狀態(tài)與地址/數(shù)據(jù)線的信息相同。CPU在執(zhí)行輸入指令時,首先低8位地址信息出現(xiàn)在地址/數(shù)據(jù)總線上,P0.X引腳的狀態(tài)與地址/數(shù)據(jù)總線的地址信息相同。然后,CPU自動地使轉換開關MUX撥向鎖存器,并向P0口寫入FFH,同時“讀引腳”信號有效,數(shù)據(jù)經(jīng)緩沖器進入內部數(shù)據(jù)總線。P0口作為地址/數(shù)據(jù)總線使用時是一個真正的雙向口。2.5.2
P2口的結構控制位C0:P2用作通用I/O口1:P2用作地址總線1、P2用作通用I/O口
當不在單片機芯片外部擴展程序存儲器,只擴展256B的片外RAM時,僅用到了地址線的低8位,P2口仍可以作為通用I/O口使用。
執(zhí)行輸出指令時,內部數(shù)據(jù)總線的數(shù)據(jù)在“寫鎖存器”信號的作用下由D端進入鎖存器,經(jīng)反相器后送至場效應管T,再經(jīng)T反相,在P2.X引腳出現(xiàn)的數(shù)據(jù)正好是內部總線的數(shù)據(jù)。P2口用作輸入時,數(shù)據(jù)可以讀自口的鎖存器,也可以讀自口的引腳。這要根據(jù)輸入操作采用的是“讀鎖存器”指令還是“讀引腳”指令來決定。
執(zhí)行“讀—修改—寫”類輸入指令時內部產(chǎn)生的“讀鎖存器”操作信號使鎖存器Q端數(shù)據(jù)進入內部數(shù)據(jù)總線,在與累加器A進行邏輯運算之后,結果又送回P2的口鎖存器并出現(xiàn)在引腳。
執(zhí)行“MOV”類輸入指令時,內部產(chǎn)生的操作信號是“讀引腳”。應在執(zhí)行輸入指令前要把鎖存器寫入“1”,從而使引腳處高阻抗輸入狀態(tài)。P2口在作為通用I/O口時,屬于準雙向口。2、P2用作地址總線
當需要在單片機芯片外部擴展程序存儲器或擴展的RAM容量超過256字節(jié)時,單片機內硬件自動使控制C=1,MUX開關接向地址線,這時P2.X引腳的狀態(tài)正好與地址線的信息相同。2.5.3P1口x的結構
一、
P1口的結構
P1口由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅動電路組成。輸出驅動電路與P2口相同,內部設有上拉電阻。P1口是通用的準雙向I/O口。輸出高電平時,能向外提供拉電流負載,不必再接上拉電阻。當口用作輸入時,須向口鎖存器寫入1。2.P1口的位結構與功能1)P1口也是—個準雙向I/O口2)應用:通常作一般I/O口用,如驅動LED,連接按鍵SETB
P1.0CLRP1.1MOVP1,#00HMOVP1,#0FFH2.5.4
P3口的結構
P3用作通用I/O口:W=1P3用作第二功能:Q=11、P3用作第一功能(通用I/O口)
對P3口進行字節(jié)或位尋址時,單片機內部的硬件自動將第二功能輸出線的W置1。這時,對應的口線為通用I/O口方式。輸出時,鎖存器的狀態(tài)(Q端)與輸出引腳的狀態(tài)相同;輸入時,要先向口鎖存器寫入1,使引腳處于高阻輸入狀態(tài)。輸入的數(shù)據(jù)在“讀引腳”信號的作用下,進入內部數(shù)據(jù)總線。
P3口作為通用I/O口時,屬于準雙向口。P3.0:RXD(串行口輸入);P3.1:TXD(串行口輸出);P3.2:外部中斷0輸入;P3.3:外部中斷1輸入;P3.4:T0(定時器0的外部輸入);P3.5:T1(定時器1的外部輸出);P3.6:(片外數(shù)據(jù)存儲器“寫”選通控制輸出);P3.7:(片外數(shù)據(jù)存儲器“讀”選通控制輸出)。2、P3用作第二功能使用
當CPU不對P3口進行字節(jié)或位尋址時,內部硬件自動將口鎖存器的Q端置1。這時,P3口作為第二功能使用。2.5.5并行口的負載能力
P0、P1、P2、P3口的電平與CMOS和TTL電平兼容。P0口的每一位口線可以驅動8個LSTTL負載。在作為通用I/O口時,由于輸出驅動電路是開漏方式,由集電極開路(OC門)電路或漏極開路電路驅動時需外接上拉電阻;當作為地址/數(shù)據(jù)總線使用時,口線輸出不是開漏的,無須外接上拉電阻。P1、P2、P3口的每一位能驅動4個LSTTL負載。它們的輸出驅動電路設有內部上拉電阻,所以可以方便地由集電極開路(OC門)電路或漏極開路電路所驅動,而無須外接上拉電阻。
由于單片機口線僅能提供幾毫安的電流,當作為輸出驅動一般的晶體管的基極時,應在口與晶體
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年秋新北師大版數(shù)學一年級上冊教學課件 第一單元 生活中的數(shù) 第7課時 快樂的午餐
- 水質實驗室基礎知識培訓課件
- 新型儲能項目安全生產(chǎn)方案
- 聚酰亞胺薄膜生產(chǎn)線項目運營管理手冊
- 施工現(xiàn)場衛(wèi)生管理方案
- 化工產(chǎn)業(yè)園危險化學品應急響應方案
- 一、機械能(第2課時) -蘇科版九年級《物理》上冊考點練習
- 影視藝術特性74課件
- 水電消防知識培訓課件
- 2025版建筑工程設計與施工一體化論文集合同
- 鋰離子電池正極材料研究進展
- 二手房屋買賣物品交接清單
- 技師論文 變頻器的維修與保養(yǎng)
- 非標自動化設備項目進度表
- 診斷學教學胸部查體
- 橋梁安全事故案例警示
- YY/T 1095-2015肌電生物反饋儀
- SB/T 10460-2008商用電開水器
- GB/T 9124.1-2019鋼制管法蘭第1部分:PN系列
- GA 1800.2-2021電力系統(tǒng)治安反恐防范要求第2部分:火力發(fā)電企業(yè)
- 欣旺集團種禽養(yǎng)殖管理制度手冊
評論
0/150
提交評論