3.1 概述:
MCS-51單片機晶片有許多種:
如8051、8031、8751、80C51、80C31等。
它由8個部件組成:
1、中央處理器(CPU)核心
2、時鐘電路 12MHz
3、程序存儲器(ROM/EPROM)4KB
4、數據存儲器(RAM)128B+128B SFR
5、並行I/O口(P0~P3)P0和P2兼作外總線
6、串行口 全雙工串行口
7、定時器/計數器 2個16位
8、中斷系統 5個中斷源,高級和低級兩級優先級別
它們都是通過總線連接,並被集成在一塊半導體晶片上,為單片微型計算機。
3.1.1 MCS-51單片機系列:
兩大系列:MCS-51子系列和MCS-52子系列。
其中51子系列是基本型,而52子系列屬於增強型。
片內ROM形式
無 ROM EPROM
51子系統 8031 8051 8751
80C31 80C51 87C51
52子系統 8032 8052 8752
80C32 80C52 87C52
52子系列與51子系列相比,其功能增強的具體方面如下:
1、片內RAM從128位元組增加到256位元組;
2、片內ROM從4KB增加到8KB;
3、定時器/計數器從2個增加到3個;
4、中斷源從5個增加到6~7個。
3.1.2 單片機晶片的半導體工藝:
MCS-51系列單片機採用以下兩種半導體工藝生產:
① HMOS 晶片型號中不帶有字母「C」的,功耗較大。
② HCMOS 晶片型號中凡帶有字母「C」的,具有高速度、高密度、低功耗的特點。
例如:8051的功耗為630mW,
80C51的功耗為120mW。
在可攜式、手提式或野外作業儀器設備或長期無人值守自動監測、監控儀表上是非常有意義的。因為在這些產品中最好使用HCOMS型單片機晶片。
3.1.3 片內ROM存儲器的配置形式及應用環境:
① MCS-51單片機內程序存儲器的配置形式有三種:
掩模ROM型 (由廠家一次寫入,成本低)
EPROM型 (由用戶可反覆寫入,成本較高)
無ROM型 (需在片外擴展)
各有特點,也各有其適用場合,可根據需要進行選擇。
② 環境溫度範圍,劃分為三個等級:
民用級 0 ℃ ~+70 ℃
工業級 -40 ℃ ~+85 ℃
軍用級 -65 ℃ ~+125 ℃
因此在使用中應該注意根據現場溫度選擇晶片。
3.2 中央處理器 CPU:
3.2.1 運算器:
1、算術邏輯單元 (ALU---Arithmetic Logic Unit)
2、累加器 (ACC---Accumulator)
3、寄存器 B
4、程序狀態字 (PSW---Program Status Word)
5、布爾處理器
3.2.2 控制器:
1、程序計數器(PC---Program Counter)
2、指令解碼器ID
3、數據指針(DPTR)
4、堆棧指針(SP---Stack Pointer)
3.2.1 運算器:
功能:運算部件
實現算術、邏輯運算、位變量處理、移位、數據傳送
1、算術邏輯單元(ALU)8位用來完成二進位四則運算和布爾代數的邏輯運算,運算結果影響PSW的有關標誌位。
2、累加器(ACC)8位存放操作數和中間結果,是CPU中使用最頻繁的寄存器,大多數操作均通過它進行。
3、寄存器B 8位乘法時用於存乘數/積的高8位,除法時用於存除數/餘數。
4、程序狀態字(PSW)8位特殊功能寄存器
5、布爾處理器 1位 它以進位標誌(CY)作為累加位 進行位操作
程序狀態字PSW各位標誌的含義:
CY(PSW.7)進位標誌位
AC(PSW.6)輔助進位(或稱半進位)標誌
F0 (PSW.5)用戶標誌位
RS1和RS0(PSW.4,PSW.3)工作寄存器組選擇位
OV(PSW.2)溢出標誌位
PSW.1 未定義位
P (PSW.0)奇偶標誌位
CY是PSW中最常用的標誌位。由硬體或軟體置位和清零。
**在字節運算時:
它表示運算結果是否有進位(或借位)。
加法時:有進位 CY 由硬體置「1」即CY=1;
無進位 CY 被硬體置「0」即CY=0;
減法時:有借位 CY 由硬體置「1」即CY=1;
無借位 CY 被硬體置「0」即CY=0;
**在位操作(布爾操作)時:
CY作為累加器使用,其作用相當於字節操作的累加器ACC。
在指令中可作為轉移的條件:
JC rel ;cy=1轉移
JNC rel ;cy=0轉移
位操作指令中做累加器:
ANL C,bit
ORL C,bit
SETB C
CLR C
CPL C
MOV C,bit
MOV bit,C
ANL C,/bit
ORL C,/bit
AC(PSW.6)輔助進位(或稱半進位)標誌
當執行加減運算時,其運算結果產生低四位向高四位進位或借位時,AC由硬體置「1」;否則AC位被自動清「0」。
一般在BCD碼運算時,系統用於進行十進位調整。
OV(PSW.2) 溢出標誌位
它反映運算結果是否溢出,溢出時則由硬體將OV位置「1」;否則置「0」。只有在補碼運算時起作用。
雙進位位法判溢出:
OV與CY:
溢出和進位是兩種不同性質的概念
溢出是指有正負號的兩個數運算時,運算結果超出了累加器以補碼所能表示一個有符號數的範圍。
而進位則表示兩數運算最高位(D7)相加(或相減)有無進位(或借位)。
因為使用時應加以注意。
FO(PSW.5)用戶標誌位
用戶可根據自己的需要對F0位賦予一定的含義,由用戶置位或復位,作為軟體標誌。
SETB F0 ;置位
CLR F0 ;復位0
P(PSW.0)奇偶標誌位
P標誌表明累加器ACC中1的個數的奇偶性。在每條指令執行完後,單片機根據ACC的內容對P位自動置位或復位。
若累加器ACC中有奇數個「1」,則P=1;
若累加器ACC中有偶數個「1」,則P=0;
3.2.2 控制器:
1、程序計數器(PC)16位計數器(重要)
PC是程序的字節地址計數器,其內容是將要執行的(下一條)指令的地址,尋址範圍達64KB。
PC有自動加1功能,從而實現程序的順序執行。可以通過轉移、調用、返回等指令改變其內容,以實現程序的轉移。
2、指令解碼器ID
當指令取出經指令寄存器IR送至指令解碼器ID時,ID對該指令進行解碼,即把指令轉變成所需的電平信號,CPU根據ID輸出的電平信號使定時控制電路定時地產生執行該指令所需的各種控制信號,以便計算機能正確執行程序所要求的各種操作。
3、數據指針(DPTR)16bit
數據指針DPTR為16位寄存器。它的功能是存放16位的地址,作為訪問外部程序存儲器和外部數據存儲器時的地址。
編程時,DPTR即可按16位寄存器使用,也可以按兩個8位寄存器分開使用。即:
DPH DPTR的高8位
DPL DPTR的低8位
4、堆棧指針(SP)8 bit
SP的內容就是堆棧棧頂的存儲單元地址。不論是數據進棧還是數據出棧,都是對堆棧的棧頂單元進行的,即對棧頂單元的寫和讀操作。
3.3 MCS-51單片機外部特性:
MCS-51系列單片機有40個引腳,HMOS工藝製造的晶片採用雙列直插式封裝(DIP)。
本節主要介紹引腳功能和引腳功能的復用。
3.3.1 引腳功能:
1、電源引腳Vcc和Vss
Vcc為+5V電源端,Vss為電壓接地端。
2、時鐘電路引腳XTAL1和XTAL2
XTAL1和XTAL2是外接晶體引線端。當晶片使用內部時鐘時,用於外接石英晶體和電容;當用外部時鐘時,用於接外部時鐘脈衝信號。
3、控制信號引腳
4、I/O(輸入/輸出)埠(Port)P0、P1、P2、P3
P0口(32腳~39腳):是雙向8位三態I/O口,在外接存儲器時,與地址總線的低8位及數據總線復用,能以吸收電流的方式驅動8個TTL負載。
P1口(1腳~8腳):是8位準雙向I/O口。由於這種接口輸出沒有高阻狀態,輸入也不能鎖存,故不是真正的雙向I/O口。P1口能驅動(吸收或輸出電流)4個TTL負載。
P2口(21腳~28腳):是8位準雙向I/O口。在訪問外部存儲器時,他可以作為高8位地址總線送出高8位地址。P2可以驅動(吸收或輸出電流)4個TTL負載。
P3口(10腳~17腳):是8位準雙向I/O口,P3口能驅動(吸收或輸出電流)4個TTL負載。P3口除了作為一般的準雙向通用I/O口使用外,每個引腳還有特殊功能。
3.3.2 引腳的第二功能:
1、P3口線的第二功能
2、EPROM存儲器程序固化所需要的信號
有內部EPROM的單片機晶片,為寫入程序需要提供專門的編程脈衝和編程電源。這些信號由引腳第二功能提供,即:
編程脈衝 30腳 (ALE/PROG)
編程電壓21V 31腳 (EA/Vpp)
3、備用電源
MCS-51系列單片機的備用電源是9腳(RST/Vpd)引入的。當主電源Vcc發生故障時,備用電源經此端向內部RAM提供電壓,以保護內部RAM中的信息不被丟失。
3.4 MCS-51單片機時鐘電路及CPU的工作時序:
3.4.1 時鐘電路
1、NMOS型單
[
1] [
2] [
3]
推薦閱讀
簡述MCS-51系列單片機主從結構多機通信原理,設有一臺主機與三臺從機通信,其中一臺從機通信地址號為01H,請敘述主機呼叫從機並向其傳送一個字節數據的過程。(請給出原理圖)答:原理圖如上圖所示,假設主機呼叫01H從機,首先呼叫:主機發送地址幀0000 00011(TB8)此時各從機的SM2位置1,且收到的RB8=1,故激活RI。各從機將接收到的地址與地機地址比較,結果1#機被選中,則其SM2清零;0#、2#機不變。接著傳數;主機發送數據幀,×××× ×××× 0 ,此時1#機SM2=0, RB8=0 則激活RI,而0#,2#機SM2=1,RB8=0則不激活RI,然後數據進入1#機的緩衝區
發表於 2020-09-15
51系列單片機一般採用40隻引腳的雙列直插式(DIP——Dual In-line Package)封裝結構。除DIP封裝外, 51單片機還採用44隻引腳的方形扁平(QFP——Quad Flat Package) 封裝方式(4隻引腳無用)。三類埠引腳 (共32隻)電源及晶振引腳(共4隻)控制引腳(共4隻)(1)埠引腳P0.0~P0.7(39~32腳)——P0口P1.0~P1.7(1~8腳)——P1口P2.0~P2.7(21~28腳)——P2口P3.0~P3.7(10~17腳)——P3口8隻/組×4 組= 32 只引腳P0口~P3口是單片機對外聯絡的重要通道(2)電源及晶振引腳VCC (40腳):+5V電源引腳VSS (GND)(2
發表於 2020-06-21
MCS-51系列單片機並行P3口為多功能口,它的第一功能為準雙向口,可以作為通用I/O口使用,其特性和P1口相似 。但在實際應用中它的第二功能信號更多。P3口的口鎖存器Q端接與非門驅動輸出場效應管T,該與非門的另一個控制端為第二功能輸出線。P3口的引腳狀態通過輸入緩衝器輸入到內部總線和第二功能輸入線。P3口的每一位可以分別定義為第一功能輸入/輸出線或第二功能輸入/輸出線。P3口的某一位作為第一功能輸入/輸出線時,第二功能輸出線總是為高電平,該位引腳輸出電平僅取決於口鎖存器的狀態,為「1」時輸出高電平,為「0」時輸出低電平。P3口的某一位作為輸入線時,該位口鎖存器應保持「1」,使輸出場效應管T截止,引腳狀態由外部輸入電平所確定。P3
發表於 2020-06-11
PSW是一個8位寄存器,用於設定CPU的狀態和指示指令執行後的狀態。CY(PSW.7):進位標誌。在執行加減運算指令時,如果運算結果的最高位(D7)發生了進位或借位,則CY由硬體自動置1。AC(PSW.6):半進位標誌位,也稱為輔助標誌位。在執行加減運算指令時,如果運算結果的低半字節(D3)發生了向高半字節進位或借位,則AC由硬體自動置1。F0、F1(PSW.5 和PSW.1):用戶標誌位。用戶可以根據需要對F0、F1賦予一定的含義,由用戶置1和清0,作為軟體標誌。RS1、RS0(PSW.4 和PSW.3):工作寄存器組選擇控制位。通過對這兩位設定,可以從4個工作寄存器組中選擇一組作為當前工作寄存器。OV(PSW.2):溢出標誌位,
發表於 2020-06-04
提供了就近存儲數據的便利,有利於提高單片機的運算速度。此外,使用通用寄存器還能提高程序編制的靈活性,因此,在單片機的應用編程中應充分利用這些寄存器,以簡化程序設計,提高程序運行速度。位尋址區內部RAM的20H~2FH單元,既可作為一般RAM單元使用,進行字節操作,也可以對單元中每一位進行位操作,因此把該區稱之為位尋址區。位尋址區共有16個RAM單元,計128位,地址為00H~7FH。MCS-51具有布爾處理機功能,這個位尋址區可以構成布爾處理機的存儲空間。這種位尋址能力是MCS-51的一個重要特點。用戶RAM區在內部RAM低128單元中,通用寄存器佔去32個單元,位尋址區佔去16個單元,剩下80個單元,這就是供用戶使用的一般RAM區
發表於 2020-06-04
特殊功能寄存器TMOD為T0、T1的工作方式寄存器,其格式如下:TMOD的低4位為T0的方式欄位,高4位為T1的方式欄位,它們的含義是完全相同的。工作方式選擇位M1、M0(方式 0~3)定時方式和外部事件計數方式選擇位C/TC/T=1為外部事件計數方式。門控位GATEGATE為1時,定時器的計數受外部引腳輸入電平的控制(INT0控制T0的運行,INT1控制T1的運行);GATE為0時定時器計數不受外部引腳輸入電平的控制。
發表於 2020-02-06