单片机原理及应用(第3版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-29 19:26:04

点击下载

作者:姜志海,黄玉清,等

出版社:电子工业出版社

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

单片机原理及应用(第3版)

单片机原理及应用(第3版)试读:

前言

单片机作为嵌入式微控制器,在工业测控系统、智能仪器和家用电器中得到广泛的应用。虽然单片机的品种很多,但MCS-51系列单片机仍不失为单片机中的主流机型。本书以MCS-51系列单片机为主介绍单片机的原理与应用,其特点是内容系统全面,论述深入浅出、循序渐进,注重接口技术和应用。

在本书的编写内容中,融入了编者多年教学、科研的经验与应用实例,从应用的角度出发,对单片机的硬件结构、工作原理和指令系统进行简明扼要的介绍,对程序设计方法、系统扩展、接口电路的设计(并行扩展与串行扩展)和应用系统等进行详细的介绍,最后介绍单片机的C语言程序设计的基本问题。

第3版仍然保持原来的写作风格,在内容上对原书进行了仔细的修订,使一些叙述更加合理和通畅,更便于阅读和理解。在讲清讲透51系列单片机系统原理的基础上,增加了目前比较流行的串行接口2扩展技术,如IC总线、SPI总线和单总线。

全书共分9章,主要内容包括概述、MCS-51系列单片机硬件结构、MCS-51系列单片机指令系统、汇编语言程序设计、MCS-51系列单片机硬件资源的应用、MCS-51系列单片机并行扩展接口技术、MCS-51系列单片机串行总线扩展技术、单片机应用系统的设计、单片机的C语言应用程序设计。

为了方便教学,本书配有电子课件、习题参考答案和程序源代码,需要者可以到华信教育资源网http://www.hxedu.com.cn免费注册下载。

本书既可以作为高等学校自动化、电气工程及其自动化、计算机应用、电子信息工程及机电一体化等电气与电子信息类专业教学用书,也可供从事单片机应用与产品开发等工作的工程技术人员学习参考。作为本科教材时,可在“微机原理及应用”课程之后开设“单片机原理及应用”课程,参考学时数为40~64学时。

本书由山东理工大学姜志海、西南科技大学黄玉清和山东理工大学刘连鑫编著。第1、2、3、5、7章由山东理工大学姜志海编写;第4、9章由西南科技大学黄玉清编写;第6、8章由山东理工大学刘连鑫编写。全书由姜志海负责整理和统稿。

本书在编写过程中得到了许多专家和同行的大力支持和热情帮助,他们对本书提出了许多建设性的建议和意见,在此一并表示衷心的感谢。

鉴于编者的水平有限,加之新的单片机芯片不断涌现,其应用技术也在不断发展,书中难免有不完善、不足之处,恳请广大读者批评指正。

作 者第1章 概述

内容提要

本章主要讲述了单片机的基本问题及学习单片机用到的基础知识。首先复习微型计算机原理的基本知识,包括计算机的基本概念、微型计算机硬件组成及软件、计算机中的数制、计算机中常用的编码等;然后介绍单片机的基本问题,包括特点、应用、技术现状、发展趋势等内容。学完本章,读者将对单片机的基本问题有一个全面的了解,并能够和以前学过的微型计算机原理的基本问题进行结合。本章主要起到承上启下的作用。

知识要点(1)单片机的特点、应用、技术现状、发展趋势;(2)单片机应用系统的开发问题;(3)微处理器、微型计算机、微型计算机系统;(4)计算机中的数制及编码。

教学建议(1)了解单片机的特点、应用、技术现状、发展趋势;(2)掌握微型计算机的结构及计算机中常用的数制;(3)本章的基础知识,属于复习内容,主要起到承上启下的作用;(4)可根据具体计划有选择地讲授;(5)建议教学学时数为2学时。1.1 微型计算机的基础知识概述

电子计算机是20世纪最重要的科学技术成就之一。目前计算机已渗透到国民经济和社会生活的各个领域,极大地改变着人们的工作方式和生活方式,并成为推动社会发展的巨大生产力。本节属于复习内容,主要对微型计算机的基础知识进行简单的论述。1.1.1 计算机的基本概念

计算机是一种能够存储程序,并自动连续地执行程序,对各种数字化信息进行运算的现代化电子设备。

为了存储程序与数据,需要有存储器;为了进行运算,需要有运算器;为了输入程序和数据及输出运算结果,需要有输入设备和输出设备;此外还需要控制器对计算机各部件的工作进行控制和管理。

以上基本原理由美籍匈牙利数学家冯·诺依曼提出。几十年来,计算机的体系结构发生了深刻的变化,但冯·诺依曼原理的核心概念仍沿用至今。冯·诺依曼原理的要点归纳如下:

① 采用二进制代码表示数据和指令。

② 采用存储程序的工作方式,即先编写程序,然后存储程序,最后自动连续地执行程序。

③ 计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备组成。1.1.2 微型计算机的基本结构

微型计算机由硬件和软件两部分组成。

1.微型计算机的硬件结构

微型计算机在硬件上由运算器、控制器、存储器、输入设备和输出设备5部分组成,如图1-1所示。

运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序,常用的输入设备有键盘、光电输入机等;输出设备将计算机的处理结果用数字、图形等形式表示出来,常用的输出设备有显示终端、数码管、打印机、绘图仪等。

通常把运算器、控制器、存储器这3部分称为计算机的主机,而输入设备、输出设备则称为计算机的外围设备(简称“外设”)。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。(1)微处理器

微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上而形成的一个独立芯片。它具有解释指令、执行指令及与外界交换数据的能力。该芯片称为微处理器或微处理机(Microprocessor),也称CPU。目前,无论哪种CPU,其内部基本组成总是大同小异的,包括3部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。(2)微型计算机

微型计算机由微处理器、存储器、输入/输出(I/O)口电路构成,各部分之间通过总线(Bus)连接,其结构如图1-2所示。图1-1 微型计算机的硬件结构框图图1-2 微型计算机的结构

① 微处理器:微处理器是微型计算机的核心,它的性能决定了整个微型计算机的各项关键指标。微处理器本身不能构成独立工作的系统,也不能独立执行程序,必须配上存储器、外部输入/输出接口构成一台微型计算机才能工作。

② 存储器:存储器是微型计算机的重要组成部分,用来存放程序和数据,计算机有了存储器才具备记忆的能力。从应用的角度讲,计算机工作时,微处理器对存储器的操作只有“读”和“写”,对存储器的操作是对存储器地址的操作。

③ 输入/输出接口电路:输入/输出接口电路是微型计算机的重要组成部件,是微型计算机连接外部输入、输出设备及各种控制对象并与外界进行信息交换的逻辑控制电路。从应用的角度讲,计算机工作时,微处理器对I/O口的操作只有“读”和“写”,操作是对所选择的I/O口的口地址进行的。

④ 总线:所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。微型计算机采用总线结构后,芯片之间不需要单独走线,这就大大减少了连接线的数量,系统中各功能部件间的相互关系转变为各部件面向总线的单一关系,符合总线标准的设备都可以连接到系统中,使系统功能得到扩展。微型计算机总线的种类非常多,从使用的角度可分为内部总线、元件级总线、系统总线、外部总线4大类,在微型计算机中使用较多的是元件级总线。计算机元件级总线包括地址总线AB(Address Bus)、数据总线DB(Data Bus)、控制总线CB(Control Bus)3种。

地址总线:地址总线是微处理器用来向存储器或I/O口传送地址信息的,是三态单向总线。地址总线的宽度决定了微处理器可直接寻址的内存容量。8根地址线用A7~A0表示,A7为最高位地址线,A08为最低位地址线,最大寻址范围为2=256;16根地址线用A15~A0表示,A15为最高位地址线,A0为最低位地址线,最大寻址范围为162=65536=64K。通过地址总线确定要操作的存储单元或I/O口的地址。

数据总线:数据总线是微处理器与存储器及外设交换数据的通路,是三态双向总线。数据总线的位数与微处理器的位数相同,一般有8位、16位、32位等。8位数据线用D7~D0表示,D7为最高有效位,D0为最低有效位;16位数据线用D15~D0表示,D15为最高有效位,D0为最低有效位。最高有效位用MSB表示,最低有效位用LSB表示。

控制总线:控制总线是用来传输控制信号的,传送方向依具体控制信号而定,例如,微处理器向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向微处理器输入复位信号、中断请求信号等。控制总线的宽度根据系统需要而定。

将微处理器、存储器、I/O接口电路以及简单的输入、输出设备组装在一块印制电路板上,称为单板微型计算机,简称单板机。将微处理器、存储器、I/O接口电路集成在一块芯片上,称为单片微型计算机,简称单片机。(3)微型计算机系统

以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。

图1-3所示为微处理器、微型计算机、微型计算机系统三者的关系。图1-3 微型计算机系统结构

2.微型计算机的软件

上述的微型计算机设备称为硬件。计算机要能够自动地操作与运算,还必须要有软件。软件是指使用和管理计算机的各种程序(Program),而程序是完成任务所需要的一系列指令(Instruction)序列。程序的集合构成了计算机中的软件系统。(1)指令

指令是使计算机完成某种操作的命令。计算机能够执行的全部操作所对应的指令集合,称为该计算机的指令系统。指令是反应计算机内部的一种操作,指令系统全面展示出了计算机的操作功能,也就是它的工作原理;从用户使用的角度看,指令系统是提供用户使用计算机功能的软件资源。

指令一般有功能、时间和空间3种属性。

功能属性是指每条指令所对应的一个特定的操作功能;时间属性是指一条指令执行所用的时间,一般用机器周期来表示;空间属性是指一条指令在程序存储器中存储所占用的字节数。这3种属性在使用中最重要的是功能属性,但时间、空间属性在有些场合也要用到。例如在一些实时控制应用程序中,有时需要计算一个程序段的确切执行时间或编写软件延时程序,就要用到每条指令的时间属性;在程序存储器的空间设计或相对转移指令的偏移量计算中,就要用到指令的空间属性。

在不同的情况下应关注不同的属性。(2)程序

为了计算一个数学式,或者控制一个生产过程,需要事先编制计算机的计算步骤或操作步骤。计算步骤是由一条条指令来实现的。这种一系列指令的有序集合称为程序。编制程序的过程称为程序设计。

为了使计算机能自动进行计算,要预先用输入设备将上述程序输入到计算机中存放。计算机启动后,在控制器的控制下,CPU按照顺序依次取出程序的一条条指令,进行译码和执行。(3)机器语言、汇编语言和高级语言

编制程序可使用汇编语言或高级语言。

计算机中只能存放和处理二进制信息,所以无论高级语言程序还是低级语言程序,都必须转换成二进制代码形式后才能送入计算机,这种二进制代码形式的程序就是机器语言程序。二进制代码形式的指令又称为机器指令或机器码。汇编指令与机器指令具有一一对应的关系。表1-1是用汇编语言和机器语言编写的同一段程序。(4)汇编、编译与解释程序

汇编语言程序与高级语言程序统称为源程序,而机器语言程序称为目标程序。

机器语言只有0和1两个符号,用它来直接编写程序十分困难。因此,往往先用汇编语言或高级语言编写程序,然后再转换成目标程序。将汇编语言程序翻译成目标程序的过程称为汇编,汇编时用到的软件称为汇编程序。高级语言转换成机器语言的工作只能由计算机完成,转换时所用的软件称为编译程序或解释程序。

例如,把表1-1所示的目标程序存入容量为256个单元的存储器,且从地址为0000 0000的单元开始存放,如图1-4所示。表1-1 汇编语言和机器语言对照表图1-4 存储器中的程序

指令机器码第1个字节所在单元的地址(0000 0000,0000 0010,0000 0100,0000 0110)称为指令地址。第1条指令的地址(0000 0000)称为该程序的首地址,又称程序的入口地址,带有二进制地址和机器码的程序示例如表1-2所示。表1-2 二进制地址和机器码的程序示例

二进制位数多,读/写不便,所以地址和机器码实际上多以十六进制数表示。

3.硬件和软件的关系

微机系统是硬件和软件有机结合的整体。计算机的硬件和软件是密不可分又相互独立的。硬件是计算机工作的基础,没有硬件的支持,软件将无法正常工作;软件是计算机的灵魂,没有软件,硬件就是一个空壳。没有软件的计算机称为裸机,裸机如同一架没有思想的躯壳,不能做任何工作。1.1.3 计算机中的数制

计算机的工作过程就是对数据的处理。计算机是一个典型的数字化设备,它只能识别0和1,所有的计算机都是以二进制数的形式进行算术运算和逻辑操作的。

1.计算机中的数制

在使用微型计算机时常用的进位计数制有二进制、十六进制、十进制3种。

十进制数、二进制数及十六进制数之间的关系如表1-3所示。表1-3 十进制数、二进制数及十六进制数对照表

为了区别十进制、二进制及十六进制3种数制,可以在数的后面加一个字母。规定:B(Binary)表示二进制数,D(Decimal)表示十进制数,H(Hexadecimal)表示十六进制数,其中十进制数后面的字母D可以省略。

2.带符号数的表示

一个数据是带符号的数还是不带符号的数,事先是已知的。在微型计算机中所有带符号的数都是用补码表示的,采用补码的目的在于,可用加法运算代替减法运算,从而简化硬件结构,降低成本。补码运算时符号位不需要单独处理,符号位与数值部分一起参加运算,在不发生溢出的情况下,运算结果(包括符号位)是正确的。

8位二进制数用来表示无符号数、有符号数(原码、反码和补码),如表1-4所示。

从表1-4可以看出,8位二进制数、无符号数表示范围是0~255,有符号数原码表示范围是−127~+127,反码表示范围是−127~+127,补码表示范围是−128~+127。表1-4 原码、反码和补码表

3.带符号数溢出及其判断方法(1)什么是溢出

在微型计算机中,所有带符号的数都是用补码表示的。所谓溢出,是指带符号数的补码加、减运算的结果超出了补码表示的范围。若发生了溢出,则带符号数的运算结果必然是错误的。(2)判断溢出的方法

溢出只能出现在两个同符号数相加或两个异符号数相减的情况下。利用双进位方法判断有无溢出是一种常用的方法,它的规则如下。

在两个同符号数相加或两个异符号数相减时,如果次高位向最高位有进位(或借位),而最高位向前无进位(或借位),则结果发生溢出;反过来,如果次高位向最高位无进位(或借位),而最高位向前有进位(或借位),则结果也发生溢出。

这种方法是利用最高位和次高位的进位/借位状态进行“异或”来判断的。对8位二进制数来说,如果溢出记为OF,最高位和次高位的进位/借位状态分别记为C7和C6,则OF=C7⊕C6,OF=1表示有溢出,OF=0表示无溢出。

在微型计算机中,可用多字节表示更大的数,避免产生溢出错误。1.1.4 计算机中常用的编码

计算机除了用于数值计算外,还要进行大量的文字信息处理,也就是要对表达各种文字信息的符号进行加工。例如,计算机和外设的键盘、(字符)显示器、打印机之间的通信都是采用字符方式输入/输出的。目前,计算机中最常用的两种编码是美国信息交换标准代码(ASCII码)和二-十进制编码(BCD码)。

1.美国信息交换标准代码(ASCII码)

ASCII(American Standard Code for Information-Interchange)码是美国信息交换标准代码的简称,主要用来给西文字符进行编码。它采用7位二进制数表示一个字符,包括32个标点符号,10个阿拉伯数字,52个英文大、小写字母和34个控制符号,共128个。编码与字符之间的对应关系如附录A所示。

在计算机系统中,存储单元的长度通常为8位二进制数(即一个字节),为了存取方便,规定一个存储单元存放一个ASCII码,其中低7位表示字母本身的编码,第8位(即bit7)用做奇偶校验位或规定为零(通常如此)。因此,也可以认为ASCII码的长度为8位。例如:“8”的奇校验ASCII码为00111000B,偶校验ASCII码为10111000B;“B”的奇校验ASCII码为11000010B,偶校验ASCII码为01000010B。

2.二-十进制编码(BCD码)

十进制毕竟是人们最习惯的计数方式,在向计算机输入数据时,常用十进制数输入,但计算机只识别二进制数,因此每1位十进制数必须用二进制数表示。1位十进制数包含0~9个数码,必须用4位二进制数表示,这样就需要确定0~9与4位二进制数0000B~1111B之间的对应关系,其中较常用的8421BCD码规定了十进制数0~9与4位二进制数编码之间的对应关系,见表1-5。表1-5 十进制数0~9与4位二进制数编码之间的对应关系注:在BCD码中,不使用1010B(0AH)~1111B(0FH)。

计算机中存储BCD码有两种形式:压缩BCD码和非压缩BCD码。(1)压缩BCD码

压缩BCD码用4位二进制数表示1位十进制数,一个字节可以表示2位十进制数。例如,10010111B表示十进制数97。(2)非压缩BCD码

非压缩BCD码用8位二进制数表示1位十进制数,高4位总为0000,低4位的0000~1001表示0~9。例如,00001001B表示十进制数9。

前面介绍了在使用计算机时二进制数、十进制数、十六进制数、ASCII码、BCD码及带符号数的表示等问题,这里要注意微型计算机能处理的数据只有二进制数,计算机并不认识什么正数、负数、BCD码、ASCII码等,计算机中数的表现形式只有二进制数,其他的数制和性质需要人们来进行分析与说明。例如,在某存储器中存放一个二进制数11111111B(0FFH),这个数有多大?这要看人们如何看了,如果是一个无符号数,就是255;如果是一个有符号数,就是−1;如果是一个BCD码,就是一个无效的数;如果是一个ASCII码,就代表“Del”键的ASCII码值。1.2 单片机概述

单片机又称为微控制器,它采用一定的工艺手段将CPU、存储器和I/O口集成在一个芯片上,其发展十分迅速。现在单片机技术已发展成为计算机领域一个非常有前途的分支,它有自己的技术特征、规范、发展道路和应用领域。单片机是为了满足工业控制需要而诞生的,是自动控制系统的核心部件,因而也主要用于工业控制、智能化仪器仪表、家用电器中。它具有体积小、个性突出(某些方面的性能指标大大优于通用微机中央处理器)、价格低廉等特点,应用领域不断扩大,除了工业控制、智能化仪表、通信、家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。1.2.1 单片机特点及应用

在通用微机中央处理器基础上,将输入/输出(I/O)接口电路、时钟电路以及一定容量的存储器等部件集成在同一芯片上,再加上必要的外围器件,如晶体振荡器,就构成了一个较为完整的计算机硬件系统。由于这类计算机系统的基本部件均集成在同一芯片内,因此被称为单片微控制器(Single-Chip-Micro Controller,简称单片机)或微控制单元(Micro Controller Unit,简称MCU)。

对于通用微处理器来说,其主要任务是数值计算和信息处理,对运算速度和存储容量方面的要求是速度越快越好,容量越大越好,因此它朝着高速、大容量方向发展:字长由8位(如8085处理器)、16位(如8086处理器、80286处理器),迅速向32位(如80486处理器)、64位(如Pentium系列CPU,Pentium系列CPU内部数据总线为32位,对外数据总线为64位,因而Pentium还不是真正意义上的64位微处理器)过渡,时钟信号的频率由最初的4.77 MHz向33 MHz、66 MHz、100 MHz、200 MHz、400 MHz、600 MHz、1 GHz、2 GHz,甚至更高频率过渡。而单片机主要面向工业控制,8位字长已足够(在工业控制中,一般仅需要控制线路的通断、触点的吸合与释放,有时4位单片机也能胜任),尽管也有16位、32位的单片机芯片,但这些高档单片机芯片主要用于语音、图像处理系统。

1.单片机的特点

单片机芯片作为控制系统的核心部件,除了具备通用微机CPU的数值计算功能外,还必须具有灵活、强大的控制功能,以便实时监测系统的输入量、控制系统的输出量,实现自动控制。由于单片机主要面向工业控制,工作环境比较恶劣,如高温、强电磁干扰,甚至含有腐蚀性气体,在太空中工作的单片机控制系统,还必须具有抗辐射能力,这决定了单片机CPU与通用微机CPU具有不同的特点。

① 单片机CPU的抗干扰性强,工作温度范围宽,而通用微机CPU一般要求在室温下工作,抗干扰能力较弱。

② 单片机CPU可靠性强,在工业控制中,任何差错都有可能造成极其严重的后果。

③ 单片机CPU控制功能往往很强,数值计算能力较差,而通用微机CPU具有很强的数值运算能力,但控制能力相对较弱,将通用微机CPU用于工业控制时,一般需要增加一些专用的接口电路。

④ 单片机CPU指令系统比通用微机系统简单。

⑤ 单片机CPU更新换代速度比通用微机CPU慢得多,Intel公司1980年推出标准MCS-51内核8051(HMOS工艺)、80C51(CHMOS工艺)单片机芯片后,持续生产、使用10年,直到1996年3月才被增强型MCS-51内核8xC5x系列芯片取代。由于增强型MCS-51系列单片机芯片均采用CHMOS工艺,因此Philips公司将“增强型MCS-51”内核称为“增强型80C51”内核。

2.单片机的应用

目前,单片机的应用已深入到国民经济的各个领域,对各个行业的技术改造和产品的更新换代起着重要的推动作用。单片机的特点决定了单片机的应用领域—智能仪器仪表、机电一体化、实时控制、民用电子产品及国防工业等方面。(1)单片机在智能仪表中的应用

单片机广泛地应用于实验室、交通运输工具、计量等各种仪器仪表之中,使仪器仪表智能化,提高它们的测量精度,加强其功能,简化仪器仪表的结构,便于使用、维护和改进,如电度表校验仪,电阻、电容、电感测量仪,船舶航行状态记录仪,烟叶水分测试器,智能超声波测厚仪等。单片机在该领域的应用,不仅使传统的仪器仪表发生根本的变革,也给传统的仪器仪表行业的改造带来了美好的前景。(2)单片机在机电一体化中的应用

机电一体化是机械工业发展的重要方向。机电一体化产品是指集机械技术、微电子技术、自动化技术和计算机技术于一体,具有智能化特征的机电产品。例如,微机控制的数控机床等。单片机的出现促进了机电一体化的进程,它作为机电产品中的控制器,能充分发挥它的体积小、可靠性高、控制功能强、安装方便等优点,大大提升了机器的功能,提高了机器的自动化、智能化程度。(3)单片机在实时控制中的应用

单片机也可广泛地应用于各种实时控制系统中,如对工业上各种窑炉的温度、酸度、化学成分的测量和控制,使系统工作于最佳状态,提高系统的生产效率和产品的质量。在航空航天、通信、遥控、遥测、工业机器人控制等各种实时控制和实时数据采集系统中都可以用单片机作为控制器。(4)在军工领域的应用

利用单片机的可靠性高、温度范围宽、能适应各种恶劣环境的特点,它可广泛应用于导弹控制、鱼雷制导控制、智能武器装备、航天飞机导航系统等领域。(5)单片机在分布式多机系统中的应用

利用单片机可以构成分布式测控系统,系统中若干台单片机组成的功能各异的仪器设备,通过通信相互联系,各自完成特定的任务,协调完成整个任务,能同时采集或处理更多信息,使单片机的应用进入了一个新水平。(6)在民用电子产品中的应用

单片机在民用电子产品中的应用,能明显提高产品的性能价格比,提高产品在市场上的竞争能力,受到产品开发商和用户的双重青睐。目前高档的家用电器、电子玩具等几乎都是由单片机来作为控制器的。1.2.2 单片机技术现状及发展趋势

1.单片机的技术现状

目前,单片机芯片系统、品种、规格繁多,先后经历4位机、8位机、16位机、新一代8位机、32位机等几个有代表性的发展阶段。4位机主要用于家用电器,如电视机、空调器、洗衣机中。不过随着8位机价格的下降,在家用电器中已开始大量采用8位机,以便在家用电器中采用一些新技术,如模糊控制、变频调速等,提高家用电器的智能化、自动化程度,并尽可能降低系统的能耗。16位机具有很强的数值运算能力和较快的反应速度,常用在需要实时控制、实时处理的系统中,尽管16位单片机进入市场已十余年,但一直未能取代8位机成为主流产品,目前已被强化了控制接口功能的新一代8位机和数值运算能力极强的32位机的销量也在迅速上升。在今后一段时间内,8位、16位和32位单片机芯片销量的绝对值可能会有不同程度的增长,但在目前,甚至今后相当长的时间,如5年、10年时间内,8位单片机(尤其是强化了控制接口功能的新一代8位机,如80C51,MC68HC11系列)依然是单片机的主流产品。因此,本书主要介绍8位单片机原理及系统组成。

8位单片机先后经历了3个发展阶段。

第一代单片机系统(如Intel公司的MCS-48系列)功能较差,它实际上是8位通用CPU单元电路和基本I/O接口电路、小容量存储器、中断控制系统的简单组合,没有串行通信功能,不带A/D、D/A转换器,中断控制和管理能力也较弱。因此它的应用范围受到很大的限制。

为了提高单片机的控制功能,拓宽其应用领域,在20世纪80年代初期,Intel、Motorola等公司在第一代8位单片机电路基础上,增加通用串行通信控制和管理接口(UART),强化中断控制功能,增加定时器/计数器的个数,扩展存储器容量,更新存储器的种类,部分系统单片机芯片内还集成了A/D、D/A转换接口电路,形成了第二代8位单片机系统,如Intel公司的MCS-51系列、Motorola公司的6801系列、Zilog公司的Z8系列,以及NEC公司的uPD7800等。第二代8位单片机芯片投放市场后,迅速取代了第一代8位单片机成为当时单片机市场的主流,并持续了十余年。

第二代8位单片机的特点是通用性强,但个性还不突出,控制功能也有限,依然不能满足不同应用领域、不同测控系统的要求。在20世纪90年代中后期,各大芯片厂商(如Intel、Philips、Motorola、Temic Seconductor Technology、Microchip等)在第二代单片机CPU内核基础上,除了进一步强化原有的功能(如在串行口部件中增加错误侦测和自动地址识别功能)外,针对不同的应用领域,将不同功能、用途的外部接口电路嵌入第二代单片机CPU内,形成了规格、品种繁多的新一代8位单片机芯片,如Intel,Philips,Atmel公司的8xC5x系列,Motorola公司的68HC05、68HC5X系列,Micro Chip公司的PIC16C系列等。在新一代8位单片机中,以增强型MCS-51为内核的8xC5x系列、以6801为内核的68HC05和68HC11系列目前已成为主流单片机芯片。

2.单片机的发展趋势

单片机的发展趋势是向高性能、大容量、微型化、外围电路内装化等方面发展。(1)CPU的改进

① 采用双CPU结构,以提高处理速度和处理能力。

② 增加数据总线宽度,以提高数据处理速度和能力。

③ 采用流水线结构。指令以队列形式出现在CPU中,且具有很快的运算速度,尤其适合于实时数字信号处理。2

④ 串行总线结构。Philips公司开发了一种新型总线—IC总线(Intel-Icbus),该总线采用3条数据线代替现行的8位数据总线,从而大大减少了单片机的外部引脚,降低了单片机的成本,特别适用于电子仪器设备的微型化。(2)存储器的发展

① 增大存储容量。新型单片机片内ROM一般可达4~8 KB,有的甚至可达128 KB。片内RAM可达1 KB。片内存储器存储容量的增大有利于外围扩展电路的简化,从而提高产品的稳定性,降低产品的成本。22

② 片内EPROM化。片内采用电擦除的EPROM后,不需要紫2外线擦除,只需重新写入。特别是能在+5 V下读/写的EPROM,既有静态RAM读/写操作简便的优点,又有在掉电时数据不会丢失这一2ROM的优点。由于EPROM中数据写入后能永久保持,因此有的单2片机将它作为片内RAM使用,甚至有的单片机将EPROM作为片内通用寄存器使用。

③ 程序保密化。一般EPROM中的程序很容易被复制,为防止复制,某些公司开始采用KEPROM(Keyed access EPROM)编程写入,2对片内EPROM采用加锁方式。加锁后无法读出其中的程序,可防止应用系统程序被抄袭。(3)片内I/O口的改进

一般单片机都有较多的并行口,以满足外围设备、芯片扩展的需要,并配以串行口,以满足对多机通信功能的要求。

① 提高并行口的驱动能力。这样可减少外围驱动芯片。有的单片机直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)等。

