欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2705|回復: 2
打印 上一主題 下一主題
收起左側

51單片機常用寄存器說明匯總

[復制鏈接]
跳轉到指定樓層
樓主
ID:577583 發表于 2024-2-22 17:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
程序存儲器 ROM







1、程序存儲器的ROM的最大空間是64KB,因為地址線是16根,2^16 = 64 KB。80C51單片機,其內部有4KB  ROM,外部ROM的最大容量是60KB;    






2、80C51片內4 KB ROM 的地址為:0000H~0FFFH (2^12 = 4  KB),片外60 KB ROM的地址為:1000H~FFFFH(2^16 - 2^12 = 60 KB);






3、80C51單片機,正常運行時:EA(非)端接高電平,CPU從內部ROM中讀取程序;當PC值超過內部ROM,才會轉向外部ROM;






4、片內ROM的保留單元:
保留單元地址
入口地址
用途








0000H~0002H
0000H
復位后初始化引導程序








0003H~000AH
0003H
外部中斷0中斷服務程序








000BH~0012H
000BH
定時/計數器0中斷服務程序








0013H~001AH
0013H
外部中斷1中斷服務程序








001BH~0022H
001BH
定時/計數器1中斷服務程序








0023H~002AH
0023H
串行口中斷服務程序








002BH~0032H
002BH
定時/計數器2中斷服務程序








 










數據存儲器 RAM






1、數據存儲器用于存放運算的中間結果、暫存和緩沖數據及標志位等;






2、51系列單片機內部RAM有256B,地址為:00H~0FFH(2^8 = 256  B);可拓展的外部RAM最大空間為64KB,地址為:0000H~0FFFFH(2^16 = 64 KB);






3、片內256B的RAM又分為:低128單元(00H~7FH)(2^7 = 128  B)RAM區;高128單元(80H~0FFH)(2^8 - 2^7 = 128B)的特殊功能寄存器區(SFR區);






4、低128單元分為:①通用寄存器區(00H~1FH)(2^5 = 32  B):從第0組到第3組,共計有4組通用寄存器區;②位尋址區(20H~2FH)(16B = 128位);③用戶RAM區(30H~7FH)(4FH =  80B);






5、通用寄存器區/工作寄存器區:常用于存放操作數及中間結果。32個寄存器分為4組,每組8個,每個寄存器都是8位,每組都以R0~R7作為寄存器單元編號。


















寄存器名稱
地址







第0組
第1組
第2組
第3組







R0
00H
08H
10H
18H







R1
01H
09H
11H
19H







R2
02H
0AH
12H
1AH







R3
03H
0BH
13H
1BH







R4
04H
0CH
14H
1CH







R5
05H
0DH
15H
1DH







R6
06H
0EH
16H
1EH







R7
07H
0FH
17H
1FH



















6、第0組寄存器被默認為通用寄存器組,其他需要設置PSW中的RS1、RS0兩位,沒被選中的寄存器可作為一般的數據緩沖器使用。


















RS1
RS0
組號









1
1
3









1
0
2









0
1
1









0
0
0










    






7、位尋址區16個字節**(16B = 128位)**中的每一位都有一個特定的位地址






8、用戶RAM區(30H~7FH)(80個單元),這些單元可以用作:數據緩沖器使用,也可作為堆棧以保存子程序調用或響應中斷時的斷點和現場。






9、特殊功能寄存器區(SFR區)(字節地址能被8和0整除)


















符號
名稱
字節地址
D7
D6
D5
D4
D3
D2
D1
D0

TCON
定時/計數器狀態字
88H
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0


  8FH
8EH
8DH
8CH
8BH
8AH
89H
88H

TMOD
定時/計數器方式控制字
89H
GATE
C/T
M1
M0
GATE
C/T
M1
M0

SCON
串口控制寄存器
98H
SM0
SM1
SM2
REN
TB8
RB8
T1
R1


  9FH
9EH
9DH
9CH
9BH
9AH
99H
98H

