新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機的特殊功能寄存器SFR

        51單片機的特殊功能寄存器SFR

        作者: 時間:2016-11-19 來源:網絡 收藏
        51單片機特殊功能寄存器SFR

        內容提要:21個特殊功能寄存器不連續地分布在128個字節的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作.

        本文引用地址:http://www.104case.com/article/201611/318426.htm

        關鍵詞:

        在51單片機內部有一個CPU用來運算、控制,有四個并行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。這樣的特殊功能寄存器51單片機共有21個并且都是可尋址的列表如下:

        符號

        地址

        功能介紹

        B

        F0H

        B寄存器

        ACC  

        E0H

        累加器

        PSW  

        D0H

        程序狀態字

        IP  

        B8H

        中斷優先級控制寄存器

        P3  

        B0H

        P3口鎖存器

        IE  

        A8H

        中斷允許控制寄存器

        P2  

        A0H

        P2口鎖存器

        SBUF

        99H

        串行口鎖存器

        SCON

        98H

        串行口控制寄存器

        P1  

        90H

        P1口鎖存器

        TH1  

        8DH

        定時器/計數器1(高8位)

        TH0

        8CH

        定時器/計數器1(低8位)

        TL1

        8BH

        定時器/計數器0(高8位)

        TL0  

        8AH

        定時器/計數器0(低8位)

        TMOD

        89H

        定時器/計數器方式控制寄存器

        TCON

        88H

        定時器/計數器控制寄存器

        DPH  

        83H

        數據地址指針(高8位)

        DPL

        82H

        數據地址指針(低8位)

        SP

        81H

        堆棧指針

        P0

        80H

        P0口鎖存器

        PCON

        87H

        電源控制寄存器

        分別說明如下:

        1、ACC---是累加器,通常用A表示。
        這是個什么東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什么給它這么一個名字呢?或許是因為在運算器做運算時其中一個數一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍后在中篇中我們將學到指令,可以發現,所有的運算類指令都離不開它。自身帶有全零標志Z,若A=0則Z=1;若A≠0則z=0。該標志常用作程序分枝轉移的判斷條件。

        2、B--一個寄存器。
        在做乘、除法時放乘數或除數,不做乘除法時,隨你怎么用。

        3、PSW-----程序狀態字。這是一個很重要的東西,里面放了CPU工作時的很多狀態,借此,我們可以了解CPU的當前狀態,并作出相應的處理。它的各位功能請看下表:

        D7

        D6

        D5

        D4

        D3

        D2

        D1

        D0

        CY  

        AC

        F0

        RS1

        RS0

        OV

         

        P

        下面我們逐一介紹各位的用途
        CY:進位標志。8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0-255,如果做加法的話,兩數相加可能會超過255,這樣最高位就會丟失,造成運算的錯誤,怎么辦?最高位就進到這里來。這樣就沒事了。有進、借位,CY=1;無進、借位,CY=0
        例:78H+97H(01111000+10010111)
        AC:輔助進、借位(高半字節與低半字節間的進、借位)。
        例:57H+3AH(01010111+00111010)

        F0:用戶標志位,由用戶(編程人員)決定什么時候用,什么時候不用。
        RS1、RS0:工作寄存器組選擇位。這個我們已知了。
        0V:溢出標志位。運算結果按補碼運算理解。有溢出,OV=1;無溢出,OV=0。什么是溢出我們后面的章節會講到。
        P:奇偶校驗位:它用來表示ALU運算結果中二進制數位“1”的個數的奇偶性。若為奇數,則P=1,否則為0。運算結果有奇數個1,P=1;運算結果有偶數個1,P=0。
        例:某運算結果是78H(01111000),顯然1的個數為偶數,所以P=0。

        4、DPTR(DPH、DPL)--------數據指針,可以用它來訪問外部數據存儲器中的任一單元,如果不用,也可以作為通用寄存器來用,由我們自已決定如何使用。分成DPL(低8位)和DPH(高8位)兩個寄存器。用來存放16位地址值,以便用間接尋址或變址尋址的方式對片外數據RAM或程序存儲器作64K字節范圍內的數據操作。

        5、P0、P1、P2、P3------這個我們已經知道,是四個并行輸入/輸出口的寄存器。它里面的內容對應著管腳的輸出。

        6、IE-----中斷充許寄存器
        按位尋址,地址:A8H

        B7

        B6

        B5

        B4

        B3

        B2

        B1

        B0

        EA  

        -

        ET2

        ES

        ET1

        EX1

        ET0

        EX0

        EA (IE.7):EA=0時,所有中斷禁止(即不產生中斷)
        EA=1時,各中斷的產生由個別的允許位決定
        - (IE.6):保留
        ET2(IE.5):定時2溢出中斷充許(8052用)
        ES (IE.4):串行口中斷充許(ES=1充許,ES=0禁止)
        ET1(IE.3):定時1中斷充許
        EX1(IE.2):外中斷INT1中斷充許
        ET0(IE.1):定時器0中斷充許
        EX0(IE.0):外部中斷INT0的中斷允許

        7、IP-----中斷優先級控制寄存器
        按位尋址,地址位B8H

        B7

        B6

        B5

        B4

        B3

        B2

        B1

        B0

        - 

        -

        PT2

        PS

        PT1

        PX1

        PT0

        PX0

        - (IP.7):保留
        - (IP.6):保留
        PT2(IP.5):定時2中斷優先(8052用)
        PS (IP.4):串行口中斷優先
        PT1(IP.3):定時1中斷優先
        PX1(IP.2):外中斷INT1中斷優先
        PT0(IP.1):定時器0中斷優先
        PX0(IP.0):外部中斷INT0的中斷優先

        8、TMOD-----定時器控制寄存器
        不按位尋址,地址89H

        B7

        B6

        B5

        B4

        B3

        B2

        B1

        B0

        GATE  

        C/T

        M1

        M0

        GATE

        C/T

        M1

        M

        GATE :定時操作開關控制位,當GATE=1時,INT0或INT1引腳為高電平,同時TCON中的TR0或TR1控制位為1時,計時/計數器0或1才開始工作。若GATE=0,則只要將TR0或TR1控制位設為1,計時/計數器0或1就開始工作。
        C/T :定時器或計數器功能的選擇位。C/T=1為計數器,通過外部引腳T0或T1輸入計數脈沖。C/T=0時為定時器,由內部系統時鐘提供計時工作脈沖。
        M1 :模式選擇位高位
        M0 :模式選擇位低位

        M1

        M0

        工作模式

        0

        0

        13位計數/計時器

        0

        1

        16位計數/計時器

        1

        0

        8位自動加載計數/計時器

        1

        1

        定時器1停止工作,定時器0分為兩個獨立的8位定時器TH0及TL0

        9、TCON-----定時器控制寄存器

        按位尋址,地址
        位88H B7

        B6

        B5

        B4

        B3

        B2

        B1

        B0

        TF1 

        TR1

        TF0

        TR0

        IE1

        IT1

        IE0

        IT0

        803l單片機共有21個字節的特殊功能寄存器(SFR),起著專用寄存器的作用,用來設置片內電路的運行方式,記錄電路的運行狀態,并表明有關標志等。此外,特殊功能寄存器中,還有把并行和串行I/O端口映射過來的寄存器,對這些寄存器的讀寫,可實現從相應I/O端口的輸入、輸出操作。

        21個特殊功能寄存器不連續地分布在128個字節的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作。

        可位尋址的SFR的分布:

        符號

        地址

        功能介紹

        B

        F0H

        B寄存器

        ACC  

        E0H

        累加器

        PSW  

        D0H

        程序狀態字

        IP  

        B8H

        中斷優先級控制寄存器

        P3  

        B0H

        P3口鎖存器

        IE  

        A8H

        中斷允許控制寄存器

        P2  

        A0H

        P2口鎖存器

        SBUF

        99H

        串行口鎖存器

        SCON

        98H

        串行口控制寄存器

        P1  

        90H

        P1口鎖存器

        TH1  

        8DH

        定時器/計數器1(高8位)

        TH0

        8CH

        定時器/計數器1(低8位)

        TL1

        8BH

        定時器/計數器0(高8位)

        TL0  

        8AH

        定時器/計數器0(低8位)

        TMOD

        89H

        定時器/計數器方式控制寄存器

        TCON

        88H

        定時器/計數器控制寄存器

        DPH  

        83H

        數據地址指針(高8位)

        DPL

        82H

        數據地址指針(低8位)

        SP

        81H

        堆棧指針

        P0

        80H

        P0口鎖存器

        PCON

        87H

        電源控制寄存器




        評論


        技術專區

        關閉
        主站蜘蛛池模板: 岐山县| 宕昌县| 平泉县| 邯郸县| 彭泽县| 苗栗市| 镇原县| 山阴县| 漯河市| 河东区| 定安县| 满城县| 兴国县| 白玉县| 通榆县| 武城县| 靖州| 靖江市| 菏泽市| 鲁山县| 蓬安县| 城口县| 沐川县| 罗江县| 茶陵县| 南川市| 西平县| 饶平县| 洞头县| 顺平县| 平罗县| 安阳市| 静海县| 祁阳县| 五大连池市| 依兰县| 竹山县| 桃园县| 绩溪县| 阿坝县| 吴旗县|