第二章 MCS51的结构和原理_第1页
第二章 MCS51的结构和原理_第2页
第二章 MCS51的结构和原理_第3页
第二章 MCS51的结构和原理_第4页
第二章 MCS51的结构和原理_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LiuHongHarbinuniversity刘宏单片机原理及其应用电气信息工程1第二章MCS-51的结构和原理1MCS-51的基本结构和应用模式2MCS-51的内部结构3MCS-51的存储器组织4MCS-51的并行口结构与操作5MCS-51的典型产品资源配置2第五位数字1基本型4KROM2增强型

8KROM2.1MCS-51系列概述2.1.1MCS-51系列

MCS-51是Intel公司生产的一个单片机系列名称。这一系列的单片机包括两大系列:MCS-51子系列和MCS-52子系列。其中51子系列是基本型,而52子系列属于增强型。各子系列配置如表2-1所示。第四位数字代表片内有无程序存储器3片内无程序存储器5片内有程序存储器片内ROM形式无ROMEPROMFlash51基本型80318051875180C3180C5187C5189C5152增强型80328052875280C3280C5287C5289C52第三位字母代表单片机的生产工艺空白为HMOSC为CHMOSS为在线可编程ISP第二位数字代表程序存储器类型0无ROM或为工厂掩膜7为OTP或EPROM9为Flash3芯片型号中C的意义MCS-51系列单片机采用以下两种半导体工艺生产

HMOS

芯片型号中不带有字母“C”的,功耗较大。

CHMOS

芯片型号中凡带有字母“C”的,具有高速度、高密度、低功耗的特点例如8051的功耗为630mW,

80C51的功耗只有120mW。在便携式、手提式或野外作业仪器设备或长期无人值守自动监测、监控的仪表上是非常有意义的。因此在这些产品中最好使用CHMOS型单片机芯片。4程序存储器类型在片内程序存储器的配置上,该系列单片机有三种形式,即掩膜ROM、EPROM和ROM。兼容型51则存在OTP和Flash类型。只读存储器ROM(ReadOnlyMemory)

特点:在正常操作时只能读出而不能写入,断电后ROM中的信息不会丢失。常用来存放一些固定程序或数据表等。

ROM按编程(存储信息)的方式又可分为:

掩膜ROM:信息由厂家固化,用户不能更改。

可编程只读存储器PROM:信息由用户一次性写入,一旦写入,只能读出,不能再更改。(OTP)

可擦除可编程只读存储器EPROM:紫外线擦除,可重复编程。

电可擦除可编程只读存储器EEPROM/E2PROM:可通过加电写入或清除其内容。既有与RAM一样读写操作简便,又有数据不会因掉电而丢失的优点。但价格昂贵。快擦写存储器FLASH:类似EEPROM可以采用电擦除和写入,但是只能整页擦除和写入,擦除次数和数据保存时间不如EEPROM,但是价格低廉。52.2MCS-51的基本结构和应用模式单片机的三总线结构以微处理器(CPU)为核心CPU与其他部件间通过三总线连接AB:AddressBusDB:DataBusCB:ControlBus

AB复位外部设备ROMRAMC/T中断系统I/O口CPU时钟DBCB嵌入式处理器6总线:连接功能部件间的一组公共信号线地址总线AB:CPU输出的地址码信号,用于选择被访问的具体的存储单元、I/O端口*地址线的根数决定了CPU的寻址范围。CPU的寻址范围=2n,n-地址线根数如:8位地址码,可寻址28=256个存储单元16位地址码,可寻址216=64K个存储单元数据总线DB:CPU与存储器、I/O接口之间

(双向)传送数据的公共通路。

*数据总线的条数决定CPU一次最多可以传送的数据宽度(位数)。如:8位机的DB有8条,CPU一次可读写8位数据16位机的DB有16条,CPU一次可读写16位

控制总线CB:用来传送各种控制或状态信号

