新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機存儲器介紹(3)

        51單片機存儲器介紹(3)

        作者: 時間:2016-11-23 來源:網絡 收藏
        高128單元:(80H-FFH)
        21個特殊功能寄存器不連續地分布在128個字節的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作.
        51單片機內部有一個CPU用來運算、控制,有四個并行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。這樣的特殊功能寄存器51單片機共有21個并且都是可尋址的列表如下:

        符號地址功能介紹
        BF0HB寄存器
        ACC  E0H累加器
        PSW  D0H程序狀態字
        IP  B8H中斷優先級控制寄存器
        P3  B0HP3口鎖存器
        IE  A8H中斷允許控制寄存器
        P2  A0HP2口鎖存器
        SBUF99H串行口鎖存器
        SCON98H串行口控制寄存器
        P1  90HP1口鎖存器
        TH1  8DH定時器/計數器1(高8位)
        TH08CH定時器/計數器1(低8位)
        TL18BH定時器/計數器0(高8位)
        TL0  8AH定時器/計數器0(低8位)
        TMOD89H定時器/計數器方式控制寄存器
        TCON88H定時器/計數器控制寄存器
        DPH  83H數據地址指針(高8位)
        DPL82H數據地址指針(低8位)
        SP81H堆棧指針
        P080HP0口鎖存器
        PCON87H電源控制寄存器


        分別說明如下:
        1、ACC---是累加器,通常用A表示。
        這是個什么東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什么給它這么一個名字呢?或許是因為在運算器做運算時其中一個數一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍后在中篇中我們將學到指令,可以發現,所有的運算類指令都離不開它。自身帶有全零標志Z,若A=0則Z=1;若A≠0則z=0。該標志常用作程序分枝轉移的判斷條件。
        2、B--一個寄存器。
        在做乘、除法時放乘數或除數,不做乘除法時,隨你怎么用。
        3、PSW-----程序狀態字。這是一個很重要的東西,里面放了CPU工作時的很多狀態,借此,我們可以了解CPU的當前狀態,并作出相應的處理。它的各位功能請看下表:


        D7D6D5D4D3D2D1D0
        CY  ACF0RS1RS0OV 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------這個我們已經知道,是四個并行輸入/輸出口的寄存器。它里面的內容對應著管腳的輸出。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 中方县| 滨州市| 伽师县| 菏泽市| 乌兰浩特市| 武平县| 阿合奇县| 湘潭县| 土默特左旗| 怀来县| 原阳县| 通海县| 东乡族自治县| 宜阳县| 福安市| 务川| 石泉县| 葵青区| 如东县| 安图县| 庐江县| 三门县| 大洼县| 连南| 伊通| 临桂县| 顺昌县| 汉沽区| 南部县| 商水县| 天镇县| 丹棱县| 太仆寺旗| 岳普湖县| 青川县| 新竹县| 虞城县| 汕尾市| 游戏| 潜山县| 廉江市|