欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1953|回復(fù): 1
收起左側(cè)

MCS-51單片機(jī) 原理 整理

[復(fù)制鏈接]
ID:565582 發(fā)表于 2019-6-18 22:15 | 顯示全部樓層 |閱讀模式
《MCS-51單片機(jī)原理、系統(tǒng)設(shè)計(jì)與應(yīng)用_12015401.pdf》
MCS-51 Intel 公司 的 8051 內(nèi)核技術(shù)
MSC-51單片機(jī)(有史以來,最簡單易懂教程).pdf
《新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì).pdf》 ---- good

2 MCS-51 PC 指針

PC 是 單片機(jī) CPU 內(nèi)部的一個(gè)寄存器
總是指向程序存儲(chǔ)器,存放下一條要執(zhí)行指令的地址。
復(fù)位之后的的值為 0x0000H

CPU內(nèi)部的寄存器包括:

寄存器        復(fù)位值
PC        0000H
Acc        00H
B        00H
PSW        00H
SP        07H
DPTR        0000H
MCS-51 復(fù)位之后,(PC)= 0000H,
系統(tǒng)程序從0000H單元開始,0000H是復(fù)位入口地址,是系統(tǒng)程序的啟動(dòng)地址。
一般在該單元存放一條絕對跳轉(zhuǎn)指令,從跳轉(zhuǎn)地址開始存放初始化程序和主程序。

2 MCS-52 內(nèi)部RAM劃分

00H — 7FH ( 0 —127 )單元組成的128字節(jié)的RAM塊

80H ---- FFH ( 128 — 255 )單元組成的 128字節(jié)的RAM塊 (MCS-51中沒有,這一個(gè)部分)

80H ---- FFH ( 128 — 255 )的 SFR 特殊功能寄存器塊

在MCS-52 中,高128字節(jié)的RAM 和SFR塊地址重疊,但是物理上是兩個(gè)不同的地方。
訪問的時(shí)候,根據(jù)指令的不同,來確定是訪問RAM,還是方位SFR。
訪問高80H ---- FFH RAM是 間接尋址方式。
訪問SFR 是 直接尋址方式。
低128字節(jié)的RAM 間接 直接都可以。

SFR 這128個(gè)字節(jié)中僅僅有26個(gè)字節(jié)是有意義的。

3 MSC-51 低128字節(jié) RAM劃分 00H – 7FH



CPU寄存器 SP 指針 復(fù)位之后 指向 RAM地址 07H,
如果使用PUSH指令 ,會(huì)將數(shù)據(jù)存放在 RAM地址07H,08H,依次往上。

RAM 地址的 00H — 07H 是第一組 R0 — R7
RAM 地址的 08H — 0FH 是第二組 R0 — R7
RAM 地址的 10H — 17H 是第三組 R0 — R7
RAM 地址的 18H — 1FH 是第四組 R0 — R7
R0—R7 不是 和 PC SP 一樣的 CPU內(nèi)部的寄存器。

R0 – R7 叫做 工作寄存器區(qū) 位于 RAM

SFR 應(yīng)該是位于CPU內(nèi)部— 是特殊功能寄存器。

4 堆棧

用戶RAM區(qū),地址為30H — 7FH,這些地址只能按字節(jié)尋址。
復(fù)位的時(shí)候,SP指向07H單元,當(dāng)用戶使用堆棧的時(shí)候,應(yīng)該首先設(shè)置堆棧,用戶堆棧一般設(shè)置在30H—7FH范圍之內(nèi)。
SP 設(shè)置的越大,堆棧越淺。

堆棧 是在片內(nèi)RAM中開辟出來的一個(gè)區(qū)域,其主要是為子程序調(diào)用和中斷操作而設(shè)立的。
具體功能是:保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場。
無論是子程序調(diào)用,還是中斷操作,都需要返回主程序。

堆棧指針SP 是一個(gè)8位的SFR,特殊功能寄存器,SP的內(nèi)容指示堆棧頂部在內(nèi)部RAM塊中的位置。
它可以指向內(nèi)部RAM 00H— 7FH的任何單元。
實(shí)際使用的時(shí)候,最好是SP的值,設(shè)置為1FH,或者更大的值。

堆棧的操作,也就是對SP指針的操作,是通過指令集中的PUSH和POP指令實(shí)現(xiàn)的。
操作兩種:一種是數(shù)據(jù)壓入(PUSH)堆棧,
另外一種是數(shù)據(jù)彈出(POP)堆棧。

堆棧的棧頂由SP自動(dòng)管理。每次進(jìn)入壓入或者彈出操作以后,堆棧指針SP自動(dòng)調(diào)整以保持指示棧頂位置。
當(dāng)一個(gè)字節(jié)數(shù)據(jù)壓入堆棧后,SP自動(dòng)加1.
一個(gè)字節(jié)數(shù)據(jù)彈出堆棧之后,SP自動(dòng)減1
MCS-51單片機(jī)的這種堆棧結(jié)構(gòu)是屬于向上生長型的堆棧。

5 堆棧操作指令

MCS-51 單片機(jī)內(nèi)部 RAM,后進(jìn)先出(Last In First Out),
進(jìn)棧指令
Push direct
功能是,首先將SP 加1 ,然后將direct指向的地址的內(nèi)容,放到SP指向的RAM單元中。
出棧指令
POP direct
棧指向的RAM中的內(nèi)容放入 direct指向的地址中,
SP 減小1.

6 RET 子程序的放回指令

RET
指向指令的時(shí)候,
SP ---->PCH 然后 SP - 1 -----> SP
SP ---->PCL 然后 SP - 1 -----> SP
功能是從堆棧中退出PC的高8位和低8位字節(jié),
把棧指針減小2,從PC值開始繼續(xù)執(zhí)行程序。不影響標(biāo)志。

6 RETI 子程序的放回指令

和RET類似,本指令清除了中斷響應(yīng)時(shí)候,單片機(jī)內(nèi)部的中斷優(yōu)先級狀態(tài)。

7 長調(diào)用





8 中斷

中斷源向CPU提出處理請求。
CPU主動(dòng)中止執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,
硬件自動(dòng)將中斷點(diǎn)的地址(16位程序計(jì)數(shù)器PC的值)壓入堆棧中。

中斷響應(yīng)的主要內(nèi)容是由硬件自動(dòng)生成一條長調(diào)用指令LCALL addr16。
addr16 是程序存儲(chǔ)區(qū)中的中斷向量地址。
例如 對于 外部中斷1的響應(yīng),產(chǎn)生的長調(diào)用指令是,
LCALL 0013H。

生成LCALL 指令后,由CPU直接執(zhí)行該指令。
首先是將PC的內(nèi)容壓入堆棧保護(hù)斷點(diǎn),再將中斷入口地址裝入PC。

9 典型的中斷服務(wù)程序

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:565582 發(fā)表于 2019-6-18 22:34 | 顯示全部樓層
非常好
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表