*CPU送出和接受的对存储器、I/O接口读写及中断等控制信号2.2.1单片机的三总线(BUS)72.2MCS-51的基本结构和应用模式2.2.2MCS-51单片机的引脚及封装40引脚,双列直插式结构VCCGND电源VCC-40GND-20DC5V单片机电源处理需要注意什么问题?1、4.0Vto5.5V电压范围2、并联退耦电容82.2MCS-51的基本结构和应用模式2.2.2MCS-51单片机的引脚及封装40引脚,双列直插式结构VCCXTAL1XTAL2GND电源VCC-40、GND-20时钟XTAL1-18、XTAL2-19单片机中时钟的作用?92.2MCS-51的基本结构和应用模式2.2.2MCS-51单片机的引脚及封装40引脚,双列直插式结构RST/VPDVCCEA/VPPALE/PROGPSENXTAL2XTAL1GND电源VCC-40、GND-20时钟XTAL2-18、XTAL1-19控制总线PSEN-33ProgramStoreEnableALE-32AddressLatchEnableEA/VPP-31ExternalAccessEnableRESET-9100时,选外部ROM;EA=复位信号:高电平复位CPU,低电平CPU工作EA/VPPALEPSEN名称功能片外取指信号(片外程序存储器读)输出端低电平有效。通过P0口读回指令或常数。控制的是片外程序存储器RESET控制总线控制信号地址锁存信号。ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。程序存储器选择信号

1,地址小于4k时,选内部ROM(针对51)地址大于4k时,选外部ROM(针对51)P0口是数据/地址复用口用下降沿锁存P0口的低8位地址到外部锁存器112.2MCS-51的基本结构和应用模式2.2.2MCS-51单片机的引脚及封装40引脚,双列直插式结构P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0RST/VPDP3.1P3.2P3.3P3.4P3.5P3.6P3.7P3.0RXDTXD

INT0

INT1

T0

WRRDT1

P0.1P0.2P0.3P0.4P0.5P0.6P0.7P0.0P2.6P2.5P2.4P2.3P2.2P2.1P2.0P2.7VccEA/VPPALE/PROGPSENXTAL1XTAL2GND电源Vcc-40、GND-20时钟XTAL1-18、XTAL2-19控制总线PSEN-33ALE-32EA/VPP-31RESET-9I/O口线

P0

P1

P2I/O口||地址总线高8bit

P3共32条I/O口||数据/地址总线低8bitI/O口I/O口||第二功能口一共有几个总线?122.2.3MCS-51的应用模式(1)无外部总线应用模式优点:不使用外部扩展总线因此具有较多的外部I/O口(最多32根I/O)外部电路简单,体积小功耗低,可靠性高缺点:只能使用单片机内部的ROM和RAM,因此资源有限,无法实现复杂功能由于半导体工艺技术的提高,单片机内部集成的RAM/ROM资源不断提高,而成本则不断降低,因此无外部总线的应用模式是低成本单片机系统主要的工作方式如左图所示的能使单片机运行的最基本的硬件环境被称作最小系统13非总线型51单片机非总线型1234567891020191817161514131211RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.789C2051注:类似的还有Philips公司的

87LPC64,20引脚

8XC748/750/(751),24引脚

8X749(752),28引脚

8XC754,28引脚等等14(2)扩展外部总线应用模式优点:通过“三总线”可以扩展如下资源:1)程序存储器、数据存储器2)并行总线外围器件一般情况下,并行扩展外围设备的数据传输率比串行扩展高,通信时序简单,接口协议简洁缺点:占用大量I/O(仅剩余P1和P3的一部分,约14根)外围电路复杂,采用外部程序和数据扩展时程序运行速度慢,系统可靠性降低15(3)MCS-51单片机的工作方式

MCS-51单片机的工作方式有

复位中断执行方式

程序执行方式

掉电和低功耗方式162.2.4MCS-51最小系统设计

