單片機的特殊功能寄存器

2021-01-12 OFweek維科網

在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。

<特殊功能寄存器地址映象表(一)>

<特殊功能寄存器地址映象表(二)>

<特殊功能寄存器地址映象表(三)>

幾個常用的SFR

1、ACC:累加器,常常用A表示。這是個什麼東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什麼給它這麼一個名字呢?或許是因為在運算器做運算時其中一個數一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍後我們將學到指令,能發現,所有的運算類指令都離不開它。

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

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

PSW也稱為標誌寄存器,了解這個對於了解單片機原理非常的重要,存放各有關標誌。其結構和定義如下:

sfr各位的用途

(1)CY:進位標誌。用於表示Acc.7有否向更高位進位。8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0-255,如果做加法的話,兩數相加可能會超過255,這樣最高位就會丟失,造成運算的錯誤,怎麼辦?最高位就進到這裡來。這樣就沒事了。

例:78H+97H(01111000+10010111)

(2)AC:輔助進位標誌也叫半進位標誌。  用於表示Acc.3有否向Acc.4進位

例:57H+3AH(01010111+00111010)

(3)F0:用戶標誌位,由我們(編程人員)決定什麼時候用,什麼時候不用。

(4)RS1、RS0:工作寄存器組選擇位。這個我們已知了。
    RS1、RS0 = 00 —— 0區(00H~07H)

RS1、RS0 = 01 —— 1區(08H~0FH)

RS1、RS0 = 10 —— 2區(10H~17H)

RS1、RS0 = 11 —— 3區(18H~1FH)

(5)0V:溢出標誌位。 表示Acc在有符號數算術運算中的溢出,什麼是溢出我們稍後再談吧。

(6)P:奇偶校驗位:它用來表示ALU運算結果中二進位數位「1」的個數的奇偶性。若為奇數,則P=1,不然為0。

例:某運算結果是78H(01111000),顯然1的個數為偶數,所以P=0。

4、DPTR(DPH、DPL):數據指針,能用它來訪問外部數據存儲器中的任一單元,如果不用,也能作為通用寄存器來用,由我們自已決定如何使用。16位,由兩個8位寄存器DPH、DPL組成。主要用於存放一個16位地址,作為訪問外部存儲器(外RAM和ROM)的地址指針。

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

6、SP:堆棧指針。(專用於指出堆棧頂部數據的地址。)

【學習建議】其實並不需要把上面的這些東西都死記硬背在腦子裡面,這是很難的,我們只需要理解工作原理,一次看不懂就要多看幾次,等到要寫程序的時候,我們再把這些表格拿出來查閱。

以上所有信息僅作為學習交流使用,不作為任何學習和商業標準。若您對文中任何信息有異議,歡迎隨時提出,謝謝!

關於雲創硬見

雲創硬見是國內最具特色的電子工程師社區,融合了行業資訊、社群互動、培訓學習、活動交流、設計與製造分包等服務,以開放式硬體創新技術交流和培訓服務為核心,連接了超過30萬工程師和產業鏈上下遊企業,聚焦電子行業的科技創新,聚合最值得關注的產業鏈資源, 致力於為百萬工程師和創新創業型企業打造一站式公共設計與製造服務平臺。

