PIC18F單片機(jī)內(nèi)核組成
(1)運(yùn)算器:?8位運(yùn)算/邏輯運(yùn)算部件,累加器(工作寄存器W)
本文引用地址:http://m.butianyuan.cn/article/201611/319346.htm(2)??8*8硬件乘法器:可執(zhí)行無(wú)符號(hào)運(yùn)算,產(chǎn)生一個(gè)16位運(yùn)算結(jié)果
(3)?控制單元:定時(shí)控制邏輯,RAM文件寄存器,地址多路選擇器,指令寄存器,文件選擇寄存器
2.程序存儲(chǔ)器和程序計(jì)數(shù)器
單片機(jī)內(nèi)存放程序指令的存儲(chǔ)器稱為程序存儲(chǔ)器。程序計(jì)數(shù)器是21位寬,可尋址2MB的程序存儲(chǔ)器空間?
3.狀態(tài)寄存器
PIC單片機(jī)的狀態(tài)寄存器是8位寄存器,用來(lái)存放運(yùn)算結(jié)果的一些特征
?bit7~bit5:未用,該位讀出時(shí)始終為0
bit4:N表示負(fù)標(biāo)志位,用于有符號(hào)的算術(shù)運(yùn)算,結(jié)果表明是否為負(fù)數(shù)
1=結(jié)果為負(fù)
0=結(jié)果為正?
bit3:表示溢出為,用于有符號(hào)算術(shù)運(yùn)算,表明溢出了7位二進(jìn)制數(shù)的范圍?
1=算術(shù)運(yùn)算或邏輯運(yùn)算中發(fā)生溢出
0=沒(méi)有發(fā)生溢出
bit2:Z表示全0標(biāo)志位
1=算術(shù)運(yùn)算或邏輯運(yùn)算結(jié)果為0
0=?算術(shù)運(yùn)算或邏輯運(yùn)算結(jié)果不為0
bit1:DC表示輔助進(jìn)位/借位標(biāo)志位,用于ADDWF、ADDLW、SUBLW、SUBWF
1=結(jié)果的第4個(gè)第有效位發(fā)生進(jìn)位
0=?結(jié)果的第4個(gè)第有效位未發(fā)生進(jìn)位
bit0:C表示進(jìn)位/借位標(biāo)志位,用于ADDWF、ADDLW?、SUBLW、SUBWF
1=結(jié)果的最高位有效位發(fā)生進(jìn)位
0=?結(jié)果的最高位有效位未發(fā)生進(jìn)位
4.數(shù)據(jù)存儲(chǔ)器
數(shù)據(jù)存儲(chǔ)器倍集成在單片機(jī)內(nèi),可以直接用內(nèi)部總線傳送信息它們都是以寄存器方式工作和尋址。通用數(shù)據(jù)寄存器用于存儲(chǔ)數(shù)據(jù)?或控制信息,特殊功能寄存器作為CPU的程序計(jì)數(shù)器地址指針、狀態(tài)寄存器、文件選擇寄存器、間接尋址寄存器,并用來(lái)規(guī)定或設(shè)置內(nèi)部輸入/輸出功能
?5.堆棧
堆棧用來(lái)保護(hù)當(dāng)發(fā)生程序中斷或跳轉(zhuǎn)等操作,需要對(duì)當(dāng)前主程序斷點(diǎn)的地址進(jìn)行保存的存儲(chǔ)器,遵循先進(jìn)后出的原則來(lái)存儲(chǔ)數(shù)據(jù)?
評(píng)論