AB复位外部设备ROMRAMC/T中断系统I/O口CPU时钟DBCB嵌入式处理器172.2.4MCS-51最小系统设计最小系统的组成1)时钟电路2)复位电路3)EA/VPP4)电源和退藕电容181)时钟电路Pierce振荡器皮尔斯振荡器有低功耗、低成本及良好的稳定性等特点,因此常见于通常的应用中。

Inv:内部反向器,作用等同于放大器。Q:石英或陶瓷晶振。RF:内部反馈电阻(译注:它的存在使反相器工作在线性区,从而使其获得增益,作用等同于放大器)。RExt:外部限流电阻。CL1和CL2:两个外部负载电容。Cs:由于PCB布线及连接等寄生效应引起的等效杂散电容(OSC_IN和OSC_OUT管脚上)。

19石英晶振等效电路C0:等效电路中与串联臂并接的电容(译注:也叫并电容,静电电容,其值一般仅与晶振的尺寸有关)。Lm:(动态等效电感)代表晶振机械振动的惯性。Cm:(动态等效电容)代表晶振的弹性。Rm:(动态等效电阻)代表电路的损耗。

8M晶振等效数值等效元件 数值 Rm 8Ω Lm 14.7mH Cm 0.027pF C0 5.57pF 20石英晶振的振荡特性Fs的是当电抗Z=0时的串联谐频率,是Lm、Cm和Rm支路的谐振频率Fa是当电抗Z趋于无穷大时的并联谐振频率,是整个等效电路的谐振频率在Fs到Fa的区域即通常所谓的:“并联谐振区”(图中的阴影部分),在这一区域晶振工作在并联谐振状态。该区域是晶振的正常工作区域,Fa-Fs就是晶振的带宽。带宽越窄,晶振品质因素越高,振荡频率越稳定。在此区域晶振呈电感特性,从而带来了相当于180°的相移。8M晶振等效数值等效元件 数值 Rm 8Ω Lm 14.7mH Cm 0.027pFC0 5.57pFFs=7988768Hz,Fa=8008102Hz如果该晶振的CL为10pF,则其振荡频率为:FP=7995695Hz。要使其达到准确的标称振荡频率8MHz,CL应该为4.02pF。21时钟电路设计所涉及的问题1、使用内部时钟振荡电路还是外部时钟?2、内部时钟电路能否稳定振荡的条件?3、时钟电路的准确性及其调校?4、什么情况下需要外部电阻REXT,REXT如何计算?5、振荡电路的启动时间?22挑选合适的晶振及外部器件的简易指南挑选合适的晶振可分为3个主要步骤:第一步:增益裕量(Gainmargin)计算选择一个晶振计算晶振的增益裕量(Gainmargin)并检查其是否大于5:如果Gainmargin<5,说明这不是一个合适的晶振,应当再挑选一个低ESR值和/或低CL值的晶振,重新第一步。如果Gainmargin>5,进行第二步。其中:gm是反向器的跨导,其单位是mA/V(对于高频的情况)或者是μA/V(对于低频的情况,例如32kHz)。gmcrit(gmcritical)的值取决于晶振本身的参数。例:设对于51振荡器,其gm等于25mA/V,采用Fox晶振frequency=8MHz,C0=7pF,CL=10pF,ESR=80gmcrit=4*80*(2*pi*8*106)2*(7*10–12+10*10–12)2=0.23mA/VGainmargin=gm/gmcrit=25/0.23=107第二步:外部负载电容的计算计算CL1和CL2的值,并检查标定为该计算值的电容是否能在市场上获得。●如果能找到容值为计算值的电容,则晶振可以在期望的频率正常起振。然后转到第三步。●如果找不到容值为计算值的电容:该应用对频率要求很高,你可使用一个可变电容并将其调整到计算值,然后转到第三步。如果对频率的要求不是特别苛刻,选择市场上能获得的电容中容值距计算值最近的电容,然后转到第三步。第三步:驱动级别及外部电阻的计算

