第三節(jié):PIC16C5X系列單片機內(nèi)部結(jié)構(gòu)
PIC16C5X在一個芯片上集成了一個8位算術(shù)邏輯單元ALU和工作寄存器(W);384~2K的12位程序存儲器(ROM);32~80個8位數(shù)據(jù)寄存器(RAM);12~20個I/ O口端;8位計數(shù)器及預(yù)分頻器;時鐘、復(fù)位、及看門狗計數(shù)器等。內(nèi)部結(jié)構(gòu)如圖1.2所示:
從圖中可以看到,PIC16C5X有個特點,就是把數(shù)據(jù)存儲器RAM當(dāng)作寄存器來尋址使用以方便編程。寄存器組按功能分成二部分,即特殊寄存器組和通用寄存器組。特殊寄存器組包括實時時鐘計數(shù)器RTCC,程序計數(shù)器PC,狀態(tài)寄存器Status,I/O口寄存器以及存儲體選擇寄存器FSR。這些寄存器稍后我們還要詳細論述。
PIC總線結(jié)構(gòu)采取數(shù)據(jù)線(8位)和指令線(12位)獨立分離的哈佛(Harvard)結(jié)構(gòu)。這樣可使單片機的指令速度得到提高。當(dāng)一條指令在ALU中執(zhí)行時,下一條指令已經(jīng)被取出放到指令寄存器等待執(zhí)行了。算術(shù)邏輯單元ALU和工作寄存器(W)承擔(dān)算術(shù)邏輯操作任務(wù)。
PIC16C5X提供二級堆棧(Stack),所以子程序調(diào)用只有二層。使用時一定要注意這點,否則程序運行將失去控制。