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


发布时间:2020-07-11 19:33:22

点击下载

作者:张鑫 等

出版社:电子工业出版社

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

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

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

第4版前言

本书于2005年出版第1版,并分别于2010年、2014年修订出版第2、3版,得到了广大读者和使用本书作为教材的高校师生的肯定。为了进一步完善本书,使之更适应高校课堂教学与实践教学需要,并展现单片机技术的最新发展,作者对本书再次进行了全面的修改。

本书面向应用,以培养学生分析问题和解决问题的能力为目的,循序渐进,深入浅出,尽量使“深者得其深,浅者得其浅”,注重学生的认知特点和教学规律,注重体系的完整性。

在本书中,汇编语言与C51语言程序设计并重,硬件设计与软件设计的技巧性和方法并重,典型实例与Proteus仿真并重。在介绍单片机系统的组成时,详尽地介绍了多种典型、常用的集成电路芯片及其应用,提供了大量单片机外围接口芯片及相应的单片机应用系统。同时,注重新技术和新器件的引入,例如,可编程系统器件 PSD、2可编程逻辑器件 PLD、IC 总线、LCD显示、串行A/D转换器和D/A转换器、PWM技术、片上系统(SoC)等。本书还给出了单片机课程设计与创新实验题目供教师及读者参考。通过这些课程设计与创新实验,将有效地提高读者应用单片机解决实际工程问题的能力。

第4版在第3版的基础上,删除了第7章单片机应用系统设计举例中的“单片机在里程、速度中的应用”,增加了目前应用较多的“单片机在直流电动机调速中的应用”,以期为大学生的智能车竞赛、运动控制奠定基础。对第8章的Proteus软件应用进行了全面升级,与软件发展同步。对全书的内容进行修改与完善,增加了一些目前比较先进和实用的单片机外围接口技术及应用系统设计实例,使得内容更加全面。全书章节结构更加合理,通用性、系统性、工程性和实用性更好。

本书以MCS-51系列单片机(简称为MCS-51单片机)为主,内容包括:

绪论

为单片机简介,第1章介绍单片机的结构与原理,第2章介绍指令系统与程序设计,第3章介绍单片机的内部资源及应用,第4~6章介绍单片机的外围接口技术,第7章介绍单片机应用系统设计,第8章为Keil C51与Proteus简介,第9章为课程设计与创新实验题目。

作者根据多年的教学经验积累,并依托山东省省级精品课“单片机原理及应用”,对教材的配套资源进行整合,形成了集理论教学、实践教学、课后习题及参考答案、CAI课件及Proteus仿真于一体的立体化教材。CAI 课件中配备了大量的动画,用以实现寻址过程、指令与程序执行过程、硬软件设计过程、电路信号流向与信号变化、系统工作过程的动态表述。使用者可根据不同的教学与学习需求,从中选取相应的内容。

本书参考学时为48~64学时,教师可根据教学实际情况,对讲授内容进行取舍或补充。

全书共10章。绪论、第1章、第7章和第8章由张鑫编写,第2章由张彩荣编写,第3章由华臻编写,第4章、第9章由张岩编写,第5章由陈书谦编写,第6章及各章习题、附录A~C由元红妍编写。全书由张鑫统稿。

本书在编写的过程中得到了各位参编教师所在学校的领导和同行们的支持与帮助。在校对过程中,冉哲编辑对本书提出了许多宝贵意见。对于上述同志及参与本书出版的工作人员,在此表示诚挚的谢意!另外,向所有参考文献的作者致谢。

作者学识有限,书中可能会存在某些错误与不妥之处,敬请读者批评指正,并请与作者联系(邮箱:zxtz65@163.com)。

立体化教学资源

为了满足不同读者的需求,本书免费提供以下教学资源:

● 全部习题的参考答案;

● CAI课件,登录华信教育资源网(www.hxedu.com.cn)注册后免费下载;

● 典型例题的动画与Proteus仿真,并在书中为部分典型例题添加二维码,用手机扫描二维码后可以直接播放相关仿真演示动画;

● 教学所需的内容和图形。

请联系本书责任编辑冉哲索取,电子邮件地址ran@phei.com.cn。

作者绪论

绪论主要介绍单片机的基本概念、发展过程、发展趋势、应用领域、市场前景、单片机的选型及典型单片机性能概览,目的在于使学生了解单片机,重视单片机技术的学习。

1.单片机的基本概念

单片微型计算机(Single-Chip Microcomputer),简称单片机,就是将微处理器(Central Processing Unit,CPU)、存储器ROM(Read Only Memory,只读存储器)和RAM(Random Access Memory,随机存储器)、定时器/计数器、中断系统、输入/输出接口(I/O接口)、总线及其他多种功能的器件集成在一块芯片上的微型计算机。由于单片机的重要应用领域为智能化电子产品,一般需要嵌入仪器设备内,故又称为嵌入式微控制器(Embedded Microcontroller)。

单片机的主要特点如下。(1)可靠性高

单片机芯片是按工业测控环境要求设计的,其抗干扰的能力优于个人计算机(Personal Computer,PC)。单片机的系统软件(如程序、常数、表格)均固化在ROM中,不易受病毒破坏;许多信号的通道均集成在芯片内,运行系统稳定可靠。(2)便于扩展

单片机内部具有计算机正常运行所必需的部件,外部有很多供扩展用的引脚(总线、并行I/O接口和串行I/O接口),很容易构成各种规模的计算机应用系统。(3)控制功能强

