单片机技术及其应用1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCS-51结构框图如图2.1所示。它主要由9个部件和一条内部总线组成。现分别对各部件的情况介绍如下: 控制电路是单片机的指挥控制部件,保证各部分能自动而协调地工作。 PC(程序计数器)、PC加1寄存器、指令寄存器、指令译码器、定时和控制电路等均属于控制电路。 出于控制应用的需要,MCS-51有2个(对8031/8051是2个)或3个(对8032/8052是3个)16位定时器/计数器,以实现定时或计数功能,并以定时或计数的结果对单片机进行控制。定时器/计数器和中断、串行端口在一起。 2.1.2 MCS-51存储器的结构 物理上,MCS-51单片机有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从用户使用的角度看,MCS-51单片机有3个存储器地址空间:片内外统一的64KB的程序存储器地址空间、片内数据存储器(其中128B的特殊功能寄存器地址空间仅有20几个字节是有实际定义的)、片外64KB数据存储器地址空间。在访问这3个不同的逻辑空间时应采用不同的指令形式。MCS-51单片机存储器的结构如图所示。 MCS-51数据存储器与程序存储器全部64KB地址重叠,且数据存储器的片内外的低128B地址重叠。所以对片内外数据存储器的操作使用了不同的指令,这样就不会发生混乱。而程序存储器和数据存储器的区分是靠引脚PSEN、RD、WR、EA控制的。 2.1.2 MCS-51存储器的结构 堆栈是一种数据结构。所谓堆栈就是只允许在其一端进行数据插入和数据删除操作的线性表。其结构如图2.4所示。 2.1.2 MCS-51存储器的结构 1. 堆栈的功能 堆栈是为了子程序调用和中断操作而设立的,其作用有两个:保护断点和保护现场。 2. 堆栈的开辟 早期的微型计算机多在主存储器中开辟堆栈,称为外堆栈。主要优点是容量大,可看作是无限的,但速度慢。另一类堆栈称为内堆栈。所谓内堆栈就是在CPU芯片的寄存器中开辟堆栈。MCS-51的堆栈就开辟在内部RAM中。内堆栈的优点是速度快,但堆栈的容量有限。这种限制反映在单片机上的表现就是:限制了高级语言的使用。因为在高级语言中,除了中断和子程序的调用外,参数的传递也是靠堆栈的操作来实现的。 2.1.2 MCS-51存储器的结构 3. 堆栈指示器 堆栈共有两种操作:进栈和出栈。但不论是数据进栈还是出栈,都是对堆栈的栈顶单元进行的,即对堆栈栈顶单元的写和读操作。为了指示栈顶地址,要设置堆栈指示器SP。SP的内容就是堆栈栈顶的存储单元地址。 MCS-51单片机由于堆栈设在内部RAM上,因此SP是一个8位寄存器。实际上SP就是专用寄存器的一员。系统复位后,SP的内容为07H,但由于堆栈最好在内部RAM的30H~7FH单元中开辟,所以在程序设计时,应注意把SP值初始化为30H。SP的内容一旦确定,栈顶的位置就确定了。 P0口的字节地址为80H,位地址为80H~87H。口的各位口线具有完全相同,但又相互独立的逻辑电路,如图所示。 P0口逻辑电路的主要内容包括: ① 一个数据输出锁存器,用于进行数据位的锁存。 ② 两个三态输入缓冲器,分别用于锁存器数据和引脚数据输入的缓冲。 ③ 一个多路转接开关MUX,它的一个输入来自锁存器,另一个输入为“地址/数据”。输入转接由“控制”信号控制。之所以设置多路转接开关,是因为P0口既可以作为通用的I/O口进行数据的输入输出,又可以作为单片机系统的地址/数据线之间的接通转接。 ④ 数据输出的驱动和控制电路,由两只场效应管(FET)组成,上面的那只场效应管构成上拉电路。 P1口的地址为90H,位地址为90H~97H。P1口的口线逻辑电路如图2.7所示。P1口只能作为通用的I/O口使用,所以在电路结构上和P0口不同主要表现为: P2口的字节地址为0A0H,位地址为0A0H~0A7H。P2口的逻辑电路如图所示。 P3口的字节地址为0B0H,位地址为0B0H~0B7H。P3口的逻辑电路如图所示。 对于第二功能为输入信号的引脚,在口线的输入通路上增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用的I/O口线使用的数据输入,仍然取自三态缓冲器的输出端。总之,不管是作为输入口还是第二功能信号输入,输出电路中的锁存器输出和“第二功能输出信号”线都应保持高电平。 GND:接地引脚。 VCC:正电源引脚。接+5V电源。 (2)ALE/PROG 地址锁存允许/编程引脚。当访问外部程序存储器时,ALE的输出用于锁存地址的低位字节,以便P0口实现地址/数据复用。当不访问外部程序存储器时,ALE端将输出一个1/6时钟频率的正脉冲信号。

文档评论(0)

wuhuaiyu002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档