IE
中斷允許控制寄存器
A8H
EA
-
-
ES
ET1
EX1
ET0
EX0


  AFH
AEH
ADH
ACH
ABH
AAH
A9H
A8H

IP
中斷優先級控制寄存器
B8H
-
-
-
PS
PT1
PX1
PT0
PX0


  BFH
BEH
BDH
BCH
BBH
BAH
B9H
B8H

PSW
程序狀態字
D0H
CY
AC
F0
RS1
RS0
OV
-
P


  D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H

(1)累加器(A/ACC);










(2)B寄存器:主要與累加器配合完成乘法和除法運算;










(3)程序狀態字(PSW):8位的寄存器,用于存放程序運行的狀態信息及運算結果的標志
PSW
程序狀態字
CY
AC
F0
RS1
RS0
OV
-
P


①CY:進位標志位,最高位有進位或借位時,CY置1;無進位或錯位時,CY清0;
②AC:輔助進位標志位,低4位向高4位有進位或借位時,CY置1;無進位或錯位時,CY清0;
​  ③F0:用戶標志位
​  ④RS1和RS0:通用寄存器組選擇位
​⑤OV:溢出標志位,溢出OV置1,沒溢出OV清0

⑥P:奇偶校驗位,如果A中有奇數個“1”,則P為1;否則P為0;
(4)數據指針(DPTR):唯一一個可尋址的16位寄存器。在訪問外部RAM時,DPTR作為地址指針使用;
(5)堆棧指針(SP):堆棧的操作方式有兩種:
​  ①自動方式:在調用子程序或者產生中斷時,CPU自動將斷點壓入堆棧;程序返回時,斷點自動彈回給PC指針;


​ ②指令方式:入棧指令PUSH,出棧指令POP;


PS:SP的復位值為07H,堆棧數據從08H開始存放,這樣會導致通用寄存器無法使用,所以程序一開始就需要將SP設置為30H,這樣堆棧就會開辟在用戶RAM區(30H~7FH)。



(6)程序計數器(PC):PC是一個16位計數器,專門用于存放CPU將要執行的指令地址(即下一條指令的地址)。

 










I/O口
1、51單片機用4個8位并行I/O口(P0~P3)和一個串行I/O口。并行I/O口一次可傳送8位二進制數據,串行I/O一次僅能傳送1位二進制數據。2、P0口:
第一功能:準雙向三態I/O口
特別注意:P0作為輸入口時,必須先向鎖存器寫入高電平,使輸出驅動電路中的T1截止,P0口處于高阻態,具有高阻抗輸入特性。
第二功能:CPU在訪問存儲器時,可以作為地址/數據分時復用的端口,地址單向輸出,數據雙向傳輸。
PS:拓展外部RAM或者ROM時,P0口只能作為第二功能,輸出低八位地址。
3、P1口:
第一功能:準雙向I/O口
特別注意:P1作為輸入口時,必須先向鎖存器寫入高電平,使輸出驅動電路中的T截止。
第二功能:①P1.0:定時/計數器2的外部觸發計數脈沖輸入端;
    ②P1.1:定時/計數器2的捕獲、重裝觸發控制輸入端。
4、P2口:
第一功能:準雙向I/O口
特別注意:P2作為輸入口時,必須先向鎖存器寫入高電平,使輸出驅動電路中的T截止。
第二功能:拓展外部存儲器時,輸出高8位地址,與P0口組成16位地址。
5、P3口:
第一功能:準雙向I/O口
特別注意:P3作為輸入口時,必須先向鎖存器寫入高電平,使輸出驅動電路中的T截止。
第二功能:①中斷信號,②外部RAM的讀寫控制口
引腳第二功能符號第二功能名稱
P3.0RXD串行數據接受
P3.1TXD串行數據發送
P3.2INT0(非)外部中斷0申請
P3.3INT1(非)外部中斷1申請
P3.4T0定時/計數器0的計數輸入
P3.5T1定時/計數器1的計數輸入
P3.6WR(非)外部數據存儲器寫選通
P3.7RD(非)外部數據存儲器讀選通
時鐘電路和時序
1、晶振周期/振蕩周期/拍節: P = 1/Fosc;
eg:Fosc = 12 MHz P = 1/12us 機器周期  = 1us
2、時鐘周期/狀態:S = 2P;
3、機器周期/掃描周期 = 6S = 12P;
指令系統
1、七種尋址方式
1.立即尋址
MOV
A,#70H
;將立即數70H傳送到累加器A
 
 
2.寄存器尋址:給出寄存器名字,將寄存器的內容取出來
MOV
A,R0
;將寄存器R0中的內容傳送到累加器A


