您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
80C51單片機(jī)中央處理單元
來源: 日期:2013-12-17 21:34:58 人氣:標(biāo)簽:
中央處理器cpu是單片機(jī)中的核心部分,由控制器和運(yùn)算器組成。運(yùn)算器包含算術(shù)邏輯部件(alu)、控制器、寄存器b、累加器a、程序計(jì)數(shù)器pc、程序狀態(tài)字寄存器psw、堆棧指針sp、數(shù)據(jù)指針寄存器dptr以及邏輯運(yùn)算部件等。控制器包括指令寄存器、指令譯碼器、控制邏輯陣列等。算術(shù)邏輯部件(alu)功能是完成算術(shù)運(yùn)算和邏輯運(yùn)算,算術(shù)運(yùn)算包l括加法、減法、加i、減1等操作。邏輯運(yùn)算包l括,“與”、“或”、“異或”等操作。aul還有一l些直接按位操作功能,如置位、清零、求補(bǔ)、條l件判轉(zhuǎn)、邏輯“與”、“或”等。在需按位運(yùn)算時(shí),i位操作指令提供了把邏輯等式直接變換成軟i件的簡單明了的方法。
控制器的功能是按時(shí)間順序協(xié)調(diào)各部分i的工作,在控制器的控制下,單片機(jī)可對(duì)指令i進(jìn)行讀取、譯碼,形成各種操作動(dòng)作,使各個(gè)部i件之間能協(xié)調(diào)工作。
程序計(jì)數(shù)器pc是專門用來控制指令執(zhí)l行順序的一個(gè)寄存器,可以放16位二進(jìn)制l數(shù)碼,用來存放指令在內(nèi)存中的地址。當(dāng)一個(gè)l地址碼被取出后,pc會(huì)自動(dòng)加1,作好取下l-個(gè)指令地址碼的準(zhǔn)備工作。
累加器a是8位寄存器,它和算術(shù)邏輯部l件alu-起完成各種算術(shù)邏輯運(yùn)算,既可以j存放運(yùn)算前的原始數(shù)據(jù),又可以存放運(yùn)算的結(jié)果,它是使用 為頻繁的一個(gè)器件。
寄存器b是一個(gè)8位寄存器,用于乘除法運(yùn)算。乘法運(yùn)算時(shí),b是一個(gè)操作數(shù),積存于ab中。除法運(yùn)算時(shí),a是被除數(shù),b是除數(shù),其商存于a.余數(shù)存b。
程序狀態(tài)字psw是一個(gè)8位寄存器,這是一個(gè)非常重要的標(biāo)志寄存器,用來保存指令執(zhí)行結(jié)果的標(biāo)志,供程序查詢和判別。在psw的8位中有7個(gè)標(biāo)志位,格式如下:
p:這是psw的第0位,它是累加器a的奇偶標(biāo)志位。p=1表示累加器a中的數(shù)為奇數(shù),p=o為偶數(shù)。
ov:這是psw的第2位,稱ov為溢出標(biāo)志,對(duì)于帶符號(hào)的數(shù),在操作時(shí),ov=1表示有溢出,ov=o表示無溢出。
fo:用戶定義的標(biāo)志位。可作為軟件標(biāo)志,可通過軟件對(duì)其進(jìn)行置位/復(fù)位或測試,以控制程序的轉(zhuǎn)移。
ac:輔助進(jìn)位(半進(jìn)位)標(biāo)志。是低4位向高4位進(jìn)位或借位標(biāo)志,當(dāng)d3向d4位進(jìn)位,ac被置l,否則被清零。bcd碼調(diào)整時(shí),也用到ac。
cy:進(jìn)位標(biāo)志。在 高位有進(jìn)位(做加法運(yùn)算時(shí))或有借位(做減法時(shí)),cy=1,否則cy=o。
rs1、rso:寄存器組選擇位,可由軟件設(shè)置,這是psw中的第4位和第3位,用來指示當(dāng)前使用的工作寄存器區(qū)。
片內(nèi)工作寄存器共有4x8=32個(gè),這32個(gè)奇存器的地址編號(hào)為ooh到1fh,分成四個(gè)區(qū),每區(qū)8個(gè)寄存器都用ro—r7來標(biāo)稱。當(dāng)前使用到的工作寄存器區(qū),可由psw中的rs1、rso位指示出來(見下表)。
數(shù)據(jù)指針(dptr)這是一個(gè)16位寄存器,可分為dph、dpl高低兩個(gè)字節(jié),在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),用dptr作為地址指針。
【看看這篇文章在百度的收錄情況】