89C51引脚图及功能89C51外部引脚图:(可以直接拷入ASM程序文件中,作注释使用,十分方便);┏━┓┏━┓;P1.0┫1┗┛40┣Vcc;P1.1┫239┣P0.0;P1.2┫338┣P0.1;P1.3┫437┣P0.2;P1.4┫536┣P0.3;P1.5┫635┣P0.4;P1.6┫734┣P0.5;P1.7┫833┣P0.6;RST/Vpd┫932┣P0.7;RXDP3.0┫1031┣-EA/Vpp(内1/外0程序地址选择;TXDP3.1┫1130┣ALE/-P(地址锁存输出);-INT0P3.2┫1229┣-PSEN(外部程序读选通输出;-INT1P3.3┫1328┣P2.7;T0P3.4┫1427┣P2.6;T1P3.5┫1526┣P2.5;-WRP3.6┫1625┣P2.4;-RDP3.7┫1724┣P2.3;X2┫1823┣P2.2;X1┫1922┣P2.1;GND┫2021┣P2.0;┗━━━━┛引脚说明:①电源引脚Vcc(40脚):典型值+5V。Vss(20脚):接低电平。②外部晶振X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号,X1接地。③输入输出口引脚:P0口:I/O双向口。作输入口时,应先软件置“1”。P1口:I/O双向口。作输入口时,应先软件置“1”。P2口:I/O双向口。作输入口时,应先软件置“1”。P3口:I/O双向口。作输入口时,应先软件置“1”。④控制引脚:RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。RST/Vpd(9脚):复位信号输入端(高电平有效)。第二功能:加+5V备用电源,可以实现掉电保护RAM信息不丢失。ALE/-PROG(30脚):地址锁存信号输出端。第二功能:编程脉冲输入。-PSEN(29脚):外部程序存储器读选通信号。-EA/Vpp(31脚):外部程序存储器使能端。第二功能:编程电压输入端(+21V)。;98c2051外部引脚图:(可以直接拷入ASM程序文件中,作注释使用,十分方便);;┏━┓┏━┓;RET┫1┗┛20┣Vcc;RXDP3.0┫219┣P1.7;TXDP3.1┫318┣P1.6;-INT0P3.2┫617┣P1.5;-INT1P3.3┫716┣P1.4;T0P3.4┫815┣P1.3;T1P3.5┫914┣P1.2;P3.7┫1113┣P1.1A1(+);X1┫412┣P1.0A0(-);X2┫510┣GND;┗━━━━┛——————————————————————————————————————【引脚电器性能】AT89C2051单片机的P口特点:P1口:P1口是一个8位双向I/O端口,其中P1.2~P1.7引脚带有内部上拉电阻,P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流,并能直接驱动LED显示。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。P3口:P3.0~P3.5、P3.7是带有内部上拉电阻的7个双向I/O端口。P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O口引脚而只读。P3口输出缓冲器可吸收20mA电流。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。AT89C51单片机的P口特点:P0口:是一个8位漏极开路输出型双向I/O端口。作为输出端口时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)/数据总线,在访问期间将激活内部的上拉电阻。P1口:P1口是一个带有内部上拉电阻的8位双向I/O端口。P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。P2口:P2口是一个带有内部上拉电阻的8位双向I/O端口。P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。在访问外部程序存储器时和16位外部地址的外部数据存储器(如执行MOVX@DPTR)时,P2口送出高8位地址。在访问8位地址的外部数据存储器(如执行MOVX@RI)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。P3口:P3口是一个带有内部上拉电阻的8位双向I/O端口。P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。在稳定的状态条件下Io低被外部限制如下1、每个管脚的最大IOL15mA注85规格2、每个8位口的最大IOL26mA3、IOL输出最大总和71mA4、如果IOL超过测试条件VOL可能会超过相应规格不能保证超过测试电流——————————————————————————————————————内部单元:运算器:1、算术/逻辑部件ALU:用以完成+、-、*、/的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器PSW的某些位,从而为判断、转移、十进制修正和出错等提供依据。2、累加器A:在算术/逻辑运算中存放一个操作数或结果,在与外部存储器和I/O接口打交道时,进行数据传送都要经过A来完成。3、寄存器B:在*、/运算中要使用寄存器B。乘法时,B用来存放乘数以及积的高字节;除法时,B用来存放除数及余数。不作乘除时,B可作通用寄存器使用。4、程序状态标志寄存器PSW:用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。【PSW】(D0H)D7D6D5D4D3D2D1D0CyACF0RS1RS0OV—PCy:进位标志。有进位或借位,则Cy=1,否则Cy=0;在布尔运算时,Cy(简称C)作为布尔处理器。AC:辅助进位标志位。F0:用户标志位:用户可用软件对F0置位“1”或清“0”,以决定程序的流向。OV:溢出标志位:当运算结果溢出时,OV为“1”,否则为“0”。D.1:未定义。P:奇偶校验位:当累加器A中的“1”的个数为奇数时,P置“1”,否则P置“0”。RS1、RS0:工作寄存区选择位:——————————————————————————————————————【片内工作寄存器组】·RS1、RS0与片内工作寄存器组的对应关系RS1RS0寄存器区片内RAM地址通用寄存器名称00000H~07HR0~R701108H~0FHR0~R710210H~17HR0~R711318H~1FHR0~R7控制器:1、指令寄存器IR和指令译码器。2、程序计数器:存放CPU执行下一条指令的地址。是一个16位寄存器,可寻址64KB。3、堆栈指针SP:用于子程序调用和中断处理。【机器复位后,SP←#07H,因此压栈的第一个数据在08H单元中】。4、数据指针寄存器DPTR:16位的寄存器,也可以作为两个8位寄存器DPH和DPL。DPTR主要作外部数据指针,可对64KB外部RAM进行间接寻址。——————————————————————————————————————MCS-51由包括PC在内的22个特殊功能寄存器,它们除有各自的名称外,还有唯一的地址,离散的分布在片内RAM中的80H~FFH共128个存储单元中。在这128个储存单元构成的SFR块中,未被占用的单元不可使用!【21个特殊功能寄存器SFR】特殊功能寄存器功能名称地址复位后状态B*寄存器F0H00HA*累加器E0H00HPSW*程序状态标志寄存器D0H00HIP*中断优先级控制器B8HXXX00000BP3*P3口数据寄存器B0HFFHIE*中断允许控制寄存器A8H0XX00000BP2*P2口数据寄存器A0HFFHSBUF串行口发送/接收缓冲器99H不定SCON*串行口控制寄存器98H00HP1*P1口数据寄存器90HFFHTL1T1计数器低8位8BH00HTL0T0计数器低8位8AH00HTH1T1计数器高8位8DH00HTH0T0计数器高8位8CH00HTMOD定时器/计数器方式控制寄存器89H00HTCON*定时器控制寄存器88H00HPCON电源控制寄存器87H00HDPL地址寄存器低8位82H00HDPH地址寄存器高8位83H00HSP堆栈指针寄存器81H07HP0*P0口数据寄存器80HFFHPC程序计数器无地址0000H注:“*”表示可位寻址。……………………………………………………………………………………………………;SP赋值方法:(其中#50H为寄存器50H,不可直接写为50H,否则SP指向寄存器00H)MOVSP,#50H……………………………………………………………………………………………………——————————————————————————————————————【SER块中具有位寻址功能寄存器的位地址】地址[HSB]位地址名称:即可用地址,也可用()内的名称[LSB]寄存器F0HF7F6F5F4F3F2F1F0BE0HE7E6E5E4E3E2E1E0AD0HD7D6D5D4D3D2D1D0PSWB8H———BC(PS)BB(PT1)BA(PX1)B9(PT0)B8(PX0)IPB0HB7B6B5B4B3B2B1B0P3A8HAF(EA)——AC(ES)AB(ET1)AA(EX1)A9(ET0)A8(EX0)IEA0HA7A6A5A4A3A2A1A0P298H9F(SM0)9E(SM1)9D(SM2)9C(REN)9B(TB8)9A(RB8)99(TI)98(RI)SCON90H9796959493929190P188H8F(TF1)8E(TR1)8D(TF0)8C(TR0)8B(IE1)8A(IT1)89(IE0)88(IT0)TCON80H8786858483828180P0——————————————————————————————————————【存储器】1、数据存储器(即RAM)MCS-51系列有128B内部数据存储器(片内ARM),分3部分:7FH┓┣数据缓冲区:存放数据或是作为堆栈区。30H┛2FH┓位寻址区:这(61×8)128位的为地址为00H~7FH,其中每位占用一个位地址。┣【这些位地址名可以并只能在位操作指令中使用。例如:MOVC,30H20H┛其中的30H是指位地址名,而不是寄存器30H,要特别注意。】1FH┓┣寄存器3区┓18H┛┃17H┓┣4个寄存器区占用内部RAM的00H~1FH共31个单元。┣寄存器2区┃其中每区8个寄存器为R0~R7,参见上述“工作寄存器组”。10H┛┃【注:因为CPU复位时,SP(堆栈指针)指向07H,使用寄存0FH┓┃器1、2、3时,必须将SP移至数据缓冲区(30H~7FH)。】┣寄存器1区┃08H┛┃07H┓┃┣寄存器0区┛00H┛