版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章51系列单片机根本结构8051是MCS-51系列单片机的典型产品,本书以这一代表性的机型进行系统地讲解。其他单片机与8051的系统结构相同,只是对8051进行一些扩充,使其功能更强、市场竞争力更强。本章主要包括以下内容:51系列单片机的内部结构51系列单片机的引脚资源中央处理器〔CPU〕存储器结构51系列单片机的复位51系列单片机的时钟和时序51系列单片机的并行I/O口掉电保护和低功耗设计51系列单片机的最小系统2.151系列单片机的内部结构8051系列单片机的内部结构是各种逻辑单元及其之间的互连构成的。其主要由中央处理器〔CPU〕、程序存储器〔ROM〕、数据存储器〔RAM〕、串行接口、并行I/0接口、定时/计数器、中断系统等几大单元,以及数据总线、地址总线和控制总线组成。8051系列单片机的内部结构框架示意图,如下图。2.1.1内部结构的主要组成局部单片机的性能都反响在单片机所特有的结构和资源上。这里首先介绍一下8051单片机根本结构的主要组成局部。1.中央处理器〔CPU〕2.程序存储器〔ROM〕3.数据存储器〔RAM〕4.定时器/计数器5.并行输入输出〔I/O〕口6.全双工串行口7.中断系统8.时钟电路2.1.2单片机结构的类型单片机结构的类型可以按照程序存储器和数据存储器的体系结构来划分,大致有两种类型:哈佛〔Harvard〕结构。这种结构程序存储器〔ROM〕和数据存储器〔RAM〕采用分开的形式。哈佛结构便于对程序和数据同时访问,可以减轻程序运行时的访存瓶颈,提高数据的吞吐率。普林斯顿〔Princeton〕结构。这种结构中采用通用计算机广泛使用的程序存储器〔ROM〕与数据存储器〔RAM〕合二为一的方式,也称为冯·诺伊曼结构。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。例如,INTEL的MCS-51系列单片机普遍采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机那么采用普林斯顿结构。2.251系列单片机的引脚功能Intel的8051是一个典型的单片机,在后续MCS-51系列单片机的产品线中,均以其为核心电路开展起来的。它们具有和8051一致的硬件结构和软件特征。随着半导体技术的开展,各种新型的单片机层出不穷,性能也得到不断提升,价格也越来越低。因此,本章在介绍51系列单片机时不局限于介绍根本的8051,而是以最新型的51系列单片机来进行介绍。这些新型的单片机在根本功能上和8051完全一致,从而在理解8051结构的同时,也熟悉了最新的单片机。2.2.151系列单片机的引脚封装MCS-51系列单片机有各种封装形式,这里均以双列直插DIP形式的封装来进行介绍。Intel的8051的典型引脚配置,如下图。这是40Pin封装的双列直插DIP式结构,其中正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。Atmel公司的AT89S系列与MCS-51系列是兼容的,这里主要以AT89S52单片机来介绍51系列单片机的根本原理。AT89S52的40Pin双列直插封装的引脚配置,如下图。2.2.251系列单片机引脚功能这里以AT89S52为原型,介绍51系列单片机的引脚功能。虽然市场上51系列单片机种类很多,但由于51系列单片机的引脚都根本兼容,因此这些内容同样适合于其他型号的单片机。1.电源引脚:电源引脚主要负责单片机的供电,有两根引脚。2.外接晶振或外部振荡器引脚:外接晶振或外部振荡器引脚主要负责为单片机的运行提供时钟振荡器,主要有两根引脚。3.输入输出〔I/O〕端口引脚:AT89S52提供了4个8位并行I/O端口,根本的功能和其他51系列单片机完全一致,局部引脚有扩展功能。4.复位、控制和选通引脚:复位、控制和选通引脚主要负责单片机程序复位、编程控制及外部程序存储器的选通。2.3中央处理器〔CPU〕中央处理器〔CPU〕是由运算器〔ALU〕、定时控制部件和存放器通过总线连接而成的一个整体。中央处理器〔CPU〕是整个单片机的核心部件。CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。51系列单片机是8位数据总线的处理器,能处理8位二进制数据或代码。AT89S52的CPU与8051的CPU完全兼容,这里以AT89S52为例进行介绍。2.3.1算术逻辑运算部件〔ALU〕算术逻辑运算部件〔ALU〕是进行算术及逻辑运算的功能部件。AT89S52单片机的算术逻辑运算部件〔ALU〕包括运算器、累加器〔A〕、存放器B、暂存器TMP、程序状态存放器〔PSW〕、推栈指针SP、数据指针DPTR等。其可以进行加、减、乘、除四那么运算,也可以进行与、或、非、异或等逻辑运算,还可以执行数据传送、移位、判断和程序转移等功能。51系列单片机的ALU提供了丰富的指令系统和极快的指令执行速度,大局部指令执行时间为1µs,乘法指令为4µs。AT89S52的ALU与8051的ALU完全兼容,其位处理功能非常强,这对“面向控制〞特别有用,指令功能极为丰富,8位并行处理能力极强。2.3.2控制器控制器是用来统一指挥和控制计算机进行工作的部件。其主要的功能是从程序存储器中提取指令,送到指令存放器,再送入指令译码器进行译码。控制器通过定时和控制电路,在规定的时刻发出各种操作所需要的全部内部控制信息及CPU外部所需要的控制信号,如ALE、、RD、WR等,使各局部协调工作,完成指令所规定的各种操作。8051的控制器包括时钟发生器、定时控制逻辑、指令存放器、指令译码器、程序计数器PC、程序地址存放器、数据指针存放器DPTR和堆栈指针SP等。2.3.3通用存放器存放器是用来存放信息的单元,其优点是存取速度快、方便,存放器的数量是衡量一台计算机处理能力的重要标志。51系列单片机的存放器可分为工作存放器〔即通用存放器〕、专用存放器和特殊功能存放器〔SFR〕。特殊功能存放器是专为对应功能效劳,在“数据存储器〞一节将详细介绍。本小节主要介绍通用工作存放器R0~R7。片内RAM的00H~1FH〔共32B〕空间,开辟了4个工作存放器区,每组共有8个8位的存放器R0~R7,通过对PSW的RS1和RS2进行设置,选择任意一组使用,其余3组被屏蔽。其优点是,防止进站保护、减少堆栈深度、节省出入栈指令和时间。不用的工作存放器可作为片内RAM访问。2.3.4专用存放器专用存放器是专门为某些功能部件设计的存放器。下面分别介绍这几种存放器的功能。1.程序计数器PC:程序计数器PC是一个16位二进制的程序地址存放器,专门用来存放下一条需要执行指令的内存地址,能自动加1。2.累加器A:累加器A〔或者ACC〕是运算过程中的暂存存放器,是一个8位二进制存放器,用于提供操作数和存放操作结果。3.存放器B:存放器B一般用于乘除法操作指令,也是一个8位二进制存放器,由8个触发器组成,与累加器A配合使用。4.程序状态存放器〔PSW〕:程序状态存放器〔PSW〕是一个8位存放器,用于存放指令执行后的有关状态,为后面的指令执行提供状态条件。5.堆栈指针SP:推栈指针SP是在片内RAM中开辟一个存储区域,专门存放堆栈栈顶的地址。6.数据指针DPTR:数据指针DPTR是一个16位存放器,是由8位存放器DPH和DPL组合而成。2.4存储器结构存储器是单片机的3大主要部件之一,主要用来储存信息〔即数据和程序〕。存储器按配置方法分为主存和外存。“主存〞又称为“内存〞,用于存放当前执行的数据和程序;“外存〞用于存放暂不执行的数据和程序。目前单片机主要配置内存。存储器结构分为独立的两局部:数据存储器〔RAM〕和程序存储器〔ROM〕。8051单片机的存储器可分为4个存储空间:片内程序存储器〔片内ROM〕、片外程序存储器〔片外ROM〕、片内数据存储器〔片内RAM〕、片外数据存储器〔片外RAM〕。这4类存储器与其对应的地址关系,如表所示。2.4.1程序存储器及其扩展程序存储器设计人员编写的程序就存放在单片机的程序存储器中,也称为“只读程序存储器〞〔ROM〕。程序和数据一样,都是由机器码组成的代码串,只是程序代码那么存放于程序存储器中。1.程序存储器:51系列单片机具有64KB程序存储器寻址空间,这64KB的地址空间是统一编址的,没有采用片内、片外分区的方式。2.程序存储器的扩展:51系列单片机为了满足不同应用的需要,除了设置有内部程序存储器外,还可以根据需要进行外部程序存储器扩展。外部程序存储器扩展时,采用P0和P2作为16位地址总线的低8位和高8位,另外,P0口还分时复用为8位数据总线。2.4.2数据存储器及其扩展数据存储器也称为“随机存取数据存储器〞。51系列单片机的数据存储器在物理逻辑上分为两个地址空间,即片内数据存储区和片外数据存储区。片内RAM有256B的用户数据存储区域〔不同的型号有分别〕,是用于存放执行的中间结果和过程数据的51系列单片机的。数据存储器均可读写,局部单元还可以位寻址,其结构示意图如下图。2.551系列单片机的复位复位是使单片机的CPU以及系统的各个部件处于特定的初始状态,并使系统从初始状态开始工作。单片机的复位是一个很重要的内容,一般在系统上电,或者程序死机的时候需要进行单片机的复位。2.5.1单片机的复位状态单片机的复位状态是单片机在上电时,首先所处的一个特定的状态。在复位状态下,CPU和整个硬件资源,特别是特殊功能存放器都处于初始化的状态。如表所示列出了在单片机复位状态下的初始值。2.5.2单片机的复位电路单片机的复位电路是促使单片机进入复位状态的硬件结构。单片机的复位是很重要的,复位操作可以完成单片机的初始化,也可使处于死机状态下的单片机重新开始运行。1.复位要求2.上电复位电路3.手动加上电复位电路4.定时监视器〔WDT,看门狗〕复位5.复杂的复位电路2.651系列单片机的时钟和时序单片机内部是基于数字逻辑电路来运行的,这些数字逻辑电路需要在一个统一的时钟步调下运行,这便涉及到单片机的时钟和时序问题。这里以AT89S52为例来介绍和时序有关的问题,其中的内容对其他51系列单片机都是通用的。2.6.1振荡器和时钟电路振荡器和时钟电路用于产生单片机正常工作时所需要时钟信号。AT89S52单片机采用的CMOS工艺,内部包含有一个振荡器,可以用于CPU的时钟源。另外,也允许采用外部振荡器,由外部振荡器产生的时钟信号来供内部CPU运行使用。下面分别介绍这两种方式。1.内部时钟模式内部时钟模式是采用单片机内部振荡器来工作的模式。AT89S52和其他51系列单片机一样,其内部包含一个高增益的单级反相放大器,引脚XTAL1和XTAL2分别为片内反相放大器的输入端口和输出端口,其工作频率为0~33MHz。对于Intel的8051,工作频率为1.2~12MHz。2.外部时钟模式外部时钟模式是采用外部振荡器产生时钟信号,直接提供给单片机使用。对于不同结构的单片机,外部时钟信号接入的方式有所不同。对于普通的8051单片机,外部时钟信号由XTAL2引脚接入后直接送到单片机内部的时钟发生器,而引脚XTAL1那么应直接接地,这里需要注意,由于XTAL2引脚的逻辑电平不是TTL信号,因此建议外接一个上拉电阻。2.6.2CPU的时序CPU的时序是指令执行所遵从的格式。在单片机内部,振荡器始终驱动内部时钟发生器向CPU提供时钟信号。时钟发生器的输入是一个二分频触发器,这个二分频触发器为单片机提供了一个二相时钟信号,即相位信号P1和相位信号P2,驱动CPU产生执行指令功能的机器周期。单片机的时序是用定时单位来描述的,其描述了指令执行中各控制信号在时间上的关系,这里涉及节拍、状态、机器周期和指令周期4个概念,接下来分别加以说明它们之间的关系,示意图如下图。2.6.3指令执行的时序单片机的指令执行过程包括取指令和执行指令两个局部,其是在CPU时钟的步调下实现的。在单片机中,不同指令的长度和指令周期一般各不相同,可以分为单字节单周期指令、双字节单周期指令、双字节双周期指令等等。下面介绍几个典型的指令执行时序。1.单字节单周期指令的执行时序单字节单周期指令的执行时序。在每个机器周期内,地址锁存信号ALE出现两次高电平有效信号,一次在S1P2~S2P1,另一次在S4P2~S5P1。这样,一个机器周期内便可以读两次程序存储器代码。单字节单周期指令在执行时,第一次读取指令代码后便立即开始执行该指令,第二次读的代码将被丢弃,不使用。2.双字节单周期指令的执行时序双字节单周期指令的执行时序。地址锁存信号ALE仍然在一个机器周期内有效两次。不同于前面,双字节单周期指令在执行时,两次读取的代码都有效,在一个机器周期内便执行完该指令。3.单字节双周期指令的执行时序单字节双周期指令的执行时序。这类指令执行时,第一次读取指令代码后,其余三次读代码操作均被丢弃,用两个机器周期执行完该指令。4.MOVX类单字节单周期指令的执行时序MOVX类单字节单周期指令的执行时序。指令第一次读取代码后,第二次读代码操作被丢弃,在第二个机器周期完成外部数据单元的读写。2.6.4访问外部ROM/RAM的操作时序访问外部ROM/RAM的操作时序,主要发生在外部扩展单片机ROM和RAM的时候。此时,具体的操作时序分别介绍如下。1.访问外部ROM的操作时序当对51系列单片机进行外部扩展程序存储器ROM的时候,指令的操作时序便涉及到外部存储器的操作。此时除了需要ALE信号外,还需要信号以及将P0口作为低8位地址,P2口作为高8位地址。访问外部ROM的时序。2.访问外部RAM的操作时序当对单片机进行了外部RAM扩展,此时单片机访问外部RAM的操作时序和前面有所不同。整个访问外部RAM的操作时序。操作需要执行两步:〔1〕先从外部ROM中取MOVX指令;〔2〕根据MOVX指令所给出的数据来选择某个外部RAM单元,然后对该单元进行读写操作。2.751系列单片机的并行I/O口典型的8051单片机具有4个8位的并行I/O端口,分别为P0、P1、P2和P3,共32条I/O线。这些I/O端口是双向I/O端口,每个端口均可以用作输入和输出。在程序中,这些I/O端口分别对应4个特殊功能存放器P0、P1、P2和P3。2.7.1并行I/O口对于8051的4组8位I/O口来说,其中P1、P2和P3为准双向口,P0口那么为双向三态输入输出口,下面我们分别介绍这几个端口的结构:1.P0端口结构2.P1口结构:P1口一般用作通用I/O端口,其可以用作位处理,各位都可以单独输出或输入信息。3.P2口结构:P2口可以当作普通I/O口,也可以在系统外部扩展存储器的时候,输出高8位的地址。4.P3口内部结构:P3端口是一个具有第二变异功能、且可位操作的端口。P3口的内部结构,如下图,其可以有两种用途:当作为普通I/O端口时,P3口可以进行位操作,是准双向端口,可以驱动4个LSTTL负载。当系统需要扩展外部器件时,P3口可以作为第二变异功能使用。2.7.2并行I/O口的应用单片机4个8位I/O端口的不同结构,决定了各自的应用范围。例如,在一些复杂的应用系统中,只用一个单片机很难到达系统的要求,经常需要外部功能扩展。因此,单片机的P0口和P2口常用于组成16位地址总线。P0口用作8位数据总线,P3口由于其特有的第二变异功能,因此常用于传输和控制等,只有P1口可以真正的用于I/O操作。另外,在单片机应用时,P0口需要外加上拉电阻,而P1口、P2口和P3口内部设置有上拉电阻,不用外加。这4个I/O端口均为准双向I/O端口,其驱动能力不同,P0口的驱动能力最强,可以驱动8个LSTTL负载,其余3个端口只能驱动4个LSTTL负载。还有一个需要强调的是,这些端口都有两种读取方式:读锁存器和读引脚。这是因为在I/O端口中,锁存器内容和引脚上的内容有可能不一致。2.7.3并行I/O口的扩展虽然51系列单片机提供了4个8位的并行I/O口用于核外部设备进行数据通信及控制,但是这些I/O一般不能完全用于输入输出操作。例如,很多时候都需要扩展外部程序存储器或数据存储器,此时P0口和P2口便用作数据和地址总线,提供给用户的I/O端口只有P1口和P3口。如果再使用串行通信或者外部中断功能时,那么可使用的I/O口便更少。因此,在单片机的系统设计中,经常需要扩展I/O口。1.并行I/O口的原理2.并行I/O扩展实例2.8系统掉电保护和低功耗设计对于一个完善的单片机应用系统,为了保证其能够平安的运行,以及减少功耗等,需要考虑进行掉电保护和采用低功耗的工作方式。2.8.1掉电保护掉电保护电路需要完成的工作是,由电压检测电路检测到电源电压下降时,触发外部中断或,在中断效劳子程序中讲外部RAM中的有用数据送入内部RAM保存。然后切换备用电源。在单片机工作的时候,如果突然电源中断或电源电压不稳,都有可能造成单片机停止工作。此时。单片机RAM中的数据以及各种存放器的状态都将丧失。等到电源恢复的时候,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育用品采购合同审核
- 企业年会导演合作协议
- 员工发展与福利计划
- 广告传媒董事长聘用协议样本
- 财务报告保密协议管理办法
- 颈椎病的诊断与治理
- 水利工程招投标合同审查要点
- 售后服务管理评审修订制度
- 电子竞技公司聘用合同范本
- 初级消防安全课件
- 超星学习通尔雅《人工智能》答案
- 医院财务制度讲解课件
- 英语学科-家长会
- 案例研究设计与方法课件
- 《住院患者身体约束的护理》团体标准解读
- 六年级上数学试题-圆的周长-练习题-人教版 无答案
- 新人教统编版七年级上册历史 第13课 东汉的兴衰 教学课件
- 事业单位招聘人员体检表
- 对口计算机高职单招VB编程练习题及答案
- 量子力学选择题库(含答案)
- 共点力的平衡 课件 高中物理新人教版必修第一册(2022-2023学年)
评论
0/150
提交评论