3.直接尋址:給出某一存儲單元地址,對該單元的內容進行操作
MOV
A,70H
;將片內RAM地址為70H的單元的內容送到A中。

直接尋址方式用于訪問以下存儲空間:
①SFR
    ②片內數據存儲器低于128字節
    ③位地址空間
4.寄存器間接尋址:給出寄存器名字,以該寄存器的內容為地址,將地址的數據取出。
MOV
A,@R1
;將以寄存器R1的內容為地址的片內RAM單元的數據傳送到A
可用作寄存器間接尋址的寄存器:R0,R1,DPTR
5.變址尋址(基寄存器加變址寄存器間接尋址):給出基寄存器(DPTR或PC)和變址寄存器(累加器A),將基寄存器和變址寄存器的內容之和為地址,將該地址的數據取出。
MOVC
A,@A+DPTR



6.相對尋址:以當前程序計數器PC值加上指令中給出的偏移量rel,構成實際操作數地址。
目標地址=指令存儲地址+指令字節數+rel
偏移量rel:有符號,單字節,補碼表示,負數表示從當前地址向前轉移,正數表示向后。
PC值:相對轉移指令的存儲地址+該指令字節數
7.位尋址:在位操作指令中直接給出操作數的地址。
MOV C,20H ;將20H位的值送給進位位CY,20H為位地址
適用范圍:①內部RAM 20H2FH單元中的位(007FH)或者SFR中具有位地址的。
定時/計數器的特殊功能寄存器

TCON定時/計數器狀態字TF1TR1TF0TR0IE1IT1IE0IT0

TMOD定時/計數器方式控制字GATEC/TM1M0GATEC/TM1M0

SCON串口控制寄存器SM0SM1SM2RENTB8RB8T1R1

IE中斷允許控制寄存器EA--ESET1EX1ET0EX0

IP中斷優先級控制寄存器---PSPT1PX1PT0PX0

          
TCON:定時/計數器狀態字
TF1
TR1TF0TR0IE1IT1IE0IT0
TR1和TF1同理
TF0溢出標志位:T0產生溢出信號,TF0置1;如果溢出,TF0需用軟件清0。
TR0是T0的運行控制位:由軟件置1和清0,當TR0 =  0時,停止計數;當TR0 = 1時,啟動計數。
IT1和IE1同理
外部中斷0中斷請求標志位:在邊沿觸發方式下,IE0由硬件清零;在電平觸發模式下,只能由軟件清零。
外部中斷0信號方式控制位:
    IT0 = 0時,外部中斷0為電平觸發,INT0(非)為低電平時有效;
    IT0 = 1時,外部中斷0為邊沿觸發,INT0(非)為負跳變時有效。

TMOD:定時/計數器工作方式寄存器
GATE
C/T
M1
M0
GATE
C/T
M1
M0





GATE:門控位
C/T(非):功能選擇位
M1  M0:定時器四種工作方式選擇位
    GATE  = 0時,僅由TCON中的TR0(TR1)位啟動/停止T0(T1);
    GATE = 1時,T0(T1)的啟動或停止受外部中斷信號INT0(非)(P3.2)或  INT1(非)(P3.3)的控制,此時TR0(TR1)需置位。
   