振荡器频率F=8MHzCL2=15pF得到:RExt=1326Ω23时钟电路的连接方法XTAL1XTAL2外部振荡信号XTAL1XTAL2VccVssR外部振荡信号XTAL2XTAL1VccVssR(a)内部时钟方式(b)HMOS工艺外接时钟(c)CHMOS工艺外接时钟XTAL1(19脚):接外部晶振和微调电容的一端。采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。XTAL2(18脚):接外部晶振和微调电容的另一端。使用外部时钟时,对HMOS型工艺的单片机,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。对晶振频率精确度要求不高的情况下,石英晶振的CL1和CL2可选30pF,陶瓷晶振时可选40pF242)复位电路在单片机的RST引脚上保持2个机器周期以上的高电平,单片机即复位;只要RST引脚保持高电平,单片机就循环复位。RST/VPD引脚输入的高电平不撤除,单片机就一直保持复位状态。当RST从高电平变为低电平后,MCS-51从0000H地址开始执行程序。单片机复位完成后,其内部各寄存器恢复到初始状态。25常用的复位电路(1)分立元件复位电路上电后RST引脚上的波形(示意图)26常用的复位电路(2)专用复位集成电路MAX811有多种供电电压及复位门槛电压版本;支持手动复位;有高低两种电平的复位信号输出;体积小,可靠性高。X5045/25045有多种供电电压及复位门槛电压版本;支持手动复位;包含4Kb的E2PROM;具有看门狗功能。272.3MCS-51的内部结构RAM128BRAM地址寄存器P3口P1口P2口P0口锁存器锁存器锁存器锁存器中断定时/计数器串行口SPBACC暂存器1暂存器2PSW指令寄存器IR指令译码器IDDPL缓冲器程序计数器PCPC增量器地址寄存器AR定时与控制4KROMALUDPH运算器控制器存储器I/O接口28一、运算器

1.算术逻辑单元(ALU—ArithmeticLogicUnit)

2.累加器(ACC—Accumulator)

3.寄存器B4.程序状态字(PSW—ProgramStatusWord)

5.布尔处理器二、控制器1.程序计数器(PC—ProgramCounter)2.指令寄存器IR指令译码器ID3.数据指针(DPTR)4.

堆栈指针(SP——StackPointer)

2.3.1MCS-51的CPU29功能:运算部件实现算术、逻辑运算、位变量处理、移位、数据传送1.算术逻辑单元(ALU)8位其累加器是ACC

二进制四则运算和布尔代数的逻辑运算运算结果影响PSW的有关标志位

2.累加器(ACC)8位存放操作数和中间结果工作频繁,大多数操作均通过它进行

3.寄存器B

8位乘法时用于存乘数/积的高8位除法时用于存除数/余数

4.程序状态字(PSW)8位特殊功能寄存器

5.布尔处理器1位它以进位标志(CY)作为累加位进行位操作一、运算器30程序状态字PSW各位标志的含义CYACF0RS1RS0OV-P

PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CY(PSW.7)进位标志位AC(PSW.6)辅助进位(或称半进位)标志F0(PSW.5)用户标志位RS1和RS0(PSW.4,PSW.3)工作寄存器组选择位OV(PSW.2)溢出标志位

PSW.1未定义位P(PSW.0)奇偶标志位31

CY是PSW中最常用的标志位。由硬件或软件置位和清零。

字节运算中(ALU):它表示运算结果是否有进位(或借位)。

Cy=SUB⊕C8加法时(SUB=0):有进位Cy由硬件置“1”即Cy=1;无进位CY被硬件清“0”即Cy=0。减法时(SUB=1):有借位Cy由硬件置“1”即Cy=1;无借位CY被硬件清“0”即Cy=0。位操作(布尔操作)时,CY作为累加器使用,其作用相当于字节操作的累加器ACC。

Cy32

JCrel;cy=1转移

JNCrel;cy=0转移位操作指令中做累加器

ANLC,bitANLC,/bitORLC,bitORLC,/bitSETBCCLRCCPLCMOVC,bitMOVbit,c

