您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第2章 MCS-51单片机硬件结构及原理
第2章MCS-51单片机硬件结构及原理MCS-51单片机主要功能特点MCS-51单片机内部结构分析MCS-51单片机的引脚功能MCS-51单片机的存储器组织MCS-51CPU时序2.1MCS-51单片机主要功能特点8位的CPU,片内有振荡器和时钟电路,工作频率为1~12MHz(Atmel89Cxx为0~24MHz)片内有128/256字节RAM片内有0K/4K/8K字节程序存储器ROM可寻址片外64K字节数据存储器RAM可寻址片外64K字节程序存储器ROM片内21/26个特殊功能寄存器(SFR)4个8位的并行I/O口(PIO)1个全双工串行口(SIO/UART)2/3个16位定时器/计数器(TIMER/COUNTER)可处理5/6个中断源,两级中断优先级内置1个布尔处理器和1个布尔累加器(Cy)MCS-51指令集含111条指令MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/62.2MCS-51单片机内部结构分析内部结构框图MCS-51单片机功能框图单片机的组成单片机要自动完成计算,它应该具有哪些最重要的部分呢?以打算盘计算一道算术题为例。例:111+109×188-199÷32。现在要进行运算,首先需要一把算盘,其次是纸和笔。我们把要计算的问题记录下来,然后第一步先算109×188,把它与111相加的结果记在纸上,然后计算199÷32,再把它从上一次结果中减去,就得到最后的结果。现在,用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。这类器件就称为“存贮器”。此外,还需要有能代替人作用的控制器,它能根据事先给定的命令发出各种控制信号,使整个计算过程能一步步地进行。但是光有这三部分还不够,原始的数据与命令要输入,计算的结果要输出,都需要按先后顺序进行,有时还需等待。如上例中,当在计算109×188时,数字111就不能同时进入运算器。因此就需要在单片机上设置按控制器的命令进行动作的“门”,当运算器需要时,就让新数据进入。或者,当运算器得到最后结果时,再将此结果输出,而中间结果不能随便“溜出”单片机。这种对输入、输出数据进行一定管理的“门”电路在单片机中称为“口”(Port)。在单片机中,基本上有三类信息在流动,一类是数据,即各种原始数据(如上例中的111、109等)、中间结果(如199÷32所得的商6、余数7等)、程序(命令的集合)等。这样要由外部设备通过“口”进入单片机,再存放在存贮器中,在运算处理过程中,数据从存贮器读入运算器进行运算,运算的中间结果要存入存贮器中,或最后由运算器经“出入口”输出。用户要单片机执行的各种命令(程序)也以数据的形式由存贮器送入控制器,由控制器解读(译码)后变为各种控制信号,以便执行如加、减、乘、除等功能的各种命令。所以,这一类信息就称为控制命令,即由控制器去控制运算器一步步地进行运算和处理,又控制存贮器的读(取出数据)和写(存入数据)等。第三类信息是地址信息,其作用是告诉运算器和控制器在何处去取命令取数据,将结果存放到什么地方,通过哪个口输入和输出信息等。存贮器又分为只读存贮器和读写存贮器,前者存放调试好的固定程序和常数,后者存放一些随时有可能变动的数据。顾名思义,只读存贮器一旦将数据存入,就只能读出,不能更改。而读写存贮器可随时存入或读出数据。实际上,人们往往把运算器和控制器合并称为中央处理单元——CPU。单片机除了进行运算外,还要完成控制功能。所以离不开计数和定时。因此,在单片机中就设置有定时器兼计数器。到这里为止,我们已经知道了单片机的基本组成,即单片机是由中央处理器(即CPU中的运算器和控制器)、只读存贮器(ROM)、随机读写存贮器(RAM)、输入/输出口(又分为并行口和串行口,表示为I/O口)等等组成。实际上单片机里还有时钟电路,使单片机在进行运算和控制时,都能有节奏地进行。另外,还有所谓的“中断系统”,这个系统有“传达室”的作用,当单片机控制对象的参数到达某个需要加以干预的状态时,就可经此“传达室”通报给CPU,使CPU根据外部事态的轻重缓急来采取适当的应付措施。现在,我们已经知道了单片机的组成,余下的问题是如何将它们的各部分连接成相互关联的整体。实际上,单片机内部有一条将它们连接起来的“纽带”,即所谓的“内部总线”。此总线有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中断系统等就分布在此“总线”的两旁,并和它连通。从而,一切指令、数据都可经内部总线传送,有如大城市内各种物品的传送都经过干道进行。什么是总线计算机电路是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线很多,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用总线,所有器件的数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。单片机的指令系统和汇编语言程序前面已经讲述了单片机的几个主要组成部分,这些部分构成了单片机的硬件(Hardware)。但是,光有硬件,还只是有了实现计算和控制功能的可能性。单片机要真正地能进行计算和控制,还必须有软件(Software)的配合。软件主要指的是各种程序。只有将各种正确的程序存入单片机,它才能有效地工作。单片机所以能自动地进行运算和控制,正是由于人把实现计算和控制的步骤一步步地用命令的形式,即一条条指令(Instruction)预先存入到存贮器中,单片机在CPU的控制下,将指令一条条地取出来,并加以翻译和执行。就以两个数相加这一简单的运算来说,当需要运算的数已存入存贮器后,还需要进行以下几步:第一步:把第一个数从它的存贮单元(Location)中取出来,送至运算器。第二步:把第二个数从它所在的存贮单元中取出来,送至运算器;第三步:相加;第四步:把相加完的结果,送至存贮器中指定的单元。所有这些取数、送数、相加、存数等等都是一种操作(Operation),我们把要求计算机执行的各种操作用命令的形式写下来,这就是指令。但是怎样才能辨别和执行这些操作呢?这是在设计单片机时由设计人员赋予它的指令系统所决定的。一条指令,对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统(IustructionSet),不同种类的单片机,其指令系统亦不同。2.3MCS-51单片机的引脚功能Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp1ALE/PROG1PSEN1P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.7880C51的引脚封装123456789101112131415161718192040393837363534333231302928272625242322211234567891020191817161514131211P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.7注:类似的还有Philips公司的87LPC64,20引脚8XC748/750/(751),24引脚8X749(752),28引脚8XC754,28引脚等等80C51/89C5189C2051总线型非总线型2.3.1时钟电路XTAL1,XTAL2:片内振荡电路输入/输出端15~45pf1~12MHz(MCS-51)0~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL2端接入外部时钟,此时应将XTAL1接地XTAL1XTAL2外部时钟通常外接一个晶振两个电容MCS-51单片机的时钟电路TTL(a)内部振荡器方式XTAL1R外部振荡器XTAL2VCCXTAL2XTAL1VSS(b)8051外时钟源接法8051NC外部振荡器XTAL1XTAL2VSS(c)80C51外时钟源接法80C51C1C2图2-13MCS-51时钟接法几个周期的概念CPU总是按照一定的时钟节拍与时序工作振荡周期/时钟周期:Tc=晶振频率fosc(或外加频率)的倒数状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)指令周期:Ti:执行一条指令所需的机器周期(Tm)数牢牢记住振荡周期=晶振频率fosc的倒数;1个机器周期=12个振荡周期;1个指令周期=1、2、4个机器周期2.3.2控制信号1、RST/VPD(9脚)复位信号复位使单片机进入某种确定的初始状态:PC值归零(0000H);各个SFR被赋予初始值(教材P37);退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。复位后内部寄存器状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H复位电路复位端RST/VPD:RST是复位信号输入端,高电平有效。当此输入端保持2个机器周期的高电平时,就可以完成复位操作。RST引脚的第二功能是备用电源的输入端。+5V10uF10KVccRSTGND上电复位10uF10KVccRSTGND手动&上电复位1K+5V上电复位按键复位UT按下键松手2.3.2控制信号2、ALE/(AddressLatchEnable/Programming)(30脚)地址锁存信号访问片外存储器时,ALE作锁存扩展地址的低位字节的控制信号,即此信号为高电平时,P0给出低8位地址,可用此信号加于外接锁存器控制端。不访问片外存储器时,该端以六分之一的时钟振荡频率固定输出正脉冲,供定时或其它需要使用。对8751片内EPROM编程(固化)时,此引脚用于输入编程脉冲。PROGPROG2.3.2控制信号3、(29脚)片外程序存储器读选通当51系列单片机访问片外程序存储器时,输出低电平。在每个机器周期内两次有效(变低)。
本文标题:第2章 MCS-51单片机硬件结构及原理
链接地址:https://www.777doc.com/doc-3616196 .html