51系列单片机的结构和功能
51系列单片机是英特尔公司生产的具有一定结构和功能的单片机产品。这家公司在1976年引入8位MCS - 48系列单片机后,于1980年又推出了8位高档的MCS - 51系列单片机。它包含很多种这类型的单片机,如8051,8031,8751,80C51BH,80C31BH等,它们的基本组成,基本性能和指令系统都是一样的。一般情况习惯用8051来代表51系列单片机。
一个单片机的系统是由以下几部分组成:(1)一个8位CPU微处理器。(2)静态随机存取存储器,能够储存程序运行过程中产生的数据。(3)程序存储器ROM / EPROM中(4KB/8KB),用来保存程序和一些初始数据。但是在一些单片机中不使用ROM / EPROM中,如8031,8032,80c系列等。(4)4个8排的I / O并行接口P0 ~P3,每个口可以用作输入,也可以用作输出。(5)2个定时器/计数器,每个定时器/计数器可设置计数用来计数外部事件,可以设置成常用的定时方式,并可以根据计算或结果控制单片机的运行。(6)五个中断源控制系统。(7)1个双向串行I / O口的UART(通用异步接收器/发送器UART),用于实现单片机的串行通信。(8)振荡器和时钟产生电路,需要外部电源的石英晶体微调电路,允许接在12v的振荡频率上。上述部分通过内部数据总线连接。其中,CPU是单片机的核心,它是单片机的控制和指挥中心,ALU算数逻辑运算单元可进行算术运算和逻辑运算,由1个 8暂时存储器,和2个 8位的累加器组成。Acc累加器是ALU运算结果的存放单元,一般数据通过它来传送。此外,Acc往往被视为对8051内的数据传输中转站。和通常的微处理器一样,它是最繁忙的寄存器。有记忆功能并执行命令。该控制器包括程序计数器,可读写的存储器,振荡器和定时电路等。该程序计数器是有两对8或16位计数器,它是一个字节地址计数器,在个人电脑运行程序时,执行下一个单元的内容,程序执行时可以改变它的内容从而改变运行的结果。在8051芯片震荡电路中,需要外接石英晶体和微调电容,其频率范围为1.2MHz—12MHz。该脉冲信号,即为8051的工作周期,是最小的时间单位。8051和其他单片机一样,都有相同的控制和功能,就像乐队也有打击乐器一样。
在8051中有ROM(程序存储器,只能读取),和RAM(数据存储器,可以读和写),他们有各自独立的内存地址空间,也有相同的处理方式。8051和8751的程序存储器的存储容量为4KB,地址从0000H开始,在使用过程中其中的数据不变。8051、8751、8031数据存储器的内存为128B,默认地址是00FH,用于保存中间数据和缓存。在这128B的内存中,有32 byteses,被称作工作寄存器,和常用的微处理器不同的是,8051的RAM是按功能来划分模块的。MCS - 51系列单片机和一般电脑的处理方式不同。一般电脑会自动分配地址空间,ROM和RAM的计算机可以安排在不同的空间内,地址范围会根据ROM和RAM的位置分配不同地址空间。在访问的内存,不管是ROM和RAM,只有一个地址对应一个内存单元,都要按这个顺序访问。这种内存结构是所谓的普林斯顿结构。 8051的存储器按物理结构划分可分为程序存储器空间和数据存储空间,共有四个内存空间,按结构位置的不同分为内部程序存储空间、外部程序存储空间、内部数据存储空间和外部数据存储空间。但从用户的使用角度看,8051存储器地址空间被分成三类:(1)片内,安排FFFFH的块,片外的(使用16个地址)串口0000H地址。(2)外部数据存储器地址空间为64KB,地址是从0000H到 FFFFH(含16个地址)的位置排列也。(3)256B的数据存储器(使用8个地址)的地址空间。上述三个重叠的内存空间地址,用8051指令系统的传输不同的数据和使用的功能区分。CPU的访问内存时,访问ROM使用MOVC语句,访问RAM块顺序使用片外操作的MOVX语句,访问内存片段使用MOV语句。
8051单片机有4个8并行的I / O端口,分别为P0,P1,P2和P3。每个端口是8位精确的双向口,共占了32针。每一个I / O线可作为独立的入口和出口。每个端口包括一个锁存器(即特殊功能寄存器),一个出口驱动器和引进缓冲器。使数据能够锁存输出,数据可以及时缓冲,其余四个具有相同的功能。接外部存储扩大它们的内存时,这四个口就可作为双向口常用的I / O口,这是,P2口看到高8位地址,P0口是一个公共两用口,传送输出低8的地址和数据。
P3口的输出级别小于P1,可以在里面绘制负载电阻,每一个都能驱动4个LS型TTL负载输出。作为输入口时,所有TTL或NMOS电路都可以驱动一个正常的方式8051 - P3口作为单片机的P1口。可以利用改变电阻的输出大小,直接地充当震荡开路,不需要添加外部电阻。其中每个口都是标准的双向口。当在当做输入口时,必须把相应的端口置1来锁闭输出。比如8051单片机,所有端口提供的输出电流只能几毫安,用作输出口时接一个普通的晶体管,要稳定使用,还要接一定电阻。其主要功能是把初始地址设为0000H,使单片机从0000H的地址开始运行程序。除了正常进入系统的初始化,由于操作失误或操作过程错误,也要能够解决错误,重新运行。在8051中RST引脚是一个输入复位键,复位键高电平信号有效,要保证24倍以上的时钟周期(即2个机器周期)。如果收到高频的6v输入信号,单片机就会复位。