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

2021-01-06 電子產品世界

在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

51單片機相關文章:51單片機教程

塵埃粒子計數器相關文章:塵埃粒子計數器原理 上拉電阻相關文章:上拉電阻原理

相關焦點

  • 單片機的特殊功能寄存器
    在單片機中有一些獨立的存儲單元是用來控制這些器件的,被稱之為特殊功能寄存器(SFR)。<特殊功能寄存器地址映象表(一)><特殊功能寄存器地址映象表(二)><特殊功能寄存器地址映象表(三)>這是個什麼東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什麼給它這麼一個名字呢?或許是因為在運算器做運算時其中一個數一定是在ACC中的緣故吧。它的名字特殊,身份也特殊,稍後我們將學到指令,能發現,所有的運算類指令都離不開它。2、B:一個寄存器。在做乘、除法時放乘數或除數,不做乘除法時,隨你怎麼用。3、PSW:程序狀態字。
  • 單片機c語言的sbit和sfr
    sfr特殊功能寄存器 sfr也是一種擴充數據類型,點用一個內存單元,值域為0~255。利用它可以訪問51單片機內部的所有特殊功能寄存器。如用sfr P1 = 0x90這一句定P1為P1埠在片內的寄存器,在後面的語句中我們用以用P1 = 255(對P1埠的所有引腳置高電平)之類的語句來操作特殊功能寄存器。
  • 面向51單片機的Keil uVision4的四種基本數據類型
    應對51單片機硬體的一些特點,Keil uVision4還擴展了bit、sbit、sfr、sfr16等四種特殊基本數據類型,它們都是標準C中所沒有的。其中: 1、bit:聲明一個普通的位變量。例如:"bit flag;"。 2、sbit:聲明特殊功能寄存器中的某一位。
  • 51單片機C語言教程(四) 數據類型
    關鍵字則是程式語言保留的特殊標識符,它們具有固定名稱和含義,在程序編寫中不允許標識符與關鍵資亦同。在KEIL uVision2中的關鍵字除了有ANSI C標準的32個關鍵字外還根據51單片機的特點擴展了相關的關鍵字。其實在KEIL uVision2的文本編輯器中編寫C程序,系統可以把保留字以不同顏色顯示,預設顏色為天藍色。
  • 單片機c語言教程:C51變量
    特殊寄存器(SFR)的地址表請看附錄二 AT89c51特殊功能寄存器列表表6-1 存儲器類型存儲器類型說 明data直接訪問內部數據存儲器(128位元組),訪問速度最快bdata可位尋址內部數據存儲器(16位元組),允許位與字節混合訪問idata間接訪問內部數據存儲器
  • 單片機C語言教程(六)
    sfr和sfr16可以直接對51單片機的特殊寄存器進行定義,定義方法如下:  sfr 特殊功能寄存器名= 特殊功能寄存器地址常數;  sfr16 特殊功能寄存器名= 特殊功能寄存器地址常數;我們可以這樣定義AT89C51的P1口:  sfr P1 = 0x90; //定義P1 I/O口,其地址90H
  • 單片機c語言教程:C51數據類型
    單字節0~255sfr16雙字節0~65535sbit位0 或 1表 3-1 KEIL uVision2 單片機c語言編譯器所支持的數據類型1. char 字符類型char 類型的長度是一個字節,通常用於定義處理字符數據的變量或常量。
  • 51單片機基礎(5)
    寄存器組區的所有32位元組也都可以作為一般內部RAM單元訪問和使用。51單片機指令系統中除了累加器A以外,可直接引用的當前寄存器R0~R7是最為高效方便的了。(2)51單片機有一整套位操作指令,可以通過8位位地址對位於內部數據空間的256個二進位位進行直接訪問,可以認為這是一個通過8位位地址訪問的位地址空間。
  • C51單片機頭文件和啟動文件
    //特殊寄存器的字節地址和位地址,sfr定義字節變量、sbit定義位變量,用通俗名作為變量名,並賦地址值,從而用名稱來使用這些特殊寄存器。--*/#ifndef __REG51_H__#define __REG51_H__/* BYTE Register */sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr
  • 51單片機、STM32單片機、PIC單片機性能對比
    51單片機 應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel推出,由於其典型的結構和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統,堪稱為一代「經典」,為以後的其它單片機的發展奠定了基礎。
  • STC15系列51單片機的存儲器結構
    8位的51單片機在教學(或者自學時)領域發揮著重要作用,對於單片機的編程即是對特殊功能寄存器的編程。所以研究單片機的寄存器十分必要。STC15系列單片機的存儲器分3種,分別是程序存儲器ROM、數據存儲器RAM和特殊功能寄存器(SFRs),其中程序存儲器和數據存儲器是各自獨立編制的。
  • 8051單片機中的寄存器是算CPU還是RAM
    打開APP 8051單片機中的寄存器是算CPU還是RAM 發表於 2019-06-14 15:42:58 問題:單片機8051
  • 51單片機與esp8266例程實現的LED無線控制
    一、關於51單片機和無線WIFI模塊的接線方面   RXD、TXD、GND和51單片機的TXD、RXD、GND接好,模塊其他引腳均為高電平,電源VCC是3.3V左右(兩節1.5v乾電池),本人由於沒有穩壓模塊,偷懶了當時使用5V的直流源,測試結果目前沒有問題(不過不建議啊!)
  • 基於stc單片機的AT89S52離線燒錄器程序
    下面是部分源碼預覽,完整的代碼請到http://www.51hei.com/bbs/dpj-20605-1.html下載#include "uart.h"#include "s51pro.h"#include
  • 51單片機介紹及頭文件
    上次買晶片無意間發現STC也有8個腳的單片機,在我印象中貌似只有ATMEAG有8隻腳的。於是乎買了幾個回來,今天下了手冊研究以下。
  • MCS-51單片機的中央處理器CPU介紹
    MCS-51單片機的中央處理器CPU由運算器和控制邏輯構成,其中包括若干特殊功能寄存器(SFR)。OV:溢出標誌。 51單片機相關文章:51單片機教程 單片機相關文章:單片機教程
  • MCS-51單片機的程序狀態寄存器PSW的作用是什麼?
    MCS-51單片機的程序狀態寄存器PSW的作用是什麼?常用標誌有哪些位?作用是什麼?答:PSW是一個8位寄存器,用於設定CPU的狀態和指示指令執行後的狀態。CY(PSW.7):進位標誌。在執行加減運算指令時,如果運算結果的最高位(D7)發生了進位或借位,則CY由硬體自動置1。
  • 單片機快速入門實驗:控制LED閃爍發光
    ●LPC900系列單片機簡介LPC900系列單片機是國際著名半導體廠商Philips公司(http://www.scn.semiconductors.philips.com/)推出的新一代80C51內核單片機。LPC900兼容標準80C51的指令系統和特殊功能寄存器(SFR),如果學過80C51單片機,則很容易入門。
  • 學習單片機,為什麼我建議你從51單片機開始
    因此經過我的教學經驗,如果想開始學習單片機,最好從51單片機開始學起,我都推薦STC系列的51單片機學習。原因就是一句話,因為51系列單片機簡單,學習起來也簡單。但是簡單不代表它功能少,51單片機雖然簡單,但體系是完備的。所以當你學會51單片機,會非常快速入門其它單片機學習。
  • 51單片機還有沒有必要學?
    一、51單片機應用目前還在大量應用,如家用電器,電飯煲,電磁爐,豆漿機,冰箱,洗衣機等等小家電。幾乎智能電器都有程序控制,雖然廠家不同但內核基本都是51內核。二、51單片機入門學習首先根據個人基礎,如果是完全沒有基礎的,應該還是從51單片機入手,目前51單片機的應用還有很多,很多設備還能見到51晶片,尤其成本低的項目,出貨量特別大,51單片機入門簡單,上手快,項目開發進度快。低端產品大量使用,也是教學入門的晶片。