CyC在指令中可作为转移的条件33AC(PSW.6)辅助进位(或称半进位)标志。

当执行加减运算时,其运算结果产生低四位向高四位进位或借位时,AC由硬件置“1”;否则AC位被自动清“0”。

AC=SUB⊕

C4

一般在BCD码运算时,系统用于进行十进制调整。

Ac34OV

OV(PSW.2)溢出标志位它反映运算结果是否溢出,溢出时则由硬件将OV位置“1”;否则置“0”。只有在补码运算时起作用。双进位位法判溢出:

OV=C8⊕C7当两个正数相加时,C8肯定为0,若C7=1,符号位变为1(负),得到一个负数,则发生溢出,OV=1(错误);若C7=0,符号位不变,则没有溢出,OV=0(正确)

35溢出和进位是两种不同性质的概念。溢出是指有正负号的两个数运算时,运算结果超出了累加器以补码所能表示一个有符号数的范围。补码运算是闭运算。而进位则表示两数运算最高位(D7)相加(或相减)有无进位(或借位)。无符号运算是开运算。因此使用时应加以注意。OV与Cy36例:35+42=[35]补=00100011

+[42]补=00101010

001001101

Cy=0,OV=0,结果为4DH,仍为补码形式。若要显示运算结果,应对运算结果求真值

+77真值就是将补码形式的运算结果用“+”“–”号的形式来表示运算结果的实际数值。一般用十六进制或十进制表示加法运算(SUB=0)3785+78=Cy=0,OV=1,有溢出结果无意义若将上述运算“看成”是有符号数的运算,运算结果的最高位可“看作”符号位,结果为负数,由于8位有符号数补码的表示范围为–128~+127,该运算结果显然超出了数的表示范围,OV=1产生了溢出现象,运算结果无意义,应做溢出提示。若将上述运算“看成”是无符号数的运算,运算结果的最高位不再做符号位了,而是数值位(权为128),8位无符号数补码的表示范围为0~255,尽管产生了溢出标志,但运算结果仍有意义,真值为163溢出[85]补=01010101

+[78]补=01001110

010100011

38微机的补码运算可分为带符号数的补码运算和无符号数的补码运算,但微机并不认识数的属性,运算器在进行加减运算时并不区分操作数是否带有符号,运算过程都是一样的当SUB=0时,直接将两个数相加,当SUB=1时,将减数求补(取反加1),再进行运算。在运算的同时自动设置CY和OV,运算后若是无符号数,通过判断CY确定是否有进位,如果是带符号数,则通过判断OV确定是否溢出3976+(-23)=[76]补=01001100+[-23]补=11101001

100110101

Cy=1,OV=0+53自动丢失40

F0(PSW.5)用户标志位。用户可根据自己的需要对F0位赋予一定的含义,由用户置位或复位,作为软件标志。

SETBF0;置位

CLRF0

;复位相当于高级语言中的逻辑变量F041

P(PSW.0)奇偶标志位

P标志表明累加器ACC中1的个数的奇偶性。在每条指令执行完后,单片机根据ACC的内容对P位自动置位或复位。若累加器ACC中有奇数个“1”,则P=1;若累加器ACC中有偶数个“1”,则P=0。P42程序状态字PSW回顾CyACF0RS1RS0OV…PD7D6D5D4D3D2D1D0PSW进位标志、“位累加器”

辅助进位标志

用户通用状态标志

溢出标志

奇偶标志位

保留位

工作寄存器组选择控制位

若A中有奇数个“1”,则P置位,否则清零

431.程序计数器(PC)16位计数器(重要)

PC是程序的字节地址计数器,其内容是将要执行的下一条指令的地址,寻址范围达64KB。

PC有自动加1功能,从而实现程序的顺序执行。可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。二、控制器442.指令译码器ID

当指令取出经指令寄存器IR送至指令译码器ID时,ID对该指令进行译码,即把指令转变成所需的电平信号,CPU根据ID输出的电平信号使定时控制电路定时地产生执行该指令所需的各种控制信号,以使计算机能正确执行程序所要求的各种操作。

