8051單片機內部結構和功能基本概念_第1頁
8051單片機內部結構和功能基本概念_第2頁
8051單片機內部結構和功能基本概念_第3頁
8051單片機內部結構和功能基本概念_第4頁
8051單片機內部結構和功能基本概念_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二部分基本概念8051單片機內部結構和功能(CPU、存儲器)單片機的引腳功能尋址方式輸入/輸出接口的作用和常用的輸入輸出方式串行通信的基本概念中斷的基本概念一、運算器1.算術邏輯單元(ALU—ArithmeticLogicUnit)2.累加器(ACC—Accumulator)3.寄存器B4.程序狀態字(PSW—ProgramStatusWord)

5.布爾處理器二、控制器1.程序計數器(PC—ProgramCounter)2.指令譯碼器ID3.數據指針(DPTR)4.

堆棧指針(SP——StackPointer)

2.2.1中央處理器CPU

一、運算器功能:運算部件實現算術、邏輯運算、位變量處理、移位、數據傳送1.算術邏輯單元(ALU)8位其累加器是ACC

二進制四則運算和布爾代數的邏輯運算運算結果影響PSW的有關標志位2.累加器(ACC)8位存放操作數和中間結果工作頻繁,大多數操作均通過它進行3.寄存器B

8位乘法時用于存乘數/積的高8位除法時用于存除數/余數4.程序狀態字(PSW)8位特殊功能寄存器5.布爾處理器1位它以進位標志(CY)作為累加位進行位操作程序狀態字PSW各位標志的含義CYACF0RS1RS0OV-P

PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CY(PSW.7)進位標志位AC(PSW.6)輔助進位(或稱半進位)標志F0(PSW.5)用戶標志位RS1和RS0(PSW.4,PSW.3)工作寄存器組選擇位OV(PSW.2)溢出標志位

PSW.1未定義位P(PSW.0)奇偶標志位

CY是PSW中最常用的標志位。由硬件或軟件置位和清零。

字節運算中(ALU):

它表示運算結果是否有進位(或借位)。

Cy=SUB⊕C8

加法時(SUB=0):有進位Cy由硬件置“1”即Cy=1;

無進位CY被硬件清“0”即Cy=0。減法時(SUB=1):有借位Cy由硬件置“1”即Cy=1;

無借位CY被硬件清“0”即Cy=0。

位操作(布爾操作)時,CY作為累加器使用,其作用相當于字節操作的累加器ACC。

Cy在指令中可作為轉移的條件

JCrel;cy=1轉移

JNCrel;cy=0轉移位操作指令中做累加器

ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLCMOVC,bitMOVbit,c

CyCAC(PSW.6)輔助進位(或稱半進位)標志。

當執行加減運算時,其運算結果產生低四位向高四位進位或借位時,AC由硬件置“1”;否則AC位被自動清“0”。

AC=SUB⊕

C4

一般在BCD碼運算時,系統用于進行十進制調整。

AcOV

OV(PSW.2)溢出標志位它反映運算結果是否溢出,溢出時則由硬件將OV位置“1”;否則置“0”。只有在補碼運算時起作用。

雙進位位法判溢出:

OV=C8⊕C7

溢出和進位是兩種不同性質的概念。溢出是指有正負號的兩個數運算時,運算結果超出了累加器以補碼所能表示一個有符號數的范圍。補碼運算是閉運算。而進位則表示兩數運算最高位(D7)相加(或相減)有無進位(或借位)。無符號運算是開運算。因此使用時應加以注意。OV與Cy

F0(PSW.5)用戶標志位。用戶可根據自己的需要對F0位賦予一定的含義,由用戶置位或復位,作為軟件標志。

SETBF0;置位

CLRF0

;復位相當于高級語言中的邏輯變量F0

P(PSW.0)奇偶標志位

P標志表明累加器ACC中1的個數的奇偶性。在每條指令執行完后,單片機根據ACC的內容對P位自動置位或復位。若累加器ACC中有奇數個“1”,則P=1;

若累加器ACC中有偶數個“1”,則P=0。P1.程序計數器(PC)16位計數器

PC是程序的字節地址計數器,其內容是將要執行的下一條指令的地址,尋址范圍達64KB。

