PIC單片機(jī)之16C84單片機(jī)介紹(一)
2.專用功能寄存器
CPU和外設(shè)使用專用寄存器以控制器件的操作。專用寄存是靜態(tài)RAM。下面介紹幾個重要的專用寄存器
?、贍顟B(tài)寄存器
狀態(tài)寄存器包含有ALU(復(fù)術(shù)邏輯運(yùn)算單元)的算術(shù)狀態(tài),復(fù)位狀態(tài)和對數(shù)據(jù)存儲器的塊選擇,與任何寄存器一樣,狀態(tài)寄存器可以作為任何指令的目的寄存器。如果狀態(tài)寄存器作為某指令的目的寄存器 ,而那條指令要影響Z、DC,C位的狀態(tài),則禁止寫這三位。圖4-4是 狀態(tài)寄存器及其狀態(tài)。
R/W R/W R/W R R R/W R/W R/W
IRP RP1 RP0 TO PD Z DC C bit7 bit0
其中C是進(jìn)位位,對ADDWF和ADDLW指令,當(dāng)這一位為1,表示指令 運(yùn)算的結(jié)果的最高有效位產(chǎn)生了進(jìn)位輸出。減法指令執(zhí)行的是加第二 操作數(shù)的新碼。對于循環(huán)指令(RRF,RLF),這一位即可以來自于源寄存器的高位,也可以來自于低位。如果這一位為0,表明結(jié)果的最高有效位沒有產(chǎn)生進(jìn)位輸出。對于減法,這一位的極性取反。DC是數(shù)字進(jìn)位或數(shù)字借位位。當(dāng)這一位為1時(shí),結(jié)果的D3位向D4位有進(jìn)位,否則無進(jìn)位。對于減法,這位的極性取反。Z是結(jié)果為0標(biāo)志。當(dāng)這一位為1時(shí),表明算術(shù)運(yùn)算和邏輯運(yùn)算的結(jié)果為0,否則這一位為0,表明運(yùn)算結(jié)果不為0。PD:低功耗位。當(dāng)這一位為1表明電源加上按正常供電或執(zhí)行了C LRWDT指令以后,這一位為0表示執(zhí)行了SLEEP指令(即器件進(jìn)入了低功 耗狀態(tài))。TO超時(shí)位。當(dāng)這一位為1時(shí),表明電源加上,進(jìn)入了正常供電,且執(zhí)行了CLRWDT和SLEEP指令,這一位為0表明產(chǎn)生了看門狗計(jì)時(shí)器超時(shí)。
RP1:RP0,作為直接尋址的數(shù)據(jù)存儲器的塊選擇位。
RP1:RP=00狀態(tài),選擇0塊(地址00H~7FH)。
RP1:RP0=01狀態(tài),選擇1塊(地址80H~FFH)。
RP1:RP0=10選擇2塊(地址100H~17FH)。
RP1:RP0=11選擇3塊(地址180H~1FFH)。
每塊128個字節(jié),PIC16C84只使用RP0位,RP1編程時(shí)設(shè)置為0。不允許使用RP1為通用讀/寫位,這可能影響與將來產(chǎn)品的兼容性。IRP寄存器塊選擇位(作為間接尋址),當(dāng)這一位設(shè)置為0,選擇0.1塊(地址00H~FFH),當(dāng)這一位為1時(shí),選擇2.3塊(地址100H~1FFH)。PIC16C84不使用IRP位,IRP位在編程時(shí)為0。狀態(tài)寄存器中的Z、DC,C位是根據(jù)器件的邏輯來置1或清0。而TO,PD位是不可寫入的。狀態(tài)寄存器作為目的寄存器的指令的結(jié)果將有不同的內(nèi)容。例如CLRF STATUS(清0狀態(tài)寄存器)。結(jié)果狀態(tài)寄存器的內(nèi)容為000uuluu。其中u表示不改變。只有BCF,BSF,SWAPF和MOVW F這些指令可以用來改變STATUS寄存器的內(nèi)容,因?yàn)檫@幾條指令不影響任何狀態(tài)位。
?、贠PTION寄存器
OPTION寄存器是可讀,可寫的寄存器,它包含了各種控制位以配 置TMRO/WDT的預(yù)分頻器,外部INT中斷,TMRO和在PORTB的微弱上拉。圖4-5是OPTION寄存器各位的功能。 R/W R/W R/W R/W R/W R/W R/ W R/W
存儲器相關(guān)文章:存儲器原理
評論