程序存储器PC取出指令码指令寄存器IR指令译码器ID把指令转变成所需要得电平信号

CPU产生执行该指令所需的各种控制信号取指令分析指令执行指令45运算器和控制器工作实例等效程序代码MOVA,#07HADDA,#0AHMOVA,20H返回框图46

数据指针DPTR为16位寄存器。它的功能是存放16位的地址,作为访问外部程序存储器和外部数据存储器时的地址。编程时,DPTR既可按16位寄存器使用,也可以按两个8位寄存器分开使用。即:DPH DPTR的高8位DPL DPTR的低8位3.数据指针(DPTR)16bit47堆栈是指用户在单片机内部RAM中开辟的、遵循“先进后出”原则、只能从一端存取数据的一个存储区。并把存取数据的一端称为栈顶,SP就是指向栈顶的指针。凡是关系到堆栈操作的场合(无论是入栈还是出栈),都需要借助MCS-51的CPU中一个专用8位寄存器SP来间接指示堆栈中数据存取的位置,该寄存器被称为堆栈指针。MCS-51的堆栈是向上生成的(即向地址增加的方向),堆栈指针SP的初始值称为栈底。在堆栈操作过程中,SP始终指向堆栈的栈顶。需要注意的是,单片机复位后SP的值为07H,因此入栈数据将从08H存起。

4.堆栈指针SP(StackPointer)48入栈操作时首先将SP的内容[记为(SP)]自动增1,将SP间接指示的栈区片内RAM存储单元地址向上调整一次,再把数据压入由SP最新指示的片内RAM单元中;出栈操作时,首先将当前栈顶的内容弹出到相应位置,然后把SP的内容自动减1。可见,在堆栈操作过程中,SP的值将自动增1或减1。

89H栈底SPSP入栈过程PUSHACC栈底出栈过程POPACCSP89HSP

89HAA

89H49三、与口相关的寄存器(7个)并行I/O口P0、P1、P2、P3,均为8位;串行口数据缓冲器SBUF;串行口控制寄存器SCON;串行通讯波特率倍增寄存器PCON,(又称为电源控制寄存器)。50四、与中断相关的寄存器(2个)中断允许控制寄存器IE;中断优先级控制寄存器IP。

五、与定时器/计数器相关的寄存器(6个)

T0的两个8位计数初值寄存器TH0、TL0T1的两个8位计数初值寄存器TH1、TL1

工作方式寄存器TMOD;控制寄存器TCON。512.3.2MCS-51的存储器结构8051单片机在系统结构上采用了哈佛型,其存储器在物理结构上分程序存储器(ROM)和数据存储器(RAM)。有四个物理上相互独立的存储空间:其配置如图

ROM:4K

范围是:000H~0FFFH

RAM:128字节

范围是:00H~7FH52程序存储器(C语言中被称为code区)0000H0001H0002H(PC)中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位...0FFFH0FFEH内部外部0000HFFFFH(64K)0000H0FFFH(4K)EA=1EA=0程序存储器(code)资源分布中断入口地址引脚接为高电平时,CPU可访问内部和外部ROM,并且程序自片内程序存储器开始执行,PC值超出片内ROM容量时,会自动转向片外程序存储器中的程序。一.MCS-51程序存储器配置53程序存储器中的特定程序入口

(51子系列为6个)

54外部RAM数据存储器xdata0000HFFFFH(64K)内部数据存储器间接寻址idata00HFFH7FH80H(高128B)(低128B)RAM专用

寄存器sfr0组R0R7R0R7R0R7R0R71组2组3组工作寄存器区可位寻址区(bdata)20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器(data)18H1FH10H17H08H0FH00H07H二.MCS-51内部数据存储器RS1RS0000组011组102组013组551、工作寄存器区低端32个字节分成4个工作寄存器组,每组8个单元,分别称为R0,R1…,R7。程序运行时只能使用一个工作寄存器组作为当前工作寄存器组。当前工作寄存器组的机制便于快速现场保护。

