C51单片机及应用系统设计(第2版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-30 06:12:03

点击下载

作者:韩雁,徐煜明

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

C51单片机及应用系统设计(第2版)

C51单片机及应用系统设计(第2版)试读:

前言

自2009年2月由电子工业出版社出版《C51单片机及应用系统设计》初版以来,受到了全国各高校教师、学生的欢迎,并于当年2009年12月第2次印刷,至2014年6月已第6次印刷。经过6年的发展,单片机出现很多新技术,原书以MCS-51为核心来描述单片机的应用系统,而现在MCS公司已不再生产单片机,新版教材的选用以目前市场上流行Atmel公司的AT89S51为主流芯片,同时从应用系统设计出发,将应用系统设计分为总线扩展技术与应用系统单元模块设计来撰写,引进项目驱动的设计思想,增加了目前广泛使用的CAN总线通信技术和GSM通信技术、红外遥控技术,强化串行扩展技术,弱化原书并行总线的扩展技术,同时将全部应用程序全部改成以C51实现,增加程序的可读性和可移植性,以使其工程性、实用性、自学性、创新性大大增强。

同时为方便学生借助口袋板来移动学习单片机,在接口芯片方面,力求与市场发展同步,如A/D、D/A部分强化了串行接口片的应用,淘汰传统并行ADC0809与DAC0832接口芯片等。

本书共11章,第1章简要介绍了单片机的特点、发展概况和应用领域;第2章介绍了AT89S51单片机的内部结构、资源及特性;第3章介绍了MCS-51的指令系统及汇编语言程序的设计方法;第4章介绍了C51程序设计方法;第5章介绍了AT89S51中断系统及中断服务程序的设计方法;第6章介绍了AT89S51/52定时器/计数器的原理及其应用;第7章介绍了串行通信的基本概念及RS-232、RS-422、RS-485串行总线接口标准、单片机在GSM中的应用、CAN总线串行通信技术;第8章介绍了系统扩展的串并行扩展技术,介绍了常用存储器、2并行接口芯片8255扩展方法,特别介绍了IC、SPI、1-Wire串行总线的特性及虚拟接口的设计和编程方法;第9章介绍了键盘、LED段码点阵显示、液晶显示、模数/数模转换、红外遥控等与单片机系统的接口及编程方法;第10章介绍了单片机应用系统设计流程和步骤,常用的软硬件抗干扰技术;第11章介绍了Keil C51集成开发环境的使用。

本教材由韩雁、徐煜明编著,韩雁负责全书的改版工作,徐煜明对全文进行了校对和审核。由于编者学术水平有限,书中不妥之处在所难免,恳请读者批评指正。

本书配有免费电子课件。任课教师可到华信教育资源网或与编辑刘海艳(E-mail:lhy@phei.com.cn)联系。编者前言

单片机的诞生标志着计算机正式形成了两大系统,即通用计算机系统和嵌入式系统。进入21世纪后,随着计算机科学和微电子集成技术的飞速发展,嵌入式系统得到了迅猛的发展,单片机不断地向更高层次和更大规模发展。单片机应用系统的高可靠性,软、硬件的高利用系数,优异的性能价格比,使它的应用范围由开始传统的过程控制,逐步进入数值处理、数字信号处理及图像处理等高技术领域。同时,世界各大半导体厂商纷至沓来争先挤入这一市场,激烈的市场竞争也促进了单片机迅速更新换代,带来了它们更为广泛的应用,开辟了计算机应用的一个新时代。

学习单片机不但要学习单片机的原理和编程语言,掌握单片机的接口技术和编程方法,还要熟悉单片机的编程器、仿真器等工具。由于单片机种类较多,往往令初学者感到头痛。在众多单片机中,由51架构的单片机芯片市场流行已久,技术资料也相对较多,是初学者较好的选择。51单片机编程语言常用的有两种:汇编语言和C语言。汇编语言的机器代码生成效率很高,但可移植性和可读性差;而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远胜于汇编语言,而且C语言还可以嵌入汇编,开发周期短。

编者是多年从事单片机应用系统技术研发和教学的教师,选用51单片机编写了本教材,试图向读者较好地解答“什么是单片机?怎样学好单片机?如何应用单片机?”这三个问题,使读者既能掌握单片机的一般原理,又能掌握单片机应用系统的软硬件设计技巧,从而能很快从事嵌入系统开发的工作。

为了便于组织教学,在本教材的编排顺序上采用了循序渐进的策略。本书共11章,第1章简要介绍了单片机的特点、发展概况和应用领域;第2章介绍了MCS-51单片机的内部结构、资源及特性;第3章介绍了MCS-51的指令系统及汇编语言程序的设计方法;第4章介绍了单片机C51程序设计方法;第5章介绍了MCS-51中断系统及中断服务程序的设计方法;第6章介绍了MCS-51定时器/计数器的原理及其应用;第7章介绍了串行通信的基本概念及RS-232、RS-422、RS-485串行总线接口标准,通过实例介绍了MCS-51串行通信接口应用及编程方法;第8章从单片机并行和串行总线两个方面,介绍了常用存储器、并行接口芯片8255和串行接口芯片8251的扩展方法,特别介绍2了IC、SPI、1-Wire串行总线的特性及虚拟接口的设计和编程方法;第9章介绍了键盘、LED段码点阵显示、液晶显示、IC卡、模数/数模转换等与单片机系统的接口及编程方法;第10章介绍了单片机应用系统设计流程和步骤,常用的软硬件抗干扰技术;第11章介绍了Keil C51集成开发环境的使用。

本教材内容丰富、深入浅出,大部分程序代码采用C语言编写,使程序的可读性和可移植性较好,读者在应用这些典型模块的程序代码时,只需将程序代码的全部内容作为一个独立模块链接在应用程序之后,统一编译。本教材十分适合应用型高等学校计算机、通信、电子信息、电子技术、自动化及其他相关专业的教学使用,也是一本工程技术人员的参考用书。

本教材由徐煜明编著,韩雁对全文的校对和审核做了大量工作,在编著过程中韩雁、朱宇光、徐强、李春光、王建农、王文宁、赵徐成、陆锦军、黄忠良对全文内容及安排提出了许多宝贵的意见,在此一并表示感谢。由于编者学术水平有限,书中不妥之处在所难免,恳请读者批评指正。

本书配有免费电子课件。任课教师可与编辑刘海艳(E-mail:lhy@phei.com.cn)联系。编者第1章 绪论1.1 单片机基础知识1.1.1 单片机的结构和特点

根据美籍匈牙利科学家冯·诺依曼提出的存储原理,一个完整的计算机包括运算器、控制器、存储器、输入设备和输出设备五大部件。如果把运算器和控制器集成在一块芯片上,就构成了中央处理器(CPU)。若将中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线等部件集成在一块芯片上,就构成了单片微型计算机(Single Chip Microcomputer),简称单片机。

单片机使用时,通常是处于测控系统的核心地位并嵌入其中,所以国际上通常把单片机称为嵌入式控制器(Embedded MicroController Unit,EMCU)或微控制器(MicroController Unit,MCU)。我国习惯于使用“单片机”这一名称。单片机是计算机技术发展史上的一个重要里程碑,标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机具有下列特点。

①体积小、成本低:可嵌入到工业控制单元、机器人、智能仪器仪表、汽车电子系统、武器系统、家用电器、办公自动化设备、金融电子系统、玩具、个人信息终端及通信产品中。

②高可靠性:单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。

③控制功能强:为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O接口的逻辑操作及位运算指令。单片机的逻辑控制功能及运行速度均高于同一档次的微机。

④低功耗、低电压,便于生产便携式产品。2

⑤外部总线增加了IC及SPI等串行总线方式,进一步缩小了体积,简化了结构。

⑥单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。

单片机根据目前的发展情况,单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。

①通用型/专用型:其内部可开发的资源(如存储器、I/O等各种外围功能部件等)可全部提供给用户。用户根据需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及其他外围设备,并编写相应的软件来满足各种不同需要的测控系统。通常所说的和本书介绍的是指通用型单片机。由于特定用途,单片机芯片制造商常与产品厂家合作,设计和生产“专用”的单片机芯片。由于在设计中,已经对“专用”单片机的系统结构最简化、可靠性和成本的最佳化等方面都做了全面的综合考虑,“专用”单片机具有十分明显的综合优势。例如,为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。无论“专用”单片机在用途上有多么“专”,其基本结构和工作原理都是以通用单片机为基础的。

②总线型/非总线型:总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件。但是,外围器件也可通过串行口与单片机连接,另外,许多单片机已把所需的外围器件及外设接口集成于片内,因此在许多情况下可以不要并行扩展总线,大大降低封装成本和缩小芯片体积,这类单片机称为非总线型单片机。

③工控型/家电型:这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。

单片机系统以单片机为核心,配以控制、输入/输出、显示等外围电路和相应的控制软件,即由硬件和软件构成。硬件是应用系统的基础,软件是在硬件的基础上合理安排及使用系统资源,实现系统功能,两者缺一不可,相辅相成。由于单片机实质上是一个芯片,在实际应用中大都嵌入到控制系统中,所以单片机系统也称嵌入式系统。1.1.2 单片机的发展

单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。如果将8位单片机的推出作为起点,那么单片机的发展大致经历了4个阶段。(1)第一阶段(1976—1978年):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词由此而来。(2)第二阶段(1978—1982年):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构:

①完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。

②CPU外围功能单元的集中管理模式。

③体现工控特性的位地址空间及位操作方式。

④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。(3)第三阶段(1982—1990年):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS-51系列的广泛应用,许多电气厂商竞相以80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路的功能,强化了智能控制的特征。(4)第四阶段(1990年至今):微控制器的全面发展阶段。随着单片机在各个领域全面深入的发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。1.1.3 单片机芯片技术的发展趋势

目前,单片机的发展趋势将是向大容量、高性能化,外围电路内装化等方面发展,主要表现在以下几个方面。

1.高性能化

高性能化主要是指进一步改进 CPU 的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS,并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。

2.存储器大容量化(1)片内程序存储器ROM普遍采用闪烁(Flash)存储器。可不用外扩展程序存储器,简化系统结构。目前有的单片机片内程序存储器ROM容量可达128KB甚至更多。(2)加大片内数据存储RAM容量,以满足动态存储的需要。

3.片内I/O的改进(1)增加并行口驱动能力,以减少外部驱动芯片。有的单片机可以直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)。(2)有些单片机设置了一些特殊的串行I/O功能,为构成分布式、网络化系统提供了方便条件。(3)引入数字交叉开关,改变了以往片内外设与外部I/O引脚的固定对应关系。交叉开关是一个大的数字开关网络,可通过编程设置交叉开关控制寄存器,将片内的计数器/定时器、串行口、中断系统、A/D转换器等片内外设灵活配置出现在端口I/O引脚。这就允许用户根据自己的特定应用,将内部外设资源分配给端口I/O引脚。

