单片机原理及接口技术 第2版 教学课件_第1页
单片机原理及接口技术 第2版 教学课件_第2页
单片机原理及接口技术 第2版 教学课件_第3页
单片机原理及接口技术 第2版 教学课件_第4页
单片机原理及接口技术 第2版 教学课件_第5页
已阅读5页,还剩1214页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理及接口技术(第2版)

(张毅刚王少军付宁)第1章

单片机概述.ppt第2章AT89S51单片机的硬件结构.ppt第3章AT89S51单片机的的指令系统.ppt第4章AT89S51单片机的中断系统.ppt第5章

IO口应用-显示与开关键盘输入.ppt第6章AT89S51单片机的定时器/计数器.ppt第7章AT89S51单片机的串行口.ppt第8章AT89S51单片机外部存储器的扩展.ppt第9章AT89S51单片机的I/O扩展.ppt第10章单片机系统的串行扩展技术.ppt第11章AT89S51单片机与DAC、ADC的接口.ppt第12章其它应用接口设计.ppt第13章AT89S51单片机的应用设计与调试.ppt全套可编辑PPT幻灯片课件(共13章)第1章单片机概述

第1章目录1.1单片机简介1.2单片机的发展历史1.3单片机的特点1.4单片机的应用1.5单片机的发展趋势1.6MCS-51系列与AT89C5x系列单片机

1.6.1MCS-51系列单片机

1.6.2AT89S5x系列单片机简介1.7各种衍生品种的8051单片机

1.7.1STC系列单片机

1.7.2C8051Fxxx单片机

1.7.3ADμC812单片机

1.7.4华邦W77系列、W78系列单片机

1.8PIC系列单片机与AVR系列单片机

1.8.1PIC系列单片机

1.8.2AVR系列单片机

1.9其他嵌入式处理器简介

1.9.1嵌入式DSP处理器(DSP)

1.9.2嵌入式微处理器

内容概要介绍单片机的基础知识、发展历史、发展趋势及应用领域。在8位单片机机型中,Intel的8051单片机已成为国内外公认的标准体系结构,被许多厂家作为基核,推出了多种兼容机型,已在世界范围内得到广泛应用。众多的兼容机型中,美国ATMEL公司的AT89S5x系列,尤其是该系列中的AT89S51(或AT89S52)单片机仍是目前应用较为广泛的8位机型,也是单片机初学者首选的入门机型。本章除了对AT89S51单片机作简单介绍外,同时也对嵌入式处理器家族中其他成员如DSP、嵌入式微处理器也作以概括性介绍,以使读者对其有初步了解,为后续学习DSP、嵌入式微处理器打下基础。单片机自20世纪70年代问世以来,已广泛地应用在工业自动化、自动控制与检测、智能仪器仪表、机电一体化设备、汽车电子、家用电器等各个方面。那么,什么是单片机呢?1.1单片机简介单片机就是在一片半导体硅片上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的用于测控领域的单片微型计算机,简称单片机。由于单片机在使用时,通常处于测控系统的核心地位并嵌入其中,所以国际上通常把单片机称为嵌入式控制器(EmbeddedMicroControllerUnit,EMCU)或微控制器(MicroControllerUnit,MCU)。而在我国,大部分工程技术人员则习惯于使用“单片机”这一名称。

单片机的问世,是计算机技术发展史上的一个重要里程碑,它标志着计算机正式形成了通用计算机和嵌入式计算机两大分支。单片机芯片体积小、成本低,可广泛地嵌入到如工业控制单元、机器人、智能仪器仪表、武器系统、家用电器、办公自动化设备、金融电子系统、汽车电子系统、玩具、个人信息终端以及通信产品中。单片机按照其用途可分为通用型和专用型两大类。通用型单片机就是其内部可开发的资源(如存储器、I/O等各种外围功能部件等)可全部提供给用户。用户可根据实际需要,设计一个以通用单片机芯片为核心,再配以外围接口电路及其他外围设备(简称外设),并编写相应的程序来控制功能,以满足各种不同测控系统的功能需求。通常所说的和本书所介绍的单片机是指通用型单片机。专用型单片机是专门针对某些产品的特定用途而制作的。例如,各种家用电器中的控制器等。由于是用于特定用途,单片机芯片制造商常与产品厂家合作,设计和生产“专用”的单片机芯片。在设计中,已经对“专用”单片机的系统结构最简化、可靠性和成本的最佳化等方面都做了全面综合考虑,所以“专用”单片机具有十分明显的综合优势。但是,无论“专用”单片机在用途上有多么“专”,其基本结构和工作原理都是以通用单片机为基础的。

1.2单片机的发展历史单片机根据其基本操作处理的二进制位数主要分为:8位单片机、16位单片机以及32位单片机。单片机的发展历史可大致分为4个阶段。第一阶段(1974年~1976年):单片机初级阶段。因工艺限制,单片机采用双片的形式,而且功能比较简单。1974年12月,仙童公司推出了8位的F8单片机,实际上只包括了8位CPU、64BRAM和2个并行口。第二阶段(1976年~1978年):低性能单片机阶段。1976年Intel公司推出的MCS-48单片机(8位)极大地促进了单片机的变革和发展,1977年GI公司推出了PIC1650,但这个阶段的单片机仍然处于低性能阶段。第三阶段(1978年~1983年):高性能单片机阶段。高性能单片机使应用跃上了一个新的台阶。这个阶段推出的单片机普遍带有串行I/O口、多级中断系统、16位定时器/计数器,片内ROM、RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。由于这类单片机性价比高,所以得到广泛应用。典型代表产品为Intel公司的MCS-51系列,Mortorola公司的6801单片机。此后,各公司的与MCS-51系列兼容的8位单片机得到迅速发展,新机型不断涌现。

第四阶段(1983年~现在):8位单片机巩固发展及16位、32位单片机推出阶段。20世纪90年代是单片机制造业大发展时期,这个时期的Mortorola、Intel、Microchip、ATMEL、德州仪器(TI)、三菱、日立、飞利浦、韩国LG等公司也开发了一大批性能优越的单片机,极大地推动了单片机的推广与应用。近年来,又有不少新型的高集成度的单片机涌现出来,出现了单片机产品百花齐放、丰富多彩的局面。目前,除了8位单片机得到广泛应用之外,16位、32位单片机也得到广大用户的青睐