单片机具有丰富的控制指令(如条件分支转移指令、I/O接口的逻辑操作指令、位处理指令等),可以对逻辑功能比较复杂的系统进行控制。(4)低电压、低功耗

低电压、低功耗对便携式产品和家用消费类产品是非常重要的。许多单片机可在3V,甚至更低的电压下运行,有些单片机的工作电流已降至μA级。(5)易于嵌入、发展迅速、应用广泛、易于产品化

单片机具有体积小、性价比高、灵活性强等特点,易于嵌入其他系统,在嵌入式微控制器中占有重要的位置。单片机从20世纪70年代出现至今,发展迅速,以其形式多样、集成度高、功能日臻完善、应用系统设计简单、易于掌握和普及、易于产品化等特点而得到了广泛应用和普及。

单片机的出现是近代计算机技术发展史上的一个重要里程碑,单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。通用计算机的主要特点是大存储容量,高速数值计算,不必兼顾控制功能,不断完善操作系统,其在数据处理、模拟仿真、人工智能、图像处理、多媒体、网络通信中得到了广泛应用。但是,通用计算机的体积大、成本高,无法嵌入大多数产品(如智能仪表等),而单片机则应嵌入式需求而生。单片机具有体积小、成本低等特点,广泛应用于机器人、仪器仪表、汽车电子系统、工业控制单元、玩具、家用电器、办公自动化设备、金融电子系统、舰船、个人信息终端及通信产品中。单片机以面向对象的实时监测和控制为己任,不断增强控制能力,降低成本,减小体积,改善开发环境,迅速而广泛地取代了经典电子系统。既有几元一块的一般功能的单片机,也有上百元一块的多功能的单片机,内含模数(A/D)转换器、数模(D/A)转换器、通信接口、多个计数器、多种接口标准等。

单片机目前作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。单片机技术在高等学校的相关专业单独开设课程;在课程设计、毕业设计,乃至研究生论文课题中,单片机技术的应用非常广泛;在高校中大力推行的各种电子设计竞赛、智能车竞赛中,单片机技术的应用占有重要的地位。因此,作为电类等专业的学生,必须学好并灵活应用单片机技术。

2.单片机的发展过程

1974年,美国Fairchild(仙童)公司研制了世界上第一台单片机F8。该机由两块集成电路芯片组成,结构奇特,具有与众不同的指令系统,深受家用电器与仪器仪表领域的欢迎和重视。从此,单片机开始迅速发展,应用领域也在不断扩大,现已成为微型计算机的重要分支。单片机的发展通常可以分为以下4个阶段。(1)第一阶段(1974—1976年)

单片机初级阶段。在这个时期生产的单片机,制造工艺落后,集成度低,而且采用双片形式。典型的代表产品有1974年12月Fairchild公司推出的F8系列。其特点是:内部只包含8位(bit,b)的CPU,64字节(Byte,B)的RAM和两个并行接口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行接口)才能组成一台完整的单片机。(2)第二阶段(1977—1978年)

低性能单片机阶段。这个时期生产的单片机虽然已能在单块芯片内集成 CPU、并行接口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有1976年Intel公司推出的MCS-48系列、1977年GI(通用仪器)公司推出的PIC1650。其特点是,内部集成8位的CPU,1KB/2KB的ROM,64B/128B的RAM,有并行接口,无串行接口,还有一个8位的定时器/计数器,两个中断源;外部寻址范围为4KB,芯片引脚为40个。(3)第三阶段(1979—1982年)

高性能单片机阶段。这一代单片机和前两代相比,不仅存储容量和寻址范围增大,而且中断源、并行 I/O 接口和定时器/计数器的个数都有不同程度的增加,并且集成了全双工串行通信接口。在指令系统方面,普遍增设了乘除法、位操作和比较指令。代表产品有Intel公司的MCS-51系列、Motorola公司的MC6805系列、TI(德州仪器)公司的TMS7000系列、Zilog公司的Z8系列等。此后,各公司的单片机迅速发展起来,新机型单片机不断出现,可以满足各种不同领域的需要。其特点是,内部集成8位的CPU,4KB/8KB的ROM,128B/256B的RAM,具有串/并行接口,还有2~3个16位的定时器/计数器,5~7个中断源;外部寻址范围可达64KB,芯片引脚为40个。(4)第四阶段(1983年至今)

8位单片机巩固发展及16位、32位单片机推出阶段。20世纪90年代是单片机大发展时期,Motorola、Intel、Microchip、Atmel、TI、三菱、日立、Philips、ST(意法半导体)等公司开发了大批性能优越的单片机,极大地促进了单片机的发展与应用。16 位单片机的工艺先进,集成度高,内部功能强,运算速度快。代表产品有 Intel 公司的 MCS-96 系列、Motorola 公司的MC68HC16系列、TI公司的TMS9900系列等。其特点是,内部集成16位的CPU,8KB的ROM,256B 的 RAM,具有串/并行接口,还有 4 个 16 位的定时器/计数器,8 个中断源,还有看门狗(Watchdog)、总线控制部件、D/A转换电路和A/D转换电路;外部寻址范围64KB,芯片引脚为48个或68个。另外,大容量和多功能的新型8位单片机也得到了进一步发展。代表产品有Intel公司的88044(双CPU工作)、Zilog公司的Super8(含DMA通2道)、Motorola公司的MC68HC11F1 (内含EPROM及A/D转换电路)等。

近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有ARM系列、Motorola公司的M68300系列、Silabs公司的Precision32系列、Microchip公司的PIC32MX系列、TI公司的F28×系列和日立公司的SH系列等。

单片机的发展从嵌入式系统的角度可分为SCM、MCU和SoC三大阶段。

