第一章MCS-51单片机结构,单片机原理、接口及应用
文章目錄
- 一、MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)
- 二、CPU
- 三、存儲(chǔ)器
- 四、特殊功能寄存器SFR
- 五、時(shí)鐘電路與復(fù)位電路
- 六、引腳功能
一、MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)
單片機(jī)是在一塊芯中集成了CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器和多功能I/O接口等基本部件的大規(guī)模集成電路,又稱MCU。
51系列單片機(jī)內(nèi)包含下列部件:
一個(gè)8位CPU
一個(gè)片內(nèi)振蕩器及時(shí)鐘電路
4KBROM程序存儲(chǔ)器
128BRAM數(shù)據(jù)存儲(chǔ)器
可尋址64KB外部數(shù)據(jù)存儲(chǔ)器和64KB外部程序存儲(chǔ)器的控制電路
32條可編程的I/O線(4個(gè)8位并行I/O接口)
兩個(gè)16位的定時(shí)/計(jì)數(shù)器
一個(gè)可編程全雙工串行接口
五個(gè)中斷源和兩個(gè)優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)
二、CPU
核心部件,由運(yùn)算器和控制器等部件組成。
運(yùn)算器:算術(shù)運(yùn)算,邏輯運(yùn)算,位操作。
程序計(jì)數(shù)器PC:16位寄存器,用來(lái)存放即將要執(zhí)行的指令地址,可對(duì)64KB程序存儲(chǔ)器直接尋址。執(zhí)行指令時(shí),PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。
指令寄存器:用來(lái)存放指令代碼,CPU執(zhí)行指令時(shí),將程序存儲(chǔ)器中讀取的指令代碼送入指令寄存器,經(jīng)指令譯碼器譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能。
三、存儲(chǔ)器
分程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,分片內(nèi)和片外,從邏輯地址空間看,又可分為片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器、片內(nèi)片外統(tǒng)一編址的程序存儲(chǔ)器。
引腳EA(上面一橫)的接法決定了程序存儲(chǔ)器0000H~0FFFH的4KB地址范圍是在片內(nèi)還是片外。為1時(shí),片內(nèi)0000H~0FFFH,片外1000H~FFFFH;為0時(shí),0000H~FFFFH64KB都是片外。
程序存儲(chǔ)器:以PC作為地址指針,通過16位地址總線,可尋址64KB地址空間。
程序存儲(chǔ)器中的特殊地址:
| 0000H | 復(fù)位操作后的程序入口 |
| 0003H | 外部中斷0服務(wù)程序入口 |
| 000BH | 定時(shí)器0中斷服務(wù)程序入口 |
| 0013H | 外部中斷1服務(wù)程序入口 |
| 001BH | 定時(shí)器1中斷服務(wù)程序入口 |
| 0023H | 串行口中斷服務(wù)程序入口 |
由于兩入口地址直接的存儲(chǔ)空間有限,通常在這些入口地址開始的兩三個(gè)地址單元中,放入一條轉(zhuǎn)移類指令(跳轉(zhuǎn)指令),使得相應(yīng)程序跳轉(zhuǎn)到指定的程序存儲(chǔ)器區(qū)域。
外部數(shù)據(jù)存儲(chǔ)器:51單片機(jī)具有擴(kuò)展64KB外部數(shù)據(jù)存儲(chǔ)器RAM和I/O端口的能力,它們統(tǒng)一編址,使用相同的選通控制信號(hào)、相同的訪問指令MOVX,以及相同的寄存器間接尋址。
內(nèi)部數(shù)據(jù)存儲(chǔ)器:51單片機(jī)中只有128字節(jié)RAM,地址為00H~7FH,它和SFR的地址(80H~FFH)空間是連續(xù)的,而在增強(qiáng)型52子系列中有256字節(jié)RAM,高128字節(jié)RAM和SFR的地址是重合的,訪問高128字節(jié)RAM采用寄存器間接尋址,訪問SFR則采用直接尋址。
前32個(gè)單元(00H~1FH)為寄存器區(qū),共分4組,每組有8個(gè)8位寄存器R0~R7,R0和R1可作為間址寄存器使用。使用時(shí),只能選其中一組寄存器,寄存器的選組由程序狀態(tài)字PSW的RS1和RS0位定。一旦選中了一組寄存器,其它3組只能作為數(shù)據(jù)存儲(chǔ)器使用,而不能作為寄存器使用。初始化或者復(fù)位時(shí),自動(dòng)選中0組。
20H~2FH為位地址區(qū),共16個(gè)單元,每個(gè)單元有8位,共128位,每位有一個(gè)位地址,范圍為00H~7FH,該區(qū)既可位尋址,又可字節(jié)尋址。
51單片機(jī)的堆棧設(shè)在內(nèi)部RAM區(qū),深度不大于128字節(jié),初始化時(shí)SP指向07H。
四、特殊功能寄存器SFR
用途:
A累加器、狀態(tài)標(biāo)志寄存器
單片機(jī)內(nèi)部各部件專用的控制、狀態(tài)寄存器
并行口、串行口影射寄存器
地址空間:
21個(gè)特殊功能寄存器不連續(xù)地分布在80H~FFH128個(gè)字節(jié)地址空間,地址為X0H和X8H是可位尋址的寄存器。
A——累加器,帶有全零標(biāo)志Z,A=0,則Z=1;A不等于0,則Z=0。該標(biāo)志常用于程序分支轉(zhuǎn)移的判斷條件。
B——寄存器,常用于乘除法運(yùn)算。
PSW——程序狀態(tài)字,主要起著標(biāo)志寄存器的作用:
Cy:進(jìn)/借位標(biāo)志,反映運(yùn)算中最高位有無(wú)進(jìn)/借位,有進(jìn)/借位時(shí)為1
AC:輔助進(jìn)/借位標(biāo)志,反映運(yùn)算中低半字節(jié)與高半字節(jié)間的進(jìn)/借位情況
F0:用戶標(biāo)志位,可由用戶設(shè)定其含義
RS1、RS2:工作寄存器組選擇位
OV:溢出標(biāo)志位,補(bǔ)碼運(yùn)算的結(jié)果有溢出時(shí)為1,OV=Cy異或Cy-1
-:無(wú)效位
P:奇偶標(biāo)志位,反映對(duì)累加器A操作后,A累加器中“1”個(gè)數(shù)的奇偶,奇為1
SP:堆棧指針寄存器
DPTR:16位數(shù)據(jù)指針寄存器,分DPL和DPH
P0~P3:I/O端口寄存器
五、時(shí)鐘電路與復(fù)位電路
51單片機(jī)的時(shí)鐘信號(hào)通常有兩種電路形式:內(nèi)部振蕩方式和外部振蕩方式。
內(nèi)部振蕩:在引腳XTAL1和XTAL2外接晶體振蕩器(晶振),C1和C2起穩(wěn)定振蕩頻率、快速起振作用。
外部振蕩:把已有的時(shí)鐘信號(hào)引入單片機(jī),這種方式適宜用于使單片機(jī)的時(shí)鐘與外部信號(hào)保持一致。對(duì)HMOS的單片機(jī)(8031),由XTAL2引入,對(duì)CHMOS的單片機(jī)(8XCXX),由XTAL1引入。
振蕩周期:晶振的振蕩周期,又稱時(shí)鐘周期,為最小的時(shí)序單位。
狀態(tài)周期:振蕩頻率經(jīng)單片機(jī)內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時(shí)鐘周期,因此,一個(gè)狀態(tài)周期包含兩個(gè)振蕩周期。
機(jī)器周期MC:1個(gè)機(jī)器周期由6個(gè)狀態(tài)周期即12個(gè)振蕩周期組成,是計(jì)算機(jī)執(zhí)行一種基本操作的時(shí)間單位。
指令周期:執(zhí)行一條指令所需的時(shí)間,一個(gè)指令周期由1~4個(gè)機(jī)器周期組成,依據(jù)指令不同而不同。
振蕩周期和機(jī)器周期是單片機(jī)內(nèi)計(jì)算其它時(shí)間值(例如波特率、定時(shí)器的定時(shí)時(shí)間等)的基本單位。
單片機(jī)外接晶振頻率12MHZ時(shí):
復(fù)位:使片內(nèi)電路初始化,當(dāng)復(fù)位引腳RST出現(xiàn)5ms以上的高電平時(shí),單片機(jī)就完成復(fù)位操作。
兩種復(fù)位操作的形式:上電復(fù)位,開關(guān)復(fù)位
上電復(fù)位:接通電源后自動(dòng)復(fù)位
開關(guān)復(fù)位:在運(yùn)行期間,按鈕使單片機(jī)復(fù)位
單片機(jī)的復(fù)位操作使SFR寄存器初始化,而不改變片內(nèi)RAM中的內(nèi)容。
幾個(gè)主要特殊功能寄存器復(fù)位狀態(tài):
PC=0000H:程序計(jì)數(shù)器為0表明單片機(jī)復(fù)位后程序從0000H地址單元開始執(zhí)行
A=00H:累加器清零
PSW=00H:選寄存器0組為工作寄存器組
SP=07H:堆棧指針指向片內(nèi)RAM的07H單元,根據(jù)先加后壓的法則,第一個(gè)被壓入的數(shù)據(jù)被寫入08H單元中
P0~P3=FFH:向各端口寫入1,各端口即可用于輸入又可用于輸出
六、引腳功能
Vss:接地端
Vcc:電源端
XTAL1、XTAL2:接外部晶體或外部時(shí)鐘信號(hào)
RST/VPD:①?gòu)?fù)位信號(hào)輸入②接備用電源
ALE:地址鎖存允許,輸出脈沖的頻率為振蕩頻率的六分之一
PR0G(上面一橫):對(duì)片內(nèi)EPROM編程時(shí),編程脈沖由該引腳引入
PSEN(上面一橫):程序存儲(chǔ)器允許,輸出讀取外部程序存儲(chǔ)器的選通信號(hào)
EA(上面一橫):選擇訪問程序存儲(chǔ)器
P0.0~P0.7:P0口,數(shù)據(jù)/低八位地址復(fù)用總線端口
P1.0~P1.7:P1口,靜態(tài)通用端口
P2.0~P2.7:P2口,高八位地址總線端口
P3.0~P3.7:P3口,雙功能靜態(tài)端口
總結(jié)
以上是生活随笔為你收集整理的第一章MCS-51单片机结构,单片机原理、接口及应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用描述文件升级iOS 15描述文件
- 下一篇: 愚公移山通假字