1.3单片机的特点单片机是集成电路技术与微型计算机技术高速发展的产物。单片机体积小、价格低、应用方便、稳定可靠,因此,单片机的发展普及给工业自动化等领域带来了一场重大革命和技术进步。由于单片机很容易嵌入到系统之中,便于实现各种方式的检测或控制,这是一般微型计算机根本做不到的。单片机只要在其外部适当增加一些必要的外围扩展电路,就可以灵活地构成各种应用系统,如工业自动控制系统、自动检测监视系统、数据采集系统、智能仪器仪表等。为什么单片机应用如此广泛?主要是单片机系统具有以下优点。(1)简单方便,易于掌握和普及。由于单片机技术是较为容易掌握的普及技术。单片机应用系统设计、组装、调试已经是一件容易的事情,广大工程技术人员通过学习可很快地掌握其应用设计与调试技术。

(2)功能齐全,应用可靠,抗干扰能力强。(3)发展迅速,前景广阔。在短短几十年的时间里,单片机就经过了4位机、8位机、16位机、32位机等几大发展阶段。尤其是形式多样、集成度高、功能日臻完善的单片机不断问世,更使得单片机在工业控制及自动化领域获得长足发展和大量应用。近几年,单片机内部结构愈加完美,配套的片内外围功能部件越来越完善,一片芯片就是一个应用系统,为应用系统向更高层次和更大规模的发展奠定了坚实基础。(4)嵌入容易,用途广泛。单片机体积小、性价比高,灵活性强等特点在嵌入式微控制系统中具有十分重要的地位。在单片机问世前,人们要想制作一套测控系统,往往采用大量的模拟电路、数字电路、分立元件来完成,系统体积庞大,且因为线路复杂,连接点太多,极易出现故障。单片机问世后,电路组成和控制方式都发生了很大变化。在单片机应用系统中,各种测控功能的实现绝大部分都已经由单片机的程序来完成,其他电子线路则由片内的外围功能部件来替代。1.4单片机的应用单片机具有软硬件结合、体积小,很容易地嵌入到各种应用系统中的优点。因此,以单片机为核心的嵌入式控制系统在下述各个领域中得到了广泛的应用。1.工业控制与检测在工业领域,单片机的主要应用有:工业过程控制、智能控制、设备控制、数据采集和传输、测试、测量、监控等。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种集机械、微电子和计算机技术为一体的综合技术(如机器人技术)中,单片机发挥着非常重要的作用。2.仪器仪表目前对仪器仪表的自动化和智能化要求越来越高。在智能仪器仪表中使用单片机,有助于提高仪器仪表的精度和准确度,简化结构,减小体积而易于携带和使用,加速仪器仪表向数字化、智能化、多功能化方向发展。3.消费类电子产品单片机在家用电器中的应用已经非常普及,例如,洗衣机、电冰箱、微波炉、空调、电风扇、电视机、加湿机、消毒柜等。在这些设备中嵌入了单片机后,使其功能与性能大大提高,并实现了智能化、最优化控制。4.通信在调制解调器、各类手机、传真机、程控电话交换机、信息网络以及各种通信设备中,单片机也已经得到了广泛应用。

5.武器装备在现代化的武器装备中,如飞机、军舰、坦克、导弹、鱼雷制导、智能武器装备、航天飞机导航系统等,都有单片机的嵌入。6.各种终端及计算机外部设备计算机网络终端设备(如银行终端)以及计算机外部设备(如打印机、硬盘驱动器、绘图机、传真机、复印机等)中都使用了单片机作为控制器。7.汽车电子设备单片机已经广泛地应用在各种汽车电子设备中,如汽车安全系统、汽车信息系统、智能自动驾驶系统、卫星汽车导航系统、汽车紧急请求服务系统、汽车防撞监控系统、汽车自动诊断系统以及汽车黑匣子等。8.分布式多机系统在比较复杂的多节点测控系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。在这种系统中,单片机往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。综上所述,从工业自动化、自动控制、智能仪器仪表、消费类电子产品等方面,直到国防尖端技术领域,单片机都发挥着十分重要的作用。1.5单片机的发展趋势单片机的发展趋势将是向大容量、高性能,外设部件内装化等方面发展。1.CPU的改进(1)增加数据总线的宽度。例如,各种16位单片机和32位单片机,其数据处理能力要优于8位单片机。另外,8位单片机内部采用16位数据总线,其数据处理能力明显优于一般8位单片机。(2)采用双CPU结构,以提高数据处理能力。

2.存储器的发展(1)片内程序存储器普遍采用闪烁(Flash)存储器。闪烁存储器能在+5V下读写,既有静态RAM的读写操作简便,又有在掉电时数据不会丢失的优点。单片机可不用扩展外部程序存储器,大大简化了系统的硬件结构,有的单片机片内程序存储器容量可达128KB甚至更多。(2)加大片内数据存储器存储容量,例如8位单片机PIC18F452片内集成了4KB的RAM,以满足动态数据存储的需要。3.片内I/O的改进(1)增加并行口的驱动能力,以减少外部驱动芯片。有的单片机可以直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)。(2)有些单片机设置了一些特殊的串行I/O功能,为构成分布式、网络化系统提供了方便条件。(3)引入了数字交叉开关,改变了以往片内外设与外部I/O引脚的固定对应关系。交叉开关是一个大的数字开关网络,可通过编程设置交叉开关控制寄存器,将片内的计数器/定时器、串行口、中断系统、A/D转换器等片内外设灵活配置出现在端口I/O引脚,允许用户根据自己的特定应用,将内部外设资源分配给端口I/O引脚。4.低功耗目前单片机产品均为CMOS化芯片,具有功耗小的优点。这类单片机普遍配置有等待状态、睡眠状态、关闭状态等工作方式。在这些状态下低电压工作的单片机,其消耗的电流仅在µA或nA量级,非常适合于电池供电的便携式、手持式的仪器仪表以及其他消费类电子产品。5.外围电路内装化随着集成电路技术及工艺的不断发展,把所需的众多外围电路全部装入单片机内,即系统的单片化是目前单片机发展趋势之一,一片芯片就是一个“测控”系统。

