日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

51单片机之特殊功能寄存器SFR

發布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51单片机之特殊功能寄存器SFR 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

51單片機之特殊功能寄存器

  • 全部的特殊功能寄存器:
  • 特殊寄存器1、ACC(A):累加器
  • 特殊寄存器2、B:輔助寄存器
  • 特殊寄存器3、標志寄存器PSW:
    • PSW的內部位含義:
    • 舉個例子:不做解釋了
  • 特殊寄存器4、PC:程序計數器
  • 特殊寄存器5、SP:堆棧指針
  • 特殊寄存器6、DPTR:數據指針
  • 特殊寄存器7、TMOD:定時/計數器的方式寄存器
  • 特殊寄存器8、TCON:定時/計數器控制寄存器
  • 特殊寄存器9、SCON:串行口控制寄存器
  • 特殊寄存器10、PCON:電源控制寄存器
  • 特殊寄存器11、IE:中斷允許控制寄存器
  • 特殊寄存器12、IP:中斷優先級控制寄存器

全部的特殊功能寄存器:


特殊寄存器1、ACC(A):累加器

ALU(算數運算邏輯單元,是運算器的重要部件)在進行運算時,數據絕大部分來源于累加器A,運算的結果通常也送回累加器A

特殊寄存器2、B:輔助寄存器

此寄存器是為乘法和除法指令而設置的

以乘法為例:一個8bit的數和另一個8bit的數進行乘法運算,得到的結果為一個16bit的數,此時就需要倆個8bit寄存器來存放結果,輔助寄存器B就派上了用場,一般的,我們用B來存放高8bit,用A來存放低8bit。

以除法為例:在計算1除以3時,所得的結果以商和余數的形式保存,一般的,A用于保存商,B用于保存余數

特殊寄存器3、標志寄存器PSW:

一般用于保存指令執行結果的狀態,即當前cpu所處的一些狀態,是一個8bit寄存器

PSW的內部位含義:

1、C: 進位標志位,當累加器中從D7位向更高位進位或借位時,但由于寄存器大小限制不存在D8,此時用C來標志,當產生進位或者借位時這一位置1。
2、AC:輔助進位標志位,當D3位向D4位進位或者借位時,此標志位置1
3、F0:用戶標志位 ,用戶通過編程自定義使用
4、RS1\RS0: 寄存器組選擇位,在內存中有8個為一組的通用寄存器,一共4組。但是同一時刻只能使用其中的某一組,RS0、RS1即用于選擇使用4組中的哪一組寄存器。下圖為具體對應關系:

5、OV:溢出標志位 ,一個8位寄存器可以表示的范圍為**-128~127** ,當我們相加的結果不在這個范圍的時候,此時溢出位為1
6、P: 累加器運算完成后,統計累加器中1的個數,1為偶數個,P為0。這里容易犯一個錯誤,此標志位的含義是一個數用二進制表示的時候1的個數,并不表示這個數是奇數還是偶數,例如14,二進制中有3個1,但數本身是偶數。

舉個例子:不做解釋了

特殊寄存器4、PC:程序計數器

51單片機專門設置一個16位的PC,用于指示下一時刻CPU將要執行的程序指令在ROM中的位置,由于PC指針長度位16位,所以單片機的程序存儲器ROM空間大小為2^16 = 64Kb,從0000~FFFFH

特殊寄存器5、SP:堆棧指針

為實現堆棧操作而設置的指針

特殊寄存器6、DPTR:數據指針

特殊寄存器7、TMOD:定時/計數器的方式寄存器

該寄存器是用于控制定時/計數器的工作方式的特殊寄存器,內部詳細位如下圖:

1、M0、M1:用于確定定時器\計數器的工作方式:

2、C/T:定時或計數方式選擇位,用這一位來確定時鐘信號是來自內部還是外部
當C/T = 1,工作在計數器方式;反之工作在定時器方式
4、GATE:門控位,用于控制定時器/計數器的啟動是否受外部中斷請求信號(INT0,INT1)的影響,例如:當T0想要工作且GATE位為1時,就必須要求INT0位為1

特殊寄存器8、TCON:定時/計數器控制寄存器

該寄存器用來控制定時器/計數器的停止與啟動
內部位:

1、TF0、TF1:溢出標志位,當計數滿時,由硬件使他值位
2、TR0、TR1:中斷啟動位,1啟動,0停止
3、IE0、IE1:
4、IT0、IT1:

特殊寄存器9、SCON:串行口控制寄存器

用于串行通信的控制

1、SM0、SM1:串行口工作方式選擇位

2、SM2:多機通信控制位
3、REN:允許接受控制位,只有置1時,單片機才允許接收外部串行數據
4、TB8:用于保存發送的第9位數據
5、RB8:用于保存接收的第9位數據
6、TI:發送中斷標志位,完成一次發送時自動由0變1
7、RI:接收中斷標志位,完成一次接收時自動由0變1

特殊寄存器10、PCON:電源控制寄存器

用于對波特率進行控制

SMOD位為1時,串行通信在方式1、2、3下波特率加倍

特殊寄存器11、IE:中斷允許控制寄存器

MCS-51單片機沒有專門的開中斷和關中斷的指令,只能通過中斷允許寄存器IE的各位來控制

1、EA:總中斷允許控制位
2、ET2、ET1、ET0:定時器/計數器T2、T1、T0的溢出中斷允許位
3、ES:串行口中斷允許位
4、EX0、EX1:外部中斷INT1、INT0的中斷允許位

特殊寄存器12、IP:中斷優先級控制寄存器

用于手動修改優先級順序

1、PT0、PT1、PT2:定時器T2、T1、T0的中斷優先級控制位
2、PS:串行口的中斷優先級控制位
3、PX0、PX1:外部中斷INT0、INT1的中斷優先級控制位
當IP中的某一位置1時,所對應的中斷源被設置為高優先級。

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的51单片机之特殊功能寄存器SFR的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。