版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
機(jī)械系統(tǒng)計(jì)算機(jī)測(cè)控第一章單片機(jī)I/O接口擴(kuò)展第二章工業(yè)控制計(jì)算機(jī)第三章傳感器與接口電路第四章步進(jìn)電機(jī)的控制第五章驅(qū)動(dòng)元件機(jī)械系統(tǒng)計(jì)算機(jī)測(cè)控第一章單片機(jī)I/O接口擴(kuò)展第一章單片機(jī)的I/O接口擴(kuò)展技術(shù)§1.1MCS-51單片機(jī)概述§1.2I/O擴(kuò)展§1.3人機(jī)通道配置與接口技術(shù)§1.4前向通道配置與接口技術(shù)§1.5后向通道配置與接口技術(shù)§1.6應(yīng)用系統(tǒng)的抗干擾技術(shù)第一章單片機(jī)的I/O接口擴(kuò)展技術(shù)§1.1MCS-51 MCS-51單片機(jī)的結(jié)構(gòu) MCS-51單片機(jī)引腳及其功能 89C51存儲(chǔ)器配置 CPU時(shí)鐘 復(fù)位及復(fù)位電路 89C51單片機(jī)的低功耗工作方式返回§1.1MCS-51單片機(jī)概述 輸出/輸入端口結(jié)構(gòu) MCS-51單片機(jī)的結(jié)構(gòu) MCS-51單片機(jī)引腳及其功能 MCS-51單片機(jī)的結(jié)構(gòu)§2.1.1MCS-51單片機(jī)的基本組成§2.1.2MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)返回 MCS-51單片機(jī)的結(jié)構(gòu)§2.1.1MCS-51單片機(jī)MCS-51單片機(jī)的基本組成一、組成二、MCS-51系列單片機(jī)的性能返回MCS-51單片機(jī)的基本組成一、組成二、MCS-51系列單片一、組成89C51單片機(jī)結(jié)構(gòu)框圖如圖2-1所示返回一、組成89C51單片機(jī)結(jié)構(gòu)框圖如圖2-1所示返回89C51單片機(jī)結(jié)構(gòu)框圖89C51CPU振蕩器和時(shí)序OSC64KB總線(xiàn)擴(kuò)展控制器數(shù)據(jù)存儲(chǔ)器256BRAM/SFR2×16位定時(shí)器/計(jì)數(shù)器可編程I/O程序存儲(chǔ)器4KBFLASHROM可編程全雙工串行口外中斷內(nèi)中斷控制并行口串行通信外部時(shí)鐘源外部事件計(jì)數(shù)返回89C51單片機(jī)結(jié)構(gòu)框圖89C51振蕩器和時(shí)序64KB總線(xiàn)一、組成一個(gè)8位的微處理器CPU。返回一、組成一個(gè)8位的微處理器CPU。返回一、組成用以存放可以讀/寫(xiě)的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等。片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM128B/256B):返回一、組成用以存放可以讀/寫(xiě)的數(shù)據(jù),如運(yùn)算的中一、組成用以存放程序、一些原始數(shù)據(jù)和表格。但有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031、8032、80C31等。片內(nèi)程序存儲(chǔ)器FlashROM(4KB):返回一、組成用以存放程序、一些原始數(shù)據(jù)和表格。但一、組成 每個(gè)口可以用作輸入,也可以用作輸出。四個(gè)8位并行I/O(輸入/輸出)接口 P0~P3:返回一、組成 每個(gè)口可以用作輸入,也可以用作輸出。四個(gè)8位并行I一、組成每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。兩個(gè)或三個(gè)定時(shí)/計(jì)數(shù)器:
返回一、組成每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方一、組成可實(shí)現(xiàn)單片機(jī)與單片機(jī)或其它微機(jī)之間串行通信。一個(gè)全雙工UART的串行I/O口:返回一、組成可實(shí)現(xiàn)單片機(jī)與單片機(jī)或其它微機(jī)之間串一、組成但需外接晶振和電容。片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路:返回一、組成但需外接晶振和電容。片內(nèi)振蕩器和一、組成五個(gè)中斷源的中斷控制系統(tǒng)。返回一、組成五個(gè)中斷源的中斷控制系統(tǒng)。返回二、MCS-51系列單片機(jī)的性能如表2-1所示。表中型號(hào)帶“C”表示所用的是CMOS工藝,具有功耗低的優(yōu)點(diǎn)。返回二、MCS-51系列單片機(jī)的性能如表2-1所示。表中型號(hào)帶“MCS-51系列單片機(jī)的性能表返回MCS-51系列單片機(jī)的性能表返回MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)一、結(jié)構(gòu)圖二、結(jié)構(gòu)組成返回MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)一、結(jié)構(gòu)圖二、結(jié)構(gòu)組成返回一、結(jié)構(gòu)圖由中央處理單元(CPU)、存儲(chǔ)器(ROM及RAM)和I/O接口組成。MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)如圖2-2所示。返回一、結(jié)構(gòu)圖由中央處理單元(CPU)、存儲(chǔ)器(ROM及RAMP0驅(qū)動(dòng)器P2驅(qū)動(dòng)器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBFlashROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器緩沖器PC增1PCDPTR中斷、串行口和定時(shí)器PSWP1鎖存器P1驅(qū)動(dòng)器P3鎖存器P3驅(qū)動(dòng)器定時(shí)控制指令寄存器指令譯碼器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARET89C51單片機(jī)內(nèi)部結(jié)構(gòu)圖返回P0驅(qū)動(dòng)器P2驅(qū)動(dòng)器P0鎖存器P2鎖存器RAM地址寄存器12二、結(jié)構(gòu)組成(一)、中央處理單元(CPU)(二)、存儲(chǔ)器(三)、I/O接口返回二、結(jié)構(gòu)組成(一)、中央處理單元(CPU)(二)、存儲(chǔ)器(三(一)、中央處理單元(CPU)1.運(yùn)算器返回2.控制器(一)、中央處理單元(CPU)1.運(yùn)算器返回2.控制器1.運(yùn)算器(1)8位的ALU:返回(2)8位累加器ACC(A):(3)8位程序狀態(tài)寄存器PSW:(4)8位寄存器B:(5)布爾處理器:(6)2個(gè)8位暫存器:1.運(yùn)算器(1)8位的ALU:返回(2)8位累加器ACC(A1.運(yùn)算器可對(duì)4位、8位、16位數(shù)據(jù)進(jìn)行操作。返回(1)8位的ALU:1.運(yùn)算器可對(duì)4位、8位、16位數(shù)據(jù)進(jìn)行操作。返回(1)8位1.運(yùn)算器(2)8位累加器ACC(A):它經(jīng)常作為一個(gè)運(yùn)算數(shù)經(jīng)暫存器2進(jìn)入ALU的輸入端,與另一個(gè)來(lái)自暫存器1的運(yùn)算數(shù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果又送回ACC。返回1.運(yùn)算器(2)8位累加器ACC(A):它經(jīng)常作為一個(gè)運(yùn)算數(shù)1.運(yùn)算器指示指令執(zhí)行后的狀態(tài)信息供程序查詢(xún)和判別用。(3)8位程序狀態(tài)寄存器PSW:返回1.運(yùn)算器指示指令執(zhí)行后的狀態(tài)信息供程序查詢(xún)和判別用。(3)1.運(yùn)算器(4)8位寄存器B:
在乘除運(yùn)算時(shí),用來(lái)存放一個(gè)操作數(shù)也用來(lái)存放運(yùn)算后的一部分結(jié)果;如不能做乘除運(yùn)算時(shí),作為通用寄存器。返回1.運(yùn)算器(4)8位寄存器B:返回1.運(yùn)算器(5)布爾處理器:專(zhuān)門(mén)用于處理位操作的,以PSW中的C為其累加器。返回1.運(yùn)算器(5)布爾處理器:返回1.運(yùn)算器(6)2個(gè)8位暫存器:ALU的兩個(gè)入口處。返回1.運(yùn)算器(6)2個(gè)8位暫存器:返回2.控制器(1)程序計(jì)數(shù)器PC(16位)(2)指令寄存器IR及指令譯碼器ID(3)振蕩器和定時(shí)電路返回2.控制器(1)程序計(jì)數(shù)器PC(16位)(2)指令寄存器IR(1)程序計(jì)數(shù)器PC(16位)由兩個(gè)8位計(jì)數(shù)器PCH、PCL組成。PC是程序的字節(jié)地址計(jì)數(shù)器,PC內(nèi)容為將要執(zhí)行的指令地址。改變PC內(nèi)容,改變執(zhí)行的流向。PC可對(duì)64KB的ROM直接尋址,也可對(duì)89C51片內(nèi)RAM尋址。返回(1)程序計(jì)數(shù)器PC(16位)由兩個(gè)8位計(jì)數(shù)器PCH、PCL(2)指令寄存器IR及指令譯碼器ID由PC中的內(nèi)容指定ROM地址,取出來(lái)的指令經(jīng)IR送至ID,由ID對(duì)指令譯碼產(chǎn)生一定序列的控制信號(hào),以執(zhí)行指令所規(guī)定的操作。返回(2)指令寄存器IR及指令譯碼器ID由PC中的內(nèi)容指定ROM(3)振蕩器和定時(shí)電路89C51單片機(jī)片內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容(2個(gè)30pF左右),其頻率范圍為1.2MHz~12MHz。該信號(hào)作為89C51工作的基本節(jié)拍即時(shí)間的最小單位。返回(3)振蕩器和定時(shí)電路89C51單片機(jī)片內(nèi)有振蕩電路,只需外(二)、存儲(chǔ)器1、程序存儲(chǔ)器(ROM)2、數(shù)據(jù)存儲(chǔ)器(RAM)返回(二)、存儲(chǔ)器1、程序存儲(chǔ)器(ROM)2、數(shù)據(jù)存儲(chǔ)器(RAM1、程序存儲(chǔ)器(ROM)地址從0000H開(kāi)始。用于存放程序和表格常數(shù)。返回1、程序存儲(chǔ)器(ROM)地址從0000H開(kāi)始。返回2、數(shù)據(jù)存儲(chǔ)器(RAM)地址為00H~7FH。用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。這128B的RAM中有32個(gè)字節(jié)單元可指定為工作寄存器。片內(nèi)還有21個(gè)特殊功能寄存器(SFR),它們同128字節(jié)RAM統(tǒng)一編址,地址為80H~FFH。后面詳細(xì)介紹。返回2、數(shù)據(jù)存儲(chǔ)器(RAM)地址為00H~7FH。返回(三)、I/O接口89C51有四個(gè)8位并行I/O接口P0~P3。它們都是準(zhǔn)雙向端口,每個(gè)端口各有8條I/O線(xiàn)。P0-P3口四個(gè)鎖存器同RAM統(tǒng)一編址,可作為SFR來(lái)尋址。返回(三)、I/O接口89C51有四個(gè)8位并行I/O接口P0~P MCS-51單片機(jī)引腳及其功能 MCS-51單片機(jī)引腳MCS-51單片機(jī)引腳功能返回 MCS-51單片機(jī)引腳及其功能返回 89C51單片機(jī)引腳89C51單片機(jī)引腳如圖2-3所示。返回 89C51單片機(jī)引腳89C51單片機(jī)引腳如圖2-3所示。89C51單片機(jī)引腳圖返回89C51單片機(jī)引腳圖返回89C51單片機(jī)引腳功能一、電源引腳:Vcc和Vss二、時(shí)鐘電路引腳:XTAL1和XTAL2三、控制信號(hào)引腳RST、ALE、PSEN和EA四、I/O端口P0、P1、P2和P3返回89C51單片機(jī)引腳功能一、電源引腳:Vcc和Vss返回一、電源引腳:Vcc和Vss1.Vcc(40腳):電源端,為+5V。2.Vss(20腳):接地端。返回圖2-3一、電源引腳:Vcc和Vss返回圖2-3二、時(shí)鐘電路引腳:XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端;在89C51片內(nèi)它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖。89C51/8031正常工作時(shí),該引腳應(yīng)有脈沖信號(hào)輸出。返回二、時(shí)鐘電路引腳:XTAL1和XTAL2XTAL2(18腳)XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反向放大器的輸入端,在采用外部時(shí)鐘時(shí),該引腳接地。二、時(shí)鐘電路引腳:XTAL1和XTAL2返回XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它三、控制信號(hào)引腳:
RST、ALE、PSEN和EARST/VPD(9腳):RST:復(fù)位信號(hào)輸入端,高電平有效。當(dāng)此輸入端保持兩個(gè)機(jī)器周期的高電平時(shí),就可以完成復(fù)位操作。返回三、控制信號(hào)引腳:
RST、ALE、PSENRST/VPD(9腳):VPD:RST引腳的第二功能,備用電源輸入端。當(dāng)主電源Vcc發(fā)生故障,降低到低電平規(guī)定值時(shí),將+5V電源自動(dòng)接入該引腳,為RAM提供備用電源,以保證RAM中的信息不丟失,使得復(fù)位后能繼續(xù)正常運(yùn)行。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EARST/VPD(9腳):返回三、控制信號(hào)引腳:
RSALE/PROG(30腳):ALE:地址鎖存允許信號(hào)端。正常工作時(shí),該引腳以振蕩頻率的1/6固定輸出正脈沖。CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),該引腳輸出信號(hào)作為鎖存低8位地址的控制信號(hào)。它的負(fù)載能力為8個(gè)LS型TTL負(fù)載。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAALE/PROG(30腳):返回三、控制信號(hào)引腳:
ALE/PROG(30腳):PROG:是對(duì)片內(nèi)帶有4KBEPROM的8751編程寫(xiě)入時(shí)的編程脈沖輸入端。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAALE/PROG(30腳):返回三、控制信號(hào)引腳:
PSEN(29腳):程序存儲(chǔ)器允許信號(hào)輸出端。在訪(fǎng)問(wèn)片外ROM時(shí),定時(shí)輸出負(fù)脈沖作為讀片外ROM的選通信號(hào),接片外ROM的OE端。它的負(fù)載能力為8個(gè)LS型TTL負(fù)載。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAPSEN(29腳):返回三、控制信號(hào)引腳:
RST、EA/Vpp(31腳):EA:外部程序存儲(chǔ)器地址允許輸入端。當(dāng)該引腳接高電平時(shí),CPU訪(fǎng)問(wèn)片內(nèi)EPROM/ROM并執(zhí)行片內(nèi)程序存儲(chǔ)器中的指令,但當(dāng)PC值超過(guò)0FFFH(片內(nèi)ROM為4KB)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外ROM中的程序。當(dāng)該引腳接低電平時(shí),CPU只訪(fǎng)問(wèn)片外EPROM/ROM并執(zhí)行外部程序存儲(chǔ)器中的程序。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAEA/Vpp(31腳):返回三、控制信號(hào)引腳:
RSEA/Vpp(31腳):Vpp:對(duì)8751片內(nèi)EPROM固化編程時(shí),編程電壓輸入端(12-21V)。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAEA/Vpp(31腳):返回三、控制信號(hào)引腳:
RS四、I/O端口P0、P1、P2和P31、準(zhǔn)雙向2、P0口3、P1口4、P2口5、P3口返回四、I/O端口P0、P1、P2和P31、準(zhǔn)雙向返回1、準(zhǔn)雙向當(dāng)I/O口作為輸入時(shí),應(yīng)先向此口鎖存器寫(xiě)入全1,此時(shí)該口引腳浮空,可作高阻抗輸入。返回1、準(zhǔn)雙向當(dāng)I/O口作為輸入時(shí),應(yīng)先向此口鎖存器寫(xiě)入全1,2、P0口:漏極開(kāi)路的8位準(zhǔn)雙向I/O口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。P0口可作為一個(gè)數(shù)據(jù)輸入/輸出口;在CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),P0口為分時(shí)復(fù)用的低8位地址總線(xiàn)和8位數(shù)據(jù)總線(xiàn)。返回2、P0口:漏極開(kāi)路的8位準(zhǔn)雙向I/O口,每位能驅(qū)動(dòng)8個(gè)LS3、P1口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。返回3、P1口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4、P2口:P2口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。在CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),它輸出高8位地址。返回4、P2口:P2口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每5、P3口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口除作為一般I/O口外,每個(gè)引腳都有第二功能。返回5、P3口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng) 89C51存儲(chǔ)器配置 89C51存儲(chǔ)器分類(lèi) 程序存儲(chǔ)器地址空間 數(shù)據(jù)存儲(chǔ)器地址空間返回 89C51存儲(chǔ)器配置 89C51存儲(chǔ)器分類(lèi)返回 89C51存儲(chǔ)器分類(lèi)一、物理結(jié)構(gòu)二、用戶(hù)角度返回 89C51存儲(chǔ)器分類(lèi)一、物理結(jié)構(gòu)返回一、物理結(jié)構(gòu)89C51存儲(chǔ)器程序存儲(chǔ)器RAM數(shù)據(jù)存儲(chǔ)器ROM片內(nèi)程序存儲(chǔ)器片外程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器返回一、物理結(jié)構(gòu)89C51存儲(chǔ)器程序存儲(chǔ)器RAM數(shù)據(jù)存儲(chǔ)器ROM二、用戶(hù)角度圖2-489C51存儲(chǔ)器配置二、用戶(hù)角度圖2-489C51存儲(chǔ)器配置二、用戶(hù)角度1、片內(nèi)、外統(tǒng)一編址的64K程序存儲(chǔ)器地址空間。CPU訪(fǎng)問(wèn)片內(nèi)、片外ROM指令用MOVC。返回二、用戶(hù)角度1、片內(nèi)、外統(tǒng)一編址的64K程序存儲(chǔ)器地址空間。二、用戶(hù)角度2、64K的片外數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片外RAM指令用MOVX。返回二、用戶(hù)角度2、64K的片外數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片外RA二、用戶(hù)角度3、256字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片內(nèi)RAM指令用MOV。上述三個(gè)存儲(chǔ)空間地址是重疊的,89C51的指令系統(tǒng)采用不同的數(shù)據(jù)傳送指令符號(hào)。返回二、用戶(hù)角度3、256字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片內(nèi)程序存儲(chǔ)器地址空間一、用途:二、編址:三、尋址方式:返回程序存儲(chǔ)器地址空間一、用途:返回一、用途:用于存放編好的程序和表格常數(shù)。返回一、用途:用于存放編好的程序和表格常數(shù)。返回二、編址:容量為4KB。地址為0000H~0FFFH。片外最多可擴(kuò)至64KBROM/EPROM,地址為1000H~FFFFH。片內(nèi)外統(tǒng)一編址。返回二、編址:容量為4KB。地址為0000H~0FFFH。返回三、尋址方式:1、當(dāng)EA=“1”時(shí):在0000~0FFFH范圍內(nèi)執(zhí)行片內(nèi)ROM中的程序,當(dāng)指令地址超過(guò)0FFFH后就自動(dòng)轉(zhuǎn)向片外ROM中取指令。2、當(dāng)EA=”0”時(shí):片內(nèi)ROM不起作用,CPU只能從片ROM/EPROM中取指令。可以從0000H開(kāi)始尋址。3、片內(nèi)ROM和片外ROM取指的速度相同。三、尋址方式:1、當(dāng)EA=“1”時(shí):三、尋址方式:4、程序存儲(chǔ)器的保留存儲(chǔ)單元。(1)0000H~0002H三個(gè)單元:用作上電復(fù)位后引導(dǎo)程序的存放單元。因?yàn)閺?fù)位后PC的內(nèi)容為0000H,CPU總是從0000H開(kāi)始執(zhí)行程序。將轉(zhuǎn)移指令存放到這三個(gè)單元,程序就被引導(dǎo)到指定的程序存儲(chǔ)器空間去執(zhí)行。三、尋址方式:4、程序存儲(chǔ)器的保留存儲(chǔ)單元。三、尋址方式:(2)0003H~002AH單元:均分為五段,用作五個(gè)中斷服務(wù)程序的入口。中斷矢量地址表。返回三、尋址方式:(2)0003H~002AH單元:返回?cái)?shù)據(jù)存儲(chǔ)器地址空間一、用途:二、片外RAM:三、片內(nèi)RAM:
返回?cái)?shù)據(jù)存儲(chǔ)器地址空間一、用途:返回一、用途:用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等。一、用途:用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等。二、片外RAM:地址:0000H~FFFFH尋址:用MOVX指令二、片外RAM:地址:0000H~FFFFH三、片內(nèi)RAM:片內(nèi)數(shù)據(jù)存儲(chǔ)器最大可尋址256個(gè)單元,它們又分為兩部分:低128字節(jié)(00H~7FH)是真正的RAM區(qū);高128字節(jié)(80H~FFH)為特殊功能寄存器(SFR)區(qū)。如圖27所示。高128字節(jié)和低128字節(jié)RAM中的配置及含義如圖2-8和圖2-9所示。三、片內(nèi)RAM:片內(nèi)數(shù)據(jù)存儲(chǔ)器最大可尋址256個(gè)單元,它們圖2-8低128字節(jié)RAM區(qū)圖2-9高128字節(jié)RAM區(qū)(SFR區(qū),特殊功能寄存器區(qū))圖2-8低128字節(jié)RAM區(qū)圖2-9高128字節(jié)RA1)低128字節(jié)RAM89C51的32個(gè)工作寄存器與RAM安排在同一個(gè)隊(duì)列空間里,統(tǒng)一編址并使用同樣的尋址方式(直接尋址和間接尋址)。00H~1FH地址安排為4組工作寄存器區(qū),每組有8個(gè)工作寄存器(R0~R7),共占32個(gè)單元,見(jiàn)表2-4。通過(guò)對(duì)程序狀態(tài)字PSW中RS1、RS0的設(shè)置,每組寄存器均可選作CPU的當(dāng)前工作寄存器組。若程序中并不需要4組,那么其余可用作一般RAM單元。CPU復(fù)位后,選中第0組寄存器為當(dāng)前的工作寄存器。工作寄存器區(qū)后的16字節(jié)單元(20H~2FH),可用位尋址方式訪(fǎng)問(wèn)其各位。在89系列單片機(jī)的指令系統(tǒng)中,還包括許多位操作指令,這些位操作指令可直接對(duì)這128位尋址。這128位的位地址為00H~7FH,其位地址分布見(jiàn)圖2-8。1)低128字節(jié)RAM89C51的32個(gè)工作寄存器與RAM2)高128字節(jié)RAM——特殊功能寄存器(SFR)89C51片內(nèi)高128字節(jié)RAM中,有21個(gè)特殊功能寄存器(SFR),它們離散地分布在80H~FFH的RAM空間中。訪(fǎng)問(wèn)特殊功能寄存器只允許使用直接尋址方式。這些特殊功能寄存器見(jiàn)圖2-9。各SFR的名稱(chēng)及含義如表2-5所列。2)高128字節(jié)RAM——特殊功能寄存器(SFR)89C5(1)累加器ACC(E0H)累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,許多指令的操作數(shù)取自于A(yíng)CC,許多運(yùn)算中間結(jié)果也存放于A(yíng)CC。在指令系統(tǒng)中用A作為累加器ACC的助記符。(1)累加器ACC(E0H)累加器ACC是89C51最常用(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的兩個(gè)操作數(shù)分別取自A和B,乘積存于B和A兩個(gè)8位寄存器中。除法指令中,A中存放被除數(shù),B中放除數(shù),商存放于A(yíng),B中存放余數(shù)。在其他指令中,B可作為一般通用寄存器或一個(gè)RAM單元使用。(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B(3)程序狀態(tài)寄存器PSW(D0H)PSW是一個(gè)8位特殊功能寄存器,它的各位包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢(xún)或判別之用。各位的含義及其格式如表2-6所列。PSW除有確定的字節(jié)地址(D0H)外,每一位均有位地址,見(jiàn)表2-6。(3)程序狀態(tài)寄存器PSW(D0H)PSW是一個(gè)8位特殊功CY(PSW.7):進(jìn)位標(biāo)志位。在執(zhí)行加法(或減法)運(yùn)算指令時(shí),如果運(yùn)算結(jié)果最高位(位7)向前有進(jìn)位(或借位),則CY位由硬件自動(dòng)置1;如果運(yùn)算結(jié)果最高位無(wú)進(jìn)位(或借位),則CY清0。CY也是89C51在進(jìn)行位操作(布爾操作)時(shí)的位累加器,在指令中用C代替CY。AC(PSW.6):半進(jìn)位標(biāo)志位,也稱(chēng)輔助進(jìn)位標(biāo)志。當(dāng)執(zhí)行加法(或減法)操作時(shí),如果運(yùn)算結(jié)果(和或差)的低半字節(jié)(位3)向高半字節(jié)有半進(jìn)位(或借位),則AC位將被硬件自動(dòng)置1;否則AC被自動(dòng)清0。F0(PSW.5):用戶(hù)標(biāo)志位。用戶(hù)可以根據(jù)自己的需要對(duì)F0位賦予一定的含義,由用戶(hù)置位或復(fù)位,以作為軟件標(biāo)志。CY(PSW.7):進(jìn)位標(biāo)志位。在執(zhí)行加法(或減法)運(yùn)算指RS0和RS1(PSW.3和PSW.4):工作寄存器組選擇控制位。這兩位的值可決定選擇哪一組工作寄存器為當(dāng)前工作寄存器組。通過(guò)用戶(hù)用軟件改變RS1和RS0值的組合,以切換當(dāng)前選用的工作寄存器組。其組合關(guān)系如表2-7所列。89C51上電復(fù)位后,RS1=RS0=0,CPU自動(dòng)選擇第0組為當(dāng)前工作寄存器組。根據(jù)需要,可利用傳送指令對(duì)PSW整字節(jié)操作或用位操作指令改變RS1和RS0的狀態(tài),以切換當(dāng)前工作寄存器組。這樣的設(shè)置為程序中保護(hù)現(xiàn)場(chǎng)提供了方便。RS0和RS1(PSW.3和PSW.4):工作寄存器組選擇OV(PSW.2):溢出標(biāo)志位。當(dāng)進(jìn)行補(bǔ)碼運(yùn)算時(shí),如有溢出,即當(dāng)運(yùn)算結(jié)果超出-128~+127的范圍時(shí),OV位由硬件自動(dòng)置1;無(wú)溢出時(shí),OV=0。PSW.1:為保留位。89C51未用,89C52為F1用戶(hù)標(biāo)志位。P(PSW.0):奇偶校驗(yàn)標(biāo)志位。每條指令執(zhí)行完后,該位始終跟蹤指示累加器A中1的個(gè)數(shù)。如結(jié)果A中有奇數(shù)個(gè)1,則置P=1;否則P=0。常用于校驗(yàn)串行通信中的數(shù)據(jù)傳送是否出錯(cuò)。OV(PSW.2):溢出標(biāo)志位。當(dāng)進(jìn)行補(bǔ)碼運(yùn)算時(shí),如有溢(4)棧指針SP(81H)堆棧指針SP為8位特殊功能寄存器,SP的內(nèi)容可指向89C51片內(nèi)00H~7FHRAM的任何單元。系統(tǒng)復(fù)位后,SP初始化為07H,即指向07H的RAM單元。(4)棧指針SP(81H)堆棧指針SP為8位特殊功能寄存89C51在片內(nèi)RAM中專(zhuān)門(mén)開(kāi)辟出來(lái)一個(gè)區(qū)域,數(shù)據(jù)的存取是以“后進(jìn)先出”的結(jié)構(gòu)方式處理的,好像沖鋒槍壓入子彈。這種數(shù)據(jù)結(jié)構(gòu)方式對(duì)于處理中斷,調(diào)用子程序都非常方便。堆棧的操作有兩種:一種叫數(shù)據(jù)壓入(PUSH),另一種叫數(shù)據(jù)彈出(POP)。89C51的堆棧指針SP是一個(gè)雙向計(jì)數(shù)器。進(jìn)棧時(shí),SP內(nèi)容自動(dòng)增值,出棧時(shí)自動(dòng)減值。存取信息必須按“后進(jìn)先出”或“先進(jìn)后出”的規(guī)則進(jìn)行。89C51在片內(nèi)RAM中專(zhuān)門(mén)開(kāi)辟出來(lái)一個(gè)區(qū)域,數(shù)據(jù)的存取是以在圖2-10中,假若有8個(gè)RAM單元,每個(gè)單元都在其右面編有地址,棧頂由堆棧指針SP自動(dòng)管理。每次進(jìn)行壓入或彈出操作以后,堆棧指針便自動(dòng)調(diào)整以保持指示堆棧頂部的位置。這些操作可用圖2-10說(shuō)明。圖2-10堆棧的壓入與彈出在圖2-10中,假若有8個(gè)RAM單元,每個(gè)單元都在其右面編有(5)數(shù)據(jù)指針DPTR(83H,82H)DPTR是一個(gè)16位的特殊功能寄存器,其高位字節(jié)寄存器用DPH表示(地址83H),低位字節(jié)寄存器用DPL表示(地址82H)。DPTR既可以作為一個(gè)16位寄存器來(lái)處理,也可以作為兩個(gè)獨(dú)立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便對(duì)64KB片外RAM作間接尋址。(5)數(shù)據(jù)指針DPTR(83H,82H)DPTR是一個(gè)16(6)I/O端口P0~P3
(80H,90H,A0H,B0H)P0~P3為4個(gè)8位特殊功能寄存器,分別是4個(gè)并行I/O端口的鎖存器。它們都有字節(jié)地址,每一個(gè)口鎖存器還有位地址,每一條I/O線(xiàn)均可獨(dú)立用作輸入或輸出。用作輸出時(shí),可以鎖存數(shù)據(jù);用作輸入時(shí),數(shù)據(jù)可以緩沖。圖2-11所示為各個(gè)SFR所在的字節(jié)地址位置。空格部分為未來(lái)設(shè)計(jì)新型芯片可定義的SFR位置。(6)I/O端口P0~P3
(80H,90H,A0H,B0圖2-11特殊功能寄存器SFR的位置圖2-11特殊功能寄存器SFR的位置 片內(nèi)時(shí)鐘信號(hào)的產(chǎn)生89C51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體及兩個(gè)電容就可以構(gòu)成穩(wěn)定的自激振蕩器。電容器C1和C2通常取30pF左右,可穩(wěn)定頻率并對(duì)振蕩頻率有微調(diào)作用。振蕩脈沖頻率范圍為fOSC=0~24MHz。晶體振蕩器的頻率為fOSC,振蕩信號(hào)從XTAL2端輸入到片內(nèi)的時(shí)鐘發(fā)生器上,如圖2-12所示。返回 片內(nèi)時(shí)鐘信號(hào)的產(chǎn)生89C51芯片內(nèi)部有一個(gè)高增益反相放大器圖2-1289C51的片內(nèi)振蕩器及時(shí)鐘發(fā)生器圖2-1289C51的片內(nèi)振蕩器及時(shí)鐘發(fā)生器 復(fù)位操作返回2.5.1復(fù)位操作的主要功能主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。復(fù)位操作還對(duì)其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表2-8所列。表2-8中的符號(hào)意義如下: 復(fù)位操作返回2.5.1復(fù)位操作的主要功能A=00H:表明累加器已被清0。PSW=00H:表明選寄存器0組為工作寄存器組。SP=07H:表明堆棧指針指向片內(nèi)RAM07H字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的數(shù)據(jù)被寫(xiě)入08H單元中。P0~P3=FFH:表明已向各端口線(xiàn)寫(xiě)入1,此時(shí),各端口既可用于輸入,又可用于輸出。IP=×××00000B:表明各個(gè)中斷源處于低優(yōu)先級(jí)。IE=0××00000B:表明各個(gè)中斷均被關(guān)斷。TMOD=00H:表明T0,T1均為工作方式0,且運(yùn)行于定時(shí)器狀態(tài)。TCON=00H:表明T0,T1均被關(guān)斷。SCON=00H:表明串行口處于工作方式0,允許發(fā)送,不允許接收。PCON=00H:表明SMOD=0,波特率不加倍。A=00H:表明累加器已被清0。表2-8各特殊功能寄存器的復(fù)位值返回表2-8各特殊功能寄存器的復(fù)位值返回 復(fù)位信號(hào)及其產(chǎn)生一、復(fù)位信號(hào):RST引腳為復(fù)位信號(hào)輸入端。當(dāng)RST引腳為高電平,且有效時(shí)間持續(xù)24個(gè)振蕩周期以上,才能復(fù)位。二、產(chǎn)生復(fù)位信號(hào)的電路邏輯圖:如圖2-15所示。返回 復(fù)位信號(hào)及其產(chǎn)生一、復(fù)位信號(hào):返回返回
復(fù)位電路施密特觸發(fā)器片內(nèi)RAMRST/VPDVCCVSSD1D2圖2-15復(fù)位電路邏輯圖返回復(fù)位電路施密特觸發(fā)器片內(nèi)RAMRST/VPDVCCVS復(fù)位電路一、上電自動(dòng)復(fù)位:是通過(guò)外部復(fù)位電路的電容充電實(shí)現(xiàn)。如圖2-16(a)所示。二、按鍵手動(dòng)復(fù)位:按鍵電平復(fù)位方式:如圖2-16(b)所示。返回復(fù)位電路一、上電自動(dòng)復(fù)位:返回圖2-16(a)上電復(fù)位電路只要Vcc的上升時(shí)間不超過(guò)1ms,就自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)復(fù)位。返回VCCCRVCCRST/VPDVSS1KΩ22μF89C51圖2-16(a)上電復(fù)位電路只要Vcc的上升時(shí)間不超過(guò)圖2-12(b)按鍵電平復(fù)位電路通過(guò)使復(fù)位端經(jīng)電阻與VCC電源接通而實(shí)現(xiàn)。VCCCR2VCCRST/VPDVSS1KΩ22μF89C51R1200ΩRESET返回圖2-12(b)按鍵電平復(fù)位電路通過(guò)使復(fù)位端經(jīng)電阻與V89C51單片機(jī)的低功耗工作方式89C51提供兩種節(jié)電工作方式,即空閑(等待、待機(jī))方式和掉電(停機(jī))工作方式圖2-17所示為實(shí)現(xiàn)這兩種方式的內(nèi)部電路。由圖可見(jiàn),若IDL(idle)=0,則89C51將進(jìn)入空閑運(yùn)作方式。在這種方式下,振蕩器仍繼續(xù)運(yùn)行,但I(xiàn)DL封鎖了去CPU的“與”門(mén),故CPU此時(shí)得不到時(shí)鐘信號(hào)。而中斷、串行口和定時(shí)器等環(huán)節(jié)卻仍在時(shí)鐘控制下正常運(yùn)行。掉電方式下(PD=0),振蕩器凍結(jié)。圖2-17中,PD和IDL均為PCON中PD和IDL觸發(fā)器的輸出端。89C51單片機(jī)的低功耗工作方式89C51提供兩種節(jié)電工作方圖2-17空閑和掉電方式控制電路圖2-17空閑和掉電方式控制電路方式的設(shè)定空閑方式和掉電方式是通過(guò)對(duì)SFR中的PCON(地址87H)相應(yīng)位置1而啟動(dòng)的。圖2-18所示為89C51電源控制寄存器PCON各位的分布情況。HMOS器件的PCON只包括一個(gè)SMOD位,其他4位是CHMOS器件獨(dú)有的。3個(gè)保留位用戶(hù)不得使用。圖2-18電源控制寄存器PCON方式的設(shè)定空閑方式和掉電方式是通過(guò)對(duì)SFR中的PCON(地址圖2-18中各符號(hào)的名稱(chēng)和功能如下:SMOD:波特率倍頻位。若此位為1,則串行口方式1、方式2和方式3的波特率加倍。GF1和GF0:通用標(biāo)志位。PD:掉電方式位。此位寫(xiě)1即啟動(dòng)掉電方式。由圖217可見(jiàn),此時(shí)時(shí)鐘凍結(jié)。IDL:空閑方式位。此位寫(xiě)1即啟動(dòng)空閑方式。這時(shí)CPU因無(wú)時(shí)鐘控制而停止運(yùn)作。如果同時(shí)向PD和IDL兩位寫(xiě)1,則PD優(yōu)先。89C51中PCON的復(fù)位值為0×××0000B。圖2-18中各符號(hào)的名稱(chēng)和功能如下:SMOD:波特率倍頻位空閑(等待、待機(jī))工作方式CPU執(zhí)行完置IDL=1(PCON.1)的指令后,系統(tǒng)進(jìn)入空閑工作方式。進(jìn)入空閑方式后,有兩種方法可以使系統(tǒng)退出空閑方式:一是任何的中斷請(qǐng)求被響應(yīng)都可以由硬件將PCON.0(IDL)清0而中止空閑工作方式。另一種退出空閑方式的方法是硬件復(fù)位,空閑(等待、待機(jī))工作方式CPU執(zhí)行完置IDL=1(PCON掉電(停機(jī))工作方式當(dāng)CPU執(zhí)行一條置PCON.1位(PD)為1的指令后,系統(tǒng)進(jìn)入掉電工作方式。退出掉電方式的唯一方法是由硬件復(fù)位,復(fù)位后將所有特殊功能寄存器的內(nèi)容初始化,但不改變片內(nèi)RAM區(qū)的數(shù)據(jù)。在掉電工作方式下,VCC可以降到2V,但在進(jìn)入掉電方式之前,VCC不能降低。而在準(zhǔn)備退出掉電方式之前,VCC必須恢復(fù)正常的工作電壓值,并維持一段時(shí)間(約10ms),使振蕩器重新啟動(dòng)并穩(wěn)定后方可退出掉電方式。掉電(停機(jī))工作方式當(dāng)CPU執(zhí)行一條置PCON.1位(PD) 輸出/輸入端口I/O端口概述P0口P1口P2口P3口端口的負(fù)載能力和接口要求返回 輸出/輸入端口I/O端口概述返回 I/O端口概述返回1.89C51單片機(jī)有四個(gè)8位并行I/O端口:P0、P1、P2和P3。2.每個(gè)端口都是8位準(zhǔn)雙向口,共占32根引腳。3.每一條I/O線(xiàn)都能獨(dú)立地用作輸入或輸出。4.每個(gè)端口都包括一個(gè)鎖存器(即特殊功能寄存器P0~P3),一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器,作輸出是數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以緩沖。 I/O端口概述返回1.89C51單片機(jī)有四個(gè)8位并行I/OP0口一、結(jié)構(gòu)二、P0口作為一般I/O口使用三、P0口作為地址/數(shù)據(jù)總線(xiàn)使用返回P0口一、結(jié)構(gòu)返回一、結(jié)構(gòu)P0口某位的結(jié)構(gòu)由一個(gè)輸出鎖存器、二個(gè)三態(tài)輸入緩沖器和輸出驅(qū)動(dòng)電路及控制電路組成。如圖2-21所示。當(dāng)C=0時(shí),開(kāi)關(guān)MUX被控為如圖示位置,P0口為通用I/O口;當(dāng)C=1時(shí),開(kāi)關(guān)撥向反相器3的輸出端,P0口分時(shí)作為地址/數(shù)據(jù)總線(xiàn)使用。返回一、結(jié)構(gòu)P0口某位的結(jié)構(gòu)由一個(gè)輸出鎖存器、二個(gè)三態(tài)輸入緩沖器圖2-21
P0口某位的結(jié)構(gòu)圖當(dāng)C=0時(shí),開(kāi)關(guān)MUX被控為如圖示位置,P0口為通用I/O口;當(dāng)C=1時(shí),開(kāi)關(guān)撥向反相器3的輸出端,P0口分時(shí)作為地址/數(shù)據(jù)總線(xiàn)使用。返回讀引腳讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入DCPQQ地址/數(shù)據(jù)控制CMUXVCCT1T2P0.X4312鎖存器圖2-21P0口某位的結(jié)構(gòu)圖當(dāng)C=0時(shí),開(kāi)關(guān)MUX被控二、P0口作為一般I/O口使用1、P0口用作輸出口2、P0口作輸入口返回二、P0口作為一般I/O口使用1、P0口用作輸出口返回1、P0口用作輸出口當(dāng)CPU執(zhí)行輸出指令時(shí),寫(xiě)脈沖加在D鎖存器的CP上,這樣,與內(nèi)部總線(xiàn)相連的D端的數(shù)據(jù)取反后就出現(xiàn)在Q端上,又經(jīng)輸出級(jí)FET(T2)反相,在P0端口上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線(xiàn)的數(shù)據(jù)。這是一般的數(shù)據(jù)輸出情況。返回1、P0口用作輸出口當(dāng)CPU執(zhí)行輸出指令時(shí),寫(xiě)脈沖加在D鎖存2、P0口作輸入口當(dāng)執(zhí)行一條由端口輸入的指令時(shí),“讀引腳”脈沖把三態(tài)緩沖器2打開(kāi),這樣,端口上的數(shù)據(jù)經(jīng)過(guò)緩沖器2讀入到內(nèi)部總線(xiàn)。在端口進(jìn)行輸入操作前,應(yīng)先向端口鎖存器寫(xiě)入1,也就是使鎖存器Q=0。因?yàn)榭刂凭€(xiàn)C=0,因此T1和T2全截止,引腳處于懸浮狀態(tài),可作高阻抗輸入。返回2、P0口作輸入口當(dāng)執(zhí)行一條由端口輸入的指令時(shí),“讀引腳”脈三、P0口作為地址/數(shù)據(jù)總線(xiàn)使用1.P0口用作輸出地址/數(shù)據(jù)總線(xiàn)以P0口引腳輸出低8位地址或數(shù)據(jù)信息,MUX開(kāi)關(guān)把CPU內(nèi)部地址/數(shù)據(jù)線(xiàn)經(jīng)反向器3與驅(qū)動(dòng)場(chǎng)效應(yīng)管FET(T2)柵極接通。上下兩個(gè)FET處于反相,構(gòu)成推拉式的輸出電路(T1導(dǎo)通時(shí)上拉,T2導(dǎo)通時(shí)下拉),提高了負(fù)載能力。當(dāng)P0口被地址/數(shù)據(jù)總線(xiàn)占用時(shí),就無(wú)法再作I/O口使用了。返回三、P0口作為地址/數(shù)據(jù)總線(xiàn)使用1.P0口用作輸出地址/數(shù)據(jù)2.由P0口輸入數(shù)據(jù):在“讀引腳”信號(hào)有效時(shí),打開(kāi)輸入緩沖器2,使數(shù)據(jù)進(jìn)入內(nèi)部總線(xiàn)。三、P0口作為地址/數(shù)據(jù)總線(xiàn)使用返回2.由P0口輸入數(shù)據(jù):三、P0口作為地址/數(shù)據(jù)總線(xiàn)使用返回P1口一、P1口結(jié)構(gòu)二、P1口用作通用I/O返回P1口一、P1口結(jié)構(gòu)返回 P1口一、P1口結(jié)構(gòu):其電路結(jié)構(gòu)見(jiàn)圖2-19,輸出驅(qū)動(dòng)部分與P0口不同,內(nèi)部有上拉負(fù)載電阻與電源相連。實(shí)質(zhì)上,電阻是兩個(gè)場(chǎng)效應(yīng)管FET并在一起:一個(gè)FET為負(fù)載管,其電阻固定。另一個(gè)FET可工作在導(dǎo)通或截止兩種狀態(tài),使其總電阻值變化近似為0或阻值很大兩種情況。當(dāng)阻值近似為0時(shí),可將引腳快速上拉至高電平;當(dāng)阻值很大時(shí),P1口為高阻輸入狀態(tài)。返回 P1口一、P1口結(jié)構(gòu):返回圖2-19
P1口某位的結(jié)構(gòu)圖讀引腳讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入DCPQQVCCP1.X12鎖存器圖2-19P1口某位的結(jié)構(gòu)圖讀引腳讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入 P1口二、P1口用作通用I/OP1口也是一個(gè)準(zhǔn)雙向口。在端口用作輸入時(shí),也必須先向?qū)?yīng)的鎖存器寫(xiě)入1,使FET截止。當(dāng)P1口輸出高電平時(shí),能向外提供拉電流負(fù)載,所以不必再接上拉電阻。 P1口二、P1口用作通用I/OP2口一、P2口結(jié)構(gòu)二、P2口用作一般I/O口三、P2口用作高8位地址總線(xiàn)P2口一、P2口結(jié)構(gòu)一、P2口結(jié)構(gòu)如圖2-20所示,P2口某位的結(jié)構(gòu)與P0口類(lèi)似,有MUX開(kāi)關(guān)。驅(qū)動(dòng)部分與P1口類(lèi)似,但比P1口多了一個(gè)轉(zhuǎn)換控制部分。一、P2口結(jié)構(gòu)測(cè)試過(guò)程控制§1189C51單片機(jī)概述課件圖2-20
P2口某位的結(jié)構(gòu)圖返回讀引腳讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入DCPQQ地址/數(shù)據(jù)控制CMUXVCCP2.X鎖存器圖2-20P2口某位的結(jié)構(gòu)圖返回讀引腳讀鎖存器內(nèi)部總線(xiàn)二、P2口用作一般I/O口1、當(dāng)CPU對(duì)片內(nèi)存儲(chǔ)器和I/O口進(jìn)行讀/寫(xiě)(執(zhí)行MOV指令或EA=1時(shí),執(zhí)行MOVC指令)時(shí),由內(nèi)部硬件自動(dòng)使開(kāi)關(guān)MUX倒向鎖存器的Q端,這時(shí),P2口為一般I/O口。返回二、P2口用作一般I/O口1、當(dāng)CPU對(duì)片內(nèi)存儲(chǔ)器和I/O口二、P2口用作一般I/O口2、在只需擴(kuò)展256B片外RAM的系統(tǒng)中,使用“MOVXA,@Ri”類(lèi)指令訪(fǎng)問(wèn)片外RAM時(shí),尋址范圍是256B,只需低8位地址線(xiàn)就可以實(shí)現(xiàn)。P2口不受該指令影響,仍可作通用I/O口。返回二、P2口用作一般I/O口2、在只需擴(kuò)展256B片外RAM的二、P2口用作一般I/O口3、若擴(kuò)展的RAM容量超過(guò)256B,使用“MOVXA,@DPTR”類(lèi)指令的尋址范圍是64KB,此時(shí),高8位地址總線(xiàn)用P2口輸出。在片外RAM讀/寫(xiě)周期內(nèi),P2口鎖存器仍保持原來(lái)端口的數(shù)據(jù);在訪(fǎng)問(wèn)片外RAM周期結(jié)束后,多路開(kāi)關(guān)MUX自動(dòng)切換倒鎖存器Q端。由于CPU對(duì)RAM的訪(fǎng)問(wèn)不是經(jīng)常的,在這種情況下,P2口在一定的限度內(nèi)仍可用作通用I/O口。返回二、P2口用作一般I/O口3、若擴(kuò)展的RAM容量超過(guò)256B三、P2口用作高8位地址總線(xiàn)當(dāng)CPU對(duì)片外存儲(chǔ)器或I/O口進(jìn)行讀/寫(xiě)(執(zhí)行MOVX指令或EA=0時(shí)執(zhí)行MOVC指令)時(shí),開(kāi)關(guān)倒向地址線(xiàn)(右)端,這時(shí),P2口只輸出高8位地址。因?yàn)樵L(fǎng)問(wèn)片外EPROM和RAM的操作往往接連不斷,所以,P2口要不斷送出高8位地址,此時(shí)P2口無(wú)法再用作通用I/O口。返回三、P2口用作高8位地址總線(xiàn)當(dāng)CPU對(duì)片外存儲(chǔ)器或I/O口進(jìn) P3口一、結(jié)構(gòu)二、P3口作為通用I/O口使用三、P3口用作第二功能使用返回 P3口一、結(jié)構(gòu)返回一、結(jié)構(gòu)1、P3口是一個(gè)多功能端口,其某一位的結(jié)構(gòu)見(jiàn)圖2-22。P3口與P1口的差別在于多了“與非”門(mén)3和緩沖器4。使得P3口除了具有P1口的準(zhǔn)雙向I/O功能外,還可以使用各引腳所具有的第二功能。2、“與非”門(mén)3的作用實(shí)際上是一個(gè)開(kāi)關(guān),決定是輸出鎖存器上的數(shù)據(jù)還是輸出第二功能(W)的信號(hào)。當(dāng)W=1時(shí),輸出Q端信號(hào);當(dāng)Q=1時(shí),可輸出W線(xiàn)信號(hào)。編程時(shí),可不必事先由軟件設(shè)置P3口為第一功能(通用I/O口)還是第二功能。3、當(dāng)CPU對(duì)P3口進(jìn)行SFR尋址(位或字節(jié))訪(fǎng)問(wèn)時(shí),由內(nèi)部硬件自動(dòng)將第二功能輸出線(xiàn)W置1,這時(shí),P3口為通用I/O口。4、當(dāng)CPU不對(duì)P3口進(jìn)行SFR尋址(位或字節(jié))訪(fǎng)問(wèn)時(shí),即用作第二功能輸出/輸入線(xiàn)時(shí),由內(nèi)部硬件使鎖存器Q=1。一、結(jié)構(gòu)1、P3口是一個(gè)多功能端口,其某一位的結(jié)構(gòu)見(jiàn)圖2-2圖2-22
P3口某位的結(jié)構(gòu)圖讀引腳讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入DCPQ第二輸出功能VCCP3.X312鎖存器4第二輸入功能W返回圖2-22P3口某位的結(jié)構(gòu)圖讀引腳讀鎖存器內(nèi)部總線(xiàn)寫(xiě)入1、當(dāng)把P3口作為通用I/O口進(jìn)行SFR尋址時(shí)“第二輸出功能端”W保持高電平,打開(kāi)“與非”門(mén)3,D鎖存器輸出端Q的狀態(tài)可通過(guò)“與非”門(mén)3送至FET場(chǎng)效應(yīng)管輸出。2、當(dāng)P3口作為輸入使用(即CPU讀引腳狀態(tài))時(shí),同P0—P2口一樣應(yīng)由軟件向口鎖存器寫(xiě)1。二、P3口作為通用I/O口使用返回1、當(dāng)把P3口作為通用I/O口進(jìn)行SFR尋址時(shí)“第二輸出功能三、P3口用作第二功能使用
當(dāng)端口用于第二功能時(shí),8個(gè)引腳可按位獨(dú)立定義。見(jiàn)表2-10返回三、P3口用作第二功能使用當(dāng)端口用于第二功能時(shí),8個(gè)引腳可表2-10P3口線(xiàn)與第二功能表返回表2-10P3口線(xiàn)與第二功能表返回端口的負(fù)載能力和接口要求1、P0口:
當(dāng)把它用作通用I/O口使用時(shí),用其輸出去驅(qū)動(dòng)NMOS輸入時(shí)需外接上拉電阻。用作輸入時(shí),應(yīng)先向口鎖存器(80H)寫(xiě)1。把它當(dāng)作地址/數(shù)據(jù)總線(xiàn)時(shí)(8031情況),則無(wú)需外接上拉電阻。用作數(shù)據(jù)輸入時(shí),也無(wú)需先寫(xiě)“1”。P0口的每一位輸出可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。端口的負(fù)載能力和接口要求1、P0口:端口的負(fù)載能力和接口要求2、P1-P3口每一位輸出可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。
89C51單片機(jī)(HMOS)的P1-P3口無(wú)需外接上拉電阻。
80C51單片機(jī)(CHMOS),作輸出口時(shí)應(yīng)在端口與晶體管基極間串聯(lián)一個(gè)電阻。P1-P3口也都是準(zhǔn)雙向口。作為輸入時(shí),必須先對(duì)相應(yīng)端口鎖存器寫(xiě)1。
第二章結(jié)束端口的負(fù)載能力和接口要求2、P1-P3口第二章結(jié)束機(jī)械系統(tǒng)計(jì)算機(jī)測(cè)控第一章單片機(jī)I/O接口擴(kuò)展第二章工業(yè)控制計(jì)算機(jī)第三章傳感器與接口電路第四章步進(jìn)電機(jī)的控制第五章驅(qū)動(dòng)元件機(jī)械系統(tǒng)計(jì)算機(jī)測(cè)控第一章單片機(jī)I/O接口擴(kuò)展第一章單片機(jī)的I/O接口擴(kuò)展技術(shù)§1.1MCS-51單片機(jī)概述§1.2I/O擴(kuò)展§1.3人機(jī)通道配置與接口技術(shù)§1.4前向通道配置與接口技術(shù)§1.5后向通道配置與接口技術(shù)§1.6應(yīng)用系統(tǒng)的抗干擾技術(shù)第一章單片機(jī)的I/O接口擴(kuò)展技術(shù)§1.1MCS-51 MCS-51單片機(jī)的結(jié)構(gòu) MCS-51單片機(jī)引腳及其功能 89C51存儲(chǔ)器配置 CPU時(shí)鐘 復(fù)位及復(fù)位電路 89C51單片機(jī)的低功耗工作方式返回§1.1MCS-51單片機(jī)概述 輸出/輸入端口結(jié)構(gòu) MCS-51單片機(jī)的結(jié)構(gòu) MCS-51單片機(jī)引腳及其功能 MCS-51單片機(jī)的結(jié)構(gòu)§2.1.1MCS-51單片機(jī)的基本組成§2.1.2MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)返回 MCS-51單片機(jī)的結(jié)構(gòu)§2.1.1MCS-51單片機(jī)MCS-51單片機(jī)的基本組成一、組成二、MCS-51系列單片機(jī)的性能返回MCS-51單片機(jī)的基本組成一、組成二、MCS-51系列單片一、組成89C51單片機(jī)結(jié)構(gòu)框圖如圖2-1所示返回一、組成89C51單片機(jī)結(jié)構(gòu)框圖如圖2-1所示返回89C51單片機(jī)結(jié)構(gòu)框圖89C51CPU振蕩器和時(shí)序OSC64KB總線(xiàn)擴(kuò)展控制器數(shù)據(jù)存儲(chǔ)器256BRAM/SFR2×16位定時(shí)器/計(jì)數(shù)器可編程I/O程序存儲(chǔ)器4KBFLASHROM可編程全雙工串行口外中斷內(nèi)中斷控制并行口串行通信外部時(shí)鐘源外部事件計(jì)數(shù)返回89C51單片機(jī)結(jié)構(gòu)框圖89C51振蕩器和時(shí)序64KB總線(xiàn)一、組成一個(gè)8位的微處理器CPU。返回一、組成一個(gè)8位的微處理器CPU。返回一、組成用以存放可以讀/寫(xiě)的數(shù)據(jù),如運(yùn)算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等。片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM128B/256B):返回一、組成用以存放可以讀/寫(xiě)的數(shù)據(jù),如運(yùn)算的中一、組成用以存放程序、一些原始數(shù)據(jù)和表格。但有一些單片機(jī)內(nèi)部不帶ROM/EPROM,如8031、8032、80C31等。片內(nèi)程序存儲(chǔ)器FlashROM(4KB):返回一、組成用以存放程序、一些原始數(shù)據(jù)和表格。但一、組成 每個(gè)口可以用作輸入,也可以用作輸出。四個(gè)8位并行I/O(輸入/輸出)接口 P0~P3:返回一、組成 每個(gè)口可以用作輸入,也可以用作輸出。四個(gè)8位并行I一、組成每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制。兩個(gè)或三個(gè)定時(shí)/計(jì)數(shù)器:
返回一、組成每個(gè)定時(shí)/計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方一、組成可實(shí)現(xiàn)單片機(jī)與單片機(jī)或其它微機(jī)之間串行通信。一個(gè)全雙工UART的串行I/O口:返回一、組成可實(shí)現(xiàn)單片機(jī)與單片機(jī)或其它微機(jī)之間串一、組成但需外接晶振和電容。片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路:返回一、組成但需外接晶振和電容。片內(nèi)振蕩器和一、組成五個(gè)中斷源的中斷控制系統(tǒng)。返回一、組成五個(gè)中斷源的中斷控制系統(tǒng)。返回二、MCS-51系列單片機(jī)的性能如表2-1所示。表中型號(hào)帶“C”表示所用的是CMOS工藝,具有功耗低的優(yōu)點(diǎn)。返回二、MCS-51系列單片機(jī)的性能如表2-1所示。表中型號(hào)帶“MCS-51系列單片機(jī)的性能表返回MCS-51系列單片機(jī)的性能表返回MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)一、結(jié)構(gòu)圖二、結(jié)構(gòu)組成返回MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)一、結(jié)構(gòu)圖二、結(jié)構(gòu)組成返回一、結(jié)構(gòu)圖由中央處理單元(CPU)、存儲(chǔ)器(ROM及RAM)和I/O接口組成。MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)如圖2-2所示。返回一、結(jié)構(gòu)圖由中央處理單元(CPU)、存儲(chǔ)器(ROM及RAMP0驅(qū)動(dòng)器P2驅(qū)動(dòng)器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBFlashROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器緩沖器PC增1PCDPTR中斷、串行口和定時(shí)器PSWP1鎖存器P1驅(qū)動(dòng)器P3鎖存器P3驅(qū)動(dòng)器定時(shí)控制指令寄存器指令譯碼器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1XTAL2PSENALEEARET89C51單片機(jī)內(nèi)部結(jié)構(gòu)圖返回P0驅(qū)動(dòng)器P2驅(qū)動(dòng)器P0鎖存器P2鎖存器RAM地址寄存器12二、結(jié)構(gòu)組成(一)、中央處理單元(CPU)(二)、存儲(chǔ)器(三)、I/O接口返回二、結(jié)構(gòu)組成(一)、中央處理單元(CPU)(二)、存儲(chǔ)器(三(一)、中央處理單元(CPU)1.運(yùn)算器返回2.控制器(一)、中央處理單元(CPU)1.運(yùn)算器返回2.控制器1.運(yùn)算器(1)8位的ALU:返回(2)8位累加器ACC(A):(3)8位程序狀態(tài)寄存器PSW:(4)8位寄存器B:(5)布爾處理器:(6)2個(gè)8位暫存器:1.運(yùn)算器(1)8位的ALU:返回(2)8位累加器ACC(A1.運(yùn)算器可對(duì)4位、8位、16位數(shù)據(jù)進(jìn)行操作。返回(1)8位的ALU:1.運(yùn)算器可對(duì)4位、8位、16位數(shù)據(jù)進(jìn)行操作。返回(1)8位1.運(yùn)算器(2)8位累加器ACC(A):它經(jīng)常作為一個(gè)運(yùn)算數(shù)經(jīng)暫存器2進(jìn)入ALU的輸入端,與另一個(gè)來(lái)自暫存器1的運(yùn)算數(shù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果又送回ACC。返回1.運(yùn)算器(2)8位累加器ACC(A):它經(jīng)常作為一個(gè)運(yùn)算數(shù)1.運(yùn)算器指示指令執(zhí)行后的狀態(tài)信息供程序查詢(xún)和判別用。(3)8位程序狀態(tài)寄存器PSW:返回1.運(yùn)算器指示指令執(zhí)行后的狀態(tài)信息供程序查詢(xún)和判別用。(3)1.運(yùn)算器(4)8位寄存器B:
在乘除運(yùn)算時(shí),用來(lái)存放一個(gè)操作數(shù)也用來(lái)存放運(yùn)算后的一部分結(jié)果;如不能做乘除運(yùn)算時(shí),作為通用寄存器。返回1.運(yùn)算器(4)8位寄存器B:返回1.運(yùn)算器(5)布爾處理器:專(zhuān)門(mén)用于處理位操作的,以PSW中的C為其累加器。返回1.運(yùn)算器(5)布爾處理器:返回1.運(yùn)算器(6)2個(gè)8位暫存器:ALU的兩個(gè)入口處。返回1.運(yùn)算器(6)2個(gè)8位暫存器:返回2.控制器(1)程序計(jì)數(shù)器PC(16位)(2)指令寄存器IR及指令譯碼器ID(3)振蕩器和定時(shí)電路返回2.控制器(1)程序計(jì)數(shù)器PC(16位)(2)指令寄存器IR(1)程序計(jì)數(shù)器PC(16位)由兩個(gè)8位計(jì)數(shù)器PCH、PCL組成。PC是程序的字節(jié)地址計(jì)數(shù)器,PC內(nèi)容為將要執(zhí)行的指令地址。改變PC內(nèi)容,改變執(zhí)行的流向。PC可對(duì)64KB的ROM直接尋址,也可對(duì)89C51片內(nèi)RAM尋址。返回(1)程序計(jì)數(shù)器PC(16位)由兩個(gè)8位計(jì)數(shù)器PCH、PCL(2)指令寄存器IR及指令譯碼器ID由PC中的內(nèi)容指定ROM地址,取出來(lái)的指令經(jīng)IR送至ID,由ID對(duì)指令譯碼產(chǎn)生一定序列的控制信號(hào),以執(zhí)行指令所規(guī)定的操作。返回(2)指令寄存器IR及指令譯碼器ID由PC中的內(nèi)容指定ROM(3)振蕩器和定時(shí)電路89C51單片機(jī)片內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容(2個(gè)30pF左右),其頻率范圍為1.2MHz~12MHz。該信號(hào)作為89C51工作的基本節(jié)拍即時(shí)間的最小單位。返回(3)振蕩器和定時(shí)電路89C51單片機(jī)片內(nèi)有振蕩電路,只需外(二)、存儲(chǔ)器1、程序存儲(chǔ)器(ROM)2、數(shù)據(jù)存儲(chǔ)器(RAM)返回(二)、存儲(chǔ)器1、程序存儲(chǔ)器(ROM)2、數(shù)據(jù)存儲(chǔ)器(RAM1、程序存儲(chǔ)器(ROM)地址從0000H開(kāi)始。用于存放程序和表格常數(shù)。返回1、程序存儲(chǔ)器(ROM)地址從0000H開(kāi)始。返回2、數(shù)據(jù)存儲(chǔ)器(RAM)地址為00H~7FH。用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。這128B的RAM中有32個(gè)字節(jié)單元可指定為工作寄存器。片內(nèi)還有21個(gè)特殊功能寄存器(SFR),它們同128字節(jié)RAM統(tǒng)一編址,地址為80H~FFH。后面詳細(xì)介紹。返回2、數(shù)據(jù)存儲(chǔ)器(RAM)地址為00H~7FH。返回(三)、I/O接口89C51有四個(gè)8位并行I/O接口P0~P3。它們都是準(zhǔn)雙向端口,每個(gè)端口各有8條I/O線(xiàn)。P0-P3口四個(gè)鎖存器同RAM統(tǒng)一編址,可作為SFR來(lái)尋址。返回(三)、I/O接口89C51有四個(gè)8位并行I/O接口P0~P MCS-51單片機(jī)引腳及其功能 MCS-51單片機(jī)引腳MCS-51單片機(jī)引腳功能返回 MCS-51單片機(jī)引腳及其功能返回 89C51單片機(jī)引腳89C51單片機(jī)引腳如圖2-3所示。返回 89C51單片機(jī)引腳89C51單片機(jī)引腳如圖2-3所示。89C51單片機(jī)引腳圖返回89C51單片機(jī)引腳圖返回89C51單片機(jī)引腳功能一、電源引腳:Vcc和Vss二、時(shí)鐘電路引腳:XTAL1和XTAL2三、控制信號(hào)引腳RST、ALE、PSEN和EA四、I/O端口P0、P1、P2和P3返回89C51單片機(jī)引腳功能一、電源引腳:Vcc和Vss返回一、電源引腳:Vcc和Vss1.Vcc(40腳):電源端,為+5V。2.Vss(20腳):接地端。返回圖2-3一、電源引腳:Vcc和Vss返回圖2-3二、時(shí)鐘電路引腳:XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端;在89C51片內(nèi)它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖。89C51/8031正常工作時(shí),該引腳應(yīng)有脈沖信號(hào)輸出。返回二、時(shí)鐘電路引腳:XTAL1和XTAL2XTAL2(18腳)XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反向放大器的輸入端,在采用外部時(shí)鐘時(shí),該引腳接地。二、時(shí)鐘電路引腳:XTAL1和XTAL2返回XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它三、控制信號(hào)引腳:
RST、ALE、PSEN和EARST/VPD(9腳):RST:復(fù)位信號(hào)輸入端,高電平有效。當(dāng)此輸入端保持兩個(gè)機(jī)器周期的高電平時(shí),就可以完成復(fù)位操作。返回三、控制信號(hào)引腳:
RST、ALE、PSENRST/VPD(9腳):VPD:RST引腳的第二功能,備用電源輸入端。當(dāng)主電源Vcc發(fā)生故障,降低到低電平規(guī)定值時(shí),將+5V電源自動(dòng)接入該引腳,為RAM提供備用電源,以保證RAM中的信息不丟失,使得復(fù)位后能繼續(xù)正常運(yùn)行。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EARST/VPD(9腳):返回三、控制信號(hào)引腳:
RSALE/PROG(30腳):ALE:地址鎖存允許信號(hào)端。正常工作時(shí),該引腳以振蕩頻率的1/6固定輸出正脈沖。CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),該引腳輸出信號(hào)作為鎖存低8位地址的控制信號(hào)。它的負(fù)載能力為8個(gè)LS型TTL負(fù)載。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAALE/PROG(30腳):返回三、控制信號(hào)引腳:
ALE/PROG(30腳):PROG:是對(duì)片內(nèi)帶有4KBEPROM的8751編程寫(xiě)入時(shí)的編程脈沖輸入端。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAALE/PROG(30腳):返回三、控制信號(hào)引腳:
PSEN(29腳):程序存儲(chǔ)器允許信號(hào)輸出端。在訪(fǎng)問(wèn)片外ROM時(shí),定時(shí)輸出負(fù)脈沖作為讀片外ROM的選通信號(hào),接片外ROM的OE端。它的負(fù)載能力為8個(gè)LS型TTL負(fù)載。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAPSEN(29腳):返回三、控制信號(hào)引腳:
RST、EA/Vpp(31腳):EA:外部程序存儲(chǔ)器地址允許輸入端。當(dāng)該引腳接高電平時(shí),CPU訪(fǎng)問(wèn)片內(nèi)EPROM/ROM并執(zhí)行片內(nèi)程序存儲(chǔ)器中的指令,但當(dāng)PC值超過(guò)0FFFH(片內(nèi)ROM為4KB)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外ROM中的程序。當(dāng)該引腳接低電平時(shí),CPU只訪(fǎng)問(wèn)片外EPROM/ROM并執(zhí)行外部程序存儲(chǔ)器中的程序。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAEA/Vpp(31腳):返回三、控制信號(hào)引腳:
RSEA/Vpp(31腳):Vpp:對(duì)8751片內(nèi)EPROM固化編程時(shí),編程電壓輸入端(12-21V)。返回三、控制信號(hào)引腳:
RST、ALE、PSEN和EAEA/Vpp(31腳):返回三、控制信號(hào)引腳:
RS四、I/O端口P0、P1、P2和P31、準(zhǔn)雙向2、P0口3、P1口4、P2口5、P3口返回四、I/O端口P0、P1、P2和P31、準(zhǔn)雙向返回1、準(zhǔn)雙向當(dāng)I/O口作為輸入時(shí),應(yīng)先向此口鎖存器寫(xiě)入全1,此時(shí)該口引腳浮空,可作高阻抗輸入。返回1、準(zhǔn)雙向當(dāng)I/O口作為輸入時(shí),應(yīng)先向此口鎖存器寫(xiě)入全1,2、P0口:漏極開(kāi)路的8位準(zhǔn)雙向I/O口,每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。P0口可作為一個(gè)數(shù)據(jù)輸入/輸出口;在CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),P0口為分時(shí)復(fù)用的低8位地址總線(xiàn)和8位數(shù)據(jù)總線(xiàn)。返回2、P0口:漏極開(kāi)路的8位準(zhǔn)雙向I/O口,每位能驅(qū)動(dòng)8個(gè)LS3、P1口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。返回3、P1口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4、P2口:P2口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。在CPU訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),它輸出高8位地址。返回4、P2口:P2口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每5、P3口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口除作為一般I/O口外,每個(gè)引腳都有第二功能。返回5、P3口:帶內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O端口,每位能驅(qū)動(dòng) 89C51存儲(chǔ)器配置 89C51存儲(chǔ)器分類(lèi) 程序存儲(chǔ)器地址空間 數(shù)據(jù)存儲(chǔ)器地址空間返回 89C51存儲(chǔ)器配置 89C51存儲(chǔ)器分類(lèi)返回 89C51存儲(chǔ)器分類(lèi)一、物理結(jié)構(gòu)二、用戶(hù)角度返回 89C51存儲(chǔ)器分類(lèi)一、物理結(jié)構(gòu)返回一、物理結(jié)構(gòu)89C51存儲(chǔ)器程序存儲(chǔ)器RAM數(shù)據(jù)存儲(chǔ)器ROM片內(nèi)程序存儲(chǔ)器片外程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器返回一、物理結(jié)構(gòu)89C51存儲(chǔ)器程序存儲(chǔ)器RAM數(shù)據(jù)存儲(chǔ)器ROM二、用戶(hù)角度圖2-489C51存儲(chǔ)器配置二、用戶(hù)角度圖2-489C51存儲(chǔ)器配置二、用戶(hù)角度1、片內(nèi)、外統(tǒng)一編址的64K程序存儲(chǔ)器地址空間。CPU訪(fǎng)問(wèn)片內(nèi)、片外ROM指令用MOVC。返回二、用戶(hù)角度1、片內(nèi)、外統(tǒng)一編址的64K程序存儲(chǔ)器地址空間。二、用戶(hù)角度2、64K的片外數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片外RAM指令用MOVX。返回二、用戶(hù)角度2、64K的片外數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片外RA二、用戶(hù)角度3、256字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片內(nèi)RAM指令用MOV。上述三個(gè)存儲(chǔ)空間地址是重疊的,89C51的指令系統(tǒng)采用不同的數(shù)據(jù)傳送指令符號(hào)。返回二、用戶(hù)角度3、256字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間。訪(fǎng)問(wèn)片內(nèi)程序存儲(chǔ)器地址空間一、用途:二、編址:三、尋址方式:返回程序存儲(chǔ)器地址空間一、用途:返回一、用途:用于存放編好的程序和表格常數(shù)。返回一、用途:用于存放編好的程序和表格常數(shù)。返回二、編址:容量為4KB。地址為0000H~0FFFH。片外最多可擴(kuò)至64KBROM/EPROM,地址為1000H~FFFFH。片內(nèi)外統(tǒng)一編址。返回二、編址:容量為4KB。地址為0000H~0FFFH。返回三、尋址方式:1、當(dāng)EA=“1”時(shí):在0000~0FFFH范圍內(nèi)執(zhí)行片內(nèi)ROM中的程序,當(dāng)指令地址超過(guò)0FFFH后就自動(dòng)轉(zhuǎn)向片外ROM中取指令。2、當(dāng)EA=”0”時(shí):片內(nèi)ROM不起作用,CPU只能從片ROM/EPROM中取指令??梢詮?000H開(kāi)始尋址。3、片內(nèi)ROM和片外ROM取指的速度相同。三、尋址方式:1、當(dāng)EA=“1”時(shí):三、尋址方式:4、程序存儲(chǔ)器的保留存儲(chǔ)單元。(1)0000H~0002H三個(gè)單元:用作上電復(fù)位后引導(dǎo)程序的存放單元。因?yàn)閺?fù)位后PC的內(nèi)容為0000H,CPU總是從0000H開(kāi)始執(zhí)行程序。將轉(zhuǎn)移指令存放到這三個(gè)單元,程序就被引導(dǎo)到指定的程序存儲(chǔ)器空間去執(zhí)行。三、尋址方式:4、程序存儲(chǔ)器的保留存儲(chǔ)單元。三、尋址方式:(2)0003H~002AH單元:均分為五段,用作五個(gè)中斷服務(wù)程序的入口。中斷矢量地址表。返回三、尋址方式:(2)0003H~002AH單元:返回?cái)?shù)據(jù)存儲(chǔ)器地址空間一、用途:二、片外RAM:三、片內(nèi)RAM:
返回?cái)?shù)據(jù)存儲(chǔ)器地址空間一、用途:返回一、用途:用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等。一、用途:用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位等。二、片外RAM:地址:0000H~FFFFH尋址:用MOVX指令二、片外RAM:地址:0000H~FFFFH三、片內(nèi)RAM:片內(nèi)數(shù)據(jù)存儲(chǔ)器最大可尋址256個(gè)單元,它們又分為兩部分:低128字節(jié)(00H~7FH)是真正的RAM區(qū);高128字節(jié)(80H~FFH)為特殊功能寄存器(SFR)區(qū)。如圖27所示。高128字節(jié)和低128字節(jié)RAM中的配置及含義如圖2-8和圖2-9所示。三、片內(nèi)RAM:片內(nèi)數(shù)據(jù)存儲(chǔ)器最大可尋址256個(gè)單元,它們圖2-8低128字節(jié)RAM區(qū)圖2-9高128字節(jié)RAM區(qū)(SFR區(qū),特殊功能寄存器區(qū))圖2-8低128字節(jié)RAM區(qū)圖2-9高128字節(jié)RA1)低128字節(jié)RAM89C51的32個(gè)工作寄存器與RAM安排在同一個(gè)隊(duì)列空間里,統(tǒng)一編址并使用同樣的尋址方式(直接尋址和間接尋址)。00H~1FH地址安排為4組工作寄存器區(qū),每組有8個(gè)工作寄存器(R0~R7),共占32個(gè)單元,見(jiàn)表2-4。通過(guò)對(duì)程序狀態(tài)字PSW中RS1、RS0的設(shè)置,每組寄存器均可選作CPU的當(dāng)前工作寄存器組。若程序中并不需要4組,那么其余可用作一般RAM單元。CPU復(fù)位后,選中第0組寄存器為當(dāng)前的工作寄存器。工作寄存器區(qū)后的16字節(jié)單元(20H~2FH),可用位尋址方式訪(fǎng)問(wèn)其各位。在89系列單片機(jī)的指令系統(tǒng)中,還包括許多位操作指令,這些位操作指令可直接對(duì)這128位尋址。這128位的位地址為00H~7FH,其位地址分布見(jiàn)圖2-8。1)低128字節(jié)RAM89C51的32個(gè)工作寄存器與RAM2)高128字節(jié)RAM——特殊功能寄存器(SFR)89C51片內(nèi)高128字節(jié)RAM中,有21個(gè)特殊功能寄存器(SFR),它們離散地分布在80H~FFH的RAM空間中。訪(fǎng)問(wèn)特殊功能寄存器只允許使用直接尋址方式。這些特殊功能寄存器見(jiàn)圖2-9。各SFR的名稱(chēng)及含義如表2-5所列。2)高128字節(jié)RAM——特殊功能寄存器(SFR)89C5(1)累加器ACC(E0H)累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,許多指令的操作數(shù)取自于A(yíng)CC,許多運(yùn)算中間結(jié)果也存放于A(yíng)CC。在指令系統(tǒng)中用A作為累加器ACC的助記符。(1)累加器ACC(E0H)累加器ACC是89C51最常用(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的兩個(gè)操作數(shù)分別取自A和B,乘積存于B和A兩個(gè)8位寄存器中。除法指令中,A中存放被除數(shù),B中放除數(shù),商存放于A(yíng),B中存放余數(shù)。在其他指令中,B可作為一般通用寄存器或一個(gè)RAM單元使用。(2)寄存器B(F0H)在乘、除指令中,用到了8位寄存器B(3)程序狀態(tài)寄存器PSW(D0H)PSW是一個(gè)8位特殊功能寄存器,它的各位包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢(xún)或判別之用。各位的含義及其格式如表2-6所列。PSW除有確定的字節(jié)地址(D0H)外,每一位均有位地址,見(jiàn)表2-6。(3)程序狀態(tài)寄存器PSW(D0H)PSW是一個(gè)8位特殊功CY(PSW.7):進(jìn)位標(biāo)志位。在執(zhí)行加法(或減法)運(yùn)算指令時(shí),如果運(yùn)算結(jié)果最高位(位7)向前有進(jìn)位(或借位),則CY位由硬件自動(dòng)置1;如果運(yùn)算結(jié)果最高位無(wú)進(jìn)位(或借位),則CY清0。CY也是89C51在進(jìn)行位操作(布爾操作)時(shí)的位累加器,在指令中用C代替CY。AC(PSW.6):半進(jìn)位標(biāo)志位,也稱(chēng)輔助進(jìn)位標(biāo)志。當(dāng)執(zhí)行加法(或減法)操作時(shí),如果運(yùn)算結(jié)果(和或差)的低半字節(jié)(位3)向高半字節(jié)有半進(jìn)位(或借位),則AC位將被硬件自動(dòng)置1;否則AC被自動(dòng)清0。F0(PSW.5):用戶(hù)標(biāo)志位。用戶(hù)可以根據(jù)自己的需要對(duì)F0位賦予一定的含義,由用戶(hù)置位或復(fù)位,以作為軟件標(biāo)志。CY(PSW.7):進(jìn)位標(biāo)志位。在執(zhí)行加法(或減法)運(yùn)算指RS0和RS1(PSW.3和PSW.4):工作寄存器組選擇控制位。這兩位的值可決定選擇哪一組工作寄存器為當(dāng)前工作寄存器組。通過(guò)用戶(hù)用軟件改變RS1和RS0值的組合,以切換當(dāng)前選用的工作寄存器組。其組合關(guān)系如表2-7所列。89C51上電復(fù)位后,RS1=RS0=0,CPU自動(dòng)選擇第0組為當(dāng)前工作寄存器組。根據(jù)需要,可利用傳送指令對(duì)PSW整字節(jié)操作或用位操作指令改變RS1和RS0的狀態(tài),以切換當(dāng)前工作寄存器組。這樣的設(shè)置為程序中保護(hù)現(xiàn)場(chǎng)提供了方便。RS0和RS1(PSW.3和PSW.4):工作寄存器組選擇OV(PSW.2):溢出標(biāo)志位。當(dāng)進(jìn)行補(bǔ)碼運(yùn)算時(shí),如有溢出,即當(dāng)運(yùn)算結(jié)果超出-128~+127的范圍時(shí),OV位由硬件自動(dòng)置1;無(wú)溢出時(shí),OV=0。PSW.1:為保留位。89C51未用,89C52為F1用戶(hù)標(biāo)志位。P(PSW.0):奇偶校驗(yàn)標(biāo)志位。每條指令執(zhí)行完后,該位始終跟蹤指示累加器A中1的個(gè)數(shù)。如結(jié)果A中有奇數(shù)個(gè)1,則置P=1;否則P=0。常用于校驗(yàn)串行通信中的數(shù)據(jù)傳送是否出錯(cuò)。OV(PSW.2):溢出標(biāo)志位。當(dāng)進(jìn)行補(bǔ)碼運(yùn)算時(shí),如有溢(4)棧指針SP(81H)堆棧指針SP為8位特殊功能寄存器,SP的內(nèi)容可指向89C51片內(nèi)00H~7FHRAM的任何單元。系統(tǒng)復(fù)位后,SP初始化為07H,即指向07H的RAM單元。(4)棧指針SP(81H)堆棧指針SP為8位特殊功能寄存89C51在片內(nèi)RAM中專(zhuān)門(mén)開(kāi)辟出來(lái)一個(gè)區(qū)域,數(shù)據(jù)的存取是以“后進(jìn)先出”的結(jié)構(gòu)方式處理的,好像沖鋒槍壓入子彈。這種數(shù)據(jù)結(jié)構(gòu)方式對(duì)于處理中斷,調(diào)用子程序都非常方便。堆棧的操作有兩種:一種叫數(shù)據(jù)壓入(PUSH),另一種叫數(shù)據(jù)彈出(POP)。89C51的堆棧指針SP是一個(gè)雙向計(jì)數(shù)器。進(jìn)棧時(shí),SP內(nèi)容自動(dòng)增值,出棧時(shí)自動(dòng)減值。存取信息必須按“后進(jìn)先出”或“先進(jìn)后出”的規(guī)則進(jìn)行。89C51在片內(nèi)RAM中專(zhuān)門(mén)開(kāi)辟出來(lái)一個(gè)區(qū)域,數(shù)據(jù)的存取是以在圖2-10中,假若有8個(gè)RAM單元,每個(gè)單元都在其右面編有地址,棧頂由堆棧指針SP自動(dòng)管理。每次進(jìn)行壓入或彈出操作以后,堆棧指針便自動(dòng)調(diào)整以保持指示堆棧頂部的位置。這些操作可用圖2-10說(shuō)明。圖2-10堆棧的壓入與彈出在圖2-10中,假若有8個(gè)RAM單元,每個(gè)單元都在其右面編有(5)數(shù)據(jù)指針DPTR(83H,82H)DPTR是一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年不動(dòng)產(chǎn)購(gòu)置協(xié)議模板
- 2024年期塘口使用權(quán)租賃協(xié)議模板
- 2024項(xiàng)目協(xié)作中介服務(wù)協(xié)議
- 2024年車(chē)輛租賃托管協(xié)議
- 2024年勞動(dòng)局勞動(dòng)協(xié)議官方式
- 2024年度供貨合作協(xié)議示例
- DB11∕T 1722-2020 水生態(tài)健康評(píng)價(jià)技術(shù)規(guī)范
- 2024年個(gè)人房產(chǎn)買(mǎi)賣(mài)協(xié)議樣本
- 2024年汽車(chē)物流運(yùn)輸協(xié)議模板
- 第8課 三國(guó)至隋唐的文化(課件)-2024-2025學(xué)年統(tǒng)編版高一歷史上冊(cè)
- 腺相關(guān)病毒操作手冊(cè)
- 2020湖南湖南省建筑施工開(kāi)工安全生產(chǎn)條件承諾書(shū)
- 英語(yǔ)語(yǔ)音教程ppt課件
- GS069電動(dòng)工具直流調(diào)速電路
- 二十五項(xiàng)反措(汽機(jī)專(zhuān)業(yè))
- (交通運(yùn)輸)智慧城市系列之智能交通系統(tǒng)(完整版)
- 全國(guó)教師信息管理系統(tǒng)信息變更修改操作方法
- 理想別墅的數(shù)學(xué)_Colin R Microsoft W
- 電流互感器選用參考
- 附件2:跨境業(yè)務(wù)人民幣結(jié)算收款說(shuō)明
- 污水處理廠(chǎng)350KW分布式光伏發(fā)電項(xiàng)目初步設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論