6.编程及仿真的简单化目前大多数的单片机都支持程序的在线编程,也称在系统编程ISP(InSystemProgram),只需一条与PC机相连的ISP下载线(多为USB口或串口),就可以把仿真调试通过的程序代码从PC机在线写入单片机的Flash存储器内,省去编程器。某些机型还支持在线应用编程(IAP),可在线升级或销毁单片机的应用程序,省去了仿真器。综上所述,单片机正在向多功能、高性能、高速度、低电压、低功耗、低价格(几元钱)、外设电路内装化以及片内程序存储器、数据存储器容量不断增大的方向发展。7.实时操作系统的使用单片机可配置实时操作系统RTX51。RTX51是一个针对8051单片机的多任务内核。RTX51实时内核从本质上简化了对实时事件反应速度要求较高的复杂系统设计、编程和调试,已完全集成到C51编译器中,使用简单方便。1.6MCS-51系列与AT89S5x系列单片机20世纪80年代以来,单片机的发展非常迅速,其中Intel公司的MCS-51系列单片机是一款设计成功、易于掌握并在世界范围得到广泛普及应用的机型。1.6.1MCS-51系列单片机MCS是Intel公司生产的单片机的系列符号,MCS-51系列单片机是Intel公司在MCS-48系列基础上于上世纪80年代初发展起来的,是最早进入我国,并在我国得到广泛应用的机型。基本型产品主要包括8031、8051、8751(对应的低功耗型80C31、80C51、87C51)和增强型产品8032、8052、8752。1.基本型典型产品:8031、8051、8751。8031内部包括1个8位CPU、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,5个中断源,但片内无程序存储器,需外部扩展程序存储器芯片。8051是在8031的基础上,片内又集成有4KBROM作为程序存储器。所以8051是一个程序不超过4KB的小系统。ROM内的程序是芯片厂商制作芯片时,代为用户烧制的,主要用在程序已定且批量大的单片机产品中。8751与8051相比,片内集成的4KB的EPROM取代了8051的4KB

ROM,构成了一个程序不大于4KB的小系统。用户可以将程序固化在EPROM中,EPROM中的内容可反复擦写修改。8031外扩一片4KB的EPROM就相当于一片8751。2.增强型Intel公司在MCS-51系列基本型产品基础上,又推出了增强型系列产品,即52子系列,典型产品为:8032、8052、8752。它们内部RAM增至256B,8052、8752的片内程序存储器扩展到8KB,16位定时器/计数器增至3个,6个中断源。表1-1列出基本型和增强型的MCS-51系列单片机片内的基本硬件资源。1.6.2AT89S5x系列单片机简介1.8051内核单片机与AT89S5x系列单片机MCS-51系列单片机的代表性产品为8051,目前世界其他公司推出的兼容扩展型单片机都是在8051内核的基础上进行了功能的增减。20世纪80年代中期以后,Intel公司已把精力集中在高档CPU芯片的研发上,逐渐淡出单片机的开发和生产。由于MCS-51单片机设计上的成功以及较高的市场占有率,得到世界众多公司的青睐。Intel公司以专利转让或技术交换的形式把8051的内核技术转让给了许多芯片生产厂家,如ATMEL、Philips、Cygnal、ANALOG、LG、ADI、Maxim、DEVICES、DALLAS等公司。这些厂家生产的兼容机型均采用8051的内核结构、指令系统相同,采用CMOS工艺;有的公司还在8051内核的基础上又增加了一些片内外设模块,其集成度更高,功能和市场竞争力更强。人们常用8051(80C51,“C”表示采用CMOS工艺)来称呼所有这些具有8051内核,且使用8051指令系统的单片机,人们习惯把这些兼容型扩展型等各种衍生品种统称为8051单片机。在众多的兼容扩展型等衍生机型中,美国ATMEL公司的AT89系列,尤其是该系列中的AT89C5x/AT89S5x单片机在世界8位单片机市场中占有较大的份额。ATMEL公司是美国20世纪80年代中期成立并发展起来的半导体公司。该公司于1994年以E2PROM技术与Intel公司的80C51内核的使用权进行了交换。ATMEL公司的技术优势是其闪烁(Flash)存储器技术,将Flash技术与80C51内核相结合,形成了片内带有Flash存储器的AT89C5x/AT89S5x系列单片机。AT89C5x/AT89S5x系列单片机与MCS-51系列单片机在原有功能、引脚以及指令系统方面完全兼容,

系列中的某些品种又增加了一些新的功能,如看门狗定时器WDT、ISP(在线编程)及SPI串行接口等,片内Flash存储器可直接在线(ISP)重复编程。此外,还支持两种节电工作方式,非常适于电池供电或其他低功耗场合。

AT89S51

片内4KBFlash存储器可在线编程或使用编程器重复编程,且价格较低,因此AT89S5x单片机是目前8051单片机的主要典型芯片之一。本书以AT89S51单片机为典型机型,介绍其工作原理与应用设计。

AT89S5x的“S”档系列是ATMEL公司继AT89C5x系列之后推出的新机型,“S”表示含有串行下载的Flash存储器,代表性产品为AT89S51和AT89S52。AT89C51单片机已不再生产,可用AT89S51直接代换。与AT89C5x系列相比,AT89S5x系列的时钟频率以及运算速度有了较大的提高。例如,AT89C51工作频率的上限为24MHz,而AT89S51则为33MHz。AT89S51片内集成有双数据指针DPTR,看门狗定时器、具有低功耗空闲工作方式和掉电工作方式,还增加了5个特殊功能寄存器。从表1-1可看出AT89S51与AT89S52单片机的差别。AT89S51片内有4KBFlash存储器、128B的RAM、5个中断源以及2个定时器/计数器。而AT89S52片内有8KB的Flash程序存储器、256B的RAM、6个中断源、3个定时器(比AT89S51多出的1个定时器,具有捕捉功能)。尽管AT89S5x系列有多种机型,但是掌握好基本型AT89S51是十分重要的,因为它是各种8051内核的单片机的基础,最具代表性,同时也是各种8051内核的增强扩展型等衍生品种的基础。本书中经常用到“8051”,它是泛指世界各芯片厂商生产的具有8051内核的各种增强型、扩展型的单片机。而“AT89S51”仅是指ATMEL公司的AT89S51单片机。