相關焦點

  • 在MCS51單片機中對特殊功能寄存器的C51定義
    本文引用地址:http://www.eepw.com.cn/article/201611/318618.htm接著我們以STC系列的51單片機為例簡單的了解下單片機的特殊功能寄存器布局,如下:為了能直接訪問這些SPR,FranklinC51提供了一種自主形式的定義方法,這種定義方法與標準C語言不兼容,只適合與對MCS-51系列單片機進行C語言編程,特殊的能寄存器C51定義的一般語法格式如下:sfrsfr-name=intconstant;「sfr」是定義語句的關鍵字,其後必須跟一個MSC-51單片機真實存在的特殊功能寄存器名,「=」後面必須是一個整型常數,不允許帶有運算符的表達式
  • 從零開始51單片機教程——連載8 特殊功能寄存器
    詳細介紹什麼是寄存器 寄存器能做什麼通過前面的學習,我們已知單片機的內部有ROM、有RAM、有並行I/O口,那麼,除了這些東西之外,單片機內部究竟還有些什麼,這些個零碎的東西怎麼連在一起的,讓我們來對單片機內部的寄存器作一個完整的功能分析吧!
  • 51特殊功能寄存器
    這128個單元中,特殊功能寄存器僅佔用了21個單元,其餘單元51單片機不能對它們進行讀/寫操作(即不能作內部數據存儲器使用)。單元地址可被8整除的SFR可位尋址。如圖1)累加器A或特殊功能寄存器ACC累加器為8位寄存器,用於存放操作數,也可用來存放運算的中間結果。A和ACC雖是同一個寄存器,但是在指令中它們卻是有區別的。
  • 8051單片機特殊功能存儲器SFR基礎詳解
    8051單片機共有21個專用寄存器,現把其中部分寄存器簡單介紹如下:程序計數器(PC—Program Counter)。在實訓中,我們已經知道PC是一個16位的計數器,它的作用是控制程序的執行順序。
  • 單片機關鍵字寄存器和運算符
    關鍵字用 途說 明bit位標量聲明聲明一個位標量或位類型的函數sbit位標量聲明聲明一個可位尋址變量Sfr特殊功能寄存器聲明聲明一個特殊功能寄存器Sfr16特殊功能寄存器聲明聲明一個16位的特殊功能寄存器data存儲器類型說明直接尋址的內部數據存儲器bdata存儲器類型說明
  • 基於STM32單片機的功能及特點
    基於STM32單片機的功能及特點 工程師周亮 發表於 2018-10-17 16:51:36 為什麼要學STM32?
  • 平凡單片機教學 第六講 單片機內部結構分析(五)
    通過前面的學習,我們已知單片機的內部有ROM、有RAM、有並行I/O口,那麼,除了這些東西之外,單片機內部究竟還有些什麼,這些個零碎的東西怎麼連在一起的,讓我們來對單片機內部作一個完整的分析吧!
  • 跟電師傅學單片機(20):單片機位操作指令圖文講解(一)
    位操作指令:指令中的操作數不是字節,而是字節中的某一位,每位取值只能是0或1;指令中的操作對象是單片機內部RAM的位尋址區:20H~2FH單元中的128個位和SFR中的11個可以位尋址的特殊功能寄存器。
  • MCS-51單片機的程序狀態寄存器PSW的作用是什麼?
    MCS-51單片機的程序狀態寄存器PSW的作用是什麼?常用標誌有哪些位?作用是什麼?答:PSW是一個8位寄存器,用於設定CPU的狀態和指示指令執行後的狀態。CY(PSW.7):進位標誌。在執行加減運算指令時,如果運算結果的最高位(D7)發生了進位或借位,則CY由硬體自動置1。
  • PIC單片機基礎知識之一
    PIC16中檔系列單片機是精簡指令集的單片機,它具有以下特性:——內部為哈佛結構——指令流水線操作——文檔寄存器的概念——單指令周期——所有指令為單字指令——長字指令——指令數很少——指令實現的功能基本不重複接下來分別介紹上面各個特性
  • 51單片機的尋址方式
    在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內部數據存儲器以及位地址空間,具體的說就是:1、內部數據存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。
  • 單片機的指令和尋址方式
    單片機的品種很多,設計時怎樣表示操作碼和操作數,都有各自的規定,再有指令代碼也各不相同,因此,必須對所選單片機的全部指令,也就是所謂「指令系統」,有足夠的了解。各個系列的單片機雖然有不同的指令系統,但也有其共同性。掌握一種單片機的指令系統,對其它系列單片機可以起到觸類旁通的作用。
  • 跟電師傅學單片機(15):單片機邏輯運算指令圖文講解
    影響單片機標誌寄存器PSW中的奇偶標誌位P。累加器A取反指令CPL A;單片機軟體指令功能是將累加器A中的內容全部取反,結果送回A中。影響單片機標誌寄存器PSW中的奇偶標誌位P。常用於單片機某個存儲器單元或某個存儲器區域中帶符號數的求補。
  • 單片機定時器/計數器基本原理
    單片機定時器/計數器基本原理 目前常用的單片機中往往都配備了定時器/計數器。我們主要要求掌握T0和T1的結構和功能。學習中要注意從電路結構上來理解功能的實現。定時器/計數器方式寄存器TMOD和定時器/計數器控制寄存器TCON是用以設定定時器/計數器的工作方式、定時或計數功能,控制啟動或停止以及產生溢出中斷的重要模塊,應該對這兩個寄存器中的逐位的定義和功能進行學習和掌握。
  • 寄存器物理地址映射到結構體封裝的寄存器的過程
    二、對這一方式的分析與總結也就是關於單片機寄存器封裝問題:最近在學習嵌入式linux過程中,看到 DM368寄存器地址映射到結構體封裝的寄存器的系統文件。因為嵌入式linux開發沒有像單片機一樣的編譯軟體,系統文件不是編譯軟體本身自帶的。嵌入式編程需要自己找到需要用的模塊的頭文件,來操作相應的寄存器,編寫相應的驅動。於是乎,在看別人的程序時,迷迷糊糊的就從主程序看到了驅動程序,又看到了底層操作寄存器的程。為了徹底搞懂嵌入式程序,終於注意到了以前單片機編程時沒怎麼注意過的結構體封裝寄存器,映射物理地址。
  • 跟電師傅學單片機(13):單片機算術運算類指令圖文講解
    指令功能:是將操作數所確定的單元或寄存器中的內容加1,最後將結果還是送回原操作數單元中。操作數:累加器A、寄存器Rn、直接地址direct、寄存器間接尋址單元、數據指針寄存器DPTR中的內容。2、DEC:單片機減1指令(共4條),只有一個操作數,與INC指令類似。
  • 51單片機輕鬆入門與實踐 — 暢學單片機
    本課程打破了單片機教學的傳統模式,採取實例模塊製作的方法,從該模塊需用到的單片機理論知識,再加上該模塊用到的「器件介紹」環節,外圍電路設計講解部分以及要實現該模塊的軟體功能-編程詳解,巧妙地將單片機原理與應用、外圍電路設計、單片機C語言編程的知識點融入各個模塊項目中,不僅開闢了單片機應用的視野,又充實了對單片機從基礎到應用所需要的知識。
  • MSP430單片機輕鬆入門與實踐 — 暢學單片機
    巧妙地將單片機原理與應用和單片機C語言編程的知識點融入各個實例中,不僅開闢了單片機應用的視野,又充實了對單片機從基礎到應用所需要的知識。使廣大學者可一邊學單片機結構理論知識一邊用C語言編程實現各種功能,既能高效地系統學習知識,又能提高編程思維能力。     在多角度、多方面的實例化講解中,讀者不僅掌握了單片機系統開發的基本技能,還開闊了單片機流行應用的視野。
  • MCS-51單片機的結構和工作原理
    4、程序狀態字(PSW)8位特殊功能寄存器5、布爾處理器 1位 它以進位標誌(CY)作為累加位  進行位操作程序狀態字PSW各位標誌的含義:3.3 MCS-51單片機外部特性:      MCS-51系列單片機有40個引腳,HMOS工藝製造的晶片採用雙列直插式封裝(DIP)。      本節主要介紹引腳功能和引腳功能的復用。
  • 單片機專用寄存器中英文對照
    > Register 1 寄存器 Program Counter 程序計數器51單片機