学习单元五 学习哪些单片机
在计算机和单片机中,所有的信息如图像、声音、汉字、各种数字、英文字符、各种符号等都是以半导体器件的物理状态来表示的,计算机和单片机采用双稳态电子器件作为保存信息的基本元件,它们只能识别用1和0表示的高低电平,因此计算机和单片机都采用二进制数表示各种信息,见附录1。
单片机按处理字长可分4位机、8位机、16位机和32位机等,其中用途最广、产量最大的是8位单片机。我国目前应用最广泛的8位单片机是51系列单片机。
51系列单片机源于20世纪80年代初,当时,美国INTEL公司推出了名为MCS-51的系列单片机,其主要型号及特征见表1-2,8051单片机是其中最典型的一款8位单片机,之所以称之为8位,是因为8051单片机一次最多处理8位二进制数据(我们将8位二进制数据称为1个字节,字节的英文名为byte,简称b),而多于8位的数据由单片机分割后,以8位一组进行处理。
表1-2 MCS-51单片机的主要硬件特性
Intel公司首推的8051单片机有128个字节的片内RAM、4kb(1k=210=1024)的片内ROM、2个定时器/计数器、l个串行口和4组I/O口、5个中断源采用2级优先结构,此外片内还集成了CPU和时钟电路等。MCS-5l单片机最初采用HMOS工艺,后来改用更为省电的CHMOS工艺,并衍生出一批采用同一内核、CHMOS工艺单片机品种,后者产品名中加有字符“C”,如80C51等。8051和80C51单片机的基本结构如图1-14所示,其引脚分布如图1-15(a)。
图1-15 MCS-51单片机引脚分布及总线结构
(a)引脚分布(b)总线结构
MCS-51系列单片机支持两种典型的应用模式:I/O应用模式和总线应用模式。在I/O应用模式下,单片机不需在外部扩展ROM,它的32个I/O引脚每一个都能独立进行输出或输入,可直接驱动外部器件或输入外部信号(不考虑定时器、中断和串口对它们的占用)。但在总线应用模式下,单片机需在外部扩展ROM,如图1-15(b)所示,它的P0端口和P2端口用于扩展外部总线以构成8位数据总线和16位地址总线,P3端口一部分用于扩展控制总线,其余用于定时器、中断和串口,因此,真正留给用户的只剩下P1口的8个I/O引脚。
图1-14 8051和80C51单片机的基本结构
国内早期对MCS-51单片机的应用基本上全是总线应用,相应的教材和实验设备也基本按这种应用模式来编写和设计。这是因为早期ROM型单片机(无论是8051/52的掩膜式ROM还是8751/52的EPROM)芯片价格太高(曾卖到70元/片),所以人们通常只能用无ROM的单片机如8031/32,这就造成在8031/32单片机系统中必须外扩ROM。
随着市场对单片机需求的不但扩大和技术的进步,ROM型单片机价格越来越低,功能越来越多,性能越来越好。目前单片机的应用基本上全是I/O应用模式,而总线应用模式很少。故本教材按I/O应用模式编写和设计,有关总线扩展的内容不再介绍。
以8051和80C51为代表的MCS-51系列单片机强大的控制能力和低廉的价格不断赢得人们的青睐。后来,Intel公司以专利互换和专利出售的方式,将该单片机内核授权给其他多家集成电路制造商,如Atmel、STC、SST、PHILIPS、华邦公司等。拿到该授权的厂商,在此基础上又开发出一批采用同一内核、有着自己特色的兼容产品,这些兼容产品在指令系统、硬件结构和片内资源上与标准8051单片机完全兼容、除新增的一些功能外其他功能基本相同,被称为新型51系列单片机。
与早期的MCS-51系列单片机相比,目前新型51系列单片机的应用已经发生了很大的变化,主要表现为以下几点:
(1)片内带FLASH-ROM的芯片已成为应用主流。比如AT89S51/52,其片内带4/8kb的FLASH-ROM,支持串行在线编程,编程寿命大于1000次。若用户需要更大的ROM容量,完全可以选择别的芯片,而不必为此扩充系统。
(2)使用串行接口的外围芯片不断推出。以实时时钟芯片DSl302为例,它本身只有8个引脚,与CPU的通信只要3根连线。而早先推出的实时时钟芯片DSl2877有28个引脚,与CPU的通信需要十几根连线。也就是说,除非系统规模较大或者对数据传送速度要求很高,用户可以更多地采用单片机的I/O应用和串行扩展模式。
(3)在线编程能力ISP。有些51单片机具有ISP在线编程(In System Programming,简称ISP)的能力,可以直接在用户电路板/目标电路板中进行编程,而不用将它从用户电路板中摘下。例如,ATMEL公司的单片机AT89S51/52可利用SPI口进行在线串行编程。
(4)在应用编程能力IAP。有些51单片机具有IAP在应用编程(In Application Programming,简称IAP)的能力,可在程序运行中对片内其他ROM单元进行写入。例如STC公司的STC89C51/52,其内部有两块FLASH-ROM,可以用芯片中常驻的监控代码将被调试的用户代码写入到芯片中其他FLASH-ROM区,并对其进行调试和运行。
ISP技术和IAP技术见附录2。
(5)更好的开发环境、软件工具和软件资源。例如,工作于Windows环境的Keil和MedWin等集成开发环境、拥有很高编译效率的C51编译器、与ANSI C兼容的C51函数库、用于多任务编程的RTX15实时操作系统等。
现在新型51系列单片机以其强大的功能、较低廉的价格逐步取代了早期的MCS-5l系列单片机而成为市场上应用最广泛的8位单片机。由于新型51系列单片机在指令系统、硬件结构和片内资源上与MCS-51单片机完全兼容、除新增的一些功能如ISP、IAP、A/D、D/A等功能外其他基本相同,如果没有特殊要求,彼此间可以互换,因此人们习惯于将新型51系列单片机和以8051/80C51为代表的MCS-51系列单片机统称为51系列单片机,简称51单片机,它们是本书学习的对象。本书后续内容所提到的单片机都是以8051/80C51为代表的51系列单片机,后续内容主要围绕图1-14所示8051/80C51单片机内部结构框图展开介绍。