除了8位单片机得到广泛应用外,一些厂家的16位单片机也得到了用户的青睐。例如,美国TI公司的16位的MSP430系列,Microchip公司的PIC24××系列单片机。这些单片机本身带有A/D转换器,增加了各种串行口以及各种数字控制部件,一片芯片就构成了一个测控系统,使用非常方便。除了16位单片机外,各公司还推出了32位单片机。尽管如此,8位单片机应用的还是非常广泛与普及,这是因为目前在大多数应用场合中,8位单片机的性能能满足大部分实际需求,况且8位单片机的性价比也较好。2.AT89系列单片机的型号说明AT89S5x系列单片机的型号编码由三部分组成:前缀、型号和后缀。下面分别说明。(1)前缀由字母“AT”组成,表示是ATMEL公司的产品。(2)型号由“89C××××”或“89LV××××”或“89S××××”等表示。“89C××××”中,8表示单片,9表示内部含有Flash存储器,C表示CMOS产品。“89LV××××”中,LV表示低电压产品,可在2.5V电压下工作。“89S××××”中,S表示含有串行下载的Flash存储器,而“××××”表示器件的型号,如51、52、2051、8052等。(3)后缀后缀由最后的4个“××××”参数组成,每个参数意义不同。在型号与后缀部分由“—”号隔开。(a)后缀中第1个“×”表示时钟频率:x=12,时钟频率为12MHz;x=16,时钟频率为16MHz;x=20,时钟频率为20MHz;x=24,时钟频率为24MHz。(b)后缀中第2个“×”表示封装:x=P,塑料双列直插DIP封装;x=D,陶瓷封装;x=Q,PQFP封装;x=J,PLV封装;x=A,TQFP封装;x=S,OIC封装;x=W,表示裸芯片。(c)后缀中第3个“×”表示芯片的使用温度范围:x=C,表示商业用产品,温度范围为0~+70℃;x=I,表示工业用产品,温度范围为−40~+85℃;x=A,表示汽车用产品,温度范围为−40~+125℃;x=M,表示军用产品,温度范围为−55~+150℃;(d)后缀中的第4个“×”表示工艺:x为空,表示处理工艺是标准工艺;x=/883,表示处理工艺采用MIL-STD-883标准。例如,某一单片机型号为“AT89C51-12PI”,则表示该单片机是ATMEL公司的Flash单片机,CMOS产品,速度为12MHz,封装塑料双列直插DIP封装,是工业用产品,按标准处理工艺生产。1.7各种衍生品种的8051单片机除了AT89S5x系列单片机外,世界各半导体器件厂家也推出8051内核、各种集成度高、功能强的增强扩展型单片机,已得到广泛应用。1.7.1STC系列单片机STC系列单片机是我国具有独立自主知识产权,功能与抗干扰性强的增强型8051单片机,STC系列单片机中有多种子系列,几百个品种,以满足不同应用的需要。其中的STC12C5410/STC12C2052系列的主要性能及特点如下。(1)高速:普通的8051单片机为每个机器周期为12个时钟,而STC单片机可以为每机器周期1个时钟,指令执行速度大大提高,速度比普通的8051快8~12倍。(2)宽工作电压:5.5~3.8V,2.4~3.8V(STC12LE5410AD系列)。(3)12KB/10KB/8KB/6KB/4KB片内Flash程序存储器,擦写次数10万次以上。(4)512B片内的RAM数据存储器。(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口驱动能力均可达到20mA,但整个芯片最大不可超过55mA。(13)超强抗干扰能力与高可靠性:● 高抗静电;● 通过2kV/4kV快速脉冲干扰的测试(EFT测试);● 宽电压,不怕电源抖动;● 宽温度范围:−40℃~+85℃;● I/O口经过特殊处理;● 片内的电源供电系统、时钟电路、复位电路、看门狗电路均经过特殊处理;(14)采取降低单片机时钟对外部电磁辐射的措施:如选每个机器周期为6个时钟,外部时钟频率可降一半;(15)超低功耗设计:● 掉电模式:典型功耗<0.1μA;● 空闲模式:典型功耗为2mA;● 正常工作模式:典型功耗为4mA~7mA;● 掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等。STC单片机可直接替换ATMEL、Philips、Winbond(华邦)等公司的8051机型。由上可见,这是一款高性能、高可靠性且价格低廉的机型,尤其是其较高的抗干扰特性,用户应给予足够的重视。1.7.2C8051F×××单片机美国Cygnal公司的C8051F×××系列单片机,是一款集成度高,采用8051内核的8位单片机,代表性产品为C8051F020。C8051F020内部采用流水线结构,大部分指令的完成时间为1或2个时钟周期,峰值处理能力为25MIPS,与经典的8051单片机相比,可靠性和速度有很大提高。C8051F020片内集成了1个8位ADC、1个12位ADC、1个双12位DAC;64KB片内Flash程序存储器、256BRAM、128BSFR;8个I/O端口共64根I/O口线;5个16位通用定时器;5个捕捉/比较模块的可编程计数/定时器阵列,1个UART串行口、1个SMBus/I2C串口、1个SPI串行口;2路电压比较器、电源监测器、内置温度传感器。C8051F×××单片机最突出的改进是引入了数字交叉开关(C8051F2××除外)。它改变了以往内部功能与外部引脚的固定对应关系。用户可通过可编程的交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换器输入、比较器输出以及单片机内部的其他硬件外设配置出现在端口I/O引脚。用户可根据特定应用,选择通用I/O端口与片内硬件资源的灵活组合。1.7.3ADμC812单片机ADμC812是美国ADI(AnalogDeviceInc)公司生产的高性能单片机,其内部包含高精度自校准的8通道12位模数转换器(ADC),2通道12位数模转换器(DAC)以及8051内核,指令系统与MCS-51系列兼容。片内有8KBFlash程序存储器、640BFlash数据存储器、256B数据SRAM(支持可编程)。ADμC812片内集成有看门狗定时器、电源监视器以及ADC

DMA功能。为多处理器接口和I/O扩展提供了32条可编程的I/O线、包含有与I2C兼容的串行接口、SPI串行接口和标准的UART串口。ADμC812的MCU内核和模数转换器均设置有正常、空闲和掉电工作模式,通过软件可控制芯片从正常模式切换到空闲模式,也可切换到更为省电的掉电模式。在掉电模式下,ADμC812消耗的总电流约为5µA。1.7.4华邦W77系列、W78系列单片机台湾华邦公司(Winbond)的产品W77系列、W78系列单片机与8051单片机完全兼容。华邦单片机对8051的时序作了改进:每个指令周期只需要4个时钟周期,速度提高了3倍,工作频率最高可达40MHz。W77系列为增强型,片内增加了看门狗WatchDog、两组UART串口、两组DPTR数据指针(编写应用程序非常便利)、ISP(在线编程)等功能。片内集成了USB接口,语音处理等功能,具有6组外部中断源。华邦公司的W741系列的4位单片机具有液晶驱动,在线烧录,保密性高,低工作电压(1.2V~1.8V)等优点。1.8PIC系列单片机与AVR系列单片机除8051单片机外,各种非8051机型的8位单片机也得到广泛的应用。其中使用较为广泛的是PIC系列与AVR系列单片机,这两种单片机博采众长,又具独特技术,已占有较大的市场份额。1.8.1PIC系列单片机PIC系列单片机是美国Microchip公司的产品,主要特性如下。(1)PIC系列单片机最大特点是从实际出发,从低到高有几十个型号,可满足各种需要。例如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,如采用PIC12C508单片机,仅有8个引脚。该型号有512字节ROM、25字节RAM、1个8位定时器、1根输入线、5根I/O线,价格非常便宜,应用在摩托车点火器这样的场合非常适合。此时如果采用40引脚的单片机就可能是“大马拉小车”。目前世界上最小的单片机为Microchip推出的6脚单片机PIC10F322。该单片机带有4个I/O。最大特色是外设增加了可配置逻辑单元CLC,数控振荡器NCO,互补波形发生器CWG,另外还有3个通道的8位ADC,2个10位的PWM,2个8位定时器;64字节的静态RAM,512字的程序空间,支持高性能的精简指令集(RISC)的CPU。PIC的高档型单片机,如PIC16C74(尚不是最高档次型)有40个引脚,其内部有4KB的ROM、192字节RAM、8路A/D、3个8位定时器、2个CCP模块、3个串行口、1个并行口、11个中断源、33个I/O脚。这样一个型号可以和其他品牌的高档型号媲美。(2)PIC单片机采用精简指令集(RISC),指令执行效率大为提高。数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令代码的位数可多于8位的数据位数,这与传统的采用复杂指令结构(CISC)的8位单片机相比,可达到2:1的代码压缩,速度提高4倍。

(3)具有优越开发环境。普通8051单片机的开发系统大都采用高档型号仿真低档型号,其实时性不尽理想。PIC每推出一款新型号单片机的同时,推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。(4)引脚通过限流电阻可接至220V交流电源,直接与继电器控制电路相连,无需光电耦合器隔离,给使用带来极大方便。PIC的8位单片机型号繁多,分为低档、中档和高档型。中档产品是Microchip公司重点发展的系列产品,品种最为丰富。尤其是PIC18系列,其程序存储器最大可达64KB,通用数据存储器为3968B;有8位和16位定时器,比较器;8级硬件堆栈,10位A/D转换器,捕捉输入,PWM输出;配置了I2C、SPI,UART串口,CAN、USB接口,模拟电压比较器及LCD驱动电路等,其封装从14脚到64脚,价格适中,性价比高。已广泛应用在高、中、低档的各类电子产品中。

高档型产品PIC17Cxx是在中档型产品的基础上增加了硬件乘法器,指令周期可达160ns。它是目前世界上8位单片机中性价比最高的机种,可用于高、中档产品的开发,如电机控制等。此外,Microchip公司还推出了高性能的16位的PIC24xx系列和32位的PIC33xx系列单片机,受到用户欢迎,得到了较为广泛的应用。1.8.2AVR系列单片机AVR系列单片机是1997年由ATMEL公司研发出的精简指令集(ReducedInstructionSetComputer,RISC)的高速8位单片机,其特点如下:(1)废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法。采用精简指令集,以字作为指令长度单位,将操作数与操作码安排在一字之中,指令长度固定、指令格式与种类相对较少、寻址方式也相对较少,绝大部分指令都为单周期指令。取指周期短,又可预取指令,实现流水作业,故可高速执行指令,当然这种“高速度”是以高可靠性来保障的。

(2)新工艺AVR器件的Flash程序存储器擦写可达10

000次以上。片内较大容量的RAM,不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像8051单片机那样很容易地扩展外部RAM。(3)丰富的外设。AVR单片机有定时器/计数器、看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了单片机系统的可靠性。片内有通用的异步串行口(UART),面向字节的高速硬件串口TWI(与I2C兼容)、SPI串口。此外,还有ADC、PWM等片内外设。(4)I/O口功能强、驱动能力大。工业级产品具有大电流(最大可达40mA),可省去功率驱动器件,直接驱动可控硅SSR或继电器。I/O口的输入可设定为三态高阻抗输入或带上拉电阻输入,便于满足各种多功能I/O口应用的需要,具备10mA~20mA灌电流的能力。(5)低功耗。具有省电功能(PowerDown)及休眠功能(Idle)的低功耗的工作方式。一般耗电在1~2.5mA;对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8V即可工作。(6)支持程序的在线编程,只需一条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.9其他的嵌入式处理器简介目前以各类嵌入式处理器为核心的嵌入式系统的应用,已经成为当今电子信息技术应用的一大热点。具有各种不同体系结构的嵌入式处理器是嵌入式系统的核心部件。除单片机外还有数字信号处理器(DSP)以及嵌入式微处理器。1.9.1嵌入式DSP处理器数字信号处理器(DSP)是非常擅长高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于DSP的硬件结构和指令进行了特殊设计,使其能够高速完成各种数字信号处理算法。1981年,美国TI(TexasInstruments))公司研制出了著名的TMS320系列的首片低成本、高性能的DSP处理器芯片:TMS320C10,使DSP技术向前跨出了意义重大的一步。20世纪90年代,由于无线通信、各种网络通信、多媒体技术的普及和应用,高清晰度数字电视的研究,极大地刺激了DSP的推广应用。DSP大量进入嵌入式领域。推动DSP快速发展的是嵌入式系统的智能化,例如各种带有智能逻辑的消费类产品,生物信息识别终端,实时语音压解系统、数字图像处理等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。但在一些实时性要求很高的场合,单片DSP的处理能力还是不能满足要求。因此,各大公司又研制出多总线、多流水线和并行处理的包含多个DSP处理器的芯片,大大提高了系统的性能。与单片机相比,DSP所具有的实现高速运算的硬件结构与指令系统以及多总线结构,尤其是DSP处理的是数字信号处理算法的复杂度和大的数据处理流量更是单片机不可企及的。DSP的主要厂商有美国TI、ADI、Motorola、Zilog等公司。TI公司位居榜首,占全球DSP市场约60%。DSP代表性的产品是TI公司的TMS320系列,其中包括用于控制领域的2000系列,用于移动通信的5000系列以及应用在网络、多媒体以及图像处理领域的6000系列等。今天,随着全球信息化和Internet的普及,多媒体技术的广泛应用,尖端技术向民用领域的迅速转移,DSP也大范围地进入消费类电子产品。DSP的不断更新换代,性能指标不断提高,价格不断下降,已成为新兴科技:通信、多媒体系统、消费电子、医用电子等飞速发展的主要推动力。据国际著名市场调查研究公司ForwardConcepts发布的一份统计和预测报告显示,目前世界DSP产品市场每年正以30%的增幅增长,是目前最有发展和应用前景的嵌入式处理器之一。1.9.2嵌入式微处理器嵌入式微处理器(EmbeddedMicroProcessorUnit,EMPU)的基础是通用计算机中的CPU。虽然在功能上和标准微处理器基本是一样的,但由于只保留和嵌入式应用有关的功能,这样可大幅度减小系统体积和功耗,同时在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强处理。嵌入式微处理器中比较有代表性的产品为ARM系列,主要有5个产品系列:ARM7、ARM9、ARM9E、ARM10和SecurCore。以ARM7为例,它的地址线为32条,所扩展的存储器空间要比单片机存储器空间大得多,可配置实时多任务操作系统(RTOS),它是嵌入式应用软件的基础和开发平台。常用的RTOS为Linux(数百KB)和VxWorks(数MB)以及µC-OSⅡ。由于嵌入式实时多任务操作系统具有高度灵活性,可很容易地对它进行定制或适当开发,即对它进行“裁剪”、“移植”和“编写”,从而设计出用户所需的程序,满足实际应用需要。