SCM(Single-Chip Microcomputer,单片微型计算机)阶段,主要寻求最佳的单片形态、嵌入式系统的最佳体系结构。在SCM开创嵌入式系统独立发展道路上,Intel公司功不可没。

MCU(Micro Control Unit,微控制器)阶段,主要的发展方向是不断扩展满足嵌入式应用和设计系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。在发展MCU方面,代表产品有Philips公司的80C51,Atmel公司的AT89C××、AT89S××系列等。

SoC(System on Chip,片上系统)阶段,主要寻求应用系统在芯片上的最大化解决。因此,单片机的发展自然形成了SoC化趋势。随着微电子技术、集成电路(Integrated Circuit,IC)设计、电子设计自动化(Electronic Design Automatic,EDA)工具的发展,基于SoC的单片机应用系统设计会有较大的发展。Silabs公司推出的C8051F系列,将MCS-51系列从MCU推向了SoC时代。

3.单片机的发展趋势

单片机的发展是为了满足不断增长的传感器接口、电气接口、功率驱动接口、人机接口、通信网络接口等方面的要求,以适应自动检测与控制要求。具体体现在高速的I/O能力,较强的中断处理能力,较高的A/D转换、D/A转换性能,以及较强的位操作、功率驱动、程序运行监控、信号实时处理、通信能力等方面。总之,单片机正在向高性能、多功能、大存储容量、多功能化引脚、高可靠性、低电压、低功耗、低噪声、低成本的方向发展。(1)CPU的改进

采用多核CPU结构,增加数据总线的宽度,提高时钟频率,提高数据处理的速度和能力;采用流水线结构,提高处理和运算速度,以适应实时控制和处理的需要。(2)高性能

在单片机设计中采用精简指令集(Reduced Instruction Set Computing,RISC)体系结构、并行流水线操作等设计技术,以提高单片机的运算速度和执行效率。(3)外围电路的内装化

把需要的外围电路全部集成到单片机内,实现系统的单片化是目前单片机发展的趋势。将应用系统中常用的存储器,A/D转换器,D/A转换器,多路转换开关,电压基准,温度传感器,液晶显示(Liquid Crystal Diodes,LCD)驱动器,同步串行外设接口(Serial 2Peripheral Interface,SPI),IC串行总线(Inter Integrated Circuit Bus),看门狗(Watchdog),电源监控器等集成到单片机芯片中,从而成为名副其实的单片微机。例如,NS(美国国家半导体)公司把语音、图像部件等集成到单片机中,Infineon 公司的 C167CS-32FM 单片机内部含有两个 CAN(Controller Area Network,局域网络控制器)模块。(4)大存储容量

内部存储器采用闪存(Flash Memory),其容量可达128KB甚至更大,使得一般单片机应用系统可不用外扩程序存储器。一般采用加大内部数据存储器容量的方法,以满足动态数据存储的需求。单片机的寻址能力可达16MB甚至更多。(5)制造工艺不断提高

更小的光刻工艺提高了集成度,从而使芯片更小、成本更低、工作电压更低、功耗更低,特别是很多单片机都设置了多种工作方式,并且越来越多地采用低频时钟和模拟电路结合的方式。目前,单片机及其外围器件普遍采用CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)工艺,使单片机具有较宽的工作电压范围、较低的功耗等优点。(6)接口性能不断提高

提高并行接口的驱动能力,以减少外围驱动芯片,增加外围 I/O 接口的逻辑功能和控制的灵活性;采用以串行方式为主的外围扩展,串行扩展具有方便、灵活,电路系统简单,占用I/O资源少等特点。单片机和互联网连接已是一种明显的趋势。(7)可靠性不断提高

近年来,各生产厂家为了提高单片机的可靠性而采用电快速瞬变脉冲模式(Electrical Fast Transients,EFT)技术、低噪声布线技术及驱动技术、跳变沿软化技术、低频时钟等。(8)低功耗

目前单片机产品多为CMOS芯片,具有低功耗的优点。为了充分发挥低功耗的特点,这类单片机普遍支持等待状态、睡眠状态、关闭状态等。在这些状态下低电压工作的单片机,其消耗的电流仅在μA或nA量级,非常适合干电池供电的便携式、手持式仪器仪表及其他消费类电子产品。(9)编程及仿真技术的简单化

目前,大多数单片机都支持程序的在线编程,也称在系统编程(In System Programming,ISP),只需要一个 ISP 接口下载线,即可把程序从微机(微型计算机)写入单片机的闪存,省去了编程器。某些单片机还支持在应用编程(In Application Programming,IAP),可以在线对单片机的应用程序进行动态修改,省去了仿真器。(10)实时操作系统的使用

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

随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,单片机与微机系统之间的差距越来越小,甚至难以辨别。设计的发展趋势是,采用标准单片机,利用软件控制系统工作。闪存支持通过现场软件升级来重新定义工作方式和增加功能。随着系统复杂性的增加,单片机的应用也会快速增多,因为定义与开发复杂软件要比定义与开发复杂硬件简单得多。

4.单片机的应用

单片机具有结构简单、应用方便、软硬件结合、功能强、体积小、价格低、应用方便、易于掌握和普及、易于产品化、易于嵌入各种应用系统等优点。因此,以单片机为核心的嵌入式系统在相关领域得到了广泛应用。(1)工业检测与控制

单片机广泛应用于智能控制、过程控制、数据采集、仪器仪表、监控、机器人、机电一体化等应用系统中。例如,机床、高档中西餐厨具、锅炉、供水系统、自动报警系统、卫星信号接收系统等,大大降低了劳动强度和生产成本,增强了产品的功能,有效地提高了系统的工作效率和产品质量。(2)仪器仪表