PC有自動加1功能,從而實現程序的順序執行。可以通過轉移、調用、返回等指令改變其內容,以實現程序的轉移。二、控制器2.數據指針(DPTR)16bit

數據指針DPTR為16位寄存器。它的功能是存放16位的地址,作為訪問外部程序存儲器和外部數據存儲器時的地址。編程時,DPTR既可按16位寄存器使用,也可以按兩個8位寄存器分開使用。即:DPH DPTR的高8位DPL DPTR的低8位3.堆棧指針(SP)8bit

SP的內容就是堆棧棧頂的存儲單元地址。不論是數據進棧還是數據出棧,都是對堆棧的棧頂單元進行的,即對棧頂單元的寫和讀操作。存儲器結構程序存儲器片內數據存儲器(RAM)片外數據存儲器(RAM/I/O)AT89C52單片機的存儲器單片機在系統結構上采用了哈佛型,其存儲器在物理結構上分程序存儲器(ROM)和數據存儲器(RAM)。有四個物理上相互獨立的存儲空間,其配置如圖2-6所示:片內ROM片外ROM片內RAM片外RAM/I/O口8KB256B128BSFR用戶使用的角度上看,存儲空間分為三類:

片內外統一編址的64K字節的ROM;

256字節片內RAM;

64K字節片外RAM或I/O口地址空間四個空間地址的重疊

ROM中片內外低8K字節:控制信號/EARAM中片內外低256個字節:MOV與MOVXRAM與ROM64K地址:控制信號/PSEN

SFR和高128B的RAM:直接尋址和間接尋址說明0000H-0002H(開機復位單元)3個0003H-000AH(INT0中斷地址區)8個000BH-0012H(T/C0中斷地址區)8個0013H-001AH(INT1中斷地址區)8個001BH-0022H(T/C1中斷地址區)8個0023H-002AH(串行口中斷地址區)8個002BH-0032H(T/C2中斷地址區)8個程序存儲器程序存儲器用來存放程序和常數,分為片內和片外兩部分。AT89C52內部帶有8KB的FlashROM,地址范圍是0000H-1FFFH,片外用16位地址線擴充64kB的ROM,兩者統一編址。(從片內還是從片外取指取決于EA)特殊單元當CPU的引腳/EA接高電平時,PC在0000H~1FFFH范圍內,CPU從片內ROM取指令;而當PC>1FFFH后,則自動轉向片外ROM去取指令。當引腳/EA接低電平時,89C52片內ROM不起作用,CPU只能從片外ROM取指令,地址可以從0000H開始編址

89C52從片內ROM和片外ROM取指時執行速度相同。

數據存儲器用來存放運算的中間結果、標志位及數據的暫存和緩沖等。分為片內RAM和片外RAM。89C52單片機片內數據存儲器最大可尋址256個單元,片外可尋址16位(64kB)的地址空間。片內數據存儲器和片外數據存儲器是單獨編址的。數據存儲器片內數據存儲器(RAM)與T2相關的6個SFR沒有列出用戶RAM區(堆棧、數據緩沖)(30H-FFH)位尋址區(位地址00H-7FH)(20H-2FH)第3組通用寄存器(18H-1FH)第2組通用寄存器(10H-17H)第1組通用寄存器(08H-0FH)第0組通用寄存器(00H-07H)用于存放操作數及中間結果。由于它們的功能預先不作規定,因此稱為通用寄存器,也叫工作寄存器。任一時刻,CPU只能使用一組工作寄存器。(由PSW的RS0和RS1決定)可以直接對位進行尋址(共16個單元,128個位)用于存放用戶數據和做堆棧用00HFFH內部RAM的三個區域R0~R74個(1)工作寄存器(00H~1FH)RS1RS0寄存器組片內RAM地址00第0組00H~07H01第1組08H~0FH10第2組10H~17H11第3組18H~1FH

這16個單元(共計128位)的每一位都有一個8位表示的位地址,位尋址范圍為00H~7FH。(2)可位尋址區(20H~2FH)47H46H45H44H43H42H41H40HD0D1D2D3D4D5D6D728H字節地址MOV28H,#56HSETB43HCLR42H0010101110字節操作位操作