由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)等方面,甚至军事上的应用,具有巨大的吸引力。因此,以嵌入式微处理器为核心的嵌入式系统的应用,已经成为继单片机、DSP之后的电子信息技术应用的又一大热点。这里要对“嵌入式系统”这个名称作以说明。从更广泛的意义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但是目前较为流行的说法是,是把“嵌入”了嵌入式微处理器的系统,称为“嵌入式系统”。目前“嵌入式系统”还没有一个严格和权威的定义,但人们通常所说的“嵌入式系统”,多指后种。第2章AT89S51单片机

的硬件结构

【内容概要】

本章介绍AT89S51单片机的片内硬件结构。读者应牢记AT89S51单片机的片内硬件结构,以及片内外设资源的基本功能及工作原理,重点掌握AT89S51单片机的存储器结构、常见的特殊功能寄存器的基本功能以及复位电路与时钟电路的设计,掌握单片机最小系统的概念,最后介绍了低功耗节电模式。本章的学习目的是为单片机应用系统的硬件设计打下基础。单片机应用特点是程序来控制硬件,读者应首先熟知并掌握AT89S51片内硬件的基本结构和特点。2.1AT89S51单片机的硬件组成AT89S51单片机片内硬件结构如图2-1所示,它把那些作为控制应用所必需的基本外围部件都集成在一个集成电路芯片上。AT89S51单片机具有如下外围部件及特性:(1)8位CPU;(2)数据存储器(128BRAM);(3)程序存储器(4KBFlashROM);(4)4个8位可编程并行I/O口(P0口、P1口、P2口和P3口);(5)2个可编程的16位定时器/计数器;图2-1AT89S51单片机片内结构(6)1个通用的全双工的异步收发串行口(UART);(7)中断系统具有5个中断源、5个中断向量;(8)特殊功能寄存器(SFR)26个;(9)1个看门狗定时器(WDT);(10)低功耗节电的空闲模式和掉电模式,且具有掉电模式下的中断恢复模式;(11)3个程序加密锁定位。与AT89C51相比,AT89S51具有更突出的优点,具体如下:(1)增加了在线可编程(ISP)功能,使得现场程序调试和修改更加方便灵活;(2)数据指针DPTR增加到两个,方便了对片外RAM的访问;(3)增加了看门狗定时器,提高了系统的抗干扰能力;(4)增加了断电标志;(5)增加了掉电状态下的中断恢复模式。AT89S51片内的各部件通过片内单一总线连接而成(见图2-1),其基本结构依旧是CPU加上外围芯片的传统微型计算机结构模式,但CPU对各种外围部件的控制是采用特殊功能寄存器SFR(SpecialFunctionRegister)的集中控制方式。下面对图2-1中的片内各部件作简单介绍。(1)CPU(微处理器):8位的CPU,包括了运算器和控制器两大部分,此外还有面向控制的位处理和位控功能。(2)数据存储器(RAM):片内为128B(增强型的52子系列为256B),片外最多还可外扩64KB的数据存储器。(3)程序存储器(FlashROM):用来存储程序。AT89S51片内有4KB的Flash存储器(AT89S52片内有8KB的Flash存储器;AT89S53/AT89S54/AT89S55片内集成了12KB/20KB/20KB的Flash存储器),如果片内程序存储器容量不够,片外最多可外扩至64KB程序存储器。(4)中断系统:具有5个中断源,2级中断优先权。(5)定时器/计数器:片内有2个16位的定时器/计数器(增强型的52子系列有3个16位的定时器/计数器),具有4种工作方式。(6)串行口:1个全双工的异步串行口(UART),具有4种工作方式。可进行串行通信,扩展并行I/O口,还可与多个单片机相连构成多机串行通信系统。(7)4个8位的并行口:P0口、P1口、P2口和P3口。(8)特殊功能寄存器(SFR):共有26个特殊功能寄存器,用于CPU对片内各外围部件进行管理、控制和监视。特殊功能寄存器实际上是片内各外围部件的控制寄存器和状态寄存器,这些特殊功能寄存器映射在片内RAM区的80H~FFH的地址区间内。(9)1个看门狗定时器WDT,当单片机由于干扰而使程序陷入死循环或跑飞状态时,可引起单片机复位,使程序恢复正常运行。AT89S51完全兼容AT89C51单片机,使用AT89C51单片机的系统,在保留原来软硬件的条件下,可用AT89S51直接代换。2.2AT89S51的引脚功能掌握AT89S51单片机,应首先熟悉并掌握各引脚的功能。AT89S51与各种8051单片机的引脚是互相兼容的。目前,AT89S51单片机多采用40只引脚的塑料双列直插封装(DIP)方式,如图2-2所示。此外,还有44引脚的PLCC和TQFP封装方式的芯片。图2-2AT89S51双列直插封装方式的引脚40只引脚按功能可分为如下3类:(1)电源及时钟引脚—VCC、VSS;XTAL1、XTAL2;(2)控制引脚—PSEN*、ALE/PROG*、EA*/