仪器仪表的数字化、智能化、多功能化、综合化的发展,可通过单片机的改造来实现,以单片机为中心进行设计,从而使智能仪器仪表集测量、处理、控制功能为一体。(3)消费类电子产品

单片机在家电、手机、高档电子玩具中的应用已经非常普及,如电视机、电冰箱、空调、洗衣机、电风扇、微波炉、电饭煲、加湿器、消毒柜等。在这些设备中嵌入了单片机后,明显增强了产品的功能、性能,提高了产品的性价比、智能化程度,提高了产品在市场上的竞争力,同时受到产品开发商和用户的双重青睐。(4)计算机外围设备

大部分计算机外围设备都采用单片机作为控制器,如键盘、打印机、CRT(Cathode Ray Tube,阴极射线管)显示器、绘图仪、硬盘驱动器、网络通信设备等。(5)网络与通信的智能接口

单片机网络主要应用于分布式测控系统、通信系统等领域,如各类手机、传真机、程控电话交换机、各种通信设备、智能家居、楼宇自动化中的自动抄表系统等。在大型计算机控制的网络或通信电路与外围设备的接口电路中,用单片机来进行控制或管理,可以大大提高系统的运行速度和接口的管理水平。(6)军事、航空

单片机具有高可靠性、宽适用温度范围、能适应各种恶劣环境的特点,其被广泛应用于航空航天、导弹控制、鱼雷制导控制、智能武器装备、导航等军工领域。(7)办公自动化

现在办公室使用的大量通信和办公设备都被嵌入了单片机,如打印机、复印机、传真机、绘图仪、考勤机、电话及计算机中的键盘译码、磁盘驱动等。(8)医疗器械

单片机在医用设备中有着广泛的应用,如医用呼吸机、各种分析仪、监护仪、超声诊断设备、病床呼叫系统等。(9)汽车电子设备

单片机已广泛应用于各种汽车电子设备中,如汽车安全气囊、汽车信息系统、智能自动驾驶系统、卫星汽车导航系统、汽车紧急请求服务系统、汽车防撞监控系统、汽车仪表检测系统、汽车自动诊断系统、汽车黑匣子等。(10)分布式多机处理系统

在比较复杂的多结点测控系统中,常采用分布式多机处理系统。

① 集散控制系统,应用于工程中因多种外围功能要求而设置的多机系统。

② 并行多机处理系统,主要用于解决工程应用系统的快速性问题,以便构成大型实时工程应用系统,如快速并行数据采集系统、快速并行数据处理系统、实时图像处理系统等。

许多日常产品都包含了用户完全不会注意到的嵌入式单片机。一项研究表明,一般的消费者每天接触到的物品中,包含近 100 块嵌入式单片机。从烤面包机、吹风机、无绳电话、安全系统、微波炉、洗衣机到汽车的众多产品,都被加入了嵌入式单片机来增强可靠性、改善性能、保证安全、提高产品灵活性或简化用户接口等。由于许多产品中使用多块单片机来提供嵌入式系统,因此这些产品中单片机使用量的增长速度远远高于这些产品本身的增长速度。信息高速公路或因特网供应商每年约售出 3 亿台(件)产品,手机制造商每年约销售 5 亿部手机。虽然这两个市场都很大,但仅单片机市场每年销售量就超过50亿块。

综上所述,单片机在工业、农业、国防、军工、医疗、汽车电子、智能仪器仪表、家用电器、消费类电子等领域都发挥着十分重要的作用,单片机应用的市场前景非常广阔。

5.单片机的选择

当今单片机琳琅满目,产品性能各异。选择单片机需要考虑以下三个方面。(1)指令结构

按指令结构不同可将单片机分为复杂指令集(Complex Instruction Set Computing,CISC)结构和精简指令集(Reduced Instruction Set Computing,RISC)结构两种。

CISC 结构的 CPU 内部将较复杂的指令译码后分成几个微指令去执行,因此指令较多,开发程序比较容易;但是由于指令复杂,执行工作效率较差,处理数据速度较慢。CISC结构的特点是指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格也高。属于CISC结构的单片机有Intel的MCS-51系列、Motorola的M68HC系列、Atmel的AT89系列、Winbond (华邦)的W78系列、Philips的MCS-51系列等。

RISC 的 CPU 指令位数较短,内部具有快速处理指令的电路,指令的译码与数据的处理较快,执行效率比CISC高,但必须经过编译程序的处理,才能发挥它的效率。RISC结构的特点是取指令和取数据可以同时进行,执行效率较高,速度较快。同时,这种单片机指令多为单字节,程序存储器的空间利用率大大提高,有利于实现超小型化。属于 RISC 结构的单片机有Microchip公司的PIC系列、Zilog公司的Z86系列、Atmel公司的AT90S系列、三星公司的KS57系列4位单片机、义隆公司的EM78系列等。(2)程序存储方式

根据程序存储方式的不同,单片机可分为ROMless(内部无ROM,需要外部扩展ROM)、EPROM、OTPROM、Flash ROM和Mask ROM共5种。我国一开始都采用ROMless型单片机,对单片机的普及起了很大作用。但是,这种强调接口的单片机无法广泛应用,甚至走入误区。目前,大多数单片机将程序存储体置于其内,给应用带来了极大的方便。(3)特殊功能的单片机