② 增加I/O口的逻辑控制功能。中、高档单片机的位处理系统能够对I/O口线进行位寻址及位操作,这加强了I/O口线控制的灵活性。

③ 特殊的串行接口功能。为单片机构成网络系统提供更便利的条件。(4)外围电路内装化

随着集成电路集成度的不断提高,有可能把众多的外围功能电路集成到单片机芯片内。除了一般具备的ROM、RAM、定时器/计数器、中断系统外,为满足检测、控制功能更高的要求,片内集成的部件还可有A/D转换器、D/A转换器、DMA控制器、锁相环、频率合成器、字符发生器、语音发生器、CRT控制器等。由于集成工艺在不断地改进和提高,能集成于片内的外围电路也可以是大规模的,把所需要的外围电路全部集成到单片机内(即系统的单片化)是目前单片机发展的趋势。(5)低功耗与工作电压范围加宽

在8位单片机中有半数以上产品已CMOS化,CMOS单片机具有功耗小的优点。为了充分发挥低功耗的特点,这类单片机普遍设置空闲和掉电两种工作方式。例如,采用CHMOS工艺的MCS-51系列单片机80C51BH/80C31/87C51,在正常运行时(5 V,12 MHz),工作电流为16 mA;同样条件下空闲工作方式,工作电流为3.7 mA;而在掉电方式(2 V)工作时,工作电流仅为50 nA。