VPP、RST(即RESET);(3)I/O口引脚—P0、P1、P2与P3,为4个8位并行I/O口的外部引脚。下面结合图2-2介绍各引脚的功能。2.2.1电源及时钟引脚1.电源引脚(1)VCC(40脚):接+5V电源。(2)VSS(20脚):接数字地。

2.时钟引脚(1)XTAL1(19脚):片内振荡器的反相放大器和外部时钟发生器的输入端。使用片内的振荡器时,该引脚外接石英晶体和微调电容。当采用外部的独立时钟源时,本引脚接外部时钟振荡器的信号。(2)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容。当使用外部时钟源时,本引脚悬空。2.2.2控制引脚控制引脚提供控制信号,有的引脚还具有复用功能。(1)RST(RESET,9脚)复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可使单片机复位。在单片机正常工作时,此引脚应为≤0.5V的低电平。当看门狗定时器溢出输出时,该引脚将输出长达96个时钟振荡周期的高电平。(2)EA*/

VPP(EnableAddress/VoltagePulseofPrograming,31脚)(ExternalAccessEnable)为该引脚的第一功能:外部程序存储器访问允许控制端。当EA*

=1时,在单片机片内的PC值不超出0FFFH(即不超出片内4KBFlash存储器的最大地址范围)时,单片机读片内程序存储器(4KB)中的程序代码,但PC值超出0FFFH(即超出片内4KBFlash存储器地址范围)时,将自动转向读取片外60KB(1000H~FFFFH)程序存储器中的程序代码。当EA*