为了构成控制网络或形成局部网,有的单片机内部含有CAN模块。例如,Infineon公司的C505C、C515C、C167CR、C167CS-32FM、81C90,以及Motorola公司的M68HC08AZ系列等。

为了能在变频控制中方便地使用单片机,形成经济效益较高的嵌入式控制系统,有些单片机内部设置了专门用于变频控制的脉宽调制(Pulse Width Modulation,PWM)控制电路。例如,Fujitsu 公司的 MB89850 系列、MB89860 系列,Motorola 公司的 MC68HC08MR16、MC68HC08MR24等。在这些单片机中,脉宽调制电路有6个通道输出,可产生三相脉宽调制交流电压,并且内部包含死区控制等功能。

目前,新型单片机的功耗越来越小,特别是很多单片机都设置了多种工作模式,这些工作模式包括暂停、睡眠、空闲、节电等。例如,Philips公司的单片机P87LPC762在空闲时,其工作电流为1.5mA,而在节电模式下,其工作电流只有0.5mA。而TI公司的16位单片机MSP430系列的低功耗模式有LPM1、LPM3、LPM4三种。当电源为3V时,如果工作在LMP1模式下,那么,即使外围电路处于活动状态,但由于CPU不活动,振荡器主频为1~4MHz,因此,这时工作电流只有50μA。在LPM3模式下,振荡器主频为32.768kHz,工作电流只有1.3μA。在LPM4模式下,CPU、外围及振荡器都不活动,工作电流只有0.1μA。

有的单片机已采用三核(TrCore)结构。这是一种建立在 SoC 级芯片概念上的结构。这种单片机由三个核组成:MCU和DSP(Digital Signal Processing,数字信号处理)核,数据和程序存储器核,以及ASIC(Application Specific Integrated Circuit,外围专用集成电路)核。其最大特点在于把DSP和MCU同时制作在一块芯片上。DSP的主要用途是在高速计算和特殊处理(如快速傅里叶变换)等方面,把它和传统单片机结合集成,大大提高了单片机的性能,这是目前单片机最大的进步之一。这种单片机典型的有Infineon公司的TC10GP,日立公司的SH7410、SH7612等。这些单片机都是高档单片机,MCU都是32位的,而DSP采用16或32位结构,工作频率一般在60MHz以上。

扩大电源电压范围,并在较低电压下仍能工作,这也是单片机发展的目标之一。目前,一般单片机都可以工作于3.3~5.5V电压,甚至2.2~6V电压。例如,Fujitsu公司的MB89系列单片机工作电压为3.3~5.5V,而TI公司的MSP430X11X系列单片机工作电压低至2.2V。

6.典型单片机性能概览(1)MCS-51单片机

MCS-51单片机是美国Intel公司于1980年推出的产品,指令数为111条。MCS-51单片机是世界上用量最大的单片机之一。目前,由于 Intel 公司在计算机方面将重点放在与 PC 机兼容的高档芯片的开发上,因此,MCS-51 单片机主要由 Philips、A tmel、三星、华邦等公司生产。这些公司都在保持与 MCS-51 单片机兼容的基础上改善了许多特性,提高了速度,降低了时钟频率,放宽了电源电压的动态范围,降低了产品价格。MCS-51单片机及其兼容单片机目前仍是应用的主流产品。MCS-51单片机主要包括8031、8051、8751、89C51和89S51等通用产品。

MCS-51单片机的性能见表0.1。表0.1 MCS-51单片机的性能(2)Motorola单片机

Motorola公司是目前世界上较大的单片机生产厂家之一。自1974年Motorola公司推出第一种M6800单片机之后,相继推出了M6801、M6804、M6805、M68HC05、M68HC08、M68HC11、M68HC16、M68300、M68360等系列的单片机。

Motorola 单片机品种全、选择余地大、新产品多,有 8、16、32 位系列单片机。其主要产品有:8位机M68HC05和升级产品M68HC08,其中M68HC05有30多个系列,200多个品种,产量已超过20亿片;8位增强型单片机M68HC11和升级产品M68HC12,其中M68HC11有30多个品种,年产量在1亿片以上;16位单片机M68HC16有十几个品种;32位单片机的M68300也有几十个品种。其主要特点是,在同样速度下所用的时钟频率较Intel单片机的时钟频率低很多,因而使得高频噪声低,抗干扰能力强,更适合工控领域及恶劣的环境。Motorola 的 8 位单片机过去的程序存储策略是以掩模为主的,最近推出OTP计划以适应单片机发展新趋势,其32位机在性能和功耗方面都胜过ARM公司的ARM7。

Motorola单片机内部包含:CPU,振荡器,实时时钟,中断,2ROM/RAM/EPROM/EPROM/OTPROM/Flash ROM,并行I/O接口,串行通信接口(Serial Communication Interface,SCI),串行外设接口(Serial Peripheral Interface,SPI),定时器/计数器,多功能定时器(含多个输入捕捉端和多个输出比较端),PWM,Watchdog,D/A转换器、A/D转换器,LED(Light Emitting Diode)、LCD、屏幕(On-Screen Display,OSD)、荧光(Vacuum Fluorescent Display,VFD)等显示驱动器,键盘中断模式(Keyboard Interrupt Module,KBI),双音多频(Dual Tone Multi Frequency,DTMF)接收/发生器,保密通信控制器,锁相环(Phase Locked Loop,PLL),调制解调器,直接存储器访问(Direct Memory Access,DMA)等。

Motorola单片机的性能见表0.2。表0.2 Motorola单片机的性能(3)PIC单片机

