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