功能描述
6.1 操作寄存器
6.1.1 R0 (間接尋址寄存器)
R0 不是一個在物理寄存器空間存在的寄存器。它用于作為間接尋址指針,任何使用R0
作為存取數(shù)據(jù)指針的指令,實際上存取的是RAM選擇寄存器(R4)所指向的數(shù)據(jù)。
6.1.2 R1 (定時時鐘/計數(shù)器)
對來自TCC引腳的外部信號沿(邊沿由CONT寄存器的第5位(TE)設(shè)置)或?qū)?nèi)部指令
周期時鐘進行加1計數(shù)。
與其它寄存器一樣可讀寫。
TCC 預(yù)分頻計數(shù)器分配給TCC使用。
下列任何一種情況發(fā)生,CONT寄存器內(nèi)容被清零
• 給TCC寄存器賦值
• 給TCC預(yù)分頻位賦值(CONT寄存器的第3, 2, 1, 0位)
• 上電復(fù)位,/RESET復(fù)位,或WDT溢出復(fù)位
6.1.3 R2 (程序計數(shù)器) 和堆棧
R2 和硬件堆棧是 11位寬,它的結(jié)構(gòu)于6.1.3.1節(jié)的數(shù)據(jù)存儲配置表中有描述。
產(chǎn)生2K×13位片內(nèi)OTP ROM 地址以尋址相應(yīng)的程序指令碼。一個程序頁是1024字
長。
復(fù)位時R2的所有位都被置為”0”。
"JMP" 指令可直接加載程序計數(shù)器的低10位。因此,"JMP"指令允許PC跳轉(zhuǎn)到一個
程序頁的任一位置。
"CALL"指令首先加載PC的低10位,然后將PC+1推入堆棧。因此,子程序入口地址
可位于一個程序頁的任一位置。
"LJMP" 指令直接加載程序計數(shù)器的低11位(A0~A10),因此,"LJMP"指令允許PC跳
轉(zhuǎn)到2K(211)空間內(nèi)的任一位置。
"LCALL" 指令首先加載PC的低11位(A0~A10),然后將PC+1推入堆棧,因此,子程
序入口地址可位于2K(211)空間內(nèi)的任一位置。
"RET" ("RETL k", "RETI") 指令將棧頂值加載到當前PC。
"ADD R2, A" 可將一個相對地址與當前PC相加,PC的第九位及以上各位逐次遞增。
"MOV R2, A" 可從"A"寄存器加載一個地址到PC的低8位,PC的第九位及以上各位
保持不變。
任何(除“ADD R2,A”指令外)向R2寫入值的指令(例如. "MOV R2, A", "BC R2, 6")都會
使PC的第九位與第十位(A8~A9)保持不變。
除了"LCALL"與"LJMP"外,其它任何指令都是單指令周期(fclk/2),"LCALL"與"LJMP"
指令需要兩個指令周期。
6.1.4 R3 (狀態(tài)寄存器)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
RST IOCS − T P Z DC C
Bit 7 (RST): 復(fù)位類型位
若休眠模式由引腳狀態(tài)改變、比較器狀態(tài)改變或AD轉(zhuǎn)換完成等喚醒,其
值為“1”。其它復(fù)位類型喚醒,其值為“0”。
Bit 6 (IOCS): IO控制寄存器段選擇位
0: 選擇段0 (IOC50 ~ IOCF0)
1: 選擇段1 (IOC51 ~ IOCC1)
Bit 5: 未使用,一致設(shè)為“0”
Bit 4 (T): 溢出位。 執(zhí)行“SLEP”和“WDTC”指令或上電后置1,WDT溢出時清0(詳見6.5.2
節(jié),狀態(tài)寄存器的T和P狀態(tài))。
Bit 3 (P): 掉電位。 當上電或執(zhí)行"WDTC"指令后置1,執(zhí)行"SLEP"指令后該位清“0” (詳
見6.5.2節(jié),狀態(tài)寄存器的T和P狀態(tài))。
Bit 2 (Z): 零標志位,如果邏輯或算術(shù)運算的結(jié)果為零時置”1”
Bit 1 (DC): 輔助進位標志位
Bit 0 (C): 進位標志位
6.1.5 R4 (RAM 選擇寄存器)
Bit 7 (SBANK): 特殊功能寄存器 0x05~0x0F bank 選擇位
Bit 6 (BANK): 用于選擇寄存器的Bank 0和Bank 1
Bits 5 ~ 0: 用于間接尋址模式下的寄存器選擇(地址: 00~0F, 10~3F)
請參考上面章節(jié)6.1.3.1的數(shù)據(jù)存儲器配置
6.1.6 Bank 0 R5 ~ R7 (端口 5 ~ 端口 7)
R5 和 R6, P70 和 P71 是 I/O 寄存器
6.1.7 Bank 0 R8 (AISR: ADC 輸入選擇寄存器)
AISR寄存器分別單獨定義I/O端口作為模擬輸入或數(shù)字I/O口。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
ADE7 ADE6 ADE5 ADE4 ADE3 ADE2 ADE1 ADE0
Bit 7 (ADE7): P57引腳的AD轉(zhuǎn)換使能位
0: 禁止ADC7,P57作為普通I/O口
1: 使能ADC7作為模擬輸入引腳
Bit 6 (ADE6): P55引腳的AD轉(zhuǎn)換使能位