由Microchip公司推出的PIC单片机系列产品,是较早采用RISC结构的嵌入式微控制器,仅33条指令。其特点是高速度、低电压、低功耗、大电流LCD驱动能力和低价位OTP技术,自带看门狗定时器,可以用来提高程序运行的可靠性,具有睡眠和低功耗模式,强调节约成本的最优化设计,适合用量大、档次低、价格敏感的产品,同时,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。PIC系列有几十种型号,可以满足各种需要。其中,PIC10F20X单片机仅有6个引脚,而PIC12LF1552体积最小(2mm×3mm,UDFN封装),是目前世界上最小的单片机。PIC单片机广泛应用于计算机的外设、家电控制、通信、智能仪器、汽车电子等领域,是市场份额增长较快的一种单片机,也是世界上最有影响力的嵌入式微控制器之一。

PIC单片机具有保密性好,开发环境优越,产品上市零等待等优点。PIC单片机的引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。PIC单片机的性能见表0.3。表0.3 PIC单片机的性能(4)MSP430单片机

MSP430单片机是TI公司生产的一种特低功耗的Flash微控制器,有“绿色微控制器(Green MCU)”之称。MSP430系列新型产品集成业内领先的超低功率闪存、高性能模拟电路和一个16位RISC结构的CPU,具有丰富的寻址方式、简单的27条指令、较高的处理速度,且系统工作稳定,指令周期可以达125ns,且大部分指令可在一个指令周期内完成;具有丰富的内部设置,如看门狗、定时器/计数器、比较器、串/并行接口、A/D转换器、硬件乘法器等;工作电流较小,仅为 0.1~400μA;属低电压器件,仅需 1.8~3.6V 电压供电,从而有效降低了系统功耗;使用超低功耗的数控振荡器技术,可以实现频率调节和无晶振运行;6μs的快速启动时间,可以延长待机时间并使启动更加迅速,降低了电池的功耗。

MSP430单片机的性能见表0.4。表0.4 MSP430单片机的性能续表(5)EM78单片机

EM78单片机是由义隆公司推出的8位单片机,采用高速CMOS工艺制造,低功耗设计(正常工作电流2mA,休眠状态电流1μA);内部包含ALU、ROM、RAM、I/O、堆栈、中断控制、定时器/计数器、看门狗定时器、电压检测器、复位电路、振荡电路等;具有三个中断源,R-OPTION功能,I/O唤醒功能,多功能I/O接口等;具有优越的数据处理性能,采用RISC结构设计,单周期、单字节及流水线指令,采用大家熟悉的MCS-51单片机指令风格设计,共计58条指令;RAM容量从32KB到157KB,最短指令周期为100ns,程序页面为1KB(多至4页)。EM78单片机具有完备的开发手段、快速的代码转换、系列化的单片机设计,方便产品的升级换代。它广泛应用于智能小区系统、消防电子系统、汽车摩托车电子、智能家用电器、医疗保健仪器、工业控制、玩具、智能仪表等行业。

EM78单片机的性能见表0.5。表0.5 EM78单片机的性能(6)AVR单片机2

Atmel公司把EPROM及Flash ROM技术巧妙地用于特殊的集成电路,推出了AT90单片机。AT90单片机是增强型RISC结构内载Flash ROM的单片机,简称为AVR单片机。

AVR单片机内部32个寄存器全部与ALU直接连接,突破瓶颈限制,每1MHz可实现1MIPS (百万条指令每秒)的处理能力;内置1~128KB的Flash ROM,内部集成UART、SPI、PWM、WDT、10位2A/D转换器等器件;内部EPROM可进行系统内下载;支持C语言及汇编语言编程;采用可多次擦写的闪存,给用户的开发生产和维护带来了方便;具有省电模式、更低的功耗(4MHz/3V,掉电模式时工作电流小于 1μA)、良好的抗干扰性。绝大多数 AVR 单片机支持程序的在系统编程(ISP),还支持在应用编程(IAP)。AVR 单片机是一种高速单片机,其机器周期等于时钟周期,绝大多数指令为单周期指令。AVR单片机的接口具有较强的负载能力,可以直接驱动LED,MEGA系列的I/O接口驱动能力达到了40mA。多种封装形式可满足不同用户的需求,提供完全免费的开发环境,包括汇编器、支持汇编和高级语言源代码级调试的模拟和仿真环境。AVR单片机的性能见表0.6。表0.6 AVR单片机的性能

习题0

1.单片机是指把组成微型计算机的各功能部件,即()、()、()、()、()及()等集成在一块芯片上的微型计算机。

2.什么叫单片机?其主要特点有哪些?

3.单片机有哪几个发展阶段?

4.在实际应用中,如何选择单片机的类型?

5.试比较MCS-51、MSP430、EM78、PIC、Motorola及AVR等系列单片机的特点。

6.举例说明生活中应用单片机的例子。

第1章 MCS-51单片机的结构与原理

本章主要介绍 MCS-51 单片机的内部结构、引脚、特点、工作方式和时序,并简单介绍典型片上系统(SoC)的结构、特点,为学生后面学习单片机应用系统设计、利用单片机解决工程实际问题打下坚实的基础。本章重点在于基本概念、组成原理、特点及 MCS-51 单片机的最小应用系统,难点在于时序。

1.1 MCS-51单片机硬件结构及引脚

自从Intel公司20世纪80年代推出MCS-51单片机以后,世界上许多著名的半导体厂商(如Atmel、Philips、Dallas、AMD、Motorola、Microchip、TI、EMC、LG、Temic、ESI等)相继生产了与这个系列兼容的单片机,使产品型号不断增加,品种不断丰富,功能不断增强。从系统结构上讲,所有的MCS-51单片机都是以Intel公司最早的典型产品8051为核心,再增加一定的功能部件后构成的。因此,本章以8051为主介绍MCS-51单片机的结构、特点、工作方式、时序。MCS-51单片机主要包括8031、8051和8751等通用产品。1.1.1 MCS-51单片机内部结构

