51单片机片内结构如下:

  1. 8位CPU
    CPU包括运算器及控制器。运算器主要负责单片机的运算功能,控制器主要负责识别指令。
  2. 数据存储器(256B RAM)
    数据存储器为随机存储器,即我们通常所说的内存(这里所说的内存与PC的内存有所差别,单片机是哈佛机构,PC是冯诺依曼结构),一般我们C语言命名的动态变量就保存在这里。
  3. 程序存储器(8KB ROM)
    程序存储器为只读存储器,这里所说的只读是指单片机正常运行状态下的只读,因为在下载程序时是可以写的,程序存储器主要保存程序以及静态变量,静态变量即我们C语言编程时用static修饰的变量,这种变量是只能一次定义,不能修改。
  4. 4个8位I/O口
    51单片机共有32个通用输入输出口,多数IO口都具有第二功能。
  5. 3个定时器/计数器
    定时器和计数器是一样的,更准确来说应该是计数器,因为定时器功能是通过计算单片机的时钟脉冲数目实现的。
  6. 1个串行口
    串口等同于我们手机的USB接口,是与外部数据交换的接口。
  7. 6个中断源的中断系统
    中断功能是比较难运用的,因为它的C语言编程方式与我们以前所学的有很大差别,但是如果你学习过Win32编程的话就比较容易理解了。
  8. 特殊功能寄存器
    特殊功能寄存器主要是用于CPU对片内外设不见的控制、管理和监视,外设包括IO口、定时计数器、串口等等。
  9. 看门狗定时器
    看门狗定时器也是一种计数器,和普通定时器没有很大差别,也是通过计数时钟脉冲,之所以称为看门狗就是如果不在设定的时间范围内重置定时器的值(称为喂狗)看门狗定时器就会重启单片机,在课堂上老师一般都会吵吵草草了事的过一下这部分内容,但是在真正项目中这个功能是十分重要的。单片机在受到强干扰时,会跑飞不按正常的程序运行,对工业生产这是致命的,所以需要单片机自动监视,出现问题时能够保证单片机不会乱操作。