單片機的特殊功能寄存器

2021-01-08 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萬工程師和產業鏈上下遊企業,聚焦電子行業的科技創新,聚合最值得關注的產業鏈資源, 致力於為百萬工程師和創新創業型企業打造一站式公共設計與製造服務平臺。

相關焦點

  • 51單片機的特殊功能寄存器(SFR)
    在51單片機內部有一個CPU用來運算、控制,有四個並行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。
  • 8051單片機中的寄存器是算CPU還是RAM
    打開APP 8051單片機中的寄存器是算CPU還是RAM 發表於 2019-06-14 15:42:58 問題:單片機8051
  • STC15系列51單片機的存儲器結構
    8位的51單片機在教學(或者自學時)領域發揮著重要作用,對於單片機的編程即是對特殊功能寄存器的編程。所以研究單片機的寄存器十分必要。STC15系列單片機的存儲器分3種,分別是程序存儲器ROM、數據存儲器RAM和特殊功能寄存器(SFRs),其中程序存儲器和數據存儲器是各自獨立編制的。
  • 51單片機基礎(5)
    、R7,可通過PSW寄存器中的RS1、RS0位組合(即PSW.4和PSW.3)選擇其中一組為當前寄存器組。當前寄存器組中的寄存器R0~R7可在51單片機的彙編指令中以直接引用的方式非常方便地進行讀寫訪問(例如MOV A,R1),而對非當前寄存器組中的寄存器則可按一般內部RAM單元使用8位內部RAM地址進行直接和間接訪問。
  • 51單片機、STM32單片機、PIC單片機性能對比
    51單片機 應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel推出,由於其典型的結構和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統,堪稱為一代「經典」,為以後的其它單片機的發展奠定了基礎。
  • 單片機c語言教程:C51變量
    特殊寄存器(SFR)的地址表請看附錄二 AT89c51特殊功能寄存器列表表6-1 存儲器類型存儲器類型說 明data直接訪問內部數據存儲器(128位元組),訪問速度最快bdata可位尋址內部數據存儲器(16位元組),允許位與字節混合訪問idata間接訪問內部數據存儲器
  • 單片機RAM的作用
    4.從80H-FFH為專用寄存器佔用,其中還離散的分布SFR(21個特殊功能寄存器)二、256B其中00H~7FH可分為3個區域:00H~1FH 是通用寄存器區20H~2FH 是位尋址區30H~7FH 是用戶RAM區80H~FFH是特殊功能寄存器區
  • 單片機MSP430入門--理論③--時鐘模塊-DCO和BCS寄存器
    單片機MSP430入門--理論③--時鐘模塊-DCO和BCS寄存器上期大概給大家匯總介紹了,MSP430時鐘模塊的3個晶振和3個主要時鐘信號,要知道時鐘是單片機的脈搏,如果時鐘沒設置好,單片機將無法工作本期將重點介紹下,在MSP430環境下的時鐘寄存器BCSCTL1,BCSCTL2,以及他們的設置方法1.0 DCOCTL,DCO寄存控制器
  • 單片機MSP430入門理論③-時鐘模塊-DCO和BCS寄存器
    單片機MSP430入門--理論③--時鐘模塊-DCO和BCS寄存器上期大概給大家匯總介紹了,MSP430時鐘模塊的3個晶振和3個主要時鐘信號,要知道時鐘是單片機的脈搏,如果時鐘沒設置好,單片機將無法工作本期將重點介紹下,在MSP430環境下的時鐘寄存器BCSCTL1,BCSCTL2,以及他們的設置方法1.0 DCOCTL,DCO寄存控制器
  • 單片機必須了解的外設功能――GPIO/串行通信
    活學活用單片機連載將介紹有效使用單片機外設功能的結構及使用方法,能讓我們將能學到各種單片機共通的基本外設功能,並可廣泛應用到各個方面。單片機僅靠CPU和內存是無法運行的!本文介紹 GPIO和串行通信。本文引用地址:http://www.eepw.com.cn/article/201808/386035.htm有效使用單片機不可或缺的「外設功能」是什麼呢?
  • MCS-51單片機的程序狀態寄存器PSW的作用是什麼?
    MCS-51單片機的程序狀態寄存器PSW的作用是什麼?常用標誌有哪些位?作用是什麼?答:PSW是一個8位寄存器,用於設定CPU的狀態和指示指令執行後的狀態。CY(PSW.7):進位標誌。在執行加減運算指令時,如果運算結果的最高位(D7)發生了進位或借位,則CY由硬體自動置1。
  • 跟電師傅學單片機(20):單片機位操作指令圖文講解(一)
    位操作指令:指令中的操作數不是字節,而是字節中的某一位,每位取值只能是0或1;指令中的操作對象是單片機內部RAM的位尋址區:20H~2FH單元中的128個位和SFR中的11個可以位尋址的特殊功能寄存器。
  • MCS51單片機存儲器結構
    程序計數器PC(program Counter)程序計數器在物理上是獨立的,它不屬於特殊內部數據存儲器塊中。PC是一個16位的計數器,用於存放一條要執行的指令地址,尋址範圍為64kB,PC有自動加1功能,即完成了一條指令的執行後,其內容自動加1。PC本身並沒有地址,因而不可尋址,用戶無法對它進行讀寫,但是可以通過轉移、調用、返回等指令改變其內容,以控制程序按我們的要求去執行。
  • 中斷源寄存器的介紹
    1.定時器/計數器控制寄存器TCON定時器/計數器控制寄存器 TCON 的功能主要是接收外部中斷源( INT0、INT1 )和定時器/計數器(T0、T1)送來的中斷請求信號。TCON各位功能的說明。當外部有中斷請求信號輸入單片機的引腳(即P3.2引腳)或引腳(即P3.3引腳)時,寄存器TCON的IE0和IE1位會被置「1」。IT0和IT1:它們分別是外部中斷0和外部中斷1的輸入方式控制位。
  • 面向51單片機的Keil uVision4的四種基本數據類型
    應對51單片機硬體的一些特點,Keil uVision4還擴展了bit、sbit、sfr、sfr16等四種特殊基本數據類型,它們都是標準C中所沒有的。其中: 1、bit:聲明一個普通的位變量。例如:"bit flag;"。 2、sbit:聲明特殊功能寄存器中的某一位。
  • PIC單片機基礎知識之一
    PIC16中檔系列單片機是精簡指令集的單片機,它具有以下特性:——內部為哈佛結構——指令流水線操作——文檔寄存器的概念——單指令周期——所有指令為單字指令——長字指令——指令數很少——指令實現的功能基本不重複接下來分別介紹上面各個特性
  • 單片機的指令和尋址方式
    單片機的品種很多,設計時怎樣表示操作碼和操作數,都有各自的規定,再有指令代碼也各不相同,因此,必須對所選單片機的全部指令,也就是所謂「指令系統」,有足夠的了解。各個系列的單片機雖然有不同的指令系統,但也有其共同性。掌握一種單片機的指令系統,對其它系列單片機可以起到觸類旁通的作用。
  • pic單片機教程之數據存儲器的直接間接尋址方式
    寄存器既可以直接尋址,也可以使用指針寄存器FSR間接尋址。某些器件具有各數據存儲區共享的公用數據存儲區,對公用數據存儲區的讀寫不必考慮當前所在存儲區,可使用同一個地址單元(值),我們稱這個區域為公用RAM。特殊功能寄存器(SFR)特殊功能寄存器由CPU和外設使用,用於控制器件的操作,這類寄存器實現為靜態RAM形式。
  • C語言能夠實現單片機功能,為什麼還要使用彙編呢?
    彙編因為的理解難度和開發難度比C語言大,所以學習難度大,都是對寄存器操作,學習彙編就要學習這個單片機的硬體結構和基本組成、存儲器訪問方式、單片機I/O操作時序、定時計數器、中斷處理、指令系統、尋址方式等知識點;而且每個系列晶片的內部寄存地址和寄存器都有差異,維護起來也十分困難。
  • MCS-51單片機的中央處理器CPU介紹
    MCS-51單片機的中央處理器CPU由運算器和控制邏輯構成,其中包括若干特殊功能寄存器(SFR)。OV:溢出標誌。 51單片機相關文章:51單片機教程 單片機相關文章:單片機教程