C/T(非)=0時為定時功能:  加1計數器對脈沖f進行計數,每來一個脈沖,計數器加1,直到計時器TFx滿溢出;
    C/T(非)=1時為計數功能:  加1計數器對來自輸入引腳T0(P3.4)和T1(P3.5)的外信號脈沖進行計數,每來一個脈沖,計數器加1,直到計時器TFx滿溢出;
M1  M0 = 00
工作方式0
13位定時/計數器工作方式
M1 M0 = 01
工作方式1
16位定時/計數器工作方式
M1 M0 = 10
工作方式2
自動重裝載8位定時/計數器工作方式
M1 M0 = 11
工作方式3
兩個獨立8位定時/計數器(僅T0可用,T1停止工作)
IE
中斷允許控制寄存器
EA
-
-
ES
ET1
EX1
ET0
EX0

EA:中斷允許總控制位

ES:串行口中斷允許位
ET1:定時/計數器0中斷允許位
EX1:外部中斷1允許位
ET0:定時/計數器1中斷允許位
EX0:外部中斷0允許位

IP:中斷優先級控制寄存器IP中斷優先級控制寄存器-
-
-
PS
PT1
PX1
PT0
PX0

中斷自然優先級(由高到低):外部中斷0、定時/計數器0、外部中斷1、定時/計數器1、串行口中斷,若某一位置1,則相應的中斷源為高優先級;若某一位為0,則則相應的中斷源為低優先級。
SCON:串行接口控制寄存器SCON串口控制寄存器
SM0
SM1
SM2
REN
TB8
RB8
T1
R1

(1)SM0和SM1:串行接口工作方式設置位
方式2和方式3主要用于多機通信控制:當串行接口工作在方式2或方式3時,若SM2=1,則允許多機通信。
   
    多機通信規定:第9位數據位為1 (即TB8=1),說明本幀數據為地址幀:第9位數據為0(即TB8=0),則本幀數據為數據幀。
   
     當從機接收到的第9位數據(在RB8中)為1時,數據才裝入接收緩沖器SBUF,并置RI=1向CPU申請中斷;如果接收到的第9位數據(在RB8中)為0,則不置位中斷標志RI且信息丟失。
   
    當SM2=0時,則不管接收到第9位數據是否為1,都產生中斷標志RI,并將接收到的數據裝入SBUF。應用這一特點可以實現多機通信。
   
    串行口工作在方式0時,SM2必須設置為0;工作在方式1時,如SM2=1,則只有接收到有效的停止位時才會激活RI。
允許接收控制位:當REN=1時,允許接收;當REN=0時,禁止接收。此位由軟件置1或清零
發送數據的第9位:在方式2和方式3中,在多機通信中作為發送地址幀或數據幀的標志。
    TB8=1,說明該發送幀為地址幀;TB8=0,說明該發送幀為數據幀。
    在許多通信協議中,它可作為奇偶校驗位。此位由軟件置1或清零。在方式0和方式1中,此位未使用
接收數據的第9位:
    在方式2和方式3中,接收到的第9位數據放在RB8中。它或是約定的奇/偶校驗位,或是約定的地址/數據標志位。
    在方式2和方式3多機通信中,RB8=1,說明該接收幀為地址幀;RB8=0,說明該接收幀為數據幀
發送中斷標志位:
    在一幀數據發送完時,由硬件置位。
   
    TI=1,可申請中斷,說明發送緩沖器SBUF已空,CPU可以發送下一幀數據。中斷被響應后,TI不能自動清零,必須由軟件清零
接收中斷標志位:
    在接收到一幀有效數據后,由硬件置位。
   
    RI=1,可申請中斷,表示一幀數據接收結束,并已裝入接收緩沖器SBUF中。CPU響應中斷,取走數據后,RI不能自動清零,必須由軟件清零。










SM0
SM1
工作方式
功能說明
波特率




0
0
方式0
同步移位寄存器,用于I/O拓展
fosc/12
波特率  = fosc/12