4.CMOS化、低功耗、低电压(1)CMOS化:CMOS芯片除了低功耗、高密度、低速度、低价格特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是以80C51取代8051为标准MCU芯片的原因。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已先于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。(2)低功耗、低电压:现在新型单片机的功耗越来越低,配置有等待、暂停、睡眠、空闲、节电等工作方式。消耗电流仅在(A或nA量级,使用电压3~6V,完全适应电池工作。低电压供电的单片机电源下限已可达1~2V。目前0.8V供电的单片机已经问世。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。

5.外设电路内装化

众多外围电路集成在片内,系统的单片化是目前发展趋势之一。例如,美国Cygnal公司的C8051F020 8位单片机,内部采用流水线结构,大部分指令的完成时间为1或2个时钟周期,峰值处理能力为25MIPS。片上集成有8通道A/D、两路D/A、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和64个通用I/O口、电源监测、看门狗、多种类型的串行接口(两个UART、SPI)等。一片芯片就是一个“测控”系统。

6.编程及仿真的简单化

目前大多数的单片机都支持程序的在线编程,也称在系统编程(In System Program,ISP),只需一条USB-ISP串口下载线,就可以把仿真调试通过的程序从PC写入单片机的Flash存储器内,省去编程器。某些机型还支持在线应用编程(IAP),可在线升级或销毁单片机的应用程序,省去了仿真器。

7.实时操作系统的使用

51单片机可配置实时操作系统RTX51。RTX51是一个针对8051系列的多任务内核。从本质上简化了对实时事件反应速度要求较高的复杂应用的系统设计、编程和调试。RTX51实时内核完全集成到C51编译器中,使用简单方便。

8.单片机应用的可靠性技术发展

近年来,单片机的生产厂家在单片机设计上采用了各种提高可靠性的新技术,这些新技术表现在如下几点。(1)EFT(Electrical Fast Transient)技术:在振荡电路的正弦信号受到外界干扰时,其波形上会叠加各种毛刺信号,如果使用施密特电路对其整形,则毛刺会成为触发信号而干扰正常的时钟,EFT技术交替使用施密特电路和RC滤波电路,消除这些毛刺,从而保证系统的时钟信号正常工作,提高了系统可靠性。Motorola公司的MC68HC08系列单片机就采用了这种技术。(2)低噪声布线技术及驱动技术:在传统的单片机中,电源及地线是在集成电路外壳的对称引脚上,一般是在左上、右下或右上、左下的两对对称点上,这样会使电源噪声穿过整块芯片,对单片机的内部电路造成干扰。现在,很多单片机都把地和电源引脚安排在两个相邻的引脚上,不仅降低了穿过整个芯片的电流,另外还便于在印制电路板上布置去耦电容,从而降低系统的噪声。

采用“跳变沿软化技术”,降低片内大电流驱动电路所产生的噪声。将多个小管子并联等效一个大管子,并在每个小管子的输出端串联上不同等效阻值的电阻,以降低di/dt,从而消除大电流瞬变时产生的噪声。(3)采用低频时钟:高频外时钟是噪声源之一,不仅能对单片机应用系统产生干扰,还会对外界电路产生干扰,令电磁兼容性不能满足要求。对于要求可靠性较高的系统,低频外时钟有利于降低系统的噪声。在一些单片机中,内部采用锁相环技术,在外部时钟频率较低时,也能产生较高的内部总线速度,从而提高了速度又降低了噪声。Motorola公司的MC68HC08系列及其16/32位单片机就采用了这种技术以提高可靠性。1.2 单片机应用1.2.1 单片机应用方向

在日常生活、生产等领域,凡是有自动控制要求的地方,都会有单片机的影子,其应用已经相当普及。单片机的应用有利于系统的小型化、智能化及多功能化,从根本上改变了传统控制系统的设计思想和设计方法。以前必须用模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现。用软件代替部分硬件,使系统软化并提高性能,是传统控制技术的一次革命。

单片机的应用具有软件和硬件相结合的特点,因而设计者不但要熟练掌握单片机的编程技术,还要有较强的单片机硬件方面的知识。由于单片机具有显著的优点,它已成为科技领域的有力工具、人类生活的得力助手。单片机的应用已遍及各个领域,主要表现在以下几个方面。

1.智能仪表

单片机广泛地用于各种仪器仪表,使仪器仪表智能化,集测量、处理、控制功能于一体,并提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。这些特点不仅使传统的仪器仪表发生了根本的变革,也给仪器仪表行业技术改造带来曙光。

2.机电一体化

机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品。例如,微机控制的车床、钻床,采用单片机可提高其可靠性,增强系统功能,降低控制成本。单片机作为机电产品的控制器,能充分发挥其体积小、可靠性高、功能强等优点,大大提高机电产品的自动化、智能化程度。

3.实时控制

单片机广泛用于各种实时控制的系统中。例如,工业控制系统、自适应控制系统、数据采集系统等各种实时控制系统,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。

4.分布式多机系统

在复杂的控制系统中,常采用分布式多机系统。多机系统由若干台功能各异的单片机组成,各自完成特定的任务,它们之间通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。

5.人类生活

自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器。家用电器配上单片机以后,提高了智能化程度,增加了功能,使人类生活更加方便、舒适、丰富多彩。

6.智能接口

计算机系统有许多外部通信、采集、多路分配管理、驱动控制等接口。这些接口及其所连接的外部设备如果完全由主机进行管理,势必造成主机负担过重,降低运行速度。用单片机进行接口的控制与管理,单片机与主机可并行工作,可大大提高系统的运行速度。

21世纪是全人类进入计算机时代的世纪,许多人不是在制造计算机便是在使用计算机。在使用计算机的人们中,只有从事嵌入式系统应用的人才真正地进入到计算机系统的内部软硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。从学习单片机应用技术入手是掌握计算机应用软硬件技术的最佳方法之一。1.2.2 单片机应用系统的分类

按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小应用系统、最小功耗应用系统、典型应用系统等。

1.最小应用系统

最小应用系统是指能维持单片机运行的最简单配置的系统,如开关状态的输入/输出控制等。片内有ROM/EPROM/Flash的单片机,其最小应用系统即为配有晶振、复位电路、电源、简单的I/O设备(开关、发光二极管)及必要的软件组成的单片机系统。若片内无ROM/2EPROM的单片机,则除了上述配置外,还应外接EPROM或EPROM作为程序存储器,构成单片机系统。

2.最小功耗应用系统

最小功耗应用系统是指在保证系统正常运行的情况下,使系统的功率消耗最小。设计最小功耗应用系统时,必须使系统内的所有器件、外设都有最小的功耗,而且能运行在Wait和Stop方式。选择CMOS型单片机芯片,为构成最小功耗应用系统提供了必要的条件,这类单片机中都设置了低功耗运行的Wait和Stop方式。

最小功耗应用系统常用在便携式、手提式等袖珍式智能仪表,野外工作仪表及在无源网络、接口中的单片机工作子站。

3.典型应用系统

典型应用系统是指以单片机为核心,配以输入/输出、显示、控制等外围电路和软件,实现一种或多种功能的实用系统。由于单片机主要用于工业控制,因此,其典型应用系统应具备前向传感器通道、后向驱动通道及基本的人机对话手段。它包括了系统扩展与系统配置两部分内容。系统扩展是指在单片机中ROM、RAM及I/O接口等片内部件不能满足系统要求时,在片外扩展相应的部分以弥补单片机内部资源的不足。系统配置是指单片机为满足应用要求时,应配置的基本外部设备,如键盘、显示器等。1.3 51系列单片机1.3.1 MCS-51系列单片机

MCS是Intel公司生产的单片机的系列符号,MCS-51系列单片机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进入我国并在我国应用最为广泛的单片机机型之一,也是单片机应用的主流品种。MCS-51系列单片机的分类见表1-1,51子系列是基本型,而52子系列则属于增强型。52子系列与51子系列的异同点见表1-1。(1)片内ROM由4KB增加到8KB;(2)片内RAM由128B增加到256B;(3)定时器/计数器由2个增加到3个;(4)中断源由5个增加到6个。表1-1 MCS-51系列单片机分类表

20世纪80年代中期以后,Intel公司已把精力集中在高档CPU芯片的研发上,逐渐淡出单片机芯片的开发和生产。Intel公司以专利转让或技术交换的形式把8051的内核技术转让给了许多半导体芯片生产厂家,如ATMEL、Philips、Cygnal、ANALOG、LG、ADI、Maxim、DALLAS等。这些公司生产的51系列单片机的主要产品见表1-2。表1-2 与80C51兼容的主要产品

这些单片机均采用8051的内核结构、指令系统,采用CMOS工艺;有的公司还在8051内核的基础上又增加了一些功能模块,其集成度更高,更有特点,功能和市场竞争力更强。人们常用80C51来称呼所有这些具有8051内核使用8051指令系统的单片机,也习惯把这些兼容机等各种衍生品种统称为51单片机。1.3.2 AT89系列单片机

1.AT89C5x/AT89S5x单片机

在众多的衍生机型中,美国ATMEL公司推出的AT89系列中的AT89C5x/AT89S5x单片机在我国目前的8位单片机市场中占有较大的份额。ATMEL公司是美国20世纪80年代中期成立并发展起来的半导2体公司。该公司于1994年以EPROM技术与Intel公司的80C51内核的使用权进行交换。ATMEL公司的技术优势是其闪烁(Flash)存储器技术,将Flash技术与80C51内核相结合,形成了片内带有Flash存储器的AT89C5x/AT89S5x系列单片机。

AT89C5x/AT89S5x系列单片机与MCS-51系列单片机在原有功能、引脚以及指令系统方面完全兼容,该系列单片机中的某些品种又增加了一些新的功能,如看门狗定时器WDT、ISP(在系统编程,也称在线编程)及SPI串行接口技术等。

另外,AT89C5x/AT89S5x还支持由软件选择的两种节电工作方式,非常适于电池供电或其他要求低功耗的场合。AT89S51与MCS-51系列中的87C51相比,片内的4KB Flash存储器取代了87C51片内的4KB的EPROM,允许在线(+5V)电擦除,使用编程器或串行下载重复编程,且其价格较低,因此AT89S5x单片机是目前取代MCS-51系列单片机的主要芯片之一。本书重点介绍AT89S51单片机的工作原理及应用设计。

AT89S5x的“S”档系列机型是ATMEL公司继AT89C5x系列之后推出的新机型,“S”表示含有串行下载的Flash存储器,代表性产品为AT89S51和AT89S52。由于AT89C51单片机已不再生产,原来使用AT89C51单片机的系统,在保留原来软硬件的条件下,完全可以用AT89S51直接代换。

与AT89C5x系列相比,AT89S5x系列的时钟频率以及运算速度有了较大的提高。例如,AT89C51工作频率的上限为24MHz,而AT89S51则为33MHz。AT89S51片内集成双数据指针DPTR、看门狗定时器,具有低功耗空闲工作方式和掉电工作方式。目前,AT89S5x系列已经逐渐取代了AT89C5x系列。

尽管AT89S5x系列单片机有多种机型,但是掌握好基本型AT89S51单片机是十分重要的,因为它们是具有8051内核的各种型号单片机的基础,最具典型性和代表性,同时也是各种增强型、扩展型等衍生品种的基础。

2.AT89系列单片机的型号说明

AT89系列单片机编码由三部分组成,它们是前缀、型号和后缀。

格式:AT89Cxxxx xxxx

其中,AT是前缀,89Cxxxx是型号,xxxx是后缀。下面分别对这三部分进行说明。(1)前缀:由字母“AT”组成,表示该器件是ATMEL公司的产品。(2)型号:由“89Cxxxx”或“89LVxxxx”或“89Sxxxx”等表示。“89Cxxxx”中,8 表示单片,9表示内部含有Flash存储器,C表示CMOS产品。“89LVxxxx”中,LV表示低电压产品,可在2.5V电压下工作,其他的产品在5V下工作。“89Sxxxx”中,S 表示含有串行下载的Flash存储器。后4位的“xxxx”表示器件的型号,如51、52、2051、8052等。(3)后缀:由最后的“xxxx”4个参数组成,每个参数的表示意义不同。在型号与后缀部分由“—”号隔开。

①后缀中的第1个“x”表示速度:x=12,表示速度为12MHz;x=16,表示速度为16MHz;x=20,表示速度为20MHz,等等。

②后缀中的第2个“x”表示封装,意义如下:

● x=P,表示塑料双列直插DIP封装;

● x=D,表示陶瓷封装;

● x=Q,表示PQFP封装;

● x=J,表示PLV封装;

● x=A,表示TQFP封装;

● x=S,表示SOIC封装;

● x=W,表示裸芯片。

③后缀中的第3个“x”表示芯片的温度范围,意义如下:

● x=C,表示商业用产品,温度为0~+70℃;

● x=I,表示工业用产品,温度为-40~+85℃;

● x=A,表示汽车用产品,温度为-40~+125℃;

● x=M,表示军用产品,温度为-55~+150℃;

④后缀中的第4个“x”用于说明产品的工艺,意义如下:

● x为空,表示处理工艺是标准工艺;

● x=/883,表示处理工艺采用MIL-STD-883标准。

例如,某一单片机型号“AT89C51-12PI”,表示是ATMEL公司的Flash,CMOS产品,速度12MHz,塑料双列直插DIP封装,工业级,标准处理工艺生产。1.3.3 各种衍生品种的51单片机

1.STC系列单片机

STC系列单片机是深圳宏晶公司的产品,具有我国独立自主知识产权,是功能与抗干扰性强的增强型51单片机,有多种子系列,几十个品种,以满足不同应用需要。其中STC12C5410/STC12C2052系列的性能及特点如下。(1)高速:传统51单片机每机器周期为12个时钟,而STC12单片机可以每机器周期1时钟,指令执行速度大大提高,12代表速度比普通的8051快8~12倍。(2)宽工作电压:C代表工作电压5.5~3.8V,LE、LV代表工作电压2.4~3.8V(STC12LE5410AD系列)。(3)12KB/10KB/8KB/6KB/4KB/2KB片内Flash程序存储器,擦写次数10万次以上。(4)片内的RAM:5代表片内RAM数据存储器为512B。(5)可在系统可编程(ISP)/在应用可编程(IAP),无须编程器/仿真器,可远程升级。(6)8通道的10位ADC,4路PWM输出。(7)4通道捕捉/比较单元,也可用来再实现4个定时器或4个外部中断(支持上升沿/下降沿中断)。(8)2个硬件16位定时器,兼容普通8051的定时器。4路PCA还可再实现4个定时器。(9)硬件看门狗(WDT)。(10)高速SPI串口。(11)全双工异步串行口(UART),兼容普通8051的串口。(12)通用I/O口(对应不同的封装形式,分别有27、23、15个I/O口),复位后,I/O口为准双向口/弱上拉(普通8051传统I/O接口)。可通过新增的特殊功能寄存器PxM0、PxM1将I/O口设成。准双向口/弱上拉、推挽/强上拉、仅为输入/高阻、开漏四种模式中的一种,I/O口驱动能力均可达到20mA,但整个芯片最大不可超过55mA。(13)超强抗干扰能力与高可靠性。(14)采取了降低单片机时钟对外部电磁辐射的措施。(15)超低功耗设计。掉电模式的典型功耗小于0.1(A,空闲模式的典型功耗为2mA,正常工作模式的典型功耗为4~7mA。掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等。

STC单片机可直接替换ATMEL、Philips、Winbond(华邦)等公司的产品,是一款高性能、高可靠性机型,尤其是具有较高的抗干扰特性,应当给予足够的重视。

2.C8051Fxxx单片机

美国Cygnal公司的C8051Fxxx系列单片机集成度高,采用8051内核,代表性产品为C8051F020。C8051F020内部采用流水线结构,大部分指令的完成时间为1或2个时钟周期,峰值处理能力为25MIPS,与经典的51单片机相比,可靠性和速度有很大提高。

C8051F020片内集成了1个8位ADC、1个12位ADC、1个双12位DAC;64KB片内Flash程序存储器,256B RAM,128B SFR;8个I/O端口共64根I/O口线;5个16位通用定时器;5个捕捉/比较模块的可编程计数/定时器阵列(PCA),1个UART串行口,1个SMBus/I2C串口,1个SPI串行口;2路电压比较器、电源监测器、内置温度传感器。最突出的改进是引入了数字交叉开关(C8051F2xx除外),改变了以往内部功能与外部引脚的固定对应关系。

用户可通过可编程的交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换器输入、比较器输出以及单片机内部的其他硬件外设配置出现在端口I/O引脚。可根据特定应用,选择通用端口I/O与片内硬件资源的灵活组合。

3.ADμC812单片机

AD(C812是美国ADI(Analog Device Inc)公司生产的高性能单片机,其内部包含了高精度的自校准8通道12位模数转换器(ADC),2通道12位数模转换器(DAC)以及8051内核,指令系统与MCS-51系列兼容。片内有8KB Flash程序存储器、640B Flash数据存储器、256B数据SRAM(支持可编程)。片内集成看门狗定时器、电源监视器以及ADCDMA功能。为多处理器接口和I/O扩展提供了32条2可编程的I/O线,包含与IC兼容的串行接口、SPI串行接口和标准UART串行接口I/O。

ADμC812的MCU内核和模数转换器均设置有正常、空闲和掉电工作模式,通过软件可以控制芯片从正常模式切换到空闲模式,也可以切换到更为省电的掉电模式。在掉电模式下,ADμC812消耗的总电流约为5μA。

4.台湾华邦公司W78系列和W77系列单片机

台湾华邦公司(Winbond)的产品W77系列、W78系列单片机与51单片机完全兼容。

对8051的时序作了改进,每个指令周期只需要4个时钟周期,速度提高了3倍,工作频率最高可达40MHz。

W77系列为增强型,片内增加了看门狗、两组UART串口、两组DPTR数据指针(编写应用程序非常便利)、ISP(在线编程)等功能。片内集成了USB接口,语音处理等功能,具有6组外部中断源。

华邦公司的W741系列的4位单片机具有液晶驱动,可在线烧录,保密性高,低工作电压(1.2~1.8V)等优点。1.4 其他系列单片机

除51单片机外,某些非51单片机也得到了较广泛的应用。目前我国使用较为广泛的是PIC系列与AVR系列单片机,这两种单片机博采众长,又具独特技术,已占有较大的市场份额。

1.PIC系列单片机

PIC系列单片机是美国Microchip公司的产品,主要特性如下。(1)最大特点是从实际出发,重视性价比。例如,一个摩托车点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚单片机,则“大马拉小车”。PIC系列从低到高几十个型号,可满足各种需要。

PIC12C508仅有8个引脚,是世界上最小的单片机,有512B ROM、25B RAM、1个8位定时器、1根输入线、5根I/O线,价格非常便宜,用在摩托车点火器非常适合。PIC的高档型单片机,如PIC16C74(尚不是最高档型)有40个引脚,其内部资源为4KB ROM、192B RAM、8路A/D、3个8位定时器、2个CCP模块、3个串行口、1个并行口、11个中断源、33个I/O脚,可与其他品牌的高档型号媲美。(2)精简指令集(RISC)使指令执行效率大为提高。数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长,且允许指令代码的位数可多于8位的数据位数,与传统的采用复杂指令结构(CISC)的8位单片机相比,可达到2:1的代码压缩,速度提高4倍。(3)具有优越开发环境。普通51单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。PIC推出一款新型号单片机的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。(4)引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。(5)保密性好。以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。(6)片内有看门狗定时器,可提高程序运行的可靠性。(7)设有休眠和省电工作方式,可大大降低单片机系统的功耗,并可采用电池供电。

PIC单片机的型号繁多,分为低档型、中档型和高档型。(1)低档型:PIC12C5xxx/16C5x系列。PIC16C5x系列是最早得到发展的系列,因其价格较低,且有较完善的开发手段,因此应用最为广泛。PIC12C5xx是世界上第一个8脚低价位单片机,可用于简单的智能控制等一些要求单片机体积小的场合,前景十分广阔。(2)中档型:PIC12C/PIC16C系列以及PIC18系列。中档产品是Microchip公司近年重点发展的产品,品种丰富。尤其是PIC18系列,它的程序存储器最大可达64KB,通用数据存储器最大可达3968B;有8位和16位定时器、比较器;8级硬件堆栈,10位A/D转换器,捕捉2输入,PWM输出;配置了IC、SPI、UART串口,CAN、USB接口,模拟电压比较器及LCD驱动电路等,其封装14~64脚,价格适中,性价比高,已广泛应用在高、中、低档的各类电子产品中。(3)高档型:PIC17Cxx系列。PIC17Cxx是适合高级复杂系统开发的系列产品,其性能在中档位单片机的基础上增加了硬件乘法器,指令周期可达160ns。它是目前世界上8位单片机中性价比最高的机种,可用于高、中档产品的开发,如电机控制等。

2.AVR系列单片机

AVR系列单片机是1997年由ATMEL公司利用Flash新技术,研发出的精简指令集(Reduced Instruction Set Computer,RISC)的高速8位单片机,其特点如下。(1)高速、高可靠性、功能强、低功耗和低价位。废除了机器周期,抛弃复杂指令CISC,采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中,指令长度固定,指令格式与种类相对较少,寻址方式也相对较少,绝大部分指令都为单周期指令。取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种“高速度”是以高可靠性来保障的。(2)片内Flash存储器给用户程序的开发带来方便。采用新工艺的AVR器件,Flash程序存储器擦写可达10000次以上。片内较大容量的RAM,不仅能满足一般场合的使用,同时也更有效地支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部RAM。(3)丰富的外设。单片机有定时器/计数器、看门狗电路、低电压检测电路BOD,多个复位源(自动上电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了单片机应用系统的可靠性。片内有多种串口,如通用的异步串行口2(UART),面向字节的高速硬件串口TWI(与IC兼容)、SPI。此外还有ADC、PWM等片内外设。(4)I/O口功能强、驱动能力大。工业级产品具有大电流(最大可达40mA),驱动能力强,可省去功率驱动器件,直接驱动可控硅SSR或继电器。AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。I/O口的输入可设定为三态高阻抗输入或带上拉电阻输入,以便于满足各种多功能I/O口应用的需要,具备10~20mA灌电流的能力。(5)低功耗。具有省电功能(Power Down)及休眠功能(Idle)的低功耗的工作方式。一般耗电在1~2.5mA;对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8 V即可工作。(6)AVR单片机支持程序的在系统编程(In System Program,ISP)即在线编程,开发门槛较低。只需一条ISP并口下载线,就可以把程序写入AVR单片机,无须使用编程器。其中MEGA系列还支持在线应用编程(IAP,可在线升级或销毁应用程序),省去仿真器。

AVR单片机系列齐全,有3个档次,可适用于各种不同场合的要求。低档Tiny系列AVR单片机主要有Tiny11/12/13/15/26/28等;中档AT90S系列AVR单片机主要有AT90S1200/2313/8515/8535等;高档Atmega系列AVR单片机主要有ATmega8/16/32/64/128(存储容量为8KB/16KB/32KB/64KB/128KB)以及ATmega8515/8535等。1.5 其他嵌入式处理器简介

目前以嵌入式处理器为核心的嵌入式系统应用已经成为当今电子信息技术的一大热点。据不完全统计,全世界嵌入式处理器的品种总量已经超过1000多种,按体系结构主要分为如下几类:嵌入式微控制器(单片机)、嵌入式数字信号处理器(简称DSP)及嵌入式微处理器。

1.嵌入式DSP处理器(DSP)

嵌入式数字信号处理器(Digital Signal Processor,DSP)是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对DSP硬件结构和指令进行了特殊设计,使其能够高速完成各种数字信号处理算法。

1981年,美国TI(Texas Instruments)公司研制出了著名的TMS320系列的首片低成本、高性能的DSP处理器芯片——TMS320C10,使DSP技术向前跨出了意义重大的一步。20世纪90年代,由于无线通信、各种网络通信、多媒体技术的普及和应用,高清晰度数字电视的研究,极大地刺激了DSP的推广应用,DSP大量进入嵌入式领域。推动DSP快速发展的是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品、生物信息识别终端、实时语音解压系统、数字图像处理等。这类产品的智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。

尽管DSP技术已达到较高的水平,但在一些实时性要求很高的场合,单片DSP的处理能力还是不能满足要求。因此,又研制出多总线、多流水线和并行处理的包含多个DSP处理器的芯片,大大提高了系统的性能。

与单片机相比,DSP具有实现高速运算的硬件结构及指令和多总线,DSP处理的算法复杂度和大的数据处理流量更是单片机不可企及的。

DSP的主要厂商有美国TI、ADI、Motorola、Zilog等公司。TI公司位居榜首,占全球DSP市场约60%。DSP代表性的产品是TI公司的TMS320系列。TMS320系列处理器包括用于控制领域的C2000系列、移动通信领域的C5000系列以及应用在网络、多媒体和数字图像处理领域的C6000系列等。

今天,随着全球信息化和Internet的普及,多媒体技术的广泛应用,尖端技术向民用领域的迅速转移,数字技术大范围进入消费类电子产品,使DSP不断更新换代,性能指标不断提高,价格不断下降,已成为新兴科技——通信、多媒体系统、消费电子、医用电子等飞速发展的主要推动力。据国际著名市场调查研究公司Forward Concepts 发布统计和预测报告显示,目前世界DSP产品市场每年正以30%的增幅增长,是目前最有发展和应用前景的嵌入式处理器之一。

2.嵌入式微处理器

嵌入式微处理器(Embedded MicroProcessor Unit,EMPU)的基础是通用计算机中的CPU。在应用设计中,将嵌入式处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母版功能,这样可以大幅度减小系统体积和功耗。

为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强处理。

嵌入式微处理器中比较有代表性的产品为ARM系列,主要有5个产品系列:ARM7、ARM9、ARM9E、ARM10和SecurCore。

下面以ARM7为例,简单说明嵌入式微处理器的基本性能。

嵌入式处理器的地址线为32条,所能扩展的存储器空间要比单片机存储器空间大得多,所以可配置实时多任务操作系统(RTOS),RTOS是嵌入式应用软件的基础和开发平台。

常用的RTOS为Linux(数百KB)和VxWorks(数MB)以及μC-OSⅡ。由于嵌入式实时多任务操作系统具有高度灵活性,可很容易地对它进行定制或适当开发,即对它进行“裁剪”、“移植”和“编写”,从而设计出用户所需的应用程序,满足实际应用需要。

正是由于嵌入式微处理器为核心的嵌入式系统能够运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)等方面,甚至军事上的应用,具有巨大的吸引力。因此,以嵌入式微处理器为核心的嵌入式系统应用,已成为继单片机、DSP之后的电子信息技术应用的又一大热点。习题1

1.什么是单片机?什么是单片机系统?

2.单片机有哪些系列产品?各有什么特点?

3.单片机主要应用于哪些领域?

4.在单片机应用系统中的硬件与软件是什么关系?软件如何实现对硬件的控制?

5.观察大街上的电子广告,思考它是如何实现的?

6.简述51系列单片机的特点及分类。第2章 AT89S51单片机的结构与组成2.1 AT89S51单片机的内部结构及信号引脚

AT89S系列单片机是Atmel公司推出的可重复擦写出1000次以上、低功耗、8位Flash单片机系统,它和8051系列单片机是兼容的,其采用Flash存储器作为ROM,在系统的开发过程中,可以通过SPI串口实现在线编程,大大地缩短了系统的开发周期,得到了国内用户的广泛使用。AT89S系列单片机的主要特性见表2-1,本书介绍以AT89S51为主。表2-1 AT89S系列单片机的主要特性2.1.1 AT89S51单片机结构

AT89S51单片机内部总体结构框图如图2-1所示。(1)中央处理器CPU。CPU包括运算器和控制器两部分电路。运算器用于实现算术运算和逻辑运算,包括如图2-1所示中的ALU(算术逻辑单元)、ACC(累加器A)、PSW(程序状态寄存器)、B寄存器及暂存器1和暂存器2等。控制器是单片机的指挥中心,协调控制单片机各部分正常工作,包括如图2-1所示中的PC(程序计数器)、PC增1、指令寄存器、指令译码器及定时控制等。(2)内部数据存储器。AT89S51内部数据存储器如图2-1所示,包括128B RAM和RAM地址寄存器等。实际上,51系列内部有256个RAM单元,其中后128个单元被特殊功能寄存器占用,用户只能通过特殊功能寄存器去使用它;而前128个单元是供用户直接使用的,使用较为灵活。一般所说的内部RAM单元是指前128单元,简称“内部RAM”或“片内RAM”。(3)内部程序存储器。AT89S51内部有4KB片内Flash(4K×8b),用于存放程序和原始数据,简称“内部ROM”或“片内ROM”。(4)并行I/O口。AT89S51提供了4个8位的I/O口,分别为P0、P1、P2和P3,实现数据的输入/输出。在系统扩展时,P2和P0口作为16位地址总线,最大寻址空间达64KB,P0口作为8位数据总线。(5)定时器/计数器。AT89S51内部有两个16位定时器/计数器,用以实现定时和计数功能。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载