1.2.1 单片机内部结构
(1)CPU
CPU是单片机的核心,完成运算和控制功能。MCS-51系列单片机的CPU字长是8位,能处理8位二进制数或代码,也可处理一位二进制数。
(2)片内数据存储器RAM
传统MCS-51单片机有256个字节的RAM单元,其中128个字节被专用寄存器占用。作为存储单元供用户使用的是前128个字节,用于存放程序运行产生的临时数据,通常所说的内部数据存储器就是指前128个字节,也称为片内RAM。增强型51单片机的RAM存储器也采用MCS-51结构划分,增加的RAM空间在应用过程中可利用程序进行操作。
(3)片内程序存储器ROM
单片机片内ROM用于存放程序、原始数据或表格,也称为程序存储器。传统MCS-51系列片内只有4KB的ROM,在兼容51系列产品中,单片机的程序存储器多采用Flash ROM或EEPROM技术,既可以保存单片机运行的程序,也可以保存单片机运行过程中的数据,如STC单片机IAP15F2K61S2芯片,片内含有61KB的Flash ROM,用户可以当作程序存储器使用,也可以当作EEPROM使用。
(4)I/O口
传统MCS-51单片机共有4组并行I/O口,定义为P0、P1、P2、P3接口,每组8位,共有32位,分别与内部4个寄存器P0、P1、P2、P3相连接,32个接口可以用作输入,也可以用作输出。
(5)定时器/计数器
传统MCS-51单片机共有T1、T2两个16位的定时器/计数器,具有4种工作方式,每个定时器/计数器都可以设置成计数方式,用以对外部脉冲进行计数;也可以设置成定时方式,对内部脉冲计数,并可以根据计数或定时的结果实现定时控制。增强51系列片内增加了T2、T3等多个定时器,在应用中,定时器的工作方式和功能分别由各自对应的控制寄存器(特殊功能寄存器)控制。
(6)串行口
51系列单片机至少有一个全双工的串行口,具有4种工作方式,以实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。单片机与计算机之间的通信也可以通过单片机的串行口实现,由于两者通信数据电平要求不同,单片机与计算机之间的通信需要通过RS232接口实现。
(7)片内振荡器和时钟产生电路
单片机系统常用的晶振频率一般为6MHz、11.0592MHz或12MHz。单片机系统时钟由脉冲振荡电路产生,传统51单片机芯片内部只集成了时钟电路,需要外接石英晶体和微调电容,现在很多单片机片内集成了RC振荡电路,可以省去外接的晶体电路即可产生时钟信号。
(8)中断
中断是单片机重要的系统资源,单片机有较强的中断功能,以满足各种控制的需要。传统MCS-51单片机共有5个中断源,即外部中断两个,定时器/计数器中断两个,串行口中断一个,增强型的单片机支持多种中断操作,如T2中断、A/D相关中断、PWM相关中断等,MCS-51单片机的中断源与入口地址见表1-2。
表1-2 MCS-51单片机的中断源与入口地址
在单片机系统运行过程中,数据的运算处理由CPU完成,数据的传输通过内部总线自动实现,片内各个部件的运行状态由用户编写的程序以及相关的特殊功能寄存器控制完成。单片机用户在进行单片机开发过程中,一旦单片机选型确定,剩余的工作是功能的实现及怎样提高系统运行速度和可靠性。