版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章
MCS-51單片機結構和原理§3.1MCS-51單片機的內部組成及信號引腳§3.251子系列的內部存儲器§3.3
并行輸入/輸出端口結構§3.4時鐘電路與時序§3.5復位電路計算機常用術語解釋1.位(bit):是計算機所能表示的最基本最小的數據單位,bit只能有兩種狀態(tài):“0”或“l(fā)”。位(bit)、兆位(Mb)、吉位(Gb)和太位(Tb)
Mb是Megabit的縮寫,代表220位,即1024*1024位。
Gb是Gigabit的縮寫,代表230位,即1024Mb。
Tb是Terabit的縮寫,代表240位,即1024Gb。2.字(Word):是CPU與輸入/輸出(I/O)設備和存儲器之間傳送數據的基本單位。它是數據總線的寬度(根數)。微型計算機字長有1位、4位、8位、16位、32位和64位等。3.字節(jié)(Byte):
1字節(jié)=8位二進制位(8bit)。4.K,KB,MB,GB和TBK=1024=210,1KB=1024Byte,是用來計算存儲器存儲容量的單位。
1M=1024KB,1GB=1024MB,ITB=1024GB?!?.1MCS-51單片機的內部組成及信號引腳3.1.18051單片機的基本組成:
MCS-51單片機結構框圖
1.CPU:8位2.內部RAM:256單元
前128單元:用戶使用
后128單元:專用寄存器占用。3.
內部ROM:4KB掩膜ROM4.
定時器/計數器:2×16位。5.
并行I/O口:4×8位。
P0,P1,P2,P3。6.串行口:一個,全雙工。7.中斷控制系統:5
外中斷:2
定時/計數中斷:2
串行中斷:1個8.時鐘電路:fosc――振蕩頻率最高為12MHz。3.1.2MCS-51信號引腳介紹DIP:40引腳雙列直插封裝(dual-in-linepackagePLCC:
44引腳方形封裝帶引線的塑料芯片載體(plasticsleadedchipcarrier)QFP:40引腳四側引腳扁平封裝(quadflatpackage)
40引腳圖(DIP)PLCC和QFP的44引腳圖1.主電源引腳Vcc和Vss
VCC(40腳):接+5V電源正端;VSS(20腳):接+5V電源地端。2.外接晶體引腳XTAL1和XTAL2XTAL1(19腳):接外部石英晶體的一端。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。當采用外部時鐘時,對于HMOS單片機,該引腳接地;對于CHMOS單片機,該引腳作為外部振蕩信號的輸入端。XTAL2(18腳):接外部晶體的另一端。在單片機內部,接至片內振蕩器的反相放大器的輸出端。當采用外部時鐘時,對于HMOS單片機,該引腳作為外部振蕩信號的輸入端;對于CHMOS芯片,該引腳懸空不接。3.控制信號或與其它電源復用引腳控制信號或與其它電源復用引腳有:RST/VPD、、和等4種形式。(1)RST/VPD(9腳):RST即為RESET,VPD為備用電源,所以該引腳為單片機的上電復位或掉電保護端。
(2)(30腳):當訪問外部存儲器時,ALE(允許地址鎖存信號)以每機器周期兩次的信號輸出,用于鎖存出現在P0口的低8位地址。(3)(29腳):片外程序存儲器讀選通信號輸出端,低電平有效。(4)(31腳):為訪問外部程序存儲器控制信號,低電平有效。4.輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口(1)P0口(39腳~32腳):P0.0~P0.7統稱為P0口。(2)P1口(1腳~8腳):P1.0~P1.7統稱為P1口,可作為準雙向I/O接口使用。(3)P2口(21腳~28腳):P2.0~P2.7統稱為P2口,一般可作為準雙向I/O接口。(4)P3口(10腳~17腳):P3.0~P3.7統稱為P3口。表2-1P3口線的第二功能
口線第二功能第二功能P3.0RXD串行數據接收P3.1TXD串行數據發(fā)送P3.2外部中斷0請求輸入線P3.3外部中斷1請求輸入線P3.4T0定時器/計數器0計數輸入線P3.5T1定時器/計數器1計數輸入線P3.6外部RAM寫選通P3.7外部RAM讀選通3.251子系列單片機的存儲器配置
計算機的存儲器結構:普林斯頓結構:程序和數據共存于一個存儲器中,地址空間統一編址。應用于PC機及大部分計算機中。哈佛結構:程序存儲器和數據存儲器是相互獨立的,即程序存放在ROM中,只能進行讀操作;而數據存放在RAM中,可讀可寫。用于單片機中。
MCS-51單片機的存儲空間分為:
程序存儲器(64KBROM)
數據存儲器(64KBRAM)。
8051有四個存儲空間:
片內ROM,
片外ROM,片內RAM,片外RAM.
但從用戶使用的角度,8051存儲器地址空間分為三類:
(1)
片內、片外統一編址的程序存貯器ROM:
64KB,地址:0000~0FFFFH;(2)片外數據存貯器RAM:
64KB,地址:0000~0FFFFH;(3)內部數據存貯器RAM:
256B,地址:0~0FFH。
圖3-680C51存儲器配置圖MOVC指令MOV指令MOVX指令3.2.1程序存儲器(ROM)
用途:用于存放編好的程序和表格常數。
8051片內有4KBROM,片外16位地址線可擴展64KBROM,二者是統一編址的。當引腳,8051從0000H執(zhí)行片內ROM中的程序。當指令地址超過0FFFH后,就自動轉向片外ROM取指令。當引腳8051片內ROM不起作用,CPU只能從片外ROM/EPROM中取指令,地址可以從0000H開始編址。這種接法特別適合于沒有內部ROM的8031單片機,此時必須使/EA=0,以便能夠從外部擴展的EPROM中取指令。內部ROM中的一些特殊單元:
表3-2片內ROM的保留單元保留單元地址入口地址用途0000H~0002H0000H復位后初始化引導程序0003H~000AH0003H外部中斷0中斷服務程序000BH~0012H000BH定時/計數器0中斷服務程序0013H~001AH0013H外部中斷1中斷服務程序001BH~0022H001BH定時/計數器1中斷服務程序0023H~002AH0023H串行口中斷服務程序002BH~0032H002BH定時/計數器2中斷服務程序(52子系列才有)3.2.2數據存儲器RAM
用途:用于存放運算的中間結果、數據暫存和緩沖、標志位等。
RAM分類:
片內RAM:256字節(jié);地址從0000~00FFH;
片外RAM:64K字節(jié);地址從0000~FFFFH。
1.片外RAM
由于片外RAM與片內RAM的低地址0000H~00FFH單元是重疊的。因此,MCS-51有兩種指令使用
MOV--片內RAM MOVX--片外64KRAM。2.片內RAM1.2.1內部數據存儲器低128單元三個區(qū)域真正的RAMSFR低128單元:1).存儲器區(qū):四組寄存器,每組8個寄存單元(8位),各組都以R0、R1、R2、R3、R4、R5、R6、R7作寄存單元編號。寄存器常用于存放操作數及中間結果等,由于它們的功能及使用不作預先規(guī)定因此稱之為通用寄存器,有時也叫工作寄存器、四組通用寄存器占據內部RAM的00H~1FH單元地址。
在任一時刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱之為當前寄存器組。到底是那一組由程序狀態(tài)字寄存器PSW中RS0、RS1位的狀態(tài)組合來決定。表3-3R0~R7寄存器與內部RAM的地址對應通用寄存器名稱地址第0組第1組第2組第3組R000H08H10H18HR101H09H11H19HR202H0AH12H1AHR303H0BH13H1BHR404H0CH14H1CHR505H0DH15H1DHR606H0EH16H1EHR707H0FH17H1FH2)
位尋址區(qū):地址:20H~2FH單元,共128位。位地址:00H~7FH。性質:既可作為一般RAM單元使用進行字節(jié)操作,也可以對單元中的每一位進行位操作,因此把該區(qū)稱之為位尋址區(qū)。表3-4片內RAM中的位尋址區(qū)地址分配3)
用戶RAM區(qū):單元地址為30H~7FH,主要的數據緩沖區(qū)。把堆棧開辟在此區(qū)。3.2.3內部數據存儲器高128單元特殊功能寄存器區(qū)、專用寄存器區(qū)簡稱SFR。
單元地址:80H~FFH。SFR(1)累加器A或ACC(Accumulator)
8位寄存器,是最常用的專用寄存器
大部分單操作數指令的操作數就取自ACC,許多雙操作數指令中的一個操作數也取自累加器。(2)
B寄存器
8位寄存器,主要用于乘除運算。如MULABB寄存器也可作為一般數據寄存器使用。如MOVB,#20HMOVA,#30HADDA,#40H(3)程序狀態(tài)字PSW(ProgramStatusWord)
8位寄存器,用于寄存程序運行的狀態(tài)信息。其中:有些位狀態(tài)是根據程序執(zhí)行結果,由硬件自動設置的而有些位狀態(tài)則使用軟件方法設定.D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P
·
CY——進位標志位。有進位/借位,CY=1,否則,CY=0
·
AC——輔助進位標志位
低4位向高4位的進位或借位。有AC=1,否則AC=0。
·P——奇偶標志位。表明累加器A中1個個數的奇偶性。
奇1偶0。D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P
·OV(PSW.2)——溢出標志位
8位帶符號數字加減運算結果是否超出運算范圍。
8位有符號數字表示的范圍:-128~+127。
OV=0,運算正確,即無溢出產生。
在乘法運算中,OV=1,表示乘積超過255;
在除法運算中,OV=1,表示除數為0,除法不能進行。
D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P
10101010B-86例:(+72)+(+98)。
01001000B+72+01100010B+98例:(-83)+(-80)。
10101101B-83+10110000B-80[1]01011101B+93無符號數:CY=0有符號數:OV=1無符號數:CY=1有符號數:OV=1
·F0——用戶標志位,需要時用軟件方法置位或復位,用以控制程序的轉向。
·RS0和RS1(PSW.4,PSW.5)——寄存器組選擇位RS1RS0寄存器組片內RAM地址通用寄存器名稱000組00H~07HR0~R7011組08H~0FHR0~R7102組10H~17HR0~R7113組18H~1FHR0~R7D7D6D5D4D3D2D1D0CYACF0RS1RS0OV…P(4)
數據指針(DPTR)
16位寄存器。
MCS-51中唯一的一個16位寄存器。
DPH:
DPTR高位字節(jié)
DPL:
DPTR低位字節(jié)
作用:通常在訪問外部RAM時作地址指針使用,由于外部數據存儲器的尋址范圍64KB。DPTR既可按16位寄存器使用,也可以按兩個8位寄存器分開使用。如:MOVDPTR,#1234H
MOV DPH,#12HMOVDPL,#34H(5)程序計數器PC(ProgramCounter)
PC:16位的計數器。
其內容為將要執(zhí)行的指令地址,尋址范圍達64KB。
有自動加
1功能,從而實現程序的順序執(zhí)行、
但PC沒有地址,是不可尋址的、因此無法對它進行讀寫。但可以通過轉移、調用、返回等指令改變其內容,以實現程序的轉移??梢妴纹瑱C中的大部分數據操作都是通過累加器進行的.
(6)I/O端口P0~P3(80H,90H,A0H,B0H)
P0~P3為四個8位特殊功能寄存器,分別是四個并行I/O端口的鎖存器。它們都有字節(jié)地址,每一個口鎖存器還有位地址,所以當每一條I/O線獨立地用作輸入或輸出時,數據可以鎖存;作輸入時,數據可以緩沖。
當I/O端口某一位用于輸入信號時,對應的鎖存器必須先置“1”。
MCS-51共有22個專用寄存器中。有21個是可字節(jié)尋址的??勺止?jié)尋址寄存器的名稱、符號及單元地址見表1-3。
SFR特殊功能寄存器地址表SFR特殊功能寄存器地址表幾點說明:①
專用寄存器不連續(xù)地分散在內部RAM高128單元之中、空閑地址不能被用戶使用。②22個專用寄存器中,程序計數器PC是唯一一個不可尋址的SFR.③
使用SFR時,既可使用寄存器符號,也可使用寄存器單元地址。例如:
MOV B,
ACC MOV B,
0E0H可位尋址專用寄存器:
在21個可尋址的專用寄存器中,有11個寄存器是可以位尋址的,見表l-4。SFR特殊功能寄存器地址表表2.6SFR特殊功能寄存器地址表(5)堆棧指針SP
堆棧:只允許在其一端進行數據插入和數據刪除操作的線性表。堆棧是內存在一個特殊的存儲區(qū)域。圖3-8堆棧和堆棧指針示意圖傳送數據方式:入棧:PUSH出棧:POP。堆棧操作的最大特點:“后進先出”。堆棧是為子程序調用和中斷操作而設立的。堆棧的功能:保護斷點和保護現場。
保護斷點:PC。
保護現場:寄存器中的內容。舉例:以P131例6-1說明堆棧的存在。int
addfunc(inta,intb) /*加法子函數*/{intc;c=a+b;
return(c);}voiddelay() /*延時10ms子函數,假設fOSC=11.0592MHz*/{
inti,ms=10;while(ms--){for(i=0;i<115;i++); } /*延時1ms*/}voidmain() /*主函數*/{intx=10,y=3,z;z=addfunc(x,y);
delay();
z=z+3;} ORG 1000H1000H: MOV A,#34H1002H: ADD A,#10H1004H: LCALLDELAY1007H: MOV 20H,A ---- ORG 2000H2000H DELAY: PUSH A MOV A,#30H2002H ----- POPA RET堆棧要求:具有足夠的容量(或者說足夠的堆棧深度)。堆棧開辟
1)外堆棧:在主存儲器中開辟堆棧.例如8080,Z80等早期的微型機。主要優(yōu)點是堆棧容量大。但外堆棧的操作速度較慢。
2)內堆棧:在CPU芯片內部存儲器中開辟。MCS-51的堆棧就是開辟在內部RAM中。
主要優(yōu)點是操作速度快,但堆棧容量有限。堆棧使用方式:兩種
(1):自動方式:(保護斷點)在調用子程序或中斷時,返回地址(斷點)自動進棧。程序返回時,斷點再自動彈回PC.
操作的特點:堆棧操作無需用戶干預--自動方式。
LCALLNEXTJMPLOOP(2):指令方式(保護現場) 進棧指令:PUSH
出棧指令:POP。例如:
PUSH A PUSH B POP B POP A3.3并行輸入/輸出端口結構MCS-51單片機共有4個8位雙向并行輸入/輸出(I/O)口,分別為:P0、P1、P2、P3??冢菏且粋€集數據輸入緩沖、數據輸出緩沖、驅動及鎖存等多項功能為一體的I/O電路,也稱端口。四個I/O口在結構和特性上基本相同的,但又各具特點。下面介紹這些口的特性和功能。3.3.1P0~P1口的功能
(1)P0口為準雙向(輸入/輸出)三態(tài)口--AD線。
用作:
地址/數據總線口。
低8位地址/8位數據總線分時復用。
(2)P1口:作為可編程的輸入或輸出線。
(3)P2口:用作:輸入或輸出線用;
作為擴展系統的高8位地址總線,與P0口一起組成16位地址總線。說明:對8031單片機來說,P2口一般只作為地址總線使用,而不作為I/O線直接與外設相連。
(4)P3口:雙功能口。
可作為輸入或輸出口線用;特殊的第二功能。3.3.2P0~P3口的結構與操作1.P0口I/O口應用時:“控制”=0;數據/地址時:“控制”=1。Vcc用作輸入口時,需先給P0.x口輸出高電平。MOVP0,#0FFHVcc2.P1口圖3-10P1.X口線的邏輯電路圖ORG100HMOVP1,#0FEHEND注意問題:1.當用作輸入時,必須先輸出1;2.P1口為準雙向口;3.外接電路一般采用共陽極。2.P2口圖3-11P2.X口線的邏輯電路圖4.P3口圖3-12P3口某一位口線的邏輯電路圖3.4時鐘電路與CPU時序 時鐘電路:用于產生單片機工作所需要的時鐘信號;時序:指令執(zhí)行中各信號之間的相互關系。3.4.1時鐘電路
(1)內部時鐘方式 芯片內部的高增益反向放大器和在引腳XTAL1和XTAL2兩端跨接晶體振蕩器和微調電容,就構成了一個穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接輸入單片機的內部時鐘電路。
(2)外部時鐘方式圖3-13內部時鐘電路與HMOS和CHMOS型單片機的外部時鐘電路接法3.4.2CPU的時序MCS-51的時序定時單位共有4個,從小到大依次是:
拍節(jié),狀態(tài)、機器周期、指令周期。(1)拍節(jié)與狀態(tài)拍節(jié)(P):振蕩脈沖的周期,又稱振蕩周期。狀態(tài)(S):時鐘信號的周期,又稱時鐘周期。關系:振蕩頻率=2倍時鐘頻率時鐘周期=2倍振蕩周期,即1S=2P
(拍節(jié)1(P1),拍節(jié)2(P2))。(2)機器周期機器周期:指CPU訪問存儲器一次所需要的時間。例如取指令,讀存儲器、寫存儲器等。MCS-51的一個機器周期包括12個振蕩周期(12P)=6S
即6個狀態(tài):S1~S6。而每個狀態(tài)又分為兩拍,稱為P1和P2。因此,一個機器周期中的12個振蕩周期表示為S1P1、S1P2、S2P1……、S6P2。(3)指令周期定義:執(zhí)行一條指令所需要的時間稱之為指令周期。最大的時序定時單位,無固定值。指令不同,指令周期不同。MCS-51的指令包含一、二、四個機器周期。例如:外接晶振頻率fOSC為12MHz時,MCS—51單片機的4個時間周期值為:
振蕩周期P=1/fosc=1/12μs;
狀態(tài)周期S=2P=1/6μs;
機器周期=6S=12P=1μs;
指令周期=1、2、4μs。單片機指令的兩種操作:讀操作和寫操作。假定:8位計算機,256個單元組成,每個單元存儲8位二制信息,即256×8位的讀/寫存儲器。
11000111
000011000011111001110010FFH00H
地址內容內存單元的地址和內容100101110004FF地址譯碼器00000100AB控制讀DB10010111地址內存讀操作00100110
00
08FF地址譯碼器000001000AB控制寫DB00100110地址內存寫操作假定CPU要把數據26H寫入存儲器08H單元。附加:
微型計算機工作過程,5+6=?名稱匯編語言程序機器代碼二進制十六進制匯編起始地址命令ORG80H無立即數送入累加器MOVA,#0501110100000001017405加立即數ADDA,#0600100100000001102406空操作NOP0000000000匯編終止END無1)第1條指令的執(zhí)行過程取指令階段:1)第1條指令的執(zhí)行過程執(zhí)行指令階段:2)第2條指令的執(zhí)行過程取指令階段:2)第2條指令的執(zhí)行過程執(zhí)行指令階段:3.4.3典型指令的時序根據指令代碼所占的字節(jié)不同:單字節(jié)、雙字節(jié)、三字節(jié)。根據指令執(zhí)行時間的不同:單機器周期、雙機器周期四機器周期。執(zhí)行指令的兩個階段:取指令和執(zhí)行指令。ALE:地址鎖存允許信號,每有效一次對應單片機進行的一次讀指令操作,取指有效時間:S1P2和S2P1,S4P2和S5P1。
ALE取指有效時間:S1P2和S2P1,S4P2和S5P1,出現頻率為振蕩脈沖頻率的1/6。04H說明:以上時序圖僅表現了取指令的有關時序,而沒有表現執(zhí)行指令的時序。而實際上,每條指令都有具體的數據操作,例如算術和邏輯操作在拍節(jié)1進行,片內寄存器對寄存器傳送操作在拍節(jié)2進行。由于指令種類繁多,不逐一列出。3.5復位電路復位:單片機的初始化操作。復位的功能: (1)進入系統的正常初始化;(PC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經濟法計算題題目及答案
- 醫(yī)共體工作制度
- 集美疾控面試題目及答案
- 四心談話問答題目及答案
- 養(yǎng)老院老人心理咨詢師晉升制度
- 養(yǎng)老院老人入住簽字制度
- 養(yǎng)老院老人康復設施維修人員職業(yè)發(fā)展規(guī)劃制度
- 幼教繪畫面試題目及答案
- 養(yǎng)老院老年人活動組織制度
- 大人的思考題目及答案
- 2025年上交所金融筆試題目及答案
- 服務外包人員保密管理制度(3篇)
- 2026中國電信四川公用信息產業(yè)有限責任公司社會成熟人才招聘備考題庫及答案詳解(奪冠系列)
- 成都高新區(qū)桂溪街道公辦幼兒園招聘編外人員考試備考題庫及答案解析
- 2025年醫(yī)院病歷管理操作規(guī)范
- 汽車后市場培訓課件
- 2026云南保山電力股份有限公司校園招聘50人筆試備考題庫及答案解析
- GB 4053.2-2025固定式金屬梯及平臺安全要求第2部分:斜梯
- 2026屆上海市長寧區(qū)市級名校高一上數學期末學業(yè)質量監(jiān)測模擬試題含解析
- 2026年煙草公司筆試綜合試題及考點實操指引含答案
- 九年級寒假期末總結課件
評論
0/150
提交評論