资源描述
第2章单片机的硬件结构和原理,2.1概述2.2MCS-51单片机硬件结构2.3中央处理器CPU2.4单片机工作的基本时序2.5存储器的结构2.6并行输入/输出接口2.7单片机的引脚及其功能,2.1概述,2.1.1单片机的发展简史,Intel公司是世界上生产CPU的最大厂商之一,以Intel公司典型产品加以介绍。我们可以把单片机的发展历史划分为四阶段:第一阶段(19761978年):低性能单片机的探索阶段。以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。主要用于工业领域。第二阶段(19781982年):高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。这类单片机的应用范围较广,并在不断的改进和发展。,第三阶段(19821990年):16位单片机阶段。16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。第四阶段(1990年):微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。,2.1.2单片机的应用,(1)测控系统。(2)智能仪表。(3)机电一体化产品。(4)实时控制。(5)智能民用产品。,2.2MCS-51单片机硬件结构,2.2.1MCS-51系列单片机的分类,表2.1MCS-51系列单片机配置一览表,2.2.2MCS-51单片机的内部结构,图2.1MCS-51单片机结构框图,2.2.3MCS-51单片机的内部硬件资源,8051为典型的ROM型单片机,面向控制的8位CPU4K字节掩膜ROM程序存储器128字节内部RAM数据存储器2个16位定时器/计数器1个全双工的异步串行口5个中断源,2个中断优先级的中断控制器时钟电路,时钟频率在1.2MKZ12MHZ,2.3中央处理器CPU,2.3.1运算器,算术逻辑单元ALU2.累加器ACC(Accumulator)3.寄存器B4.程序状态字PSW(ProgrameStateWord),D7D6D5D4D3D2D1D0,PSW,表2.2RS1、RS0与片内工作寄存器组的对应关系,MCS-51CPU对用户开发的寄存器:累加器ACC,寄存器B,程序计数器PC,数据指针DPTR,程序状态寄存器PSW,堆栈指针SP。,2.3.2控制器,1.时钟电路,图2.2单片机时钟电路(a)内部时钟电路;(b)外部振荡源,10K,MCS-51单片机的时钟频率因型号而异,典型值为12MHz。,电容C1和C2的作用有两个:其一是使振荡器起振,其二是对振荡器的频率f起微调作用,典型值为30pF。,2.复位电路(NMOS单片机),图2.3单片机复位电路(a)上电复位电路;(b)开关复位电路,(a),(b),单片机有一个复位引脚RST,它是施密特触发输入(对于CHMOS单片机,RST引脚的内部有一个拉低电阻),单片机复位必须使该引脚出现2个时钟周期以上的高电平。此时,ALE,PSEN,P0、P1、P2、P3口输出高电平。单片机复位后,除了(SP)07,P0、P1、P2、P3为0FFH外,其它寄存器都为0。,上图复位电路中RC时间常数越大,上电时RST端保持高电平的时间越长。当振荡频率为12MHz时,典型值为C10F,R8.2k。,表2.3复位后内部寄存器状态,3.指令寄存器和指令译码器指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经译码器译码后由定时与控制电路发出相应的控制信号,完成指令所指定的操作。,4.程序计数器PC(ProgramCounter)PC用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是0000H0FFFFH共64KB。程序中的每条指令存放在ROM区的某一单元,并都有自己的存放地址。CPU要执行哪条指令时,就把该条指令所在的单元的地址送上地址总线。在顺序执行程序中,当PC的内容被送到地址总线后,会自动加1,即(PC)(PC)+1,又指向CPU下一条要执行的指令地址。,5.堆栈指针SP(StackPointer)堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式,主要用于子程序调用及返回和中断处理断点的保护及返回,它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回,进入栈区的“断点”数据应遵循“先进后出”的原则。SP用来指示堆栈所处的位置,在进行操作之前,先用指令给SP赋值,以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后,SP的值也自动随之变化。MCS-51系统复位后,SP初始化为07H。,6.数据指针寄存器DPTR数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。DPTR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。,2.4单片机工作的基本时序,1.机器周期和指令周期(1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。(2)状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。(3)机器周期:一个机器周期包含6个状态周期S1S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。(4)指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令。,2.MCS-51指令的取指/执行时序,图2.4MCS-51单片机取指/执行时序,3.访问外部ROM和RAM的时序,图2.5读外部程序ROM时序,图2-6读外部数据RAM时序,图2.7写外部数据RAM的时序,2.5存储器的结构,图2.8MCS-51单片机的存储器结构,MCS-51单片机有5个独立的存储空间:64K字节程序存储器空间(00FFFFH)256字节内部RAM空间(00FFH)128字节内部特殊功能寄存器空间(80H0FFH)位寻址空间(00FFH)64K字节外部数据存储器(RAM/IO)空间(00FFFFH),图2.8中没有表明位寻址区,因为位寻址区的物理寄存器包含在内部RAM和特殊功能寄存器的一些单元中。不同型号的单片机,各个空间中实际存在的物理单元不完全相同。,1.程序存储器对于8051来说,程序存储器(ROM)的内部地址为0000H0FFFH,共4KB;外部地址为1000HFFFFH,共60KB。当程序计数器由内部0FFFH执行到外部1000H时,会自动跳转。对于8751来说,内部有4KB的EPROM,将它作为内部程序存储器;8031内部无程序存储器,必须外接程序存储器。8031最多可外扩64KB程序存储器,其中6个单元地址具有特殊用途,是保留给系统使用的。,当EA接VCC,则程序计数器PC的值在0至0FFFH之间时,CPU取指令时访问内部的程序存储器;PC值大于0FFFH时,则访问外部的程序存储器。如果EA接VSS,则内部的程序存储器被忽略,CPU总是从外部的程序存储器中取指令。对于内部没有程序存储器的单片机必须外接程序存储器,并且EA必须接地。PSEN引脚是读外部程序存储器的选通信号。程序存储器中有6个单元地址有特殊用途:0000H是系统的启动(复位)地址,一般在该单元中存放一条绝对跳转指令。0003H、000BH、000BH、001BH和0023H对应5种中断源的中断服务入口地址(外部中断INT0,定时中断T0,外部中断INT1,定时中断T1和串行中断)。通常在这些中断入口地址放一条跳转指令,因为两个中断入口地址之间仅有8个单元,存放中断服务子程序不够用。,2.内部数据存储器MCS-51单片机片内RAM的配置如图2.8(b)所示。片内RAM为256字节,地址范围为00HFFH,分为两大部分:低128字节(00H7FH)为真正的RAM区;高128字节(80HFFH)为特殊功能寄存器区SFR如表2.6。在低128字节RAM中,00H1FH共32单元是4个通用工作寄存器区。每一个区有8个通用寄存器R0R7。寄存器和RAM地址对应关系如表2.4。20H2FH为位寻址区如表2.5。堆栈或数据缓冲器区。,(1)工作寄存器区MCS-51单片机内RAM的00H1FH共32个字节为4组通用工作寄存器,每组有8个寄存器(R0R7)。这4组工作寄存器不能同时参与程序的运行,CPU只能选择一组参与工作,由特殊功能寄存器程序状态字(PSW)中RS1,RS0决定。单片机复位后,RS1、RS0为00H,单片机将自动选择0区工作。(2)位寻址区(20H2FH)共16个字节128个位,既可以按字节寻址,又可以按位寻址,其位地址为00H7FH。,(3)堆栈和数据缓冲区MCS-51的堆栈原则上可以设在内部RAM的128个字节的任意区域,但01FH和20H2FH区域具有特殊功能,堆栈一般设在30H7FH的范围内。栈顶由SP指出。进栈时,SP先加1,然后数据进栈;出栈时,先数据出栈,再SP减1。单片机复位后SP为07H,这意味着初始堆栈区设在08H开始的RAM,而08H1FH是工作寄存器区,一般应对SP初始化,如6FHSP,则堆栈设在70H开始的区域。,MCS-51最基本的特殊功能寄存器有21个,离散的分布在80HFFH的特殊功能寄存器地址空间。,位存储器:MCS51的内部RAM中20H2FH以及特殊功能寄存器(80HFFH)地址号能被8整除的单元的位,可以直接进行位寻址。这些寄存器既有一个字节地址,每一位又有一个位地址。,表2.4寄存器与RAM地址对照表,表2.5RAM中的位寻址区地址表,表2.6SFR特殊功能寄存器地址表,表2.6SFR特殊功能寄存器地址表,表2.6SFR特殊功能寄存器地址表,3.外部数据存储器外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定,最大可扩展到64KBRAM,地址是0000H0FFFFH。CPU通过MOVX指令访问外部数据存储器,用间接寻址方式,R0、R1和DPTR都可作间接寄存器。注意,外部RAM和扩展的I/O接口是统一编址的,所有的外扩I/O口都要占用64KB中的地址单元。,2.6并行输入/输出接口,图2.9P0口内部一位结构图,1.P0口,P0口内部没有拉高电阻,因此,一般情况下,P0口作为输入/输出口时应外接10K拉高电阻。当输出驱动器转接至地址/数据时,P0口作为地址/数据总线口使用,分时输出外部存储器的低8位地址A0A7和传送数据D0D7。,CPU对口的读操作有两种:一种是读-修改-写操作,读口锁存器的状态;另一种是读操作,CPU读取口引脚上的外部输入信息。P1,P2,P3口内部有拉高电阻。,2.P1、P2和P3口,P1、P2和P3口为准双向口,在内部差别不大,但使用功能有所不同。P1口是用户专用8位准双向I/O口,具有通用输入/输出功能,每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必须写入“1”,然后才能进入输入操作。P2口是8位准双向I/O口。外接I/O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。对于8031而言,P2口一般只作为地址总线使用,而不作为I/O线直接与外部设备相连。,表2.7P3口的第二功能,2.7单片机的引脚及其功能,图2.10MCS-51单片机引脚及总线结构(a)管脚图;(b)8031引脚功能分类,
展开阅读全文