=0时,只读取外部的程序存储器中的内容,读取的地址范围为0000H~FFFFH,片内的4KBFlash程序存储器不起作用。VPP为该引脚的第二功能,在对片内Flash进行编程时,VPP引脚接入编程电压。(3)ALE/PROG*(AddressLatchEnable/PROGramming,30脚)ALE的第一功能为CPU访问外部程序存储器或外部数据存储器提供低8位地址锁存信号,将单片机P0口发出的低8位地址锁存在片外地址锁存器中。此外,单片机在正常运行时,ALE端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。该正脉冲振荡信号可作外部定时或触发信号使用。但是要注意,每当AT89S51访问外部RAM或I/O时,要丢失一个ALE脉冲。所以ALE引脚的输出信号频率并不是准确的fosc1/6。如果不需要ALE端输出脉冲信号,可将特殊功能寄存器AUXR(地址为8EH,将在本章后面介绍)的第0位(ALE禁止位)置1,来禁止ALE操作,但在执行访问外部程序存储器或外部数据存储器操作时,ALE仍然有效。也就是说,ALE的禁止位不影响对单片机对外部存储器的访问。PROG*为该引脚的第二功能,在对片内Flash存储器编程时,此引脚作为编程脉冲输入端。(4)PSEN*(ProgramStrobeENable,29脚)片内或片外程序存储器的读选通信号,低电平有效。2.2.3并行I/O口引脚(1)P0口:P0.7~P0.0引脚漏极开路的双向I/O口。当AT89S51扩展外部存储器及I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。P0口也可作为通用I/O口使用,但需加上拉电阻,这时为准双向口。P0口可驱动8个LS型TTL负载。(2)P1口:P1.7~P1.0引脚准双向I/O口,具有内部上拉电阻,可驱动4个LS型TTL负载。P1口是完全可提供给用户使用的准双向I/O口。P1.5/MOSI、P1.6/MISO和P1.7/SCK也可用于对片内Flash存储器的串行编程和校验,它们分别是串行数据输入、串行数据输出和移位脉冲引脚。(3)P2口:P2.7~P2.0引脚准双向I/O口,具有内部上拉电阻,可驱动4个LS型TTL负载。当AT89S51扩展外部存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。P2口也可作为通用的I/O口使用。(4)P3口:P3.7~P3.0准双向I/O口,具有内部上拉电阻。P3口可作为通用的I/O口使用,可驱动4个LS型TTL负载。P3口还可提供第二功能,其第二功能定义如表2-1所示,读者应熟记。综上所述,P0口作为地址总线(低8位)及数据总线使用时,为双向口。作为通用的I/O口使用时,需加上拉电阻,这时为准双向口。而P1口、P2口、P3口均为准双向口。双向口P0与P1口、P2口、P3口这3个准双向口相比,多了一个高阻输入的“悬浮”态。这是由于P0口作为数据总线使用时,多个数据源都挂在数据总线上,当P0口不需与其他数据源打交道时,需要与数据总线高阻“悬浮”隔离。而准双向I/O口则无高阻的“悬浮”状态。另外,准双向口作通用I/O的输入口使用时,一定要向该口先写入“1”。以上的准双向口与双向口的差别,读者在学习本章2.5节的P0~P3口的内部结构后,将会有更深入的理解。至此,AT89S51单片机的40只引脚已介绍完毕,读者应熟记每一个引脚的功能,这对于掌握AT89S51单片机应用系统的硬件电路设计十分重要。2.3AT89S51的CPUAT89S51的CPU是由运算器和控制器构成,具体见图2-1。2.3.1运算器运算器主要用来对操作数进行算术、逻辑和位操作运算。主要包括算术逻辑运算单元ALU、累加器A、位处理器、程序状态字寄存器PSW及两个暂存器等。1.算术逻辑运算单元ALUALU的功能强,不仅可对8位变量进行逻辑与、或、异或以及循环、求补和清0等操作,还可以进行加、减、乘、除等基本算术运算。ALU还具有位操作功能,可对位(bit)变量进行位处理,如置“1”、清“0”、求补、测试转移及逻辑“与”、“或”等操作。2.累加器A累加器A是CPU中使用最频繁的一个8位寄存器。累加器的作用如下。(1)是ALU单元的输入数据源之一,同时又是ALU运算结果的存放单元。(2)CPU中的数据传送大多都通过累加器A,故累加器A又相当于数据的中转站。为解决累加器结构所带来的“瓶颈堵塞”问题,AT89S51单片机增加了一部分可以不经过累加器A的传送指令。累加器A的进位位Cy(位于程序状态字特殊功能寄存器PSW中)是特殊的,因为它同时又是位处理器的位累加器。3.程序状态字寄存器PSWAT89S51单片机的程序状态字寄存器(ProgramStatusWord,PSW)位于单片机片内的特殊功能寄存器区,字节地址为D0H。PSW的不同位包含了程序运行状态的不同信息,其中4位保存当前指令执行后的状态,以供程序查询和判断。PSW格式见图2-3。PSW中各个位的功能如下。(1)Cy(PSW.7)进位标志位:也可写为C。在执行算术运算和逻辑运算指令时,若有进位/借位,则Cy

=

