新聞中心

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

        51特殊功能寄存器

        作者: 時間:2016-11-20 來源:網絡 收藏
        51有21個SFR(Special Function Register),分布在內部80H~FFH單元中。這128個單元中,特殊功能寄存器僅占用了21個單元,其余單元51單片機不能對它們進行讀/寫操作(即不能作內部數據存儲器使用)。單元地址可被8整除的SFR可位尋址。如圖


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


        1)累加器A或特殊功能寄存器ACC

        累加器為8位寄存器,用于存放操作數,也可用來存放運算的中間結果。A和ACC雖是同一個寄存器,但是在指令中它們卻是有區別的。符號指令中的A不能用ACC代替,特殊功能寄存器直接尋址和位名稱尋址要用ACC,而不能用A代替。累加器自身帶有零標志Z,累加器的值為0,零標志Z=1;累加器的值不為0,零標志Z=0

        2)數據指示器(Data Pointer)

        51中唯一能出現在符號指令中的一個16位寄存器。DPTR既可按16位寄存器使用,又可以分為兩個8位的寄存器使用,即DPH和DPL。DPTR通常用作訪問外部數據存儲器或擴展I/O的間接地址存儲器,還可以和累加器A一起用作程序存儲器的變址寄存器。

        3)程序狀態字存儲器PSW

        PSW是一個8位的寄存器,用于存放程序運行的狀態信息。有些位的狀態是根據程序操作的結果,由硬件自動設置;有些則由指令設置。PSW的位狀態可以用專門的指令進行測試,也可以用指令讀出。一些條件轉移指令就是根據PSW有關位進行程序轉移的。PSW各位定義如圖


        進位或借位標志CY(PSW.7):功能有二:一是存放加減運算的進(借)位;二是在位操作指令中作累加位C使用

        輔助進位標志AC(PSW.6):加減運算中的低4位向高4位有進位或借位則AC=1,無進位或借位則AC=0

        溢出標志位OV(PSW.2):計算機所進行的運算都是無符號數運算,即把符號數的符號位也當作數值進行運算,又把所有數的運算結果當符號數來影響溢出標志位。OV=1表示溢出。

        奇偶標志位P(PSW.0):表示累加器中數的奇偶性。P根據累加器中1的個數是奇數或是偶數,自動置1或清0。

        寄存器組選擇位RS1和RS0(PSW.4和PSW.3):見圖

        通用標志位F0和F1(PSW.5和PSW.1):可位尋址用于軟件控制的通用標志位。有的匯編器只定義了F0,用戶可使用位定義偽指令BIT將PSW.1定義為標志位F1。

        4)堆棧和堆棧指示器SP

        51單片機的棧的伸展方向是從低地址向高地址,堆棧操作是字節操作。



        關鍵詞: 51特殊功能寄存

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 西平县| 郸城县| 芷江| 宾阳县| 鲁山县| 高碑店市| 米泉市| 米易县| 阜城县| 惠来县| 翼城县| 德化县| 察隅县| 台中县| 深泽县| 泰宁县| 龙口市| 万年县| 宁国市| 霍山县| 通化市| 张家界市| 弥勒县| 石城县| 阿尔山市| 政和县| 高邮市| 且末县| 临潭县| 民县| 巴彦淖尔市| 龙江县| 吉首市| 化隆| 新田县| 南投市| 余姚市| 平顶山市| 华池县| 轮台县| 忻州市|