0
1
方式1
10位異步收發器
由定時器T1溢出率控制

S  = SMOD
1
0
方式2
11位異步收發器
fosc/32或fosc/64
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png  

  


1
1
方式3
11位異步收發器
由定時器T1溢出率控制
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png  

  








 





 










PCON:電源控制寄存器控制字
D7
D6
D5
D4
D3
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png  
D2
  
D1
D0




SMOD:串行接口波特率的倍率控制位。








 

在方式1、方式2和方式3下,當SMOD  = 1時,波特率加倍;當SMOD = 0時,波特率不加倍,即波特率和2^SMOD成正比。








 










中斷計數初值的設定
晶振頻率為fosc, 晶振周期:P = 1/fosc, 機器周期 = 12P = 12/fosc
設定計數初始值為X,定時時間Tc
在工作方式0的情況下,13位定時/計數器,溢出值為2^13 = 8192
① 計數值 = 溢出值 - 計數初值 = 8192  - X;






②  定時時間Tc = 機器 * 計數值 =





③計數值計算公式




在工作方式1的情況下,16位定時/計數器,溢出值為2^16 = 65536
① 計數值 = 溢出值 - 計數初值 = 65536  - X;






②  定時時間Tc = 機器 * 計數值 =
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png  

  




③計數值計算公式:
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png  

  




 
















  






file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png



file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png

  




 







































































名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


WDCOND8h
SMOD_1
POR
EPFI
PFI
WDIF
WTRF
EWT
RWT



上電復位標志位
電源失效中斷使能位
電源失效中斷狀態位PFI
看門狗中斷標志位
看門狗復位超時后置位的復位標志位
看門狗復位使能
復位看門狗定時器


























名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


PCON87h
SMOD_0
SMOD0
OFDF
OFDE
GF1
GF0
STOP
IDLE


UART0  波特率加倍使能
串口錯誤幀檢測標志位
振蕩器故障引起的復位標識
振蕩器故障檢測使能
通用標志位
通用標識位
停機模式使能
空閑模式使能














名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


T2CONC8h
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
C/T2
CP/RL2


定時器2溢出標志位
定時器2外部標志位
串口接收波特率發生
串口發送波特率發生
外部使能
使能控制
計數(1)和計時選擇(0)
捕獲(P1.1)和重載選擇[0]


























名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


CKCON8Eh
WD1
WD0
T2M
T1M
T0M
MD2
MD1
MD0


看門狗定時選擇
定時器2時鐘選擇
定時器1時鐘選擇
定時器0  時鐘選擇
MOVX 機器周期選擇






 






file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png  

  




名稱
地址
D7
D6
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png  
D5
  
D4
D3
D2
D1
D0


file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png  
PMR
  
C4h
CD1
CD0
SWB
CTM
4X/2X
ALEON
DME1
DME0


時鐘分配控制

乘法器使能
時鐘倍頻
外部內存使能
內存使能






















名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png  
CKMOD
  
96h


T2MH
T1MH
T0MH
file:///C:/Users/wangf/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png  
  






定時器高速選擇




 























名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


DPS86h
ID1
ID0
TSL
AID
SEL


DPTR1遞增(0)和遞減選擇
DPTR遞增(0)和遞減選擇
SEL位被DPTR影響控制(1)
遞增遞減使能



數據指針選擇,0  DPL DPH
    1:DPL1 DPH1



0









名稱
地址
D7
D6
D5
D4
D3
D2
D1
D0


EXIF91h
IE5
IE4
IE3
IE2
CKRY
RGMD
RGSL
BGS






Clock  Ready.
Ring  Mode Status.
Ring  Oscillator Select.
Bandgap  Select.


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1064915 發表于 2024-2-23 11:22 | 只看該作者
需要可下載文件
回復

使用道具 舉報

板凳
ID:1108581 發表于 2024-2-23 13:49 | 只看該作者
感謝大佬分享,就是帖子的排版好像不太好
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表