30H~FFH是供用戶使用的一般RAM區,也是數據緩沖區,共208個單元。對用戶RAM區的使用沒有任何規定或限制,一般用于存放用戶數據及作堆棧區使用。(3)用戶RAM區(30H~FFH)當一條指令訪問7FH以上的內部地址單元時,尋址方式決定是訪問高128B的RAM單元還是訪問特殊功能寄存器。80H-FFH單元高128個字節與特殊功能器地址是重疊的,但物理上分開。直接尋址方式,訪問SFR

MOV0A0H,#data;P2口字節地址為0A0H間接尋址方式,訪問高128B的RAM單元

MOVR0,#0A0HMOV@R0,#data高128字節特殊功能寄存器SFR

89C52片內有27個特殊功能寄存器,又稱為專用寄存器。它們離散地分布在80H~0FFHRAM空間中。在27個特殊功能寄存器中,有12個寄存器可位尋址。它們的字節地址正好能被8整除,而且字節地址與該字節最低位的位地址相同。特殊單元:

0000H-0002H(開機復位單元)3個 0003H-000AH(INT0中斷地址區)8個 000BH-0012H(T/C0中斷地址區)8個 0013H-001AH(INT1中斷地址區)8個 001BH-0022H(T/C0中斷地址區)8個 0023H-002AH(串行口中斷地址區)8個程序存儲器程序存儲器用來存放程序和常數,分為片內和片外兩部分,其中8051內部有4kB的ROM,地址范圍是0000H-0FFFH,片外用16位地址線擴充64kB的ROM,兩者統一編址。(從片內還是從片外取指取決于EA引腳。)當CPU的引腳EA接高電平時,

PC在0000H~0FFFH范圍內,CPU從片內ROM取指令;而當PC>0FFFH后,則自動轉向片外ROM去取指令。當引腳EA接低電平時,8051片內ROM不起作用,CPU只能從片外ROM取指令,地址可以從0000H開始編址對于片內無ROM的8031、8032單片機,EA應接地。以便從外部擴展EPROM中取指令。8051從片內ROM和片外ROM取指時執行速度相同。數據存儲器用來存放運算的中間結果、標志位,及數據的暫存和緩沖等。分為片內RAM和片外RAM。8051系列單片機內數據存儲器最大可尋址256個單元,片外可尋址16位(64kB)的地址空間。片內數據存儲器和片外數據存儲器是單獨編址的。數據存儲器2.2.2.2.片內數據存儲器(RAM)用戶RAM區(堆棧、數據緩沖)(30H-7FH)位尋址區(位地址00H-7FH)(20H-2FH)第3組通用寄存器(18H-1FH)第2組通用寄存器(10H-17H)第1組通用寄存器(08H-0FH)第0組通用寄存器(00H-07H)用于存放操作數及中間結果。由于它們的功能預先不作規定,因此稱為通用寄存器,也叫工作寄存器。任一時刻,CPU只能使用一組工作寄存器。(由PSW的RS0和RS1決定)可以直接對位進行尋址。(共16個單元,128個位)用于存放用戶數據和及做堆棧用。00H7FH1、低128字節RAM1、工作寄存器(00H—1FH)

RS1RS0寄存器組片內RAM地址00第0組00H~07H01第1組08H~0FH10第2組10H~17H11第3組18H~1FH

內部RAM的三個區域:R0~R74個這16個單元(共計128位)的每一位都有一個8位表示的位地址,位尋址范圍為00H~7FH,如表2-4所示P23。

位尋址區的每一個單元既可作為一般RAM單元使用,進行字節操作,也可以對單元中的每一位進行位操作。

MCS-51布爾處理器的存儲空間就是指這個位尋址空間。47H46H45H44H43H42H41H40HD0D1D2D3D4D5D6D728H字節地址位地址2、可位尋址區(20H—2FH)47H46H45H44H43H42H41H40HD0D1D2D3D4D5D6D728H字節地址MOV28H,#56HSETB43HCLR42H0010101110字節操作位操作30H~7FH是供用戶使用的一般RAM區,也是數據緩沖區,共80個單元。對用戶RAM區的使用沒有任何規定或限制,一般用于存放用戶數據及作堆棧區使用。3、用戶RAM區(30H~7FH)2、高128字節特殊功能寄存器SFRSpecialFunctionRegister

