<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機原理介紹

51單片機原理介紹

作者: 時(shí)間:2013-01-15 來(lái)源:網(wǎng)絡(luò ) 收藏

一、程序存儲器(ROM)

地址范圍:0000H~FFFFH,共64KB。其中:

低段4KB:0000H~0FFFH

80C51和87C51在片內,80C31在片外。

高段60KB:1000H~FFFFH。在片外。

讀寫(xiě)ROM用MOVC指令,控制信號是PSEN和EA。

讀ROM是以程序計數器PC作為16位地址指針,依次讀相應地址ROM中的指令和數據,每讀一個(gè)字節,PC+1→PC,這是CPU自動(dòng)形成的。

但是有些指令有修改PC的功能,例如轉移類(lèi)指令和MOVC指令,CPU將按修改后PC的16位地址讀ROM。

讀外ROM的過(guò)程:

CPU從PC中取出當前ROM的16位地址,分別由P0口(低8位)和P2口(高8位)同時(shí)輸出,ALE信號有效時(shí)由鎖存低8位地址信號,輸出的低8位地址信號和P2口輸出的高8位地址信號同時(shí)加到外ROM 16位地址輸入端,當PSEN信號有效時(shí),外ROM將相應地址存儲單元中的數據送至數據總線(xiàn)(P0口),CPU讀入后存入指定單元。

二、外部數據存儲器(外RAM)

? 地址范圍:0000H~FFFFH 共64KB。

? 讀外RAM的過(guò)程:

外RAM 16位地址分別由P0口(低8位)和P2口(高8位)同時(shí)輸出,ALE信號有效時(shí)由鎖存低8位地址信號,地址鎖存器輸出的低8位地址信號和P2口輸出的高8位地址信號同時(shí)加到外RAM 16位地址輸入端,當RD信號有效時(shí),外RAM將相應地址存儲單元中的數據送至數據總線(xiàn)(P0口),CPU讀入后存入指定單元。

三、單片機內部數據存儲器原理(內RAM)

從廣義上講,8051內RAM(128B)和特殊功能寄存器(128B)均屬于片內RAM空間,讀寫(xiě)指令均用MOV指令。但為加以區別,內RAM通常指00H~7FH的低128B空間。

8051內RAM又可分成三個(gè)物理空間:工作寄存器區、位尋址區和數據緩沖區。

作用:

有專(zhuān)用于工作寄存器操作的指令,讀寫(xiě)速度比一般內RAM要快,指令字節比一般直接尋址指令要短,還具有間址功能,能給編程和應用帶來(lái)方便。

工作寄存器區分為4個(gè)區:0區、1區、2區、3區。每區有8個(gè)寄存器:R0~R7,寄存器名稱(chēng)相同。但是,當前工作的寄存器區只能有一個(gè),由PSW中的D4、D3位決定。

⒉ 位尋址區

⑴地址:

從20H~2FH共16字節(Byte,縮寫(xiě)為英文大寫(xiě)字母B)。每B有8位(bit,縮寫(xiě)為小寫(xiě)b),共128位,每一位均有一個(gè)位地址,可位尋址、位操作。即按位地址對該位進(jìn)行置1、清0、求反或判轉。

⑵用途:

存放各種標志位信息和位數據。

⑶注意事項:

位地址與字節地址編址相同,容易混淆。

區分方法:位操作指令中的地址是位地址;

字節操作指令中的地址是字節地址。

位尋址區的位地址映象表

⒊ 數據緩沖區

內RAM中30H~7FH為數據緩沖區,用于存放各種數據和中間結果,起到數據緩沖的作用。

四、特殊功能寄存器(SFR)

特殊功能寄存器地址映象表(一)

點(diǎn)擊瀏覽下一頁(yè)

特殊功能寄存器地址映象表(二)

點(diǎn)擊瀏覽下一頁(yè)

特殊功能寄存器地址映象表(三)

點(diǎn)擊瀏覽下一頁(yè)

⑶ 程序狀態(tài)字寄存器PSW

PSW也稱(chēng)為標志寄存器,了解這個(gè)對于了解單片機原理非常的重要,存放各有關(guān)標志。其結構和定義如下:

點(diǎn)擊瀏覽下一頁(yè)

① Cy — 進(jìn)位標志。

用于表示Acc.7有否向更高位進(jìn)位。

② AC — 輔助進(jìn)位標志。

用于表示Acc.3有否向Acc.4進(jìn)位。

③ RS1、RS0 — 工作寄存器區選擇控制位。

RS1、RS0 = 00 —— 0區(00H~07H)

RS1、RS0 = 01 —— 1區(08H~0FH)

RS1、RS0 = 10 —— 2區(10H~17H)

RS1、RS0 = 11 —— 3區(18H~1FH)

④ OV — 溢出標志。

表示Acc在有符號數算術(shù)運算中的溢出。

51單片機相關(guān)文章:51單片機教程


c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


存儲器相關(guān)文章:存儲器原理


晶振相關(guān)文章:晶振原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>