1.1 单片机的应用和特点
单片机是一种广泛应用于各种产品的半导体器件。例如,大多数的厨房电器中都有单片机,最常见的是一些配备发光二极管(LED)或液晶显示屏(LCD)和小键盘的产品(如微波炉)。即使像烤面包炉和搅拌机这种没有屏幕显示的新型家电,往往也用到了单片机。单片机的应用已经与我们的生活越来越紧密,现在,我们要来学习单片机了,那就有必要对单片机的应用领域和特点有一个初步的了解。
1.1.1 单片机的应用
单片机的应用十分广泛,国际上从20世纪70年代开始,国内自80年代开始,单片机已经广泛应用于国民经济的各个领域,对各个行业的技术改造和产品智能化的更新换代起着重要的推动作用。
1.单片机在智能仪表中的应用
单片机广泛用于各种仪器仪表,使仪器仪表智能化,提高它们的测量速度和测量精度,加强其控制功能,简化仪器仪表的硬件结构,使它们更便于使用、维修和改进,如图1-1所示。
2.单片机在机电一体化中的应用
机电一体化是机械工业发展的方向。机电一体化产品是集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的机电产品。例如,微机控制的铣床、车床、钻床、磨床等,使得机械零件的超精密加工成为现实;自动点钞机、验钞机等机电产品,使得金融业劳动强度降低;IC卡的应用使得消费方式发生了巨大的变化。单片微机的出现促进了机电一体化,它作为机电产品的控制器,充分地发挥了体积小、可靠性高、功能强、现场安装灵活方便等优点,大大强化了机器的精度、自动化和智能化水平,如图1-2所示。
图1-1 基于单片机设计的智能仪表
图1-2 基于单片机设计的点钞机
3.单片机在实时控制中的应用
单片机也广泛用于各种实时测控系统中,对于过程控制中的各种物理参数(如转速、位移、压力、流量、液位、温度、酸碱度等)进行测量和控制。将测量技术、自动控制技术和计算机技术相结合,充分发挥数据处理和实时控制功能,使系统工作在最佳状态,提高系统的生产效率和产品的质量。在航空航天、通信、遥控、遥测等各种实时控制系统中都可以使用单片机作为控制器。
4.单片机在分布式多机系统中的应用
分布式多机系统具有功能强、可靠性高的特点。在比较复杂的系统中,都采用分布式多机系统。系统中有若干台功能各异的计算机,各自完成特定的任务,它们又通过通信相互联系、协调工作。单片机在这种多机系统中,往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时测量和控制。高档单片机通信(并行或串行)功能很强,它们在分布式多机系统中发挥很大的作用。
5.单片机在家用电器中的应用
家用电器涉及千家万户,生产规模大。如,全自动洗衣机、热水器、高级音响设备、高级玩具和电子游戏机等,配上微电脑后其身价更是提高百倍,深得用户的欢迎。廉价的单片机微机在家用电器中的应用前途十分广阔。
综上所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于:它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
1.1.2 主流单片机的种类及特点
现在有许多半导体公司生产多种单片机,下面介绍几种主流的单片机产品。
1.MCS-51系列单片机
MCS-51单片机是美国INTEL公司于1980年推出的产品。与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条。MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍以MCS-51单片机作为代表进行理论基础学习。MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:
● 8位CPU;
● 4千字节程序存储器(ROM);
● 128字节的数据存储器(RAM);
● 32条I/O口线;
● 111条指令,大部分为单字节指令;
● 21个专用寄存器;
● 2个可编程定时/计数器;
● 5个中断源,2个优先级;
● 一个全双工串行通信口;
● 数据存储器寻址空间为64KB;
● 程序存储器寻址空间为64KB;
● 作位寻址功能;
● 封装为双列直插(DIP);
● 5V电源供电。
MCS-51以其典型的结构、完善的总线专用寄存器的集中管理、众多的逻辑位操作功能及面向控制的丰富的指令系统,为以后的其他单片机的发展奠定了基础。正因为其优越的性能和完善的结构,后来的许多厂商多沿用或参考了其体系结构。有许多世界大的电气商,丰富和发展了MCS-51单片机。像PHILIPS、DALLAS和ATMEL等著名的半导体公司都推出了兼容MCS-51的单片机产品,就连我国台湾的WINBOND公司也发展了兼容C51(人们习惯将MCS-51简称C51,如果没有特别声明,二者同指MCS-51系列单片机)的单片机品种。
8051是MCS-51系列单片机中的代表产品,内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4KB的程序存储器、128字节的数据存储器、4组8位的并行口、2个16位的可编程定时/计数器和1个全双工的串行口以及布尔处理器。MCS-51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64KB。这作为单片机控制来说已是比较大的,这同时具备对I/O口的访问能力。此外,MCS-51采用模块化结构,增删一个模块就可以产生相互兼容的新产品,从而容易使产品形成系列化。由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,以及硬件的加、减、乘、除法器和布尔处理机和各种逻辑运算和转移指令,给应用提供了极大的便利。MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令。这对于编程来说,是相当灵活和方便的。MCS-51单片机的工作频率为1~12MHz,当振荡频率为12MHz时,一个机器周期为1μs,这个速度应该说是比较快的。8051中集成了完善的各种中断控制功能,用户可十分方便地控制和使用这些功能,使得8051的应用范围加大,满足绝大部分的应用场合。
MCS-51把微型计算机的主要部件都集成在一块芯片上,使得数据传送距离大大缩短,可靠性更高,运行速度更快。由于MCS-51属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作也相对稳定。因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是应用于低端控制系统的最佳器件。MCS-51的开发环境要求较低,软件资源十分丰富,介绍其功能特性的书籍和开发软件随处可见。只需配备一台PC(个人电脑——对电脑的配置基本上特殊无要求),一台仿真编程器即可实现产品开发。在众多的单片机品种中,C51的环境资源是最丰富的,这给C51用户带来极大的便利。
近年来C51获得了飞速的发展。C51的发源公司INTEL由于忙于开发PC及高端微处理器,无精力继续发展自己的单片机,而由其他厂商继续C51的发展,最典型的是PHILIPS和ATMEL公司。PHILIPS公司主要是改善其性能,在原来的基础上发展了高速I/O口、A/D转换器、PWM(脉宽调制)和WDT看门狗定时器等增强功能,并在低电压、微功耗、扩展串行总线(I2C)和控制网络总线(CAN)等功能加以完善。当初主要由PHILIPS公司来发展C51单片机。PHILIPS公司在发展C51的低功耗、高速度和增强型功能上作了不少贡献。他们的83Cxx和87Cxx系列省去了并行扩展总线,特别适用于家电等生活电器的智能控制。ATMEL公司推出的AT89Cxx系列兼容C51的单片机,完美地将Flash(非易失闪存技术)、EEPROM与80C51内核结合起来。其单片机仍采用C51的总体结构和指令系统,但Flash的可反擦写程序存储器能有效地降低开发费用,并能使单片机作多次重复使用。SIEMENS公司也沿用C51的内核,相继推出了C500系列单片机,在保持了与C51指令兼容的前提下,其产品的性能得到了进一步的提升,特别是在抗干扰性、电磁兼容和通信控制总线功能上独树一帜,其产品常用于工作环境恶劣的场合,也适用于通信和家用电器控制领域。还有台湾的WINBOND公司也开发了一系列兼容C51的单片机,其产品通常具备丰富的功能特性,而且以其质优价廉在市场也占有一定的份额。
表1-1是80C51系列单片机的主要分类及功能特性,表1-2是52系列单片机的主要分类及功能特性。
表1-1 80C51系列
表1-2 52系列
2.MICROCHIP单片机
MICROCHIP单片机的主要产品是PIC 12系列、16系列、17系列和18系列8位单片机,24C系列16位单片机。它们的CPU采用RISC结构,分别有33、35、58条指令。它们采用Harvard双总线结构,具有运行速度快、低工作电压、低功耗、较大的输入输出直接驱动能力、价格低、一次性编程和体积小等优点,适用于用量大、档次低、价格敏感的产品。在办公自动化设备、消费电子产品、电讯通信、智能仪器仪表、汽车电子、金融电子和工业控制等不同领域都有广泛的应用。PIC系列单片机在世界单片机市场份额排名中逐年提高,发展非常迅速。
图1-3 MICROCHIP公司部分产品封装
PIC单片机是MICROCHIP公司的产品,其突出的特点是体积小、功耗低、精简指令集、抗干扰性好、可靠性高、有较强的模拟接口和代码保密性好,如图1-3所示。在一些小型的应用中,比传统的51单片机更加灵活、外围电路更少。因而得到了广泛的应用,更有不少的客户指定厂商用其产品。另外,因为其较少的指令及较强的实用功能,更成为许多单片机初学者的首选品牌。PIC中低档系列单片机共有35条指令,非常有利于记忆和掌握。这些指令为单字节,占用程序存储器的空间小,而且中档系列单片机每一条指令为14位,前6位存操作指令,后8位存操作数。大部分芯片有兼容的Flash程序存储器芯片,支持低电压擦写。擦写速度快,允许多次擦写,程序修改方便。
3.AVR单片机
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备和家用电器等各个领域。
AVR单片机的推出,彻底打破了旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法。采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此)。取指令周期短,又可预取指令,实现流水作业,故可高速执行指令。当然,这种速度上的升跃,是以高可靠性为其后盾的。AVR单片机的硬件结构,采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mbit/s),克服了瓶颈现象,增强了功能。同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。
AVR单片机内嵌高质量的Flash程序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产和更新。内嵌有长寿命的EPROM,可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效地支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部RAM。AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入,驱动能力强(可省去功率驱动器件),这些特性使得I/O口资源灵活、功能强大并可充分利用。AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C和SPI使用。其中与8/16位定时器配合的,具有多达10位的预分频器,可通过软件设定分频系数,提供多种档次的定时时间。
AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变和相位可变方波的设计方法(即脉宽调制输出PWM)”,更是令人耳目一新。增强性的高速同/异步串口,具有硬件产生校验码、硬件检测、两级接收缓冲、波特率自动调整定位(接收时)和屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用。串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯,面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别和总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。SPI支持主/从机等4种组合的多机通信。
AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电路复位、外部复位、看门狗复位和BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。AVR单片机具有多种省电休眠模式,且可宽电压运行(5~2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。
AVR单片机技术体现了单片机集多种器件(包括Flash程序存储器、看门狗、同/异步串行口、EEPROM、TWI、SPI、A/D模数转换器和定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕获和比较匹配输出等多样化功能的定时器/计数器、具替换功能的I/O端口等)于一身,单片机技术从“片自为战”向“片上系统(SOC)”过渡的发展方向。
可通过登录ATMEL公司的官方网站www.atmel.com了解关于AVR单片机的内容。
4.MOTOROLA单片机
MOTOROLA是世界上最大的单片机厂商,从M6800开始,开发了广泛的单片机品种,4位、8位、16位和32位的单片机都能生产。其中典型的代表有:8位机M6805、M68HC05系列;8位增强型M68HC11、M68HC12;16位机M68HC16和2位机M683XX。MOTOROLA单片机的特点之一,是在同样的速度下所用的时钟频率较INTEL类单片机低得多,因而使得高频噪声低,抗干扰能力强,更适合于工控领域及恶劣的环境。读者可以登录www.motorola.com了解关于MOTOROLA单片机的特性。