




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、汽車與交通工程學(xué)院汽車與交通工程學(xué)院Email:主講:陳林林主講:陳林林第二章:?jiǎn)纹瑱C(jī)硬件組成第二章:?jiǎn)纹瑱C(jī)硬件組成本章重點(diǎn): MCS-51的基本組成(內(nèi)部資源) I/O口結(jié)構(gòu) 存儲(chǔ)器、堆棧與特殊功能寄存器 單片機(jī)的基本工作方式以及單片機(jī)的基本時(shí)序 單片機(jī)的引腳通過本章的學(xué)習(xí),應(yīng)該對(duì)單片機(jī)的整體結(jié)構(gòu)和工作原理有全面的了解,上述內(nèi)容是學(xué)習(xí)和使用單片機(jī)指令系統(tǒng)以及設(shè)計(jì)單片機(jī)控制系統(tǒng)的基礎(chǔ)。 MCS51單片機(jī)單片機(jī)不同的不同的具體型號(hào)具體型號(hào),可能在以,可能在以下方面有所不同下方面有所不同片內(nèi)數(shù)據(jù)存儲(chǔ)器容量不同片內(nèi)數(shù)據(jù)存儲(chǔ)器容量不同片內(nèi)程序存儲(chǔ)器片內(nèi)程序存儲(chǔ)器容量和器件類型不同容量和器件類型不同定時(shí)
2、器數(shù)量不同定時(shí)器數(shù)量不同串口數(shù)量不同串口數(shù)量不同回顧MCS-51系列單片機(jī)配置一覽表系列片內(nèi)存儲(chǔ)器(字節(jié))定時(shí)器計(jì)數(shù)器并行I/O串行I/O中斷源片內(nèi)ROM片內(nèi)RAM無有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字節(jié))875187C51(4K字節(jié))128字節(jié)2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字節(jié))875287C52(8K字節(jié))256字節(jié)3x164x8位16注意:今后將會(huì)經(jīng)常提到ATMEL的AT89C2051/51/52等MCU!ATEML89C系列(常用型)1051(1K)/ 2051(2K)/
3、 4051(4K)(20條引腳DIP封裝)1282151589C51(4K)/ 89C52(8K)(40條引腳DIP封裝)128/2562/33215/6MCS-51MCS-51的基本組成的基本組成MCS-51單片機(jī)內(nèi)部資源8 8 位的位的 CPUCPU, 片內(nèi)有振蕩器和時(shí)鐘電路片內(nèi)有振蕩器和時(shí)鐘電路, ,工作頻率為工作頻率為 1 112MHz12MHz(Atmel 89CxxAtmel 89Cxx為為0 024MHz24MHz)片內(nèi)有片內(nèi)有 128/256128/256字節(jié)字節(jié) RAMRAM片內(nèi)有片內(nèi)有 0K/4K/8K0K/4K/8K字節(jié)字節(jié) 程序存儲(chǔ)器程序存儲(chǔ)器ROMROM可尋址片外可尋
4、址片外 64K64K字節(jié)字節(jié) 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器RAMRAM可尋址片外可尋址片外 64K64K字節(jié)字節(jié) 程序存儲(chǔ)器程序存儲(chǔ)器ROMROM片內(nèi)片內(nèi) 21/2621/26個(gè)個(gè) 特殊功能寄存器特殊功能寄存器(SFRSFR)4 4個(gè)個(gè)8 8位位 的并行的并行I/OI/O口口(PIOPIO)1 1個(gè)個(gè) 全雙工串行口全雙工串行口(SIO/UARTSIO/UART)2/32/3個(gè)個(gè)1616位位 定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器(TIMER/COUNTERTIMER/COUNTER)可處理可處理 5/65/6個(gè)個(gè)中斷源,中斷源,兩級(jí)兩級(jí)中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)內(nèi)置內(nèi)置1 1個(gè)個(gè)布爾處理器布爾處理器和和1 1個(gè)個(gè)布
5、爾累加器布爾累加器(CyCy)MCS-51MCS-51指令集含指令集含 111111條指令條指令MCS51單片機(jī)的內(nèi)部組成MCS51單片機(jī)的單片機(jī)的P0、P2和和P3并行接口在并行接口在CPU控制下,可構(gòu)成地址、數(shù)據(jù)和控制總線,控制下,可構(gòu)成地址、數(shù)據(jù)和控制總線,用于外部設(shè)備擴(kuò)展,用于外部設(shè)備擴(kuò)展,MCS51單片機(jī)可以擴(kuò)單片機(jī)可以擴(kuò)展:展:片外數(shù)據(jù)存儲(chǔ)器單元和片外數(shù)據(jù)存儲(chǔ)器單元和I/O接口地址共接口地址共64KB64KB片外程序存儲(chǔ)器片外程序存儲(chǔ)器 MCS-51單片機(jī)的中央處理器單片機(jī)的單片機(jī)的CPUCPU字長(zhǎng)為字長(zhǎng)為8 8位,即對(duì)數(shù)據(jù)的處理、傳輸位,即對(duì)數(shù)據(jù)的處理、傳輸均按均按8 8位二進(jìn)制
6、數(shù)位二進(jìn)制數(shù)( (一個(gè)字節(jié)一個(gè)字節(jié)) )進(jìn)行進(jìn)行MCSMCS5151系列單片機(jī)是系列單片機(jī)是8 8位機(jī)位機(jī)MCSMCS5151系列單片機(jī)的系列單片機(jī)的CPUCPU由由運(yùn)算器運(yùn)算器、控制器控制器及相及相應(yīng)的應(yīng)的專用寄存器專用寄存器組成組成運(yùn)算器運(yùn)算器以算術(shù)運(yùn)算器以算術(shù)/ /邏輯部件邏輯部件( (ALU-ALU-具有加、減、具有加、減、邏輯運(yùn)算和移位功能邏輯運(yùn)算和移位功能) )為核心,加上累加器為核心,加上累加器ACCACC、暫存寄存器、程序狀態(tài)字寄存器暫存寄存器、程序狀態(tài)字寄存器PSWPSW以及布爾處理以及布爾處理器、器、BCDBCD碼運(yùn)算調(diào)整電路等構(gòu)成。碼運(yùn)算調(diào)整電路等構(gòu)成。運(yùn)算器的功能包括:
7、運(yùn)算器的功能包括:算術(shù)運(yùn)算算術(shù)運(yùn)算邏輯運(yùn)算邏輯運(yùn)算位操作位操作控制器控制器是CPU的指揮調(diào)度中樞,它包括:定時(shí)控制邏輯定時(shí)控制邏輯指令寄存器指令寄存器指令譯碼器指令譯碼器數(shù)據(jù)指針數(shù)據(jù)指針DPTR程序計(jì)數(shù)器程序計(jì)數(shù)器PC堆棧指針堆棧指針SP地址寄存器地址寄存器地址緩沖器等地址緩沖器等運(yùn)行時(shí)控制器對(duì)運(yùn)行時(shí)控制器對(duì)指令進(jìn)行譯碼指令進(jìn)行譯碼,然后通,然后通過定時(shí)和控制電路在規(guī)定時(shí)刻發(fā)出所需的內(nèi)、過定時(shí)和控制電路在規(guī)定時(shí)刻發(fā)出所需的內(nèi)、外部控制信號(hào),協(xié)調(diào)各部分的工作,完成指外部控制信號(hào),協(xié)調(diào)各部分的工作,完成指令規(guī)定的操作。令規(guī)定的操作。 MCS51控制器示意圖程序計(jì)數(shù)器PC(Program Count
8、er) 為了保證程序能夠連續(xù)地執(zhí)行下去,為了保證程序能夠連續(xù)地執(zhí)行下去,CPUCPU必須必須具有某些手段來確定下一條指令的地址。而程具有某些手段來確定下一條指令的地址。而程序計(jì)數(shù)器正是起到這種作用,所以通常又稱為序計(jì)數(shù)器正是起到這種作用,所以通常又稱為指令計(jì)數(shù)器指令計(jì)數(shù)器程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC是是1616位位的寄存器,用來存放的寄存器,用來存放即將即將要執(zhí)行的指令地址要執(zhí)行的指令地址, ,當(dāng)當(dāng)CPUCPU按照按照PCPC指示的地址取指示的地址取出一條指令后,出一條指令后,PCPC值將自動(dòng)增加值將自動(dòng)增加,指向下一條,指向下一條指令的首字節(jié)地址指令的首字節(jié)地址在程序開始執(zhí)行前,必須將它的起
9、始地址,即在程序開始執(zhí)行前,必須將它的起始地址,即程序的一條指令所在的內(nèi)存單元地址送入程序的一條指令所在的內(nèi)存單元地址送入PCPC,因此程序計(jì)數(shù)器(因此程序計(jì)數(shù)器(PCPC)的內(nèi)容即是從內(nèi)存提?。┑膬?nèi)容即是從內(nèi)存提取的第一條指令的地址。當(dāng)執(zhí)行指令時(shí),的第一條指令的地址。當(dāng)執(zhí)行指令時(shí),CPUCPU將將自動(dòng)修改自動(dòng)修改PCPC的內(nèi)容,以便使其保持的總是將要的內(nèi)容,以便使其保持的總是將要執(zhí)行的下一條指令的地址執(zhí)行的下一條指令的地址由于大多數(shù)指令都是由于大多數(shù)指令都是按順序按順序來執(zhí)行的,所以修來執(zhí)行的,所以修改的過程通常只是簡(jiǎn)單的對(duì)改的過程通常只是簡(jiǎn)單的對(duì)PCPC加加1 1。程序計(jì)數(shù)器PC(Prog
10、ram Counter) 數(shù)據(jù)指針DPTR( DATA POINTER)數(shù)據(jù)指針數(shù)據(jù)指針DPTRDPTR是一個(gè)是一個(gè)1616位位專用寄存器,由兩個(gè)八專用寄存器,由兩個(gè)八位寄存器位寄存器DPHDPH和和DPLDPL組成。組成。DPHDPH為高八位字節(jié),為高八位字節(jié),DPLDPL為低八位字節(jié)。為低八位字節(jié)。DPTRDPTR主要用來保存主要用來保存1616位地址,當(dāng)對(duì)位地址,當(dāng)對(duì)64KB64KB外部數(shù)據(jù)外部數(shù)據(jù)存儲(chǔ)器空間尋址時(shí),可作為存儲(chǔ)器空間尋址時(shí),可作為間接寄存器間接寄存器使用。在使用。在訪問程序存儲(chǔ)器時(shí),訪問程序存儲(chǔ)器時(shí),DPTRDPTR可作為可作為基址寄存器基址寄存器。 DPTRDPTR是一
11、個(gè)是一個(gè)1616位的寄存器,所以位的寄存器,所以尋址尋址范圍是范圍是0-0-64K64K。那么就可以通過它來間接尋址訪問內(nèi)部或。那么就可以通過它來間接尋址訪問內(nèi)部或外部的存儲(chǔ)器(不管是程序存儲(chǔ)器,還是數(shù)據(jù)儲(chǔ)外部的存儲(chǔ)器(不管是程序存儲(chǔ)器,還是數(shù)據(jù)儲(chǔ)存器)存器)。 堆棧指針堆棧指針SPSP在片內(nèi)在片內(nèi)RAM128BRAM128B中開辟棧區(qū),并隨中開辟棧區(qū),并隨時(shí)跟蹤棧頂?shù)刂窌r(shí)跟蹤棧頂?shù)刂匪前此前础跋冗M(jìn)后出先進(jìn)后出”的原則存取數(shù)據(jù)。開機(jī)復(fù)的原則存取數(shù)據(jù)。開機(jī)復(fù)位后,初始位后,初始地址地址為為07H07H主要用來保存主要用來保存臨時(shí)數(shù)據(jù)臨時(shí)數(shù)據(jù),局部變量局部變量和中斷和中斷/ /子子程序的返回地
12、址程序的返回地址(保護(hù)現(xiàn)場(chǎng)(保護(hù)現(xiàn)場(chǎng)/ /恢復(fù)現(xiàn)場(chǎng))恢復(fù)現(xiàn)場(chǎng))堆棧指針總是指向棧頂。所以數(shù)據(jù)入棧的時(shí)候,堆棧指針總是指向棧頂。所以數(shù)據(jù)入棧的時(shí)候,堆棧指針先加堆棧指針先加1 1,再壓棧。出棧的時(shí)候先彈出,再壓棧。出棧的時(shí)候先彈出數(shù)據(jù),堆棧指針再減數(shù)據(jù),堆棧指針再減1 1。堆棧指針SP指令寄存器 指令寄存器用來存放指令代碼指令寄存器用來存放指令代碼CPUCPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令寄存器,經(jīng)指令譯碼器指令代碼送入指令寄存器,經(jīng)指令譯碼器譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能信號(hào),完成指令
13、功能 單片機(jī)的單片機(jī)的I/OI/O引腳結(jié)構(gòu)引腳結(jié)構(gòu)眾多功能各異的I/O引腳源于它結(jié)構(gòu)的不同由軟件控制由軟件控制寫寫1時(shí)時(shí)高電平高電平,三極管,三極管導(dǎo)通導(dǎo)通寫寫0時(shí)時(shí)低電平,低電平,三極管三極管斷開斷開當(dāng)三極管截止當(dāng)三極管截止時(shí)輸出電壓?時(shí)輸出電壓?輸出輸出輸入輸入當(dāng)開關(guān)斷開時(shí)當(dāng)開關(guān)斷開時(shí)輸出電壓?輸出電壓?輸出輸出1時(shí)時(shí)開關(guān)斷開開關(guān)斷開0時(shí)時(shí)開關(guān)接通開關(guān)接通集電極集電極oc開路(漏極開路開路(漏極開路od)輸出結(jié)構(gòu))輸出結(jié)構(gòu)當(dāng)開關(guān)斷開時(shí),則輸出端懸空了,即高當(dāng)開關(guān)斷開時(shí),則輸出端懸空了,即高阻態(tài)。這時(shí)電平狀態(tài)未知,如果后面一個(gè)電阻態(tài)。這時(shí)電平狀態(tài)未知,如果后面一個(gè)電阻負(fù)載(即使很小的負(fù)載)到
14、地,那么輸出阻負(fù)載(即使很小的負(fù)載)到地,那么輸出端的電平就被負(fù)載拉到低電平,所以這個(gè)電端的電平就被負(fù)載拉到低電平,所以這個(gè)電路是不能輸出高電平。路是不能輸出高電平。補(bǔ)充當(dāng)開關(guān)斷開時(shí)當(dāng)開關(guān)斷開時(shí)輸出電壓?輸出電壓?輸出輸出1時(shí)時(shí)開關(guān)斷開開關(guān)斷開0時(shí)時(shí)開關(guān)接通開關(guān)接通輸出輸出+5V1Kohm上拉上拉電阻電阻 如果如果開關(guān)閉合開關(guān)閉合,則有電流從,則有電流從1k1k電阻及開關(guān)上流過,但由于開關(guān)閉電阻及開關(guān)上流過,但由于開關(guān)閉和時(shí)電阻為和時(shí)電阻為0 0(方便我們的討論,(方便我們的討論,實(shí)際情況中開實(shí)際情況中開 關(guān)電阻不為關(guān)電阻不為0 0,另外,另外對(duì)于三極管還存在飽和壓降),所對(duì)于三極管還存在飽和
15、壓降),所以在開關(guān)上的電壓為以在開關(guān)上的電壓為0 0,即輸出電,即輸出電平為平為0 0。 如果如果開關(guān)斷開開關(guān)斷開,則由于開關(guān)電,則由于開關(guān)電阻為無窮大(同上,不考慮實(shí)際中阻為無窮大(同上,不考慮實(shí)際中的漏電流),所以流過的電流為的漏電流),所以流過的電流為0 0,因此在因此在1k 1k 電阻上的壓降也為電阻上的壓降也為0 0,所,所以輸出端的電壓就是以輸出端的電壓就是5v5v,這樣就能,這樣就能輸出高電平。輸出高電平。 輸出輸出+5V1Kohm上拉上拉電阻電阻但是這個(gè)輸出的內(nèi)阻是比較但是這個(gè)輸出的內(nèi)阻是比較大的(即大的(即1kohm1kohm),如果接一個(gè)電),如果接一個(gè)電阻為阻為r r的負(fù)
16、載,通過分壓計(jì)算,就的負(fù)載,通過分壓計(jì)算,就可以算得最后的輸出電壓為可以算得最后的輸出電壓為5 5* *r/(r+1000)r/(r+1000)伏,即伏,即5/(1+1000/r)5/(1+1000/r)伏。所以,如果要達(dá)到一定的電壓伏。所以,如果要達(dá)到一定的電壓的話,的話,r r就不能太小。如果就不能太小。如果r r 真的真的太小,而導(dǎo)致輸出電壓不夠的話,太小,而導(dǎo)致輸出電壓不夠的話,那我們只有通過減小那個(gè)那我們只有通過減小那個(gè)1k1k的上拉的上拉電阻來增加驅(qū)動(dòng)能力。但是,上拉電阻來增加驅(qū)動(dòng)能力。但是,上拉電阻又不能取得太小,因?yàn)楫?dāng)開關(guān)電阻又不能取得太小,因?yàn)楫?dāng)開關(guān)閉合時(shí),將產(chǎn)生電流,由于開
17、關(guān)能閉合時(shí),將產(chǎn)生電流,由于開關(guān)能流過的電流是有限的,因此限制了流過的電流是有限的,因此限制了上拉電阻的取值,另外還需要考慮上拉電阻的取值,另外還需要考慮到,當(dāng)輸出低電平時(shí),負(fù)載可能還到,當(dāng)輸出低電平時(shí),負(fù)載可能還會(huì)給提供一部分電流從開關(guān)流過,會(huì)給提供一部分電流從開關(guān)流過,因此要綜合這些電流考慮來選擇合因此要綜合這些電流考慮來選擇合適的上拉電阻。適的上拉電阻。輸出輸出+5V1Kohm上拉上拉電阻電阻上拉電阻阻值的上拉電阻阻值的選擇原則選擇原則包括:包括: 從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。電流小。 從確保足夠的驅(qū)動(dòng)電
18、流考慮應(yīng)當(dāng)足夠?。浑娮栊?,電流大。從確保足夠的驅(qū)動(dòng)電流考慮應(yīng)當(dāng)足夠??;電阻小,電流大。 對(duì)于高速電路,過大的上拉電阻可能邊沿變平緩。對(duì)于高速電路,過大的上拉電阻可能邊沿變平緩。 綜合考慮以上三點(diǎn),通常在綜合考慮以上三點(diǎn),通常在1k1k到到10k10k之間之間選取。對(duì)下拉選取。對(duì)下拉電阻也有類似道理。電阻也有類似道理。上拉就是將不確定的信號(hào)通過一個(gè)電阻鉗位在高電平!上拉就是將不確定的信號(hào)通過一個(gè)電阻鉗位在高電平!電阻同時(shí)起限流作用!下拉同理!電阻同時(shí)起限流作用!下拉同理! 上拉是對(duì)器件注入電流,下拉是輸出電流。上拉是對(duì)器件注入電流,下拉是輸出電流。 如果電平用如果電平用OC(OC(集電極開路,集
19、電極開路,TTL)TTL)或或OD(OD(漏極開路漏極開路,CMOS)CMOS)輸出,那么不用上拉電阻是不能工作的,輸出,那么不用上拉電阻是不能工作的, 這個(gè)很容易理解,管子沒有電源就不能輸出高電這個(gè)很容易理解,管子沒有電源就不能輸出高電平。平。 如果輸出電流比較大,輸出的電平就會(huì)降低(電如果輸出電流比較大,輸出的電平就會(huì)降低(電路中已經(jīng)有了一個(gè)上拉電阻,但是電阻太大,壓路中已經(jīng)有了一個(gè)上拉電阻,但是電阻太大,壓降太高),就可以用上拉電阻降太高),就可以用上拉電阻提供電流分量提供電流分量, 把把電平電平“拉高拉高”。(就是并一個(gè)電阻在。(就是并一個(gè)電阻在ICIC內(nèi)部的上內(nèi)部的上拉電阻上,拉電阻
20、上, 讓它的壓降小一點(diǎn))。當(dāng)然管子按需讓它的壓降小一點(diǎn))。當(dāng)然管子按需要該工作在線性范圍的上拉電阻不能太小。當(dāng)然要該工作在線性范圍的上拉電阻不能太小。當(dāng)然也會(huì)用這個(gè)方式來實(shí)現(xiàn)門電路電平的匹配。也會(huì)用這個(gè)方式來實(shí)現(xiàn)門電路電平的匹配。單片機(jī)的引腳(P0口)lP0.0P0.0P0.7: P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場(chǎng)效應(yīng)管場(chǎng)效應(yīng)管上拉)上拉) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)分時(shí)分時(shí)作為作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口復(fù)用口;不接外部程序存儲(chǔ)器不接外部程序存儲(chǔ)器時(shí)可時(shí)可作為作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21
21、DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X34Vcc多路轉(zhuǎn)換開關(guān)多路轉(zhuǎn)換開關(guān)T1T23態(tài)緩沖器態(tài)緩沖器控制控制=0 時(shí)時(shí),此腳作,此腳作I/O口口(作輸出口時(shí),輸出高電平需要外接上拉電阻;(作輸出口時(shí),輸出高電平需要外接上拉電阻;作輸入口時(shí)事先必須對(duì)它寫作輸入口時(shí)事先必須對(duì)它寫“1”使使T2截止。)截止。)21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X3400100截截止止截截止止=0Vcc單片機(jī)的引腳(P0口)lP0.0P0.0P0.7:
22、P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場(chǎng)效應(yīng)管場(chǎng)效應(yīng)管上拉)上拉) 尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口;不接外部程序存儲(chǔ)器復(fù)用口;不接外部程序存儲(chǔ)器時(shí)可作為時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制引腳引腳P0.X3400100截截止止截截止止=0Vcc需要需要注意注意的是,的是,P0口某位作輸入前如果曾經(jīng)輸出過口某位作輸入前如果曾經(jīng)輸出過“0”,則,則T2處于導(dǎo)通狀態(tài)
23、,會(huì)將外部的高電平信號(hào)鉗位為處于導(dǎo)通狀態(tài),會(huì)將外部的高電平信號(hào)鉗位為“0”,不能,不能讀入讀入“1”狀態(tài)。因此,作輸入口時(shí)事先必須對(duì)它寫狀態(tài)。因此,作輸入口時(shí)事先必須對(duì)它寫“1”使使T2截止,保證輸出正確。截止,保證輸出正確。這種要作輸入必須先輸出某一狀態(tài),而不能無條件任意改變這種要作輸入必須先輸出某一狀態(tài),而不能無條件任意改變輸入輸入/輸出功能的輸出功能的“雙向雙向”口稱為口稱為準(zhǔn)雙向口準(zhǔn)雙向口。輸出輸出+5V1Kohm單片機(jī)單片機(jī)P0.Xu 除了讀取外部信號(hào)的狀除了讀取外部信號(hào)的狀態(tài),態(tài),CPUCPU有時(shí)還需要將以前有時(shí)還需要將以前的輸出狀態(tài)讀回來,以決的輸出狀態(tài)讀回來,以決定下一步的操作
24、。如輸出定下一步的操作。如輸出方波。方波。u 如果直接讀引腳有可能如果直接讀引腳有可能會(huì)因輸出的高電平被外部會(huì)因輸出的高電平被外部電路拉成低電平而引起誤電路拉成低電平而引起誤操作。操作。u MCS-51 MCS-51設(shè)置了讀鎖存器設(shè)置了讀鎖存器功能,即通過功能,即通過“讀鎖存器讀鎖存器”信號(hào),將鎖存器信號(hào),將鎖存器Q Q端的狀態(tài)端的狀態(tài)讀回讀回CPUCPU進(jìn)行判別。進(jìn)行判別。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0.X34控制控制=1時(shí),此腳作地址時(shí),此腳作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口:(1)輸出地址輸出地址/
25、數(shù)據(jù)數(shù)據(jù) =0 時(shí)時(shí)1011=0導(dǎo)導(dǎo)通通截截止止=0Vcc單片機(jī)的引腳(P0口)lP0.0P0.0P0.7: P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場(chǎng)效應(yīng)管場(chǎng)效應(yīng)管上拉)上拉) 尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口;不接外部程序存儲(chǔ)器復(fù)用口;不接外部程序存儲(chǔ)器時(shí)可作為時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0.X34控制控制=1時(shí),此腳作地址時(shí),此腳作地址
26、/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口:(2)輸出地址輸出地址/數(shù)據(jù)數(shù)據(jù) =1 時(shí)時(shí)1100=1截截止止導(dǎo)導(dǎo)通通=1Vcc單片機(jī)的引腳(P0口)lP0.0P0.0P0.7: P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場(chǎng)效應(yīng)管場(chǎng)效應(yīng)管上拉)上拉) 尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為雙向雙向8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口;不接外部程序存儲(chǔ)器復(fù)用口;不接外部程序存儲(chǔ)器時(shí)可作為時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0
27、.X34控制控制=1時(shí),此腳作地址時(shí),此腳作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口:(2)輸出地址輸出地址/數(shù)據(jù)數(shù)據(jù) =1 時(shí)時(shí)1100=1截截止止導(dǎo)導(dǎo)通通=1Vcc注意:注意:P0口內(nèi)部不用上拉電阻,而將口內(nèi)部不用上拉電阻,而將T1、T2兩個(gè)場(chǎng)兩個(gè)場(chǎng)效應(yīng)管設(shè)計(jì)成拉推輸出電路,是為了效應(yīng)管設(shè)計(jì)成拉推輸出電路,是為了P0口在作地址口在作地址/數(shù)據(jù)信息輸出時(shí)具有較強(qiáng)的輸出驅(qū)動(dòng)能力。數(shù)據(jù)信息輸出時(shí)具有較強(qiáng)的輸出驅(qū)動(dòng)能力。單片機(jī)的引腳(P0口)lP0.0P0.0P0.7: P0.7: 雙向雙向I/O I/O (內(nèi)置(內(nèi)置場(chǎng)效應(yīng)管場(chǎng)效應(yīng)管上拉)上拉) 尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為尋址外部程序存儲(chǔ)器時(shí)分時(shí)作為雙向雙向
28、8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口;不接外部程序存儲(chǔ)器復(fù)用口;不接外部程序存儲(chǔ)器時(shí)可作為時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制控制=1引腳引腳P0.X34控制控制=1時(shí),此腳作地址時(shí),此腳作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口: (3)輸入輸出數(shù)據(jù)時(shí),輸入輸出指令將使引腳與內(nèi)部總輸入輸出數(shù)據(jù)時(shí),輸入輸出指令將使引腳與內(nèi)部總線直通線直通Vcc截截止止21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址地址/數(shù)據(jù)數(shù)據(jù) 控制
29、控制=1引腳引腳P0.X34控制控制=1時(shí),此腳作地址時(shí),此腳作地址/數(shù)據(jù)數(shù)據(jù)復(fù)用口復(fù)用口: (3)輸入輸出數(shù)據(jù)時(shí),輸入輸出指令將使引腳與內(nèi)部總輸入輸出數(shù)據(jù)時(shí),輸入輸出指令將使引腳與內(nèi)部總線直通線直通Vcc截截止止注意:注意:P0口作為數(shù)據(jù)線時(shí),在讀入數(shù)據(jù)前口作為數(shù)據(jù)線時(shí),在讀入數(shù)據(jù)前CPU會(huì)會(huì)自自動(dòng)動(dòng)向鎖存器寫向鎖存器寫1,截止場(chǎng)效應(yīng)管,截止場(chǎng)效應(yīng)管T2,這種情況下,這種情況下,P0口是一個(gè)口是一個(gè)真正的雙向口真正的雙向口。單片機(jī)的引腳(P1口)lP1.0P1.0P1.7: P1.7: 準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口(內(nèi)置內(nèi)置了上拉電阻)了上拉電阻) 輸出時(shí)一切照常,輸出時(shí)一切照常,僅在作僅在
30、作輸入口輸入口用時(shí)要先對(duì)其用時(shí)要先對(duì)其 寫寫“1 1”。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸出出數(shù)據(jù)數(shù)據(jù) = 1 時(shí)時(shí)110截截止止=1單片機(jī)的引腳(P1口)lP1.0P1.0P1.7: P1.7: 準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口(內(nèi)置內(nèi)置了上拉電阻)了上拉電阻) 輸出時(shí)一切照常,輸出時(shí)一切照常,僅在作僅在作輸入口輸入口用時(shí)要先對(duì)其用時(shí)要先對(duì)其 寫寫“1 1”。21DQCK/Q讀引腳讀引
31、腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻輸輸出出數(shù)據(jù)數(shù)據(jù) = 0 時(shí)時(shí)001=0導(dǎo)導(dǎo)通通單片機(jī)的引腳(P1口)lP1.0P1.0P1.7: P1.7: 準(zhǔn)雙向準(zhǔn)雙向I/OI/O口(口(內(nèi)置內(nèi)置了上拉電阻了上拉電阻) 輸出時(shí)一切照常,輸出時(shí)一切照常,僅在作僅在作輸入口輸入口用時(shí)要先對(duì)其用時(shí)要先對(duì)其 寫寫“1 1”。輸輸入入數(shù)據(jù)時(shí),要先對(duì)其寫數(shù)據(jù)時(shí),要先對(duì)其寫“1”21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線Vcc引腳引腳P1.X內(nèi)部上拉電阻內(nèi)部上拉電阻110截截止止單片機(jī)的引腳單片機(jī)的引腳(P1P1口)
32、口)lP1.0P1.0P1.7: P1.7: 準(zhǔn)雙向準(zhǔn)雙向I/OI/O口(口(內(nèi)置內(nèi)置了上拉電阻了上拉電阻) 輸出時(shí)一切照常,輸出時(shí)一切照常,僅在作僅在作輸入口輸入口用時(shí)要先對(duì)其用時(shí)要先對(duì)其 寫寫“1 1”。簡(jiǎn)單測(cè)控實(shí)例原理圖P1.3作輸入端口光路通暢,光路通暢,R亮亮 2K 光路阻斷,光路阻斷,R暗暗 400K R亮亮 250K JOB3: CLR P1.1 ;亮綠燈REDO: SETB P1.3 ;P1.3作輸入口必先置1CHECK:JNB P1.3,CHECK ;檢測(cè)通道是否被阻斷?LOOP: ;有入侵者,報(bào)警!AJMP REDO ;再跳回去檢測(cè)任務(wù)三:紅外防盜報(bào)警P1.3口用于輸入狀態(tài)
33、檢測(cè)的語句: R亮250K ,紅外線光路阻斷時(shí),P1.3端高電平單片機(jī)的引腳(P2口)lP2.0P2.0P2.7: P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外不接外部程序存儲(chǔ)器時(shí)可部程序存儲(chǔ)器時(shí)可作為作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址高地址高8位位 控制控制引腳引腳 P2.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc單片機(jī)的引腳(P2口)lP2.0P2.0P2.7: P2.7: 雙向雙向I/O I
34、/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外不接外部程序存儲(chǔ)器時(shí)可部程序存儲(chǔ)器時(shí)可作為作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =1讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址高地址高8位位 控制控制 引腳引腳P2.X控制控制=0時(shí),此腳作通用時(shí),此腳作通用輸入口輸入口:110截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻11Vcc=1=0輸輸入入數(shù)據(jù)時(shí),要先對(duì)其寫數(shù)據(jù)時(shí),要先對(duì)其寫“1”21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址高地址
35、高8位位 控制控制 引腳引腳P2.X控制控制=0時(shí),此腳作通用時(shí),此腳作通用輸出口輸出口: 輸出輸出=1時(shí)時(shí)110截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻11Vcc=1=0單片機(jī)的引腳(P2口)lP2.0P2.0P2.7: P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外;不接外部程序存儲(chǔ)器時(shí)可作為部程序存儲(chǔ)器時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址高地址高8位位 控制控制 引腳引腳P2.X控制
36、控制=0時(shí),此腳作通用時(shí),此腳作通用輸出口輸出口:輸出輸出=0時(shí)時(shí)001導(dǎo)導(dǎo)通通3內(nèi)部上拉電阻內(nèi)部上拉電阻00Vcc=0=0單片機(jī)的引腳單片機(jī)的引腳(P2P2口)口)lP2.0P2.0P2.7: P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外;不接外部程序存儲(chǔ)器時(shí)可作為部程序存儲(chǔ)器時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址高地址高8位位 控制控制=1 引腳引腳P2.X控制控制=1 時(shí),此腳
37、作時(shí),此腳作高高8位地址位地址A8A15輸出口:輸出口:當(dāng)當(dāng)輸出輸出 =1 時(shí)時(shí)10截截止止3內(nèi)部上拉電阻內(nèi)部上拉電阻1=1Vcc=1單片機(jī)的引腳(P2口)lP2.0P2.0P2.7: P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外;不接外部程序存儲(chǔ)器時(shí)可作為部程序存儲(chǔ)器時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。21DQCK/Q讀引腳讀引腳 =0讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線地址高地址高8位位 控制控制=1 引腳引腳P2.X01導(dǎo)導(dǎo)通通3內(nèi)部上拉電阻內(nèi)部上
38、拉電阻0=0Vcc=0控制控制=1 時(shí),此腳作時(shí),此腳作高高8位地址位地址A8A15輸出口:輸出口:當(dāng)當(dāng)輸出輸出 =0 時(shí)時(shí)單片機(jī)的引腳單片機(jī)的引腳(P2P2口)口)lP2.0P2.0P2.7: P2.7: 雙向雙向I/O I/O (內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 尋址外部程序存儲(chǔ)器時(shí)尋址外部程序存儲(chǔ)器時(shí)輸出高輸出高8 8位地址位地址;不接外;不接外部程序存儲(chǔ)器時(shí)可作為部程序存儲(chǔ)器時(shí)可作為8 8位位準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口使用。使用。單片機(jī)的引腳(P3口)lP3.0P3.0P3.7: P3.7: 雙功能口雙功能口(內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 它它具有特定的第二功能具有特定的第二
39、功能。在不使用它的第二功。在不使用它的第二功能時(shí)它就是普通的能時(shí)它就是普通的通用準(zhǔn)雙向通用準(zhǔn)雙向I/OI/O口口。21DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線第二功能輸出第二功能輸出引腳引腳 P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc第二功能輸入第二功能輸入4=021DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線第二功能輸出第二功能輸出(WRWR,RDRD,TxDTxD)引腳引腳 P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc4第二功能輸出時(shí),內(nèi)部自動(dòng)第二功能輸出時(shí),內(nèi)部自動(dòng) D=1D=1111反相器反相器單片機(jī)的引腳(P3口)lP3.0P3.
40、0P3.7: P3.7: 雙功能口雙功能口(內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能時(shí)它就是普通的能時(shí)它就是普通的通用準(zhǔn)雙向通用準(zhǔn)雙向I/OI/O口口。=021DQCK/Q讀引腳讀引腳讀鎖存器讀鎖存器寫鎖寫鎖存器存器內(nèi)部?jī)?nèi)部總線總線此端自動(dòng)此端自動(dòng)1 1引腳引腳 P3.X3內(nèi)部上拉電阻內(nèi)部上拉電阻Vcc 第二功能輸入第二功能輸入(RxDRxD,T0T0,T1T1,INT0INT0,INT1INT1)4第二功能輸入時(shí),信號(hào)經(jīng)第二功能輸入時(shí),信號(hào)經(jīng)緩沖器緩沖器4 4 直接進(jìn)入內(nèi)總線直接進(jìn)入內(nèi)總線1 11 11 10 0截
41、截止止單片機(jī)的引腳(P3口)lP3.0P3.0P3.7: P3.7: 雙功能口雙功能口(內(nèi)置了上拉電阻)(內(nèi)置了上拉電阻) 它它具有特定的第二功能具有特定的第二功能。在不使用它的第二功。在不使用它的第二功能時(shí)它就是普通的能時(shí)它就是普通的通用準(zhǔn)雙向通用準(zhǔn)雙向I/OI/O口口。P3口第二功能表引引 腳腳第第 二二 功功 能能 P3.0P3.0RxDRxD: : 串行口接收數(shù)據(jù)輸入端串行口接收數(shù)據(jù)輸入端P3.1P3.1TxDTxD: : 串行口發(fā)送數(shù)據(jù)輸出端串行口發(fā)送數(shù)據(jù)輸出端P3.2P3.2INT0:INT0: 外部中斷申請(qǐng)輸入端外部中斷申請(qǐng)輸入端 0 0P3.3P3.3INT1:INT1: 外部
42、中斷申請(qǐng)輸入端外部中斷申請(qǐng)輸入端 1 1P3.4P3.4T0:T0: 外部計(jì)數(shù)脈沖輸入端外部計(jì)數(shù)脈沖輸入端 0 0P3.5P3.5T1:T1: 外部計(jì)數(shù)脈沖輸入端外部計(jì)數(shù)脈沖輸入端 1 1P3.6P3.6WR:WR: 寫外設(shè)控制信號(hào)輸出端寫外設(shè)控制信號(hào)輸出端P3.7P3.7RD:RD: 讀外設(shè)控制信號(hào)輸出端讀外設(shè)控制信號(hào)輸出端51單片機(jī)的4個(gè)8位的I/O口P0.0P0.0P0.7:P0.7:8 8位數(shù)據(jù)口位數(shù)據(jù)口和和輸出低輸出低8 8位地址位地址復(fù)用口復(fù)用口 ( (復(fù)用時(shí)是復(fù)用時(shí)是雙向口雙向口;不復(fù)用時(shí)也是;不復(fù)用時(shí)也是準(zhǔn)雙向口準(zhǔn)雙向口) )P1.0P1.0P1.7: P1.7: 通用通用I/
43、OI/O口口(準(zhǔn)雙向口)(準(zhǔn)雙向口)P2.0P2.0P2.7:P2.7: 輸出高輸出高8 8位地址位地址(用于尋址時(shí)是(用于尋址時(shí)是輸出口;輸出口;不尋址時(shí)是不尋址時(shí)是準(zhǔn)雙向口準(zhǔn)雙向口)P3.0P3.0P3.7: P3.7: 具有特定的第二功能具有特定的第二功能(準(zhǔn)雙向口)(準(zhǔn)雙向口)注意:注意:在不外擴(kuò)在不外擴(kuò)ROM/RAMROM/RAM時(shí),時(shí),P0P0P3P3均可作通用均可作通用I/OI/O口使用,而且口使用,而且都是都是準(zhǔn)雙向準(zhǔn)雙向I/OI/O口口( (例如例如: :AT89C51AT89C51) )! 小結(jié)小結(jié)復(fù)位復(fù)位后,后,3232個(gè)引腳均為高電平,故在初始化時(shí)應(yīng)考個(gè)引腳均為高電平,
44、故在初始化時(shí)應(yīng)考慮是否滿足慮是否滿足外接電路外接電路的要求。的要求。P3口第二功能表引引 腳腳第第 二二 功功 能能 P3.0P3.0RxDRxD: : 串行口接收數(shù)據(jù)輸入端串行口接收數(shù)據(jù)輸入端P3.1P3.1TxDTxD: : 串行口發(fā)送數(shù)據(jù)輸出端串行口發(fā)送數(shù)據(jù)輸出端P3.2P3.2INT0:INT0: 外部中斷申請(qǐng)輸入端外部中斷申請(qǐng)輸入端 0 0P3.3P3.3INT1:INT1: 外部中斷申請(qǐng)輸入端外部中斷申請(qǐng)輸入端 1 1P3.4P3.4T0:T0: 外部計(jì)數(shù)脈沖輸入端外部計(jì)數(shù)脈沖輸入端 0 0P3.5P3.5T1:T1: 外部計(jì)數(shù)脈沖輸入端外部計(jì)數(shù)脈沖輸入端 1 1P3.6P3.6W
45、R:WR: 寫外設(shè)控制信號(hào)輸出端寫外設(shè)控制信號(hào)輸出端P3.7P3.7RD:RD: 讀外設(shè)控制信號(hào)輸出端讀外設(shè)控制信號(hào)輸出端 小結(jié)小結(jié)存儲(chǔ)器、堆棧、SFR數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器RAMRAM(Random Access MemoryRandom Access Memory)程序存儲(chǔ)器程序存儲(chǔ)器ROMROM(Read Only MemoryRead Only Memory)閃速存儲(chǔ)器閃速存儲(chǔ)器Flash MemoryFlash MemoryEPROMEPROM(UVUV)Erazible Programmable ROMErazible Programmable ROMEEPROM/EEEPROM/E
46、2 2PROMPROMElectrical Erasable Electrical Erasable Programmable ROM Programmable ROM靜態(tài)存儲(chǔ)器靜態(tài)存儲(chǔ)器 SRAMSRAMStatic RAMStatic RAM (動(dòng)態(tài)存儲(chǔ)器(動(dòng)態(tài)存儲(chǔ)器 DRAMDRAMDynamic RAMDynamic RAM)按字節(jié)尋址:每個(gè)字節(jié)按字節(jié)尋址:每個(gè)字節(jié)(8(8個(gè)位個(gè)位) )占一個(gè)地址占一個(gè)地址按位尋址:有的存儲(chǔ)器每一個(gè)位就有一個(gè)地址按位尋址:有的存儲(chǔ)器每一個(gè)位就有一個(gè)地址單片機(jī)的存儲(chǔ)器幾個(gè)有關(guān)的概念:MCS-51單片機(jī)存儲(chǔ)器配置l片內(nèi)片內(nèi)RAMRAM 128 128字節(jié)(
47、字節(jié)(00H00H7FH7FH);); 片內(nèi)片內(nèi)RAMRAM前前3232個(gè)單元是工作寄存器區(qū)個(gè)單元是工作寄存器區(qū)(00H(00H1FH)1FH) 片內(nèi)片內(nèi)RAMRAM有有128128個(gè)可按位尋址的位,占個(gè)可按位尋址的位,占1616個(gè)單元。個(gè)單元。 位地址編號(hào)為:位地址編號(hào)為:00H00H7FH7FH,分布在,分布在20H20H2FH2FH單元單元l片內(nèi)片內(nèi)2121個(gè)特殊功能寄存器個(gè)特殊功能寄存器( (SFRSFR) )中:地址號(hào)能被中:地址號(hào)能被 8 8整除的整除的 SFRSFR中的各位中的各位也可也可按位尋址按位尋址(P.33-34P.33-34)l可尋址片外可尋址片外RAMRAM 64K
48、64K字節(jié)字節(jié) (0000H0000HFFFFHFFFFH)l可尋址片外可尋址片外ROMROM 64K 64K字節(jié)字節(jié) (0000H0000HFFFFHFFFFH)l片內(nèi)片內(nèi) Flash Flash ROMROM 4K 4K字節(jié)字節(jié) (000H000HFFFHFFFH)存儲(chǔ)器配置(片內(nèi)RAM)l片內(nèi)片內(nèi)RAMRAM 128128字節(jié)字節(jié)(00H00H7FH7FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SFR分布在分布在80H-FFH其中其中9
49、2個(gè)位個(gè)位可位尋址可位尋址80H80HFFHFFH所有的所有的RAMRAM區(qū)區(qū)( (包括包括位位尋址區(qū)、工作寄存器尋址區(qū)、工作寄存器區(qū))都可以用于存放區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù),故也稱為數(shù)據(jù)數(shù)據(jù)緩存寄存器緩存寄存器8051 128128字節(jié)字節(jié)l片內(nèi)片內(nèi)RAMRAM前前3232個(gè)單元是個(gè)單元是工作寄存器區(qū)工作寄存器區(qū) (00H(00H1FH)1FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)存儲(chǔ)器配置(片內(nèi)RAM)00H00H20H20
50、H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)工作寄存器區(qū)3工作寄存器區(qū)工作寄存器區(qū)2工作寄存器區(qū)工作寄存器區(qū)1工作寄存器區(qū)工作寄存器區(qū)00FH10H17H18Hl片內(nèi)片內(nèi)RAMRAM前前3232個(gè)單元是個(gè)單元是工作寄存器區(qū)工作寄存器區(qū) (00H(00H1FH)1FH)存儲(chǔ)器配置(片內(nèi)RAM)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H
51、80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)l片內(nèi)片內(nèi)RAMRAM中有中有128128個(gè)可按位尋址的位。個(gè)可按位尋址的位。 位地址位地址: :00H00H7FH 7FH 分布在分布在: :20H20H2FH2FH單元單元存儲(chǔ)器配置(片內(nèi)RAM)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址單元地址07 06 05
52、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 2D 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 407F 7E 7D 7C 7B 7A 79 78位地址位地址總共總共128個(gè)可個(gè)可按位按位尋址尋址的位的位l片內(nèi)片內(nèi)RAMRAM中有中有128128個(gè)可按位尋址的位。個(gè)可按位尋址的位。 位地址位地址: :0
53、0H00H7FH 7FH 分布在分布在: :20H20H2FH2FH單元單元存儲(chǔ)器配置(片內(nèi)RAM)l可尋址片外可尋址片外RAM 64KRAM 64K字節(jié)字節(jié) (0000H0000HFFFFHFFFFH););l可尋址片外可尋址片外ROM 64KROM 64K字節(jié)字節(jié) (0000H0000HFFFFHFFFFH););l片內(nèi)片內(nèi) Flash ROM 4KFlash ROM 4K字節(jié)字節(jié) ( 000H000H FFFH FFFH););FFFFH0000H可尋址可尋址片外片外RAMRAM 64K字節(jié)字節(jié)FFFFH0000H可尋址可尋址片外片外ROMROM 64K字節(jié)字節(jié)FFFH000H可尋址可尋
54、址片內(nèi)片內(nèi) Flash Flash ROMROM4K 字節(jié)字節(jié)89C5189C517FH00H片內(nèi)片內(nèi) RAMRAM 128字節(jié)字節(jié)FFH80H存儲(chǔ)器配置(片內(nèi)RAM)堆棧: 在在片內(nèi)片內(nèi)RAMRAM中,常常要指定一個(gè)專門的區(qū)域來中,常常要指定一個(gè)專門的區(qū)域來存放某些存放某些特別的特別的數(shù)據(jù)數(shù)據(jù), ,它遵循它遵循順序存取順序存取和和后進(jìn)后進(jìn)先出先出(LIFO/FILO(LIFO/FILO)的原則的原則, ,這個(gè)這個(gè)RAMRAM區(qū)區(qū)叫叫堆棧堆棧。功用功用:1 1)子程序調(diào)用)子程序調(diào)用和和中斷服務(wù)中斷服務(wù)時(shí)時(shí)CPUCPU自動(dòng)將當(dāng)前自動(dòng)將當(dāng)前PCPC 值值壓棧保存,返回時(shí)自動(dòng)將壓棧保存,返回時(shí)自動(dòng)
55、將PCPC值彈棧。值彈棧。2 2)保護(hù)現(xiàn)場(chǎng))保護(hù)現(xiàn)場(chǎng)/ /恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)3 3)數(shù)據(jù)傳輸)數(shù)據(jù)傳輸00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū) SP棧頂棧頂下一個(gè)進(jìn)棧的下一個(gè)進(jìn)棧的數(shù)據(jù)將存在此數(shù)據(jù)將存在此數(shù)據(jù)數(shù)據(jù)進(jìn)棧進(jìn)棧已經(jīng)進(jìn)棧的數(shù)已經(jīng)進(jìn)棧的數(shù)據(jù)存放在此據(jù)存放在此初始初始 SP復(fù)位后復(fù)位后 SP=07HSP=07H,數(shù)據(jù)進(jìn)棧時(shí):數(shù)據(jù)進(jìn)棧時(shí):首先首先SP+1SP+1指向指向08H08H單元,第一個(gè)放進(jìn)堆棧單元,第一個(gè)放進(jìn)堆棧的數(shù)據(jù)將放進(jìn)的數(shù)據(jù)將放進(jìn)
56、08H08H單元,然后單元,然后SPSP再自再自動(dòng)增動(dòng)增 1 1,仍指著棧頂,仍指著棧頂堆棧區(qū)由特殊功能寄存器堆棧區(qū)由特殊功能寄存器堆棧指針堆棧指針SPSP管理管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。從堆棧取出數(shù)據(jù)時(shí)從堆棧取出數(shù)據(jù)時(shí):取出的數(shù)據(jù)是取出的數(shù)據(jù)是最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動(dòng)減再自動(dòng)減1 1,仍指著棧頂仍指著棧頂0
57、0H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū) SP棧頂棧頂當(dāng)前要出棧的數(shù)據(jù)當(dāng)前要出棧的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧SP-1指向下一個(gè)指向下一個(gè)將要出棧的數(shù)據(jù)將要出棧的數(shù)據(jù)初始初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。從堆棧取出數(shù)
58、據(jù)時(shí)從堆棧取出數(shù)據(jù)時(shí):取出的數(shù)據(jù)是取出的數(shù)據(jù)是最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)最近放進(jìn)去的一個(gè)數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后前棧頂?shù)臄?shù)據(jù)。然后SPSP再自動(dòng)減再自動(dòng)減1 1,仍指著棧頂仍指著棧頂00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM區(qū)區(qū)普通普通RAM區(qū)區(qū)位尋址區(qū)位尋址區(qū)工作寄存器區(qū)工作寄存器區(qū)SP-1 指向新的棧指向新的棧頂頂,也就是下一個(gè)也就是下一個(gè)將要出棧的數(shù)據(jù)將要出棧的數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)出棧出棧初始初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在堆棧區(qū)可以安排在 RAMRAM區(qū)任意位置
59、,一般不安排在區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的工作寄存器區(qū)和可按位尋址的RAMRAM區(qū),通常區(qū),通常放在放在RAMRAM區(qū)的區(qū)的靠后靠后的位置。的位置。8051特殊功能寄存器(SFR)特殊功能寄存器特殊功能寄存器SFRSFR(專用寄存器)(專用寄存器)專用于專用于控制、選擇、管理、存放控制、選擇、管理、存放單片機(jī)內(nèi)部各部分單片機(jī)內(nèi)部各部分的工作的工作方式、條件、狀態(tài)、結(jié)果方式、條件、狀態(tài)、結(jié)果的寄存器的寄存器。不同的不同的SFRSFR管理不同的硬件模塊,負(fù)責(zé)不同的功管理不同的硬件模塊,負(fù)責(zé)不同的功能能各司其職各司其職換言之:要讓單片機(jī)實(shí)現(xiàn)預(yù)訂的功能,必須有相應(yīng)換言之:要讓單片
60、機(jī)實(shí)現(xiàn)預(yù)訂的功能,必須有相應(yīng)的硬件和軟件,的硬件和軟件,而軟件中最重要的一項(xiàng)工作就是對(duì)而軟件中最重要的一項(xiàng)工作就是對(duì)SFRSFR寫命令(要求)寫命令(要求)。程序計(jì)數(shù)器程序計(jì)數(shù)器PCPC(Program CounterProgram Counter)PCPC 不是不是一個(gè)特殊功能寄存器一個(gè)特殊功能寄存器SFRSFR,但其作,但其作 用又用又十分重要和特殊十分重要和特殊!特點(diǎn):特點(diǎn):它是它是1616位位的按機(jī)器周期的按機(jī)器周期自動(dòng)增自動(dòng)增1 1計(jì)數(shù)器計(jì)數(shù)器一切一切分支分支/ /跳轉(zhuǎn)跳轉(zhuǎn)/ /調(diào)用調(diào)用/ /中斷中斷/ /復(fù)位復(fù)位 等操作的等操作的本質(zhì)本質(zhì)就是就是: :改變改變 PC PC 值值總指
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路項(xiàng)目人員聘請(qǐng)合同范本
- 農(nóng)村房屋安裝維修合同范本
- 公司員工勞動(dòng)合同范本
- 北京企業(yè)住房合同范本
- 產(chǎn)品交付標(biāo)準(zhǔn)合同范本
- 公司擔(dān)保合同范本6
- 綜合實(shí)踐項(xiàng)目《制作細(xì)胞模型》教學(xué)設(shè)計(jì)-2024-2025學(xué)年魯科版生物六年級(jí)上冊(cè)
- 2人合伙合同范本
- 修路混凝土合同范本
- 產(chǎn)品加工定制合同范本
- 2024年度考研政治全真模擬試卷及答案(共六套)
- (完整版)幕墻施工方案
- 24年追覓在線測(cè)評(píng)28題及答案
- 智能建造施工技術(shù) 課件 項(xiàng)目1 智能建造施工概論;項(xiàng)目2 土方工程;項(xiàng)目3 基礎(chǔ)工程
- 醫(yī)學(xué)教材 超聲引導(dǎo)下乳腺真空微創(chuàng)旋切(VABB)
- 2024年鐵路線路工(高級(jí)技師)技能鑒定理論考試題庫(含答案)
- 2025高考物理步步高同步練習(xí)選修1練透答案精析
- 汽車修理工勞動(dòng)合同三篇
- 職業(yè)本科《大學(xué)英語》課程標(biāo)準(zhǔn)
- 修建水壩施工合同模板
- 北師大版三年級(jí)下冊(cè)除法豎式計(jì)算題練習(xí)100道及答案
評(píng)論
0/150
提交評(píng)論