8051/89C51的21個(gè)專用寄存器介紹
出處:eefocus 發(fā)布于:2018-11-24 14:38:11
8051/89C51共有21個(gè)專用寄存器,現(xiàn)把其中部分寄存器簡單介紹如下:
(1)程序計(jì)數(shù)器(Program Counter,PC) PC是一個(gè)16位的計(jì)數(shù)器,它的作用是控制程序的執(zhí)行順序,其內(nèi)容為下一條要執(zhí)行的指令的地址,尋址范圍達(dá)64KB。PC有自動(dòng)加1的功能,從而實(shí)現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此用戶無法對它進(jìn)行讀/寫操作,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移。因地址不在SFR(專用寄存器)內(nèi),一般不計(jì)作專用寄存器。
(2)累加器(Accumulator,ACC) 累加器為8位寄存器,是常用的專用寄存器,功能較多,地位重要。它既可用于存放操作數(shù),也可用來存放運(yùn)算的中間結(jié)果。MCS-51單片機(jī)中大部分單操作數(shù)指令的操作數(shù)就取自累加器,許多雙操作數(shù)指令中的一個(gè)操作數(shù)也取自累加器。
(3)B寄存器 B寄存器也是一個(gè)8位寄存器,主要用于乘除運(yùn)算。乘法運(yùn)算時(shí),B存乘數(shù),乘法操作后,乘積的高8位存于B中;除法運(yùn)算時(shí),B存除數(shù),除法操作后,余數(shù)存于B中。此外,B寄存器也可作為一般寄存器使用。
(4)程序狀態(tài)字(Program Status Word,PSW) 程序狀態(tài)字是一個(gè)8位寄存器,用于存放程序運(yùn)行中的各種狀態(tài)信息。其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動(dòng)設(shè)置的,而有些位的狀態(tài)則使用軟件方法設(shè)定。PSW的位狀態(tài)可以用專門指令進(jìn)行測試,也可以用指令讀出。一些條件轉(zhuǎn)移指令根據(jù)PSW某些位的狀態(tài)進(jìn)行程序轉(zhuǎn)移。PSW的各位定義如圖1-10所示。
PSW位地址:
D7H
D6H
D5H
D4H
D3H
D2H
D1H
D0H
CY
AC
F0
RS1
RS0
OV
—
P
圖1-10 PSW的各位定義
PSW的字節(jié)地址為D0H。
除PSW.1位保留未用外,其余各位的定義及使用如下:
CY(PSW.7)——進(jìn)位標(biāo)志位。CY是PSW中常用的標(biāo)志位。其功能有二:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志,在進(jìn)行加或減運(yùn)算時(shí),如果操作結(jié)果的位有進(jìn)位或借位時(shí),CY由硬件置“1”(Single Chip Micro Computer),否則清“0”;二是在位操作中作累加位使用。位傳送、位與位等位操作,進(jìn)位標(biāo)志位是固定的操作位之一。
AC(PSW.6)——輔助進(jìn)位標(biāo)志位。在進(jìn)行加或減運(yùn)算中,當(dāng)?shù)?位向高4位進(jìn)位或借位時(shí),AC由硬件置“1”,否則AC位清“0”。在BCD碼調(diào)整中也要用到AC位狀態(tài)。
F0(PSW.5)——用戶標(biāo)志位。這是一個(gè)供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位,用于控制程序的轉(zhuǎn)向。
RS1和RS0(PSW.4、PSW.3)——工作寄存器組選擇位。它們被用于選擇CPU當(dāng)前使用的通用寄存器組。通用寄存器共有4組,其對應(yīng)關(guān)系如表1-5所示。
表1-5 通用寄存器組的選擇
RS1 RS0
寄存器組
片內(nèi)RAM地址
0 0
第0組
00H—07H
0 1
第1組
08H—0FH
1 0
第2組
10H—17H
1 1
第3組
18H—1FH
這兩個(gè)選擇位的狀態(tài)是由軟件設(shè)置的,被選中的寄存器組即為當(dāng)前通用寄存器組。當(dāng)單片機(jī)上電或復(fù)位后,RS1:RS0=00。
OV(PSW.2)——溢出標(biāo)志位。在帶符號數(shù)加減運(yùn)算中,OV=1表示加減運(yùn)算超出了累加器A所能表示的符號數(shù)有效范圍(-128~+127),即產(chǎn)生了溢出;因此運(yùn)算結(jié)果是錯(cuò)誤的;OV=0表示運(yùn)算正確,即無溢出產(chǎn)生。
在乘法運(yùn)算中,OV=1表示乘積超過255,即乘積分別在B與A中;OV=0表示乘積只在A中。
在除法運(yùn)算中,OV=1表示除數(shù)為0,除法不能進(jìn)行;OV=0表示除法可正常進(jìn)行。
P(PSW.0)——奇偶標(biāo)志位,表明累加器A中內(nèi)容的奇偶性。如果A中有奇數(shù)個(gè)“1”,則P置“1”,否則置“0”。凡是改變累加器A中內(nèi)容的指令均會影響P標(biāo)志位。
該標(biāo)志位對串行通信中的數(shù)據(jù)傳輸有重要的意義,在串行通信中常采用奇偶校驗(yàn)的辦法來校驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
(5)數(shù)據(jù)指針(DPTR) 數(shù)據(jù)指針為16位寄存器。編程時(shí),DPTR既可以按16位寄存器使用,也可以按兩個(gè)8位寄存器分開使用,即:
DPH DPTR高8位字節(jié)
DPL DPTR 低8位字節(jié)
DPTR通常在訪問外部數(shù)據(jù)存儲器時(shí)作地址指針使用。由于外部數(shù)據(jù)存儲器的尋址范圍為64KB,故把DPTR設(shè)計(jì)為16位。
(6)堆棧指針 (Stack Pointer,SP) 堆棧是一個(gè)特殊的存儲區(qū),用來暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出”的原則存取數(shù)據(jù)的。堆棧共有兩種操作:進(jìn)棧和出棧。
由于MCS-51單片機(jī)的堆棧設(shè)在內(nèi)部RAM中,因此SP是一個(gè)8位寄存器。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,從而復(fù)位后堆棧實(shí)際上是從08H單元開始的,但08H~1FH單元分別屬于工作寄存器1~3區(qū),如果程序要用到這些區(qū),把SP值改為更大的值。一般在內(nèi)部RAM的30H~7FH單元中開辟堆棧。SP的內(nèi)容一經(jīng)確定,堆棧的位置也就跟著確定下來,由于SP可初始化為不同的值,因此,堆棧位置是浮動(dòng)的。21ic基礎(chǔ)知識這里只集中講述了6個(gè)專用寄存器,其余的專用寄存器(如TCON、TMOD、IE、IP、SCON、PCON、SBUF等)將在以后章節(jié)中陸續(xù)介紹。
對專用寄存器的字節(jié)尋址問題作如下幾點(diǎn)說明:
(1)21個(gè)可字節(jié)尋址的專用寄存器不連續(xù)地分散在內(nèi)部RAM高128單元之中,盡管還余有許多空閑地址,但用戶并不能使用。
(2)程序寄數(shù)器PC不占據(jù)RAM單元,它在物理上是獨(dú)立的,因此是不可尋址的寄存器。
(3)對專用寄存器只能使用直接的尋址方式,書寫時(shí)既可使用寄存器符號,也可使用寄存器單元地址。
全部專用寄存器可位尋址的位共83位,這些位都具有專門的定義和用途。這樣,加上位尋址的128位,在MCS-51的內(nèi)部RAM中共有128+83=211個(gè)可尋址位。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 電表互感器匝數(shù)倍率怎么看?2025/9/5 17:05:11
- 顏色傳感器原理及實(shí)際應(yīng)用案例2025/9/5 16:09:23
- 調(diào)諧器和調(diào)制器的區(qū)別2025/9/4 17:25:45
- 有載變壓器和無載變壓器的區(qū)別有哪些2025/9/4 17:13:35
- 什么是晶體諧振器?晶體諧振器的作用2025/9/4 16:57:42
- PCB電源完整性(PI)設(shè)計(jì)核心實(shí)操規(guī)范
- 多層PCB疊層設(shè)計(jì)核心實(shí)操規(guī)范
- 提高M(jìn)OSFET效率的電路優(yōu)化方法
- 電源管理IC在智能家居中的應(yīng)用
- 差分信號連接器設(shè)計(jì)要點(diǎn)
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析