8051片內高128字節RAM中,除程序計數器PC外,還有21個特殊功能寄存器,又稱為專用寄存器(SFR)。它們離散地分布在80H~0FFHRAM空間中。⑴特殊功能寄存器的字節尋址8051片內21個特殊功能寄存器的名稱、符號及單元地址如表2-5所示(P22)。

⑵特殊功能寄存器的位尋址在21個特殊功能寄存器中,有11個寄存器具有位尋址,其地址分布見表2-5(P22~23)。表中列出的可位尋址的寄存器,它們的字節地址正好能被8整除,而且字節地址與該字節最低位的位地址相同。8FH8EH8DH8CH8BH8AH89H88HD0D1D2D3D4D5D6D7

TCON88HTF1TR1TF0TR0IE1IT1IE0IT02.2.2.3片外數據存儲器(RAM/I/O)2、片外RAM地址范圍為0000H~0FFFFH,其中在0000H~00FFH這段區間與片內數據存儲器空間是重疊的,CPU使用MOV指令和MOVX指令加以區分。3、若用戶應用系統有擴展的I/O接口時,數據區與擴展的I/O口統一編址,所有的外圍接口地址均占用片外RAM的地址單元,因此要合理地分配地址空間,保證譯碼的唯一性。1、片外數據存儲器,即片外RAM一般由靜態RAM組成。MCS-51系列單片機訪問外部數據存儲器通過一個特殊寄存器——DPTR尋址。由于DPTR是16位,則外部數據存儲器可尋址的范圍是64kB。

MCS-51系列單片機芯片均為40個引腳,HMOS工藝制造的芯片采用雙列直插式封裝(DIP)。

本節主要介紹引腳功能和引腳功能的復用。2.3MCS-51單片機的引腳功能1、電源引腳Vss和VccVss為電壓接地端,Vcc為+5V電源端。2、時鐘電路引腳XTAL1和XTAL2XTAL1和XTAL2是外接晶體引線端。當芯片使用內部時鐘時,用于外接石英晶體和電容;當用外部時鐘時,用于接外部時鐘脈沖信號。2.3.1引腳信號功能介紹3、控制信號引腳的具體功能

ALE地址鎖存控制信號。

PSEN片外片外程序存儲器選通信號,低電平有效。

EA訪問外部程序存儲器的控制信號,低電平有效

RST

復位信號,高電平有效。4、I/O(輸入/輸出)端口(Port)P0、P1、P2、P3

P0口是一個漏級開路的8位雙向I/O口。在訪問外存儲器時,P0分時提供低8位地址線和8位雙向數據線。當不接外存儲器或不擴展I/O口時,P0口可作為一個通用輸入輸出接口。

P1口是一個帶內部上拉電阻的準雙向口。P1口只能做通用輸入輸出口。

P2口是一個帶內部上拉電阻的準雙向口。在訪問外部存儲器知輸出高8位地址。

P3口為雙功能口,除了作為一般的準雙響通用接口外,每個引腳還有特殊的功能。2.3.2引腳信號的第二功能P3.0 RxD 串行數據接受P3.1 TxD 串行數據發送P3.2 INT0外部中斷0申請P3.3 INT1外部中斷1申請P3.4 T0 定時器/計數器0計數輸入P3.5 T1 定時器/計數器1計數輸入P3.6 WR 外部RAM寫選通P3.7 RD 外部RAM讀選通1、P3口線的第二功能2P3口線的第二功能P3.0 RxD 串行數據接受P3.1 TxD 串行數據發送P3.2 INT0外部中斷0申請P3.3 INT1外部中斷1申請P3.4 T0 定時器/計數器0計數輸入P3.5 T1 定時器/計數器1計數輸入P3.6 WR 外部RAM寫選通P3.7 RD 外部RAM讀選通尋址方式尋址空間寄存器尋址R0~R7A、AB、Cy、DPTR直接尋址內部RAM00H~7FH特殊功能寄存器SFR80H~0FFH寄存器間接尋址內部RAM00H~7FH(@R0、@R1、SP)外部RAM或I/O口0000H~0FFFFH(@R0、@R1、@DPTR)立即尋址程序存儲器變址尋址程序存儲器(@A+DPTR、@A+PC)相對尋址程序存儲器(PC+rel)位尋址內部RAM中20H~2FH單元的128個位地址SFR中83個有效位地址