单片机的结构有两种类型:一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构;另一种是通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。Intel的MCS-51单片机采用哈佛结构,而后续产品16位的MCS-96单片机则采用普林斯顿结构。

MCS-51 单片机由中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O接口、串行I/O接口(一般简称为串行口)和中断系统等组成。其内部结构框图如图1.1所示。图1.1 MCS-51单片机的内部结构框图

MCS-51单片机的内部结构原理图如图1.2所示。

8051 CPU的主要功能特性如下。

① 8位CPU。

② 布尔代数处理器,具有位寻址能力。

③ 128B内部RAM数据存储器,21个专用寄存器。

④ 4KB内部掩模ROM程序存储器。

⑤ 两个16位可编程定时器/计数器。

⑥ 32个(4×8位)双向可独立寻址的I/O接口。

⑦ 一个全双工UART(异步串行口)。

⑧ 5个中断源,两级中断优先级的中断控制器。

⑨ 时钟电路,外接晶振和电容可产生1.2~12MHz的时钟频率。

⑩ 外部程序存储器寻址空间为64KB,外部数据存储器寻址空间也为64KB。

⑪111条指令,大部分为单字节指令。

⑫单一的+5V电源供电,40引脚双列直插封装(DIP)。图1.2 MCS-51单片机的内部结构原理图

1.中央处理器(CPU)

CPU是整个单片机的核心部件,由运算器和控制器组成。(1)运算器

8051的运算器功能较强,它可以完成算术运算和逻辑运算,其操作顺序在控制器控制下进行。运算器由算术逻辑单元(Arithmetic and Logic Unit,ALU)、累加器A(Accumulator)、暂存器TMP1和TMP2,以及程序状态字PSW组成。(2)控制器

控制器由程序计数器(PC)、堆栈指针(SP)、数据指针寄存器(DPTR)、指令寄存器(IR)、指令译码器(ID)、定时控制逻辑、振荡器OSC等组成。CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。

OSC是控制器的核心,与外接晶振、电容组成振荡器,能为控制器提供时钟脉冲。其频率是单片机的重要性能指标之一,时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越高。

2.存储器

MCS-51单片机的存储器有内部和外部之分,内部存储器集成在芯片内部,外部存储器是专用的存储器芯片,需要通过印制电路板上的三总线与 MCS-51 单片机连接。无论内部还是外部存储器,都可分为程序存储器和数据存储器两类。(1)程序存储器

一般将只读存储器(ROM)用作程序存储器。MCS-51 单片机具有 64KB 程序存储器寻址空间,它用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64KB。此时单片机的EA端必须接地,强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,EA需接高电平,使CPU先从内部的程序存储器中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。8051程序存储器结构如图1.3所示。

8051内部有4KB的程序存储单元,其地址为0000H~0FFFH。单片机启动复位后,程序计数器(PC)的内容为0000H,所以系统将从0000H单元开始执行程序。

在程序存储器中有些特殊的单元,在使用中应加以注意。其中,一组特殊单元是0000H~0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,应在0000H~0002H这三个单元中存放一条无条件转移指令,使CPU直接转到用户指定的程序去执行。另一组特殊单元是0003H~002AH 单元,专门用于存放中断服务程序入口地址。中断响应后,按中断的类型,自动转到各自的中断服务入口地址处执行程序。因此,以上地址单元不能用于存放程序的其他内容。(2)数据存储器

一般将随机存取存储器(RAM)用作数据存储器。MCS-51 单片机的数据存储器可分为内部数据存储区和外部数据存储区两部分。MCS-51单片机内部有128B或256B的RAM用作数据存储器(不同的型号有区别),它们均可读写,部分单元还可以使用位寻址。

8051内部有 256B RAM,分为两部分。地址00H~7FH的单元作为用户数据 RAM。地址80H~FFH的单元作为特殊功能寄存器(SFR)。用户数据RAM又可分为工作寄存器区、位寻址区、堆栈区和数据缓冲区。其结构分布如图1.4所示。图1.3 8051程序存储器结构图1.4 8051内部RAM分配

内部RAM的20H~2FH单元为位寻址区,既可作为一般单元用字节寻址,也可以对它们的位进行寻址。位寻址区共有16B(128bit),位地址为00H~7FH。位地址分配见表1.1。CPU能直接寻址这些位,执行置1、清0、求“反”、转移、传送和逻辑运算等操作。我们常称MCS-51单片机具有布尔处理功能,布尔处理的存储空间就是位寻址区。表1.1 内部RAM位寻址区地址表

可以看出,内部RAM低128个单元的单元地址范围为00H~7FH,而位寻址区的位地址范围也为00H~7FH,二者是重叠的,在应用中可以通过指令的类型区分单元地址和位地址。

内部RAM的堆栈区及数据缓冲区地址为30H~7FH,共有80个单元,用于存放用户数据或作为堆栈区使用,8051对该区中的每个RAM单元只能实现字节寻址。

3.特殊功能寄存器