对于采用NMOS工艺制作的单片机,工作电压一般为4.5~5.5 V。采用CMOS工艺的单片机,一般都可以在3~6 V的条件下工作。目前有的单片机工作电压更低,例如,TI公司的MSP430X11X系列单片机的工作电压是2.2 V。(6)低噪声与高可靠性技术

为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机厂家在单片机内部电路中采取了一些新的技术措施。例如,很多系列单片机在片内增加了看门狗定时器,Motorola公司的MC68HC08系列单片机采用了EFT(Electrical Fast Transient)的抗干扰技术。(7)ISP及IAP

在线编程技术(ISP)及在应用中编程技术(IAP)是通过计算机的并口或串口对单片机进行程序下载编程的。单片机引出的编程线与I/O线公用,不增加单片机的额外引脚。ISP为开发、调试提供了方便,并使单片机系统的远程调试、升级成为现实。IAP可实现单片机在应用中的再编程,为仪器仪表的智能化提供了重要的技术手段。1.2.3 常用的单片机产品

目前,生产单片机的厂商主要有Intel、Motorola、Philips、Atmel、WinBond、Microchip、AMD、Zilog公司等,产品型号规格众多,性能各具特色。

1.MCS单片机

Intel公司单片机产品进入我国市场较早,在我国机电控制、智能仪器领域的应用占有较大的市场份额,尤其是其MCS-51系列产品应用十分广泛,是我国广大单片机开发与应用技术人员非常熟悉的品种,至今以及今后的若干年内都是应用的重要产品之一。表1-6所示为Intel公司51系列单片机典型产品。表1-6 Intel公司51系列单片机典型产品

MCS是Intel公司的注册商标。凡Intel公司生产的以8051为核心单元的其他派生单片机都可以称为MCS-51系列,有时简称为51系列。MCS-51系列单片机包括3个基本型(8031、8051和8751)和对应的低功耗型(80C31、80C51和87C51)。

20世纪80年代中期,Intel公司以专利转让的形式把8051内核技术转让给许多半导体芯片生产厂商,如Atmel、Philips、Analogdevices、Dallas等。这些厂商生产的芯片是MCS-51系列的兼容产品,准确地说是与MCS-51指令系统兼容的单片机。这些兼容机与8051的系统结构(主要是指令系统)相同,采用CMOS工艺,因而常用80C51系列来称呼所有具有8051指令系统的单片机。但是,这些公司生产的以8051为核心的其他派生单片机却不能称为MCS-51系列,只能称为8051系列。也就是说MCS-51系列是专指Intel公司生产的以8051为核心单元的单片机,而8051系列泛指所有公司(也包括Intel公司)生产的以8051为核心单元的所有单片机。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载