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