《單片微型計算機原理及結(jié)構(gòu)》由會員分享,可在線閱讀,更多相關(guān)《單片微型計算機原理及結(jié)構(gòu)(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第二章,MCS_51,單片機的結(jié)構(gòu)原理,本章主要介紹,MCS_51,系列的8051的基本結(jié)構(gòu)、工作原理、存儲器結(jié)構(gòu)、,P,0,、P,1,、P,2,、P,3,四個,I/O,口的基本工作原理和操作特點。單片機的 各種工作方式、單片機的時序等。,2.1,概 述,MCS_51,系列單片機是,Intel,公司于是,1980,年推出的高檔,8,位機。由于其優(yōu)秀的性能價格獲得了廣泛的應(yīng)用,也成為我國單片機市場的主流產(chǎn)品。,目前廣泛使用的,MCS-51,系列單片機有三個版本:,8031,、,8051,、,8751,。,8
2、051,:,8,位,CPU,、,128B RAM,、,4KB ROM,、,23,個特殊功能寄存器、,4,個,8,位并行口、,1,個全雙工串行口、,2,個別,16,位定時,/,計數(shù)器。,8751,:,僅改進(jìn)來,8051,的掩模式的,4,KB ROM,為,4,KB,的,EPROM,。,8031,:,較,8051,不包含,ROM,。,嚴(yán)格說來,,8031,不是完全的單片機。,單片機的發(fā)展非常迅速,世界上一些著名的器件公司如,Motorola,公司、,Zilog,公司等也競相推也新產(chǎn)品。,1983,年,,Intel,公司又推出了高性能的,16,位,MCS-96,系列單片機。,INTEL,公司將,MCS
3、51,的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當(dāng)然,功能或多或少有些改變,以滿足不同的需求,其中89,C51,就是這幾年在我國非常流行的單片機,它是由美國,ATMEL,公司開發(fā)生產(chǎn)的。以后我們將用89,C51,來完成一系列的實驗。,表,2.1,MCS-51,系列型號,型 號,制造技術(shù),片內(nèi)程序存儲器,片內(nèi)數(shù)據(jù)存儲器,8051,AH,H MOS,ROM(4k),128字節(jié),8031,AH,AH MOS,無,128字節(jié),8751,H,H MOS,EPROM(4K),128字節(jié),80,C51,CHMOS,ROM(4K),128字節(jié),80,C31,CHMOS,無,1
4、28字節(jié),8052,H MOS,ROM(8K),256字節(jié),8032,H MOS,無,256字節(jié),2.2,MCS_51,單片機內(nèi)部結(jié)構(gòu)及引腳,圖 21,MCS-51,單片機的基本結(jié)構(gòu),圖,22 8051,的內(nèi)部結(jié)構(gòu)框圖,通道,0,驅(qū)動器,通道,2,驅(qū)動器,RAM,地址鎖存器,RAM,通道,0,鎖存器,通道,2,鎖存器,ROM/,EPROM,B,寄存器,程序地址寄存器,緩沖器,PC,遞增器,程序計數(shù)器,PC,驅(qū)動器,DPTR,指針,V,CC,GND,P,1.0,P,1.7,堆棧指針,SP,ACC,TMP,2,PSW,通道,3,鎖存器,通道,1,鎖存器,通道,1,驅(qū)動器,通道,3,驅(qū)動器,TMP,
5、1,SCON,TMOD,PCON,TCON,TL0,TH1,TH0,TL1,IE,SBUF(TX/RX),IP,中斷、串行口和定時器邏輯,振蕩器,P,3.0,P,3.7,RST,EA,ALE,PSEN,XTAL,2,XTAL,1,ALU,(+5V),指令,寄存器,定時和,控制邏輯,指令,譯碼器,2.2.1,8051單片機的結(jié)構(gòu),1.,中央處理單元,(8,位,CPU,),2.,只讀存儲器(4,K ROM),3.,隨機存取存儲器(128,B/256B RAM),4.,并行輸入,/,輸出口(,32,條):,P0,口、,P1,口、,P2,口、,P3,口,5.,串行輸入,/,輸出口(,2,條):,TXD
6、 RXD,6.,定時,/,計數(shù)器:,T0 T1,7.,時鐘電路為內(nèi)部振蕩器與外接晶振電路。,8.,中斷系統(tǒng)有,5,個中斷:,INT0 INT1 TF0 TF1 TI/RI,2.2.2,MCS_51,單片機外部引腳,掩模,MOS,制造工藝的,MCS_51,單片機都采用,40,腳,雙列直插式封裝(,DIP,),方式。下面分別敘述這,40,條,引腳的功能。,主電源引腳,.,VSS,(20,腳):接地;,.,VCC,(,40,腳):接,+5,V,電源。,外接晶振引腳,.,XTAL1,(,19,腳):接外部晶振的一個腳。,.,XTAL2,(,18,腳):接外部晶振的一個引腳。,控制或復(fù)位引腳,.,RST
7、/VPD,(,9,腳),.ALE/PROG,(30,腳),PSEN,(29,腳),EA/VPP,(31,腳),輸入/輸出引腳,P0P3,共4個輸入/輸出口,32個引腳,每個口為8根,I/O,線,它們的功能與使用將在本章程2.5節(jié)中詳細(xì)介紹。,圖2.3,MCS51,引腳圖,2.3,MCS_51,單片機存儲器配置,圖2.4,8051,存儲器組織結(jié)構(gòu)圖,2.3.1,MCS_51,的存儲器結(jié)構(gòu),1物理上,分為4個存儲空間:片內(nèi),ROM,、,片外,ROM,、,片外,RAM,(8031,無片內(nèi),ROM,)。,2,邏輯上,分為3個空間:片內(nèi)、片外同一程序存儲器,片內(nèi)隨機存儲,器,片外隨機存儲器。它們的編址方
8、式太及可用于其上的指令如下。,程序存儲器(片內(nèi)、片外)統(tǒng)一編址,使用,MOVC,指令;,數(shù)據(jù)存儲器(片內(nèi))統(tǒng)一編址,使用,MOV,指令;,數(shù)據(jù)存儲器(片外)統(tǒng)一編址,使用,MOVX,指令。,3功能上,把存儲器分為5種類型:,程序存儲器,使用,MOVC,指令;,內(nèi)部數(shù)據(jù)存儲器,使用,MOV,指令;,外部數(shù)據(jù)存儲器,使用,MOVX,指令;,特殊功能寄存器,使用,MOV,指令;,位地址空間,使用,MOV、SETB、CLR,等指令。,程序存儲器,容量:可擴(kuò)展到,64,KB,。,尋址范圍:,0000,HFFFFH,,,共,64,KB,。,EA,=1,,尋址內(nèi)部,ROM,;,EA,=0,,尋址外部,ROM
9、,。,地址碼長度:16位。,尋址方式:基址+變址尋址,如:,MOVC A,A+DPTR,MOVC A,A+PC,作用:存放程序及程序運行時所需的常數(shù)。,特征:,(1)若無片內(nèi),ROM(8031),64KB,全部由外部,ROM,承擔(dān),主要存放處理程序及所需的常數(shù)。,(2)有7個單元具有特殊含義,它們是:0000,H:,系統(tǒng)復(fù)位后,,PC=0000H,,由0000,H,單元存放一條絕對 跳轉(zhuǎn)指令,用戶設(shè)計的程序由跳轉(zhuǎn)后的地址存放;,0003,H,:,外部中斷0的入口直址;000,BH:,定時器1的溢出中斷入口地址;,0013,H,:,外部中斷的入口地址;,001,BH,:,定時器1的溢出中斷入口地
10、址;,0023,H,:,串行口中斷入口地址;,002,BH,:,定時器2溢出中斷入口地址(8032、8052有)。,(3)訪問外部程序存儲器的信息傳送通路:地址碼由,P0,、,P2,口傳送,控制信號由,PSEN,(,讀選通)接,EPROM,的,OE,,,數(shù)據(jù)信息由,P0,接收。,2.3.3,內(nèi)部數(shù)據(jù)存儲器,51系列單片機的內(nèi)部數(shù)據(jù)存儲器在物理上分為兩個區(qū):,00,H7FH,單元組成的低落128字節(jié)的,RAM,塊和字節(jié)的,SFR,塊。,尋址范圍:,00,H7FH,。,作用:作數(shù)據(jù)緩沖用。,特征:,(1),00,H1FH,共32個單元作工作寄存器用,分為4個區(qū),每個區(qū)8個單元,由,PSW,中的,R
11、S1、RS0,確定當(dāng)前工作區(qū);,(2),20,H2FH,為位尋址區(qū),作為布爾處理機存儲空間的一部分;,(3)可在內(nèi)部數(shù)據(jù)存儲器中開辟一個堆棧區(qū),堆棧深度小于128字節(jié)。,數(shù)據(jù)緩沖區(qū),堆棧區(qū),工作單元,位地址:00,H7FH,3區(qū),2區(qū),1區(qū),0區(qū),只能字節(jié)尋址,可位尋址,也可字節(jié)尋址,4組工作寄存器,R0R7,可以字節(jié)地址尋址,00,H,1,FH,202,FH,30,H,7,FH,圖2.5,RAM,空間分配示意圖,RS1 RS0,寄存器區(qū),R0R7,所占單元的地址,0 0,0 1,1 0,1 1,0組,1組,2組,3組,00,H07H,08H0FH,10H17H,18H1FH,表2.3,PSW
12、3、PSW4,的含義,2.3.4,特殊功能寄存器,SFR,尋址空間:,80,HFFH,。,注意:在,MCS-51,中,只有,22,個專用寄存器,其中,6,個是雙,字節(jié)寄存器。,PC,為程序計數(shù)器,在物理上獨立,用于安放,下一條將要執(zhí)行的指令的地址(程序存儲器地址),是一,個,16,位專用寄存器,尋址范圍為,064,KB,,,不屬于內(nèi)部數(shù),據(jù),RAM,的,SFR,塊,共占用了,26,個字節(jié)。其中,,SBUF,有兩個寄,存器。,所有特殊功能寄存器的地址分配和位地址分別如表2.4、,表2.5所示。,符號,名稱,位地址,字節(jié)地址,符號,名稱,位地址,字節(jié)地址,*,ACC,累加器,E0E7H,0,E0H
13、,+*,T2CO,定時/計數(shù)器2控制,C8CFH,0,C8H,*,B,乘法寄存器,F0F7H,0,F0H,TH0,定時器0高8位,8,CH,*,PSW,程序狀態(tài)字,D0D7H,0,D0H,TH1,定時器1高8位,8,DH,SP,堆棧指針,81,H,TL0,定時器0低8位,8,AH,DPTR,數(shù)據(jù)存儲器指針,83,H 82H,TL1,定時器1低8位,8,BH,*,P0,通道0,8087,H,80,H,+,TH2,定時器2高8位,0,CDH,*,P1,通道1,9097,H,90,H,+,TL2,定時器2低8位,0,CCH,*P2,通道2,A0A7H,0,A0H,+,RLDH,定時/計數(shù)器2自動裝載
14、(高),0,CBH,*,P3,通道3,B0B7H,0,B0H,+,PLDL,定時/計數(shù)器2自動裝載(高),0,CAH,*,IP,中斷優(yōu)先控制寄存器,B8BFH,0,B8H,*,SCON,串行口控制,989,FH,98,H,*,IE,中斷允許控制寄存器,A8AF,0,A8H,SBUF,串行數(shù)據(jù)緩沖器,99,H,TMOD,定時/計數(shù)器方式選擇,89,H,PCON,電源控制及波特率選擇,87,H,*TCON,定時/計數(shù)器控制,888,FH,88,H,注:*可按字節(jié)和位尋址;+僅在8032/8052芯片中存在,表2.4 特殊功能寄存器,SFR,一纜表,算術(shù)運算寄存器,(1)累加器,A,(Accumul
15、ator),(2),B,寄存器,(3)程序狀態(tài)字,PSW,(Program Status Word),寄存器,.,CY,(PSW.7)(Carry0:,進(jìn)位/借位標(biāo)志。,.,AC,(PSW.6)(Auxiliary Carry),輔助進(jìn)位/借位標(biāo)志。,.,F0,(PSW.5)(Flag 0):,標(biāo)志0。,.,RS1、RS0,(PSW.4、PSW.3)(Register Bank Select):,寄存器區(qū),選擇控制位。,.,OV,(PSW.2)(Overflow):,溢出標(biāo)志。,.,P,(PSW.0),奇偶標(biāo)志。,CY,AC,F0,RS1,RS0,OV,-,P,2.,指針寄存器,程序計數(shù)器,P
16、C:,指明即將執(zhí)行的下一條指令的地址,為,16,位寄存器。系統(tǒng)初始化時,,PC=0000H,,可尋址范圍,64,KB。,堆棧指針,SP:,指明棧頂元素的地址,,8,位。可由軟件設(shè)置初始值,系統(tǒng)復(fù)位時設(shè)置為,07,H。,堆棧,:,堆棧是一個區(qū)域,主要用來保護(hù)斷點和保護(hù)現(xiàn)場,這個區(qū)域本身沒有任何特殊之處,就是內(nèi)部,RAM,的一部份,特殊的是它存放和取用數(shù)據(jù)的方式,即所謂的先進(jìn)后出,后進(jìn)先出,并且堆棧有特殊的數(shù)據(jù)傳輸指令,即,PUSH,和,POP,,,有一個特殊的專為其服務(wù)的單元,即堆棧指針,SP,,,每當(dāng)執(zhí)一次,PUSH,指令時,,SP,就(在原來值的基礎(chǔ)上)自動加,1,,每當(dāng)執(zhí)行一次,POP,指令,,SP,就(在原來值的基礎(chǔ)上)自動減,1,。由于,SP,中的值可以用指令加以改變,所以只要在程序開始階段更改了,SP,的值,就可以把堆棧設(shè)置在規(guī)定的內(nèi)存單元中。,數(shù)據(jù)指針,DPTR:,指明訪問的數(shù)據(jù)存儲器的單元地址,16位,可尋址范圍64,KB,,由,DPH,DPL,組成。,DPH,DPL,也可單獨作為8位寄存器使用。,3.,并行輸入/輸出端口,專用寄存器P0、P1、P2、P3分別是P0P3的