特殊功能寄存器(Special Function Register,SFR),也称为专用寄存器。MCS-51单片机有21个特殊功能寄存器(PC除外),它们被离散地分布在内部RAM的80H~FFH单元中,共占据了128个存储单元,构成了SFR存储块。SFR模块中,如果其单元地址能被8整除,则 MCS-51 单片机允许对其进行位寻址。SFR 反映了 MCS-51 单片机的运行状态,其功能已有专门的规定,用户不能修改其结构。表 1.2 是特殊功能寄存器分布一览表,这里只对其主要的寄存器做介绍。表1.2 特殊功能寄存器分布一览表(1)程序计数器(Program Counter,PC)

PC在物理上是独立的,它不属于SFR存储器块。PC是一个16位的计数器,专门用于存放CPU将要执行的下一条指令的地址,寻址范围为64KB。PC有自动加1功能,即执行完一条指令后,其内容自动加 1。PC 本身并没有地址,因而不可寻址。用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序执行的顺序。(2)累加器A(Accumulator)

累加器A是8位寄存器,又记作ACC,是一个最常用的专用寄存器。在算术/逻辑运算中用于存放操作数或结果,CPU 通过累加器 A 与外部存储器、I/O 接口交换信息。大部分的数据操作都会通过累加器 A 进行,它就像一个交通要道,因此在程序比较复杂的运算中,累加器成了制约软件效率的“瓶颈”。它的功能特殊,地位也十分重要,因此近年来出现的单片机,有的集成多累加器结构,或者使用寄存器阵列来代替累加器,即赋予更多寄存器以累加器的功能,目的是解决累加器的“交通堵塞”问题,提高单片机的软件效率。(3)寄存器B

寄存器B 是8位寄存器,是专门为乘除指令设计的。在乘法指令中,专门用于存放乘数和积的高8位;在除法指令中,专门用于存放除数和余数。详见2.3.2节的乘除指令。(4)工作寄存器

内部RAM的工作寄存器区00H~1FH共32B被均匀地分成4个组(区),每个组(区)有8个寄存器,分别用R0~R7表示,称为工作寄存器或通用寄存器,其中,R0、R1除作为工作寄存器用外,还经常用于间接寻址的地址指针。

在程序中,通过程序状态字(PSW)寄存器管理它们,CPU通过定义PSW的第4位和第3位(RS1和RS0),即可选中这4组通用寄存器中的某一组。对应的编码关系见表1.3。表1.3 RS1和RS0对工作寄存器的选择(5)程序状态字(Program Status Word,PSW)

PSW是8位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。它的各标志位定义见表1.4。表1.4 程序状态字PSW

各标志位简单介绍如下。

① PSW.7(C):进位标志位。此位有两个功能:一是存放执行y算术运算时的进位标志,可被硬件或软件置位或清 0,例如,进行加减运算时,若运算结果在最高位有进位或借位,则 C被硬件自动置1,y反之则自动置0;二是在位操作中作为累加器使用。

② PSW.6(AC):辅助进位标志位,又称为半进位标志位。进行加减运算时,如果有低 4位向高4位进位或借位,则AC被硬件自动置1,反之则自动置0。辅助进位标志位AC主要用于二-十进制调整。

③ PSW.5(F0):用户标志位。这是供用户设置的标志位,F0 通常不是单片机在执行指令过程中自动形成的,而是用户根据程序执行的需要通过传送指令设置的。用户通过对F0位置1或置0,以设定程序的走向。

④ PSW.4和PSW.3(RS1和 RS0):寄存器组选择位。8051共有4组8×8位工作寄存器,每组均命名为R0~R7,但每组在RAM中的物理地址不同。用户可通过软件改变RS1和RS0的组合内容,来选择R0~R7在内部RAM中的实际物理地址(即选择4组工作寄存器中的某一组)。工作寄存器R0~R7的物理地址与RS1和RS0之间的关系见表1.3。

⑤ PSW.2(OV):溢出标志位。在带符号数加减运算中,若结果超出了累加器A所能表示的带符号数的有效范围(-128~+127),则产生溢出。若OV=1,则表明运算结果错误;若OV=0,则表明运算结果正确。

执行加法指令ADD,当位6向位7进位,而位7不向C进位时,yOV=1;或者当位6不向位7进位,而位7向C进位时,同样OV=1。y

执行乘法指令MUL时,若OV=1,则说明乘积超过255,表明乘积在AB寄存器对中;若OV=0,则说明乘积没有超过255,乘积只在累加器A中。

执行除法指令DIV时,若OV=1,则表示除数为0,运算不被执行;否则OV=0。

⑥ PSW.1(空缺位):此位未定义。

⑦ PSW.0(P):奇偶校验位。用于指示运算结果(存放在累加器A中)中1的个数的奇偶性。当存放运算结果的累加器A中1的个数为奇数时,P被硬件置1;反之被置0。(6)数据指针寄存器(Data Pointer,缩写为DPTR)

DPTR是16位的专用寄存器,它由两个8位的寄存器DPH(高8位)和DPL(低8位)组成,专门用来寄存外部RAM及扩展I/O接口进行数据存取时的地址。编程时,既可以按16位寄存器使用,也可以按两个8位寄存器使用(即高位字节寄存器DPH和低位字节寄存器DPL)。

DPTR主要用来保存16位地址。当对64KB外部数据存储器寻址时,可作为间址寄存器使用,指令为MOVX A,@DPTR或MOVX@DPTR,A。

在访问程序存储器时,DPTR可用作基址寄存器,采用“基址+变址”寻址方式访问程序存储器,指令为MOVC A,@A+DPTR。该指令常用于读取外部程序存储器内的表格数据。(7)堆栈指针(Stack Pointer,SP)图1.5 堆栈的结构

堆栈是一种数据结构,是内部RAM的一段区域,如图1.5所示。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载