80H~0FFH尋址方式與尋址空間1、內部數據存儲器的尋址方式

1)00H~1FH

寄存器尋址4組R0~R7Rn

直接尋址direct

寄存器間接尋址@R0,@R1

例:(01H)(02H)

MOV02H,01H;源尋址和目的尋址均為直接尋址

MOVR2,01H;源尋址為直接尋址,目的尋址為寄存器尋址

MOVR0,#01HMOV02H,@R0;源尋址為間接尋址,目的尋址為直接尋址內部數據存儲器與內部I/O口統一編址T12)

20H~2FH可位尋址區的尋址方式

字節尋址方式:直接尋址direct

寄存器間接尋址@R0,@R1

位尋址:bit例:MOV26H,C;位尋址(26H)1位

MOV26H,A;字節尋址(26H)8位

3)

30H~7FH數據緩沖區的尋址方式字節尋址方式:直接尋址direct

寄存器間接尋址@R0,@R1例:MOV56H,A;字節尋址(56H)8位

MOVR0,#66HMOV@R0,#56H

可以將用戶堆棧設在該區內,堆棧指針SP2、SFR及I/O口的操作——只能直接尋址例:P1口90HMOVA,90HMOVA,P1MOVP1,A3、關于A累加器有兩種尋址方式:

MOVA,#23H;A寄存器尋址

PUSHACCPOP0E0H;直接尋址統一編址4、可做片內RAM的指針有:

R0,R1,四個組共有8個預先設置RS1、RS0,以選定組。

SETBRS0CLRRS1;1組

MOVR0,#34H;R0的地址是?

SETBRS1;3組

MOVR0,#68H;R0的地址是?

R0/R1指向的地址范圍:00H~7FH

片外數據存儲區和外部擴展I/O口的尋址方式指針:R0,R18位

DPTR16位指令助記符:MOVX

例:MOVDPTR,#2000HMOVA,#34HMOVX

@DPTR,AMOVP2,#20HMOVR0,#00HMOVA,#34HMOVX@R0,A外部數據存儲器的地址,或I/O口的地址16位只能寄存器間接尋址或高8位地址低8位地址統一編址R0/R1指向的地址范圍:

00H~0FFHT23輸入/輸出接口的作用接口電路的作用

鎖存作用防止由于CPU速度快,外設慢而產生的丟數現象

隔離作用防止DB上的信息重疊

變換作用在CPU與外設之間進行信息類型、電平、傳送接收方式變換

聯絡作用在CPU與外設之間進行聯絡,Ready,Busy無條件傳送方式(又稱同步傳送)查詢式傳送方式(又稱條件傳送——異步傳送)中斷傳送方式DMA傳送方式4輸入/輸出數據的傳送方式并行通信與串行通信串行通信的制式異步通信與同步通信

7.1串行通信概述并行通信與串行通信傳送速度快,但有多少數據位就需多少根數據線,因此傳送成本高。在集成電路芯片的內部、同一插件板上各部件之間、同一機箱內各插件板之間的數據傳送都是并行的距離通常小于30m并行通信-數據的各位同時傳送最少只需一根數據線即可完成,成本低但速度慢,且數據的傳送控制比并行通信復雜。計算機與遠程終端或終端與終端之間的數據傳送通常都是串行的距離可以從幾米到幾千公里串行通信-數據一位一位順序傳送單工方式

信號(不包括聯絡信號)在信道中只能沿一個方向傳送,而不能沿相反方向傳送的工作方式稱為單工方式。半雙工方式

通信的雙方均具有發送和接收信息的能力,信道也具有雙向傳輸性能,但是,通信的任何一方都不能同時既發送信息又接收信息,即在指定的時刻,只能沿某一個方向傳送信息。這樣的傳送方式稱為半雙工方式。

全雙工方式 若信號在通信雙方之間沿兩個方向同時傳送,任何一方在同一時刻既能發送又能接收信息,這樣的方式稱為全雙工方式。串行通信的制式異步通信和同步通信在數據通信中,要保證發送的信號在接收端能被正確地接收,必須采用同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論