1;否则,Cy=0。在位处理器中,它是位累加器。(2)Ac(PSW.6)辅助进位标志位:Ac标志位用于在BCD码运算时进行十进位调整。即在运算时,当D3位向D4位产生进位或借位时,Ac=1;否则,Ac=0。(3)F0(PSW.5)用户使用的标志位:可用指令来使它置“1”或清“0”,也可用指令来测试该标志位,根据测试结果控制程序的流向。编程时,用户应当充分利用该标志位。(4)RS1、RS0(PSW.4、PSW.3)4组工作寄存器区选择控制位1和位0:这两位用来选择片内RAM区中的4组工作寄存器区中的某一组为当前工作寄存区,RS1、RS0与所选择的4组工作寄存器区的对应关系如表2-2所示。(5)OV(PSW.2)溢出标志位:当执行算术指令时,OV用来指示运算结果是否产生溢出。如果结果产生溢出,OV=1;否则,OV=0。(6)PSW.1位:保留位,未用。(7)P(PSW.0)奇偶标志位:该标志位表示指令执行完时,累加器A中“1”的个数是奇数还是偶数。P=1,表示A中“1”的个数为奇数。P=0,表示A中“1”的个数为偶数。该标志位对串行口通信中的数据传输有重要的意义。在串行通信中,常用奇偶检验的方法来检验数据串行传输的可靠性。2.3.2控制器控制器的主要任务是识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动协调地工作。控制器主要包括程序计数器、指令寄存器、指令译码器、定时及控制电路等。其功能是控制指令的读入、译码和执行,从而对单片机的各功能部件进行定时和逻辑控制。程序计数器PC是控制器中最基本的寄存器,它是一个独立的16位计数器,用户不能直接使用指令对PC进行读写。当单片机复位时,PC中的内容为0000H,即CPU

从程序存储器0000H单元取指令,开始执行程序。PC的基本工作过程是:CPU读取指令时,PC内容作为欲读取指令的地址发送给程序存储器,然后程序存储器按此地址输出指令字节,同时PC自动加1,这也是为什么PC被称为程序计数器的原因。由于PC实质上是作为程序寄存器的地址指针,所以也称其为程序指针。PC内容的变化轨迹决定了程序的流程。由于PC是用户不可直接访问的,当顺序执行程序时自动加1;执行转移程序或子程序或中断子程序调用时,由运行的指令自动将其内容更改成所要转移的目的地址。程序计数器的计数宽度决定了访问程序存储器的地址范围。AT89S51单片机中的PC位数为16位,故可对64KB(=216B)的程序存储器进行寻址。2.4AT89S51单片机存储器的结构AT89S51单片机存储器结构为哈佛结构,即程序存储器空间和数据存储器空间是各自独立的。AT89S51单片机的存储器空间可划分为如下4类。1.程序存储器空间单片机能够按照一定的次序工作,是由于程序存储器中存放了经调试正确的程序。程序存储器可以分为片内和片外两部分。AT89S51单片机的片内程序存储器为4KB的Flash存储器,编程和擦除完全是电气实现,且速度快。可使用编程器对其编程,也可在线编程。当AT89S51单片机的片内的4KB的Flash存储器不够用时,用户可在片外可扩展程序存储器,最多可扩展至64KB程序存储器。2.数据存储器空间数据存储器空间分为片内与片外两部分。AT89S51单片机内部有128B的RAM(增强型的52子系列为256B),用来存放可读/写的数据。当AT89S51单片机的片内RAM不够用时,可在片外扩展最多64KB的RAM的能力,究竟扩展多少RAM,由用户根据实际需要来定。3.特殊功能寄存器AT89S51单片机片内共有26个特殊功能寄存器SFR(SpecialFunctionRegister)。SFR实际上是各外围部件的控制寄存器及状态寄存器,综合反映了整个单片机基本系统内部实际的工作状态及工作方式。4.位地址空间AT89S51单片机内共有211个可寻址位,构成了位地址空间。它们位于片RAM区地址20H~2FH(共128位)和特殊功能寄存器区(片内RAM区字节地址80H~FFH,共计83位)。2.4.1程序存储器空间程序存储器是只读存储器(ROM),用于存放程序和表格之类的固定常数。AT89S51的片内程序存储器为4KB的Flash存储器,地址范围为0000H~0FFFH。AT89S51单片机有16位地址总线,可外扩的程序存储器空间最大为64KB,地址范围为0000H~FFFFH。有关片内与片外扩展的程序存储器在使用时应注意以下问题。(1)整个程序存储器空间可分为片内和片外两部分,CPU究竟是访问片内的还是片外的程序存储器,可由引脚上所接的电平来确定。当EA*=1,PC值≤0FFFH(为片内4KB

Flash存储器的最大地址)时,CPU只读取片内的Flash程序存储器中的程序代码,当PC值>0FFFH会自动转向读取片外程序存储器空间1000H~FFFFH内的程序代码。当EA*=0,单片机只读取片外程序存储器(地址范围为0000H~FFFFH)中的程序代码。CPU不理会片内4KB(地址范围0000H~0FFFH)的Flash存储器。(2)程序存储器的某些单元被固定用于各中断源的中断服务程序的入口地址。64KB程序存储器空间中有5个特殊单元分别对应于5个中断源的中断服务子程序的中断入口,如表2-3所示。用汇编语言编程时,通常在这5个中断入口地址处都放1条跳转指令跳向对应的中断服务子程序,而不是直接存放中断服务子程序。这是因为两个中断入口间隔仅有8个单元,如果这8个单元存放中断服务子程序,往往是不够用的。AT89S51复位后,程序存储器地址指针PC的内容为0000H,程序从程序存储器地址0000H开始执行程序。由于外部中断0的中断服务程序入口地址为0003H,为使主程序不与外部中断0的中断服务程序发生冲突,用汇编语言编程时,一般在0000H单元存放一条跳转指令,转向主程序的入口地址。

2.4.2数据存储器空间数据存储器空间分为片内与片外两部分。1.片内数据存储器AT89S51单片机的片内数据存储器(RAM)共有128个单元,字节地址为00H~7FH。图2-4为AT89S51片内数据存储器的结构。图2-4AT89S51片内RAM的结构地址为00H~1FH的32个单元是4组通用工作寄存器区,每个区包含8B的工作寄存器,编号为R7~R0。用户可以通过指令改变特殊功能寄存器PSW中的RS1、RS0这两位来切换选择当前的工作寄存器区,如表2-2所示。地址为20H~2FH的16个单元的128位(8位×16)可进行位寻址,也可以进行字节寻址。地址为30H~7FH的单元为用户RAM区,只能进行字节寻址,用作存放数据以及作为堆栈区使用。2.片外数据存储器当片内128B的RAM不够用时,需要外扩数据存储器,AT89S51单片机最多可外扩64KB的RAM。注意,虽然片内RAM与片外RAM的低128B的地址是相同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论