AT89C2051管腳圖引腳圖中文資料
;98c2051外部引腳圖:(可以直接拷入ASM程序文件中,作注釋使用,十分方便)
;
;????????????????????????? ┏━┓┏━┓
;??????????????? RET????? ┫1 ┗┛20┣??????? Vcc
;????????? RXD P3.0 ┫2?????????? 19┣??????? P1.7????
;????????? TXD P3.1 ┫3?????????? 18┣??????? P1.6????
;??????? -INT0 P3.2 ┫6?????????? 17┣??????? P1.5????
;??????? -INT1 P3.3 ┫7?????????? 16┣??????? P1.4????
;??????????? T0 P3.4 ┫8?????????? 15┣??????? P1.3????
;??????????? T1 P3.5 ┫9?????????? 14┣??????? P1.2????
;???????????????? P3.7 ┫11????????? 13┣??????? P1.1??????? A1(+)
;???????????????? X1?????? ┫4??????????? 12┣??????? P1.0??????? A0(-)
;???????????????? X2?????? ┫5??????????? 10┣??????? GND
;???????????????????????? ┗━━━━┛
——————————————————————————————————————
【引腳電器性能】
AT89C2051單片機(jī)的P口特點(diǎn):
??????? P1口:P1口是一個(gè)8位雙向I/O端口,其中P1.2~P1.7引腳帶有內(nèi)部上拉電阻,P1.0
和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片內(nèi)精密模擬比較器的同相輸入(AIN
0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流,并能直接驅(qū)動(dòng)LED顯示。
??????? 對(duì)端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。P2口作輸
入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流(Iil)
。
??????? P3口:P3.0~P3.5、P3.7是帶有內(nèi)部上拉電阻的7個(gè)雙向I/O端口。P3.6用于固定輸
入片內(nèi)比較器的輸出信號(hào)并且它作為一通用I/O口引腳而只讀。P3口輸出緩沖器可吸收
20mA電流。對(duì)端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可作輸入口。
P3口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電
流(Iil)。
AT89C51單片機(jī)的P口特點(diǎn):
??????? P0口:是一個(gè)8位漏極開路輸出型雙向I/O端口。作為輸出端口時(shí),每位能以吸收電
流的方式驅(qū)動(dòng)8 個(gè)TTL輸入,對(duì)端口寫1時(shí),又可作高阻抗輸入端用。
??????? 在訪問外部程序或數(shù)據(jù)存儲(chǔ)器時(shí),它是時(shí)分多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,
在訪問期間將激活內(nèi)部的上拉電阻。
??????? P1口:P1口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1口的輸出緩沖器可驅(qū)動(dòng)
(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高
電位,這時(shí)可作輸入口。P2口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)
拉低的引腳會(huì)輸出一個(gè)電流(Iil)。
??????? P2口:P2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2口的輸出緩沖器可驅(qū)動(dòng)
(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高
電位,這時(shí)可作輸入口。P2口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)
拉低的引腳會(huì)輸出一個(gè)電流(Iil)。
??????? 在訪問外部程序存儲(chǔ)器時(shí)和16位外部地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行 MOVX @DPTR)
時(shí),P2口送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行 MOVX @RI)時(shí),
P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個(gè)訪問期間
不會(huì)改變。
??????? P3口:P3口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口的輸出緩沖器可驅(qū)動(dòng)
(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高
電位,這時(shí)可作輸入口。P3口作輸入口使用時(shí),因?yàn)閮?nèi)部有上拉電阻,那些被外部信號(hào)
拉低的引腳會(huì)輸出一個(gè)電流(Iil)。
??????? 在穩(wěn)定的狀態(tài)條件下Io 低被外部限制如下
1、每個(gè)管腳的最大IOL 15mA 注85 規(guī)格
2、每個(gè)8 位口的最大IOL 26 mA
3、IOL 輸出最大總和 71mA
4、如果IOL 超過測(cè)試條件VOL 可能會(huì)超過相應(yīng)規(guī)格不能保證超過測(cè)試電流
——————————————————————————————————————
內(nèi)部單元:
運(yùn)算器:
1、算術(shù)/邏輯部件ALU:用以完成+、-、*、/ 的算術(shù)運(yùn)算及布爾代數(shù)的邏輯運(yùn)算
,并通過運(yùn)算結(jié)果影響程序狀態(tài)寄存器PSW的某些位,從而為判斷、轉(zhuǎn)移、十進(jìn)制修正
和出錯(cuò)等提供依據(jù)。
2、累加器A:在算術(shù)/邏輯運(yùn)算中存放一個(gè)操作數(shù)或結(jié)果,在與外部存儲(chǔ)器和I/O
接口打交道時(shí),進(jìn)行數(shù)據(jù)傳送都要經(jīng)過A來完成。
3、寄存器B:在 *、/ 運(yùn)算中要使用寄存器B 。乘法時(shí),B用來存放乘數(shù)以及積的
高字節(jié);除法時(shí),B用來存放除數(shù)及余數(shù)。不作乘除時(shí),B可作通用寄存器使用。
4、程序狀態(tài)標(biāo)志寄存器PSW:用來存放當(dāng)前指令執(zhí)行后操作結(jié)果的某些特征,以便
為下一條指令的執(zhí)行提供依據(jù)。
【PSW】 (D0H)?????? D7????? D6????? D5????? D4????? D3????? D2????? D1????? D0
??????????????????? Cy????? AC????? F0????? RS1 RS0 OV????? —????? P
Cy:進(jìn)位標(biāo)志。有進(jìn)位或借位,則Cy=1,否則Cy=0 ;在布爾運(yùn)算時(shí),Cy(簡(jiǎn)稱C)
作為布爾處理器。
AC:輔助進(jìn)位標(biāo)志位。
F0:用戶標(biāo)志位:用戶可用軟件對(duì)F0置位“1”或清“0”,以決定程序的流向。
OV:溢出標(biāo)志位:當(dāng)運(yùn)算結(jié)果溢出時(shí),OV為“1”,否則為“0”。
D.1:未定義。
P: 奇偶校驗(yàn)位:當(dāng)累加器A中的“1”的個(gè)數(shù)為奇數(shù)時(shí),P置“1”,否則P置“0”
。
RS1、RS0:工作寄存區(qū)選擇位:
——————————————————————————————————————
??????????????????? 【片內(nèi)工作寄存器組】
·RS1、RS0與片內(nèi)工作寄存器組的對(duì)應(yīng)關(guān)系
??????? RS1 RS0 寄存器區(qū)??????? 片內(nèi)RAM地址 通用寄存器名稱
??????? 0?????? 0?????? 0?????????? 00H~07H??????? R0~R7
??????? 0?????? 1?????? 1?????????? 08H~0FH??????? R0~R7
??????? 1?????? 0?????? 2?????????? 10H~17H??????? R0~R7
??????? 1?????? 1?????? 3?????????? 18H~1FH??????? R0~R7
控制器:
1、指令寄存器IR和指令譯碼器。
2、程序計(jì)數(shù)器:存放CPU執(zhí)行下一條指令的地址。是一個(gè)16位寄存器,可尋址64KB
。
3、堆棧指針SP:用于子程序調(diào)用和中斷處理?!緳C(jī)器復(fù)位后,SP←#07H ,因此壓
棧的第一個(gè)數(shù)據(jù)在08H單元中】。
4、數(shù)據(jù)指針寄存器DPTR:16位的寄存器,也可以作為兩個(gè)8位寄存器DPH和DPL 。
DPTR主要作外部數(shù)據(jù)指針,可對(duì)64KB外部RAM進(jìn)行間接尋址。
——————————————————————————————————————
MCS-51由包括PC在內(nèi)的22個(gè)特殊功能寄存器,它們除有各自的名稱外,還有唯一的
地址,
離散的分布在片內(nèi)RAM中的80H~FFH共128個(gè)存儲(chǔ)單元中。在這128個(gè)儲(chǔ)存單元構(gòu)成的
SFR塊中,未被占用的單元不可使用!
??????????????? 【21個(gè)特殊功能寄存器SFR】
特殊功能寄存器????? 功能名稱?????????????????????????? 地址??????? 復(fù)位后狀態(tài)
B?????????? *?????????? 寄存器???????????????????????????? F0H???????? 00H
A?????????? *?????????? 累加器???????????????????????????? E0H???????? 00H
PSW???????? *?????????? 程序狀態(tài)標(biāo)志寄存器???????????????? D0H???????? 00H
IP????????? *?????????? 中斷優(yōu)先級(jí)控制器?????????????????? B8H???????? XXX00000B
P3????????? *?????????? P3口數(shù)據(jù)寄存器???????????????????? B0H???????? FFH
IE????????? *?????????? 中斷允許控制寄存器???????????????? A8H???????? 0XX00000B
P2????????? *?????????? P2口數(shù)據(jù)寄存器???????????????????? A0H???????? FFH
SBUF??????????????? 串行口發(fā)送/接收緩沖器???????????? 99H???????? 不定
SCON??????? *?????????? 串行口控制寄存器?????????????????? 98H???????? 00H
P1????????? *?????????? P1口數(shù)據(jù)寄存器???????????????????? 90H???????? FFH
TL1???????????????? T1計(jì)數(shù)器低8位????????????????????? 8BH???????? 00H
TL0???????????????? T0計(jì)數(shù)器低8位????????????????????? 8AH???????? 00H
TH1???????????????? T1計(jì)數(shù)器高8位????????????????????? 8DH???????? 00H
TH0???????????????? T0計(jì)數(shù)器高8位????????????????????? 8CH???????? 00H
TMOD??????????????? 定時(shí)器/計(jì)數(shù)器方式控制寄存器?????? 89H???????? 00H
TCON??????? *?????????? 定時(shí)器控制寄存器?????????????????? 88H???????? 00H
PCON??????????????? 電源控制寄存器???????????????????? 87H???????? 00H
DPL???????????????? 地址寄存器低8位??????????????????? 82H???????? 00H
DPH???????????????? 地址寄存器高8位??????????????????? 83H???????? 00H
SP????????????????? 堆棧指針寄存器???????????????????? 81H???????? 07H
P0????????? *?????????? P0口數(shù)據(jù)寄存器???????????????????? 80H???????? FFH
PC????????????????? 程序計(jì)數(shù)器???????????????????????? 無地址????? 0000H
注:“*”表示可位尋址。
……………………………………………………………………………………………………
;SP賦值方法:(其中#50H為寄存器50H,不可直接寫為50H,否則SP指向寄存器00H)
??????? MOV SP,#50H
……………………………………………………………………………………………………
——————————————————————————————————————
??????????? 【SER塊中具有位尋址功能寄存器的位地址】
地址????? [HSB]?????? 位地址名稱:即可用地址,也可用()內(nèi)的名稱????? [LSB]????? 寄存器
F0H?????? F7????????? F6????????? F5????????? F4????????? F3????????? F2????????? F1????????? F0????????? B
E0H?????? E7????????? E6????????? E5????????? E4????????? E3????????? E2????????? E1????????? E0????????? A
D0H?????? D7????????? D6????????? D5????????? D4????????? D3????????? D2????????? D1????????? D0????????? PSW
B8H?????? —????????? —????????? —????????? BC(PS)????? BB(PT1) BA(PX1) B9(PT0) B8(PX0) IP
B0H?????? B7????????? B6????????? B5????????? B4????????? B3????????? B2????? B1????? B0????????? P3
A8H?????? AF(EA)????? —????????? —????????? AC(ES)????? AB(ET1) AA(EX1) A9(ET0) A8(EX0) IE
A0H?????? A7????????? A6????????? A5????????? A4????????? A3????????? A2????????? A1????????? A0????????? P2
98H?????? 9F(SM0) 9E(SM1) 9D(SM2) 9C(REN) 9B(TB8) 9A(RB8) 99(TI)????? 98(RI)????? SCON
90H?????? 97????????? 96????????? 95????????? 94????????? 93????????? 92????????? 91????????? 90????????? P1
88H?????? 8F(TF1) 8E(TR1) 8D(TF0) 8C(TR0) 8B(IE1) 8A(IT1) 89(IE0) 88(IT0) TCON
80H?????? 87????????? 86????????? 85????????? 84????????? 83????????? 82????????? 81????????? 80????????? P0
——————————————————————————————————————
??????????????????? 【存儲(chǔ)器】
1、數(shù)據(jù)存儲(chǔ)器(即RAM)
MCS-51系列有128B內(nèi)部數(shù)據(jù)存儲(chǔ)器(片內(nèi)ARM),分3部分:
7FH┓
?????? ┣ 數(shù)據(jù)緩沖區(qū):存放數(shù)據(jù)或是作為堆棧區(qū)。
30H┛
2FH┓ 位尋址區(qū):這(61×8)128位的為地址為00H~7FH,其中每位占用一個(gè)位地址。
?????? ┣ 【這些位地址名可以并只能在位操作指令中使用。例如:MOV C,30H
20H┛ 其中的30H是指位地址名,而不是寄存器30H,要特別注意。】
1FH┓
?????? ┣ 寄存器 3 區(qū)┓
18H┛??????????????? ┃
17H┓??????????????? ┣ 4個(gè)寄存器區(qū)占用內(nèi)部RAM的00H~1FH共31個(gè)單元。
?????? ┣ 寄存器 2 區(qū)┃ 其中每區(qū)8個(gè)寄存器為R0~R7,參見上述“工作寄存器組”。
10H┛??????????????? ┃ 【注:因?yàn)镃PU復(fù)位時(shí),SP(堆棧指針)指向07H,使用寄存
0FH┓??????????????? ┃ 器1、2、3時(shí),必須將SP移至數(shù)據(jù)緩沖區(qū)(30H~7FH)?!?br>?????? ┣ 寄存器 1 區(qū)┃
08H┛??????????????? ┃
07H┓??????????????? ┃
?????? ┣ 寄存器 0 區(qū)┛
00H┛