PSW的RS1、RS0决定当前工作寄存器组号寄存器0组:地址00H~07H;寄存器1组:地址08H~0FH;寄存器2组:地址10H~17H;寄存器3组:地址18H~1FH。562、位寻址区(bit寻址区)2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F07

MSB位地址LSB7E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A625A524A423A322A221A120A027971696159514941393129211911090178706860585048403830282018100800573、通用RAM区(30H~7FH)(date)此区间共80个单元,只可按字节寻址,而不可位寻址。程序运行期间,会产生一些运算结果等中间数据,这些数据可在此区间暂时保存。另外,若程序运行过程中遇到调用子程序或响应中断,往往需要保护现场,将有关的数据压入堆栈,待子程序返回或中断响应结束时再将入栈数据弹出,此时,该区间可作堆栈使用。单片机复位后,堆栈指针SP的值为07H,即默认此区间的08H为栈底。考虑到00H~2FH通常保留作工作寄存器区和位寻址区,因此一般将栈底设置在30H以上单元。

58

寄存器

位地址/位定义

地址

F7

F6

F5

F4

F3

F2

F1

F0

B

F0H

E7

E6

E5

E4

E3

E2

E1

E0

ACC

E0

D7

D6

D5

D4

D3

D2

D1

D0

PSW

CY

AC

F0

RS1

RS0

OV

/

P

D0H

BF

BE

BD

BC

BB

BA

B9

B8

IP

PT2PSPT1PX1PT0PX0B8H

B7

B6

B5

B4

B3

B2

B1

B0

P3

P3.7

P3.6

P3.5

P3.4

P3.3

P3.2

P3.1

P3.0

B0H

AFHAEADACABAAA9A8IE

EA-ET2ESET1EX1ET0EX0A8H

A7

A6

A5

A4

A3

A2

A1

A0

P2

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

A0H

SBUF

99H

4.特殊功能寄存器(sfr/sfr16)599FH9EH9DH9CH9BH9AH99H98HSCONSM0SM1SM2RENTB8

RB8TIRI98H

97

96

95

94

93

92

91

90

P1

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

90H

TH1

8DH

TH0

8CH

TL1

8BH

TL0

8AH

TMOD

GATE

C/T

M1

M0

GATE

C/T

M1

M0

89H

8F

8E

8D

8C

8B

8A

89

88

TCON

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

88H

PCON

SMOD

/

/

/

GF1

GF0

PD

IDL

87H

DPH

83H

DPL

82H

SP

81H

87

86

85

84

83

82

81

80

P0

P0.7

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

80H

60复位后各SFR的初始状态——重要寄存器内容寄存器内容PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000B61说明:1、51子系列离散分布有21个特殊功能寄存器SFR、52子系列为26个。2、凡地址能被8整除的寄存器(共11个)都是可位寻址的寄存器。3、位寻址形式:直接位地址:如D3H位助记符:RS0寄存器.位:如PSW.3单元地址.位:如D0H.3位型bit10,1sbit10,1访问SFRsfr80~255sfr16160~6553562C51的数据的存储器类型

变量和常量必须以一定的存储器类型定位于单片机的存储区域中。

存储器类型长度(位)对应单片机存储器bdata1片内RAM,位寻址区,共128位。(亦能字节访问)data8片内RAM,直接寻址,共128字节。idata8片内RAM,间接寻址,共256字节。pdata8片外RAM,分页间址,共256字节。(MOVX@Ri)xdata16片外RAM,间接寻址,共64k字节。(MOVX@DPTR)code16ROM区域,间接寻址,共64k字节。(MOVC@DPTR)63C51中的数据类型定义bitbdataflags;//位变量flags定位在片内RAM的位寻址区chardatavar;//字符变量var定位在片内RAM区floatidatax,y,z;//实型变量x,y,z定位在片内间址RAM区sfrP1=0x90;//定义P1口地址为90HsfrSCON=0x90;sfrP0=0x80;sfr16T2=0xCC;

642.3.3I/O口及功能单元

并口:P0~P3,双向口。每口8条I/O线

串行口:P3.0、P3.1,全双工定时/计数器:2个,16位

中断系统:5个中断源,2个优先级

651、并行I/O端口

MCS-51单片机内部有4个并行的I/O接口电路:P0、P1、P2、P3,它们都是双向口,既可以输入又可以输出。P0、P2口经常用作外部扩展存储器时的数据、地址总线,P3口除了可用作I/O口外,每一根都有第二功能。通过这些I/O接口,单片机可以外接键盘、显示器等外围设备,还可以进行系统扩展,以解决片内硬件资源不足问题。66⑶I/O口P0口:三态双向复用口地址/数据控制读锁存器写锁存器DCLQQP0.x锁存器T0T1MUXP0.x引脚内部总线读引脚P0口位结构Vcc11001“读”01100P0口作地址/数据复用总线D0~D7A0~A767P0口作地址/数据复用总线从P0口输出数据或地址信息的过程:控制端高电平MUX接反相器输出端输出级T1连接与门开锁信号驱动T0驱动电路接通P0口输出数据/地址信息从P0口输入数据信息:引脚信号从输入三态缓冲器进入内部总线“读”68P0口:作通用I/O口使用地址/数据控制读锁存器写锁存器DCLQQP0.x锁存器T0T1MUXP0.x引脚内部总线读引脚P0口位结构Vcc外接上拉电阻0100读读-修改-写功能1ANLP0,A(P0)^(A)P0“读”Vcc69P0口作通用I/O口使用输出时:P0口作通用I/O口使用输入时:先将锁存器写“1”T0、T1截止读引脚信号P0~P3口线上的“读-修改-写”是通过上面一个三态门实现的。P0的驱动能力:驱动8个TTL门控制端低电平与门输出低电平T0截止输出漏级开路外接上拉电阻MUX接锁存器Q端锁存器Q与T1连接70P0口作通用I/O口使用输入时:先将锁存器写“1”T0、T1截止读引脚信号地址/数据控制读锁存器写锁存器DCLQQP0.x锁存器T0T1MUXP0.x引脚内部总线读引脚P0口位结构Vcc010071P1口:准双向口读锁存器写锁存器内部总线读引脚DCLQQP1.x锁存器TP1.x引脚Vcc内部上拉电阻010101输出输入“读引脚”P1口位结构72作通用I/O口输出时:将“1”写入锁存器输出高电平将“0”写入锁存器Q=1,T导通输出低电平作通用I/O口输入时:口锁存器必须写“1”先将“1”写入锁存器,使T截止,口线上的数据取决于外部输入Q=0,T截止

P1口的驱动能力:驱动4个TTL门内部总线为引脚为“高电平”“低电平”“1”“0”“读”准双向口73P2口:准双向口地址控制读锁存器写锁存器内部总线读引脚DCLQQP2.x锁存器TP2.x引脚P2口位结构VccMUX上拉电阻74P2口作通用I/O口使用时:

准双向口。MUX倒向左边,输出级与锁存器“Q”端接通,P2口I/O操作完全与P1口相同P2口作地址总线高8位使用时:

在CPU的控制下,MUX倒向右边,接通内部地址总线,P2口的口线状态取决于片内输出的地址信息

P2口的驱动能力:驱动4个TTL门75第二输入功能P3口:双功能口读锁存器写锁存器内部总线读引脚DCLQQP3.x锁存器TP3.x引脚Vcc上拉电阻第二输出功能11076P3作第一功能口使用时:

输出控制线为高电平,与非门的输出取决于锁存器“Q”端的状态,P3口的I/O操作和P1口相同。P3作第二功能口使用时:

相应的口线锁存器必须为“1”,与非门的输出取决于第二功能输出线。

P3的驱动能力:驱动4个TTL门

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论