《单片机第一章第二章第三章》由会员分享,可在线阅读,更多相关《单片机第一章第二章第三章(77页珍藏版)》请在金锄头文库上搜索。
1、第一章第一章 单片机概述单片机概述 一、何谓单片机一、何谓单片机 能够工作的计算机包含哪几部分?能够工作的计算机包含哪几部分? CPURAM、ROM连接外设的串行、并行连接外设的串行、并行I/O口电路口电路中断系统中断系统定时器定时器/计数器计数器振荡器、时钟电路等振荡器、时钟电路等单片机把计算机单片机把计算机的这些基本部件的这些基本部件集成在一块芯片集成在一块芯片上,上,所以称为单所以称为单片(单芯片)机片(单芯片)机集成在单片机内的这集成在单片机内的这些部件如何连接和进些部件如何连接和进行通信呢行通信呢?由单片机的组成可见:由单片机的组成可见:单片机只需和适当的软件及外设相结合,便可成为一
2、个单片机控制单片机只需和适当的软件及外设相结合,便可成为一个单片机控制系统。系统。单片机片内的各功能部件单片机片内的各功能部件通过内部总线相互连接通过内部总线相互连接,图图1-11-1单片机结构框图单片机结构框图 除了前面看到的资源外,现在有些单片机中还除了前面看到的资源外,现在有些单片机中还集成了集成了A/D、D/A、脉宽调制器、脉宽调制器PWM、计数器捕、计数器捕获比较逻辑获比较逻辑PCA、高速、高速I/O口、看门狗定时器等功口、看门狗定时器等功能部件。能部件。 因而,单片机的功能越来越强,使其适因而,单片机的功能越来越强,使其适用范围越来越广。用范围越来越广。 现在的单片机已经突破了原来
3、现在的单片机已经突破了原来“single chip microcomputer”的传统内涵,能准确反映的传统内涵,能准确反映其设计思想、具有长远技术眼光的称呼应为其设计思想、具有长远技术眼光的称呼应为“嵌嵌入式微控制器入式微控制器MCU”。 二、二、 嵌入式系统概念嵌入式系统概念IEEE(国际电气和电子工程师协会)的定义:(国际电气和电子工程师协会)的定义:嵌入式系统是嵌入式系统是“控制、监视或者辅助设备、机器和控制、监视或者辅助设备、机器和车间运行的装置车间运行的装置”国内普遍的定义国内普遍的定义:嵌入式系统是嵌入式系统是“以应用为中心,已计算机技术为基以应用为中心,已计算机技术为基础,软件
4、和硬件可裁减,适应应用系统对功能、可础,软件和硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机靠性、成本、体积、功耗等严格要求的专用计算机系统系统”嵌入式系统是设计完成复杂功能的硬件和软件,并嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起计算机系统。使其紧密耦合在一起计算机系统。前者从技术的角度来定义,后者是从系统的角度来定义。前者从技术的角度来定义,后者是从系统的角度来定义。 嵌入式系统是外延性很广的名词,凡是与产品结嵌入式系统是外延性很广的名词,凡是与产品结合在一起具有嵌入式特点的控制系统都可以叫嵌入合在一起具有嵌入式特点的控制系统都可以叫嵌入
5、式系统。式系统。 目前,通常把嵌入式系统概念的重点放在目前,通常把嵌入式系统概念的重点放在“系统系统”(即操作系统)上,(即操作系统)上,把嵌入式系统看作能够运行把嵌入式系统看作能够运行操作系统的软件和硬件的综合体操作系统的软件和硬件的综合体。硬件由高性能的。硬件由高性能的微处理器及其外围的接口电路组成,软件由实时操微处理器及其外围的接口电路组成,软件由实时操作系统和运行在其上的应用软件构成。作系统和运行在其上的应用软件构成。 嵌入式系统的核心是嵌入式处理器。嵌入式系统的核心是嵌入式处理器。什么是嵌入式处理器什么是嵌入式处理器 ? 嵌入式处理器是为完成特殊应用而设计的嵌入式处理器是为完成特殊应
6、用而设计的“特殊特殊目的目的”处理器。处理器。嵌入式处理器可分为以下几类:嵌入式处理器可分为以下几类: 1、嵌入式微处理器、嵌入式微处理器(EMPU,Embedded Microprocessor Unit) 嵌入式微处理器的基础是通用计算机的嵌入式微处理器的基础是通用计算机的CPU,一般,一般都是都是32位以上的处理器,具有较高的性能,价格较高。位以上的处理器,具有较高的性能,价格较高。 为满足嵌入式应用的特殊要求,嵌入式微处理器与为满足嵌入式应用的特殊要求,嵌入式微处理器与标准标准CPU相比,相比,在工作温度范围、抗干扰能力及可靠在工作温度范围、抗干扰能力及可靠性等方面做了各种增强。性等方
7、面做了各种增强。 嵌入式微处理器目前主要有嵌入式微处理器目前主要有 Aml8688、386EX、SC400、Power PC、68000、MIPS、ARM系列等系列等 2 、嵌人式微控制器、嵌人式微控制器 (MCU,Microcontroller Unit) 嵌入式微控制器嵌入式微控制器又称单片机又称单片机,一般以某一种微,一般以某一种微处理器内核为核心,芯片内部集成处理器内核为核心,芯片内部集成ROMEPROM、RAM、总线、定时计数器、总线、定时计数器、WatchDog、I0、串行口、脉宽调制输出、串行口、脉宽调制输出、AD、DA、FlashRAM、EEPROM等各种必要功能模块。等各种必
8、要功能模块。 和嵌入式微处理器相比,微控制器的和嵌入式微处理器相比,微控制器的最大特点最大特点是单片化,体积大大减小,从而使功耗和成本下降、是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。可靠性提高。 微控制器的片上资源一般比较丰富,适合于控微控制器的片上资源一般比较丰富,适合于控制,因此称其为微控制器。微控制器是目前嵌入式系制,因此称其为微控制器。微控制器是目前嵌入式系统工业的主流。统工业的主流。 嵌入式微控制器目前的品种和数量最多,比较嵌入式微控制器目前的品种和数量最多,比较有代表性的包括有代表性的包括 MCS51/96系列、系列、AVR、PIC、MC68系列等。系列等。AVR
9、8-Bit MCU的最大特点的最大特点与其它与其它8-Bit MCU相比,相比,AVR 8-Bit MCU最大的特点是:最大的特点是: 哈佛结构,具备哈佛结构,具备1MIPS / MHz的高速运行处理能力;的高速运行处理能力; 超功能精简指令集(超功能精简指令集(RISC),具有),具有32个通用工作寄存器,个通用工作寄存器,克服了如克服了如8051 MCU采用单一采用单一ACC进行处理造成的瓶颈现象;进行处理造成的瓶颈现象; 快速的存取寄存器组、单周期指令系统,大大优化了目标代快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号码的大小、执行效率,部分型号FLAS
10、H非常大,特别适用于使非常大,特别适用于使用高级语言进行开发;用高级语言进行开发; 作输出时与作输出时与PIC的的HI/LOW相同,可输出相同,可输出40mA(单一输出)(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备,作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力;灌电流的能力; 片内集成多种频率的片内集成多种频率的RC振荡器、上电自动复位、看门狗、振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠;启动延时等功能,外围电路更加简单,系统更加稳定可靠; 大部分大部分AVR片上资源丰富:带片上资源丰富:带E2P
11、ROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;等; 大部分大部分AVR除了有除了有ISP功能外,还有功能外,还有IAP功能,方便升级或功能,方便升级或销毁应用程序。销毁应用程序。3、 嵌人式嵌人式DSP处理器处理器 (EDSP,Embedded Digital Signal Processor) DSP处理器对系统结构和指令进行了特殊设计,处理器对系统结构和指令进行了特殊设计,使其适合于执行使其适合于执行DSP算法,编译效率较高,指令执行算法,编译效率较高,指令执行速度也较高。速度也较高。 在数字滤波、在数字滤波、FFT(快速傅里
12、叶变换)、谱分析等(快速傅里叶变换)、谱分析等方面,方面,DSP算法正在大量进入嵌入式领域,算法正在大量进入嵌入式领域,DSP应用正应用正从在通用单片机中以普通指令实现从在通用单片机中以普通指令实现DSP功能,过渡到采功能,过渡到采用嵌入式用嵌入式DSP处理器。处理器。 例如:各种带有智能逻辑的消费类产品、生物信息例如:各种带有智能逻辑的消费类产品、生物信息识别终端、带有加解密算法的键盘、识别终端、带有加解密算法的键盘、ADSL接入、实接入、实时语音压解系统、虚拟现实显示等。时语音压解系统、虚拟现实显示等。 推动嵌入式推动嵌入式DSP处理器发展的一个重要因素是嵌处理器发展的一个重要因素是嵌入式
13、系统的智能化。入式系统的智能化。 这类智能化算法一般都是运算量较大,特别是这类智能化算法一般都是运算量较大,特别是矢量运算、指针线性寻址等较多,而这些正是矢量运算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。处理器的长处所在。4、 片上系统(片上系统(System on Chip, SoC) SoC就是在一个硅片上实现一个更为复杂的系就是在一个硅片上实现一个更为复杂的系统,其最大特点是实现了软统,其最大特点是实现了软/硬件的无逢结合。硬件的无逢结合。 SoC称为片上系统,意指它是一个产品,是有专称为片上系统,意指它是一个产品,是有专用目标的集成电路,其中包含完整系统并有嵌入软用目标的
14、集成电路,其中包含完整系统并有嵌入软件的全部内容。除个别无法集成的器件外,整个嵌件的全部内容。除个别无法集成的器件外,整个嵌入式系统大部分均可集成到一块或几块芯片上,使入式系统大部分均可集成到一块或几块芯片上,使应用系统电路板非常简洁,对减少体积、功耗,提应用系统电路板非常简洁,对减少体积、功耗,提高可靠性等非常有利。高可靠性等非常有利。SoC可分为通用和专用两类可分为通用和专用两类 SoC按指令集来划分主要分为:按指令集来划分主要分为: x86系列系列(如如SiS550) 、 ARM 系列系列(如如OMAP) 、 M IPS系列系列(如如Au1500 ) 类指令系列类指令系列(如如M 3Co
15、re)等等 每一类各有千秋,国内研制开发主要基于后两者每一类各有千秋,国内研制开发主要基于后两者,如中科院计算所中科如中科院计算所中科SoC (基于龙芯核基于龙芯核,兼容兼容M IPS指令集指令集) 、北大众志、北大众志(定义少许特殊指令定义少许特殊指令) 、方舟、方舟2号号(自定义指令集自定义指令集) 、国芯、国芯C3 Core (继承继承M3 Core)等等 1.单片机的特点单片机的特点(1)性价比高)性价比高(2)控制功能强)控制功能强(3)高集成度、高可靠性、体积小)高集成度、高可靠性、体积小(4)低电压、低功耗)低电压、低功耗三、三、 单片机的特点、分类、及应用单片机的特点、分类、及
16、应用2. 单片机的分类单片机的分类 (1)按单片机内部程序存储器分类)按单片机内部程序存储器分类片内片内无无ROMROM型型片内带片内带掩膜掩膜ROMROM(QTP)型、片内型、片内EPROMEPROM型、型、片内片内一次可编写一次可编写型(型(OTP型)和片内带型)和片内带FlashFlash型等。型等。(2 2)按指令集分类)按指令集分类 CISC CISC( (复杂指令集复杂指令集) )结构的单片机结构的单片机 RISCRISC(精简指令集)结构的单片机(精简指令集)结构的单片机 采用CISC结构的单片机数据线和指令线分时复用。 采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构
17、。这使得取指令和取数据可同时进行,执行效率更高,速度亦更快。 属于属于CISC结构的单片机有结构的单片机有Intel8051系列、系列、Atmel的的AT89系列、系列、 Pilips的的PCF80C51系列、系列、Motorola的的M68HC系列和系列和Winbond(华邦华邦)W78系列等。系列等。 属于属于RISC结构的有结构的有Microchip公司的公司的PIC系列、系列、Atmel的的AT90S系列、系列、 Zilog的的Z86系列、韩国三星系列、韩国三星公司的公司的KS57C系列系列4位单片机、台湾义隆的位单片机、台湾义隆的EM-78系系列等。列等。 一般来说,控制关系较简单的
18、小家电,可以采用一般来说,控制关系较简单的小家电,可以采用RISC型单片机;控制关系较复杂的场合,如通讯产品、型单片机;控制关系较复杂的场合,如通讯产品、工业控制系统应采用工业控制系统应采用CISC单片机。单片机。(3 3)按构成单片机芯片的半导体工艺分类)按构成单片机芯片的半导体工艺分类 HMOSHMOS高密度短沟道高密度短沟道MOSMOS(Metal Oxide Metal Oxide SemiconductorSemiconductor)工艺)工艺CHMOSCHMOS(高性能(高性能CMOSCMOS)工艺,)工艺,即互补金属氧化物的即互补金属氧化物的HMOSHMOS(High-Perfo
19、rmance High-Performance MOSMOS)工艺两大类。)工艺两大类。 (4 4)按单片机字长分类)按单片机字长分类 4 4位、位、8 8位、位、1616位位、3232位位、和、和6464位机位机 CHMOS是是CMOS和和HMOS的结合,除保持了的结合,除保持了HMOS的高速度和高密度的特点之外,还具有的高速度和高密度的特点之外,还具有CMOS低低功耗的特点。芯片型号中带有功耗的特点。芯片型号中带有C的是采用了的是采用了CHMOS工工艺的。艺的。3. 3. 单片机的应用单片机的应用 凡是与控制或简单计算有关的应用、电子设备凡是与控制或简单计算有关的应用、电子设备均可用单片机
20、实现均可用单片机实现四、四、MCS-51和和8051、8031、89C51等的关系等的关系 MCS-51是指是指INTEL公司生产的一系列单片机的总称。公司生产的一系列单片机的总称。此系列包括好多品种,如此系列包括好多品种,如8031,8051,8751,8032,8052,8752等等。等等。 8051是最早最典型的产品,该系列其它单片机是最早最典型的产品,该系列其它单片机是在是在8051基础上进行功能的增、减、改变而来,人们基础上进行功能的增、减、改变而来,人们习惯用习惯用8051来称呼来称呼MCS51系列单片机。系列单片机。五、五、51子系列和子系列和52子系列子系列 51系列又可分为系
21、列又可分为 51子系列和子系列和52子系列,子系列, 前者前者是基本型,后者是强化型,强化体现在片内是基本型,后者是强化型,强化体现在片内ROM、RAM容量和定时容量和定时/计数器、中断源数量等方面。计数器、中断源数量等方面。 INTEL公司将公司将MCS51的核心技术卖给了很多公的核心技术卖给了很多公司,这些公司都做以司,这些公司都做以8051为核心的单片机,功能或为核心的单片机,功能或多或少有些改变,以满足不同的需求。多或少有些改变,以满足不同的需求。 六、常用单片机简介六、常用单片机简介AT89C51(52)、)、 AT89S51(52)美国)美国ATMEL公公司生产。司生产。目前常用的
22、单片机有目前常用的单片机有STC 89C51(52) 深圳宏晶深圳宏晶公司生产。公司生产。PIC 单片机单片机 美国美国Microchip公司生产。公司生产。AVR 高速嵌入式单片机高速嵌入式单片机 美国美国ATMEL公司生产。公司生产。C8051F系列单片机(系列单片机(SoC的典型代表)美国的典型代表)美国Silicon Labs 公司生产。公司生产。ARM系列系列32位单片机(嵌入式的典型代表)英国位单片机(嵌入式的典型代表)英国ARM 公司生产。公司生产。凌阳凌阳 16位单片机位单片机 (集成了语音功能(集成了语音功能 )台湾凌阳公司)台湾凌阳公司生产。生产。常用的单片机常用的单片机各
23、自特点 AVR产品非常齐全,分低挡的产品非常齐全,分低挡的ATtiny系列、中系列、中档的档的AT90S系列、高档的系列、高档的ATmega系列,系列,都支持都支持ISP在线编程在线编程 ,可反复擦写。可反复擦写。 51单片机有少部分型号支持单片机有少部分型号支持ISP在线编程,如在线编程,如AT89S51、AT89S52等。等。 PIC单片机重视产品的性能与价格比,从低到高有单片机重视产品的性能与价格比,从低到高有几十个型号,可以满足各种需要。它也是部分支持几十个型号,可以满足各种需要。它也是部分支持ISP,但很多型号是但很多型号是OPT一次性烧写的一次性烧写的 。 AVR与与51、PIC单
24、片机相比具有下列优点单片机相比具有下列优点 1、在相同的系统时钟下、在相同的系统时钟下AVR运行速度最快;运行速度最快;2、可以反复烧写、支持在、可以反复烧写、支持在ISP在线编程在线编程(烧写烧写) 3、片内集成多种频率的、片内集成多种频率的RC振荡器、上电自动复位、振荡器、上电自动复位、看门狗、启动延时等功能,使电路设计变得非常简单看门狗、启动延时等功能,使电路设计变得非常简单4、IO口作输出时都可输出很强的高、低电平,作输口作输出时都可输出很强的高、低电平,作输入时可以是高阻抗或者带上拉电阻;入时可以是高阻抗或者带上拉电阻;5、片内具有丰富实用的资源,如、片内具有丰富实用的资源,如A/D
25、、D/A,丰富,丰富的中断源、的中断源、SPI、USART、TWI通信口、通信口、PWM等;等;7、片内、片内FLASH空间大、品种多,引脚少的有空间大、品种多,引脚少的有8脚,脚,多的有多的有64脚等各种封装脚等各种封装8、部分芯片的引脚兼容、部分芯片的引脚兼容51系列,代换容易,如系列,代换容易,如ATtiny2313兼容兼容AT89C2051,ATmega8515/162兼容兼容AT89S51等等6、片内采用了先进的数据加密技术,大大的提高了、片内采用了先进的数据加密技术,大大的提高了破解的难度;破解的难度;PIC 单片机的三个主要特点:单片机的三个主要特点: 1、采用了哈佛双总线结构,
26、可以对程序和数据同、采用了哈佛双总线结构,可以对程序和数据同时进行访问时进行访问,提高了数据吞吐率提高了数据吞吐率。程序和数据总线可程序和数据总线可以采用不同的宽度。以采用不同的宽度。2、采用双指令流水线结构、采用双指令流水线结构,当一条指令被执行时当一条指令被执行时,允许允许下一条指令同时被取出下一条指令同时被取出,这样就实现了单周期指令。这样就实现了单周期指令。 3、 所有寄存器所有寄存器,包括包括I/O口,定时器和程序计数器等口,定时器和程序计数器等都采用都采用RAM结构形式,而且都只需要一个指令周期就结构形式,而且都只需要一个指令周期就可以完成访问和操作可以完成访问和操作。 ARM准确
27、来讲不是单片机,是一种处理器的IP核。 英国ARM公司开发出处理器结构后向其他芯片厂商授权制造,芯片厂商可以根据自己的需要进行结构与功能的调整,因此实际中使用的ARM处理器有很多种类,主要有三星、飞利浦、ATMEL、INTEL制造的几大类,功能与使用上均不相同 ARM的速度非常快,它具有比较强的事务管,它具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,势主要体现在控制方面, ARM处理器核还可以嵌入其他专用芯片中作为中央处理单元使用,例如飞利浦的MP3解码芯片就是采用ARM7核心的。第二章第二章 单片机的内部资源及引脚
28、单片机的内部资源及引脚2.1.1 单片机的引脚及功能单片机的引脚及功能5151系列的单片机有系列的单片机有系列的单片机有系列的单片机有4040个引脚,个引脚,个引脚,个引脚,按功能可分为四部分:按功能可分为四部分: 1. 主电源引脚主电源引脚 Vcc运行和程序校验时接电源正端。运行和程序校验时接电源正端。 Vss接地。接地。2.外接晶振引脚外接晶振引脚 XTAL1 、XTAL2外接晶振跨接在此两引脚。外接晶振跨接在此两引脚。3. 输入输出引脚输入输出引脚 4个个8位双向口共位双向口共32根根I/O线:线:P0.0P0.7,P1.0P1.7,P2.0P2.7 ,P3.0P3.74. 控制线:共控
29、制线:共4根。根。RST复位输入信号。复位输入信号。 EA /Vpp片外程序存储器访问控制信号。片外程序存储器访问控制信号。ALE/PROG地址锁存允许信号,输出地址锁存允许信号,输出PSEN片外程序存储器读选通信号。片外程序存储器读选通信号。一、单片机的外部结构一、单片机的外部结构一、单片机的外部结构一、单片机的外部结构 第二讲第二讲 单片机的内部、外部结构单片机的内部、外部结构 DIP封装的封装的P89C5X系列单片机为系列单片机为40引脚引脚按引脚的功能可分为四部分按引脚的功能可分为四部分 :1. 主电源引脚主电源引脚2.外接晶振引脚外接晶振引脚XTAL1 、XTAL2Vcc、 Vss3
30、. 输入输出引脚输入输出引脚 4个个8位双向口位双向口,共共32根根I/O线线 4. 控制线:共控制线:共4根根RST复位输入信号复位输入信号EA /Vpp ALE/PROG PSEN 。要使用一块芯片,首先必须要使用一块芯片,首先必须知道怎样连线,知道怎样连线,89C51芯片芯片连线如右图连线如右图89C511) 电源:单片机使用+5V电源,正极接40引脚,负极(地)接20引脚。 2) 振蒎电路:振蒎电路:单片机是一种单片机是一种时序电路,须提供脉冲信号时序电路,须提供脉冲信号才能正常工作。才能正常工作。单片机内集单片机内集成了构成振荡器的高增益反成了构成振荡器的高增益反向放大器,将晶振和匹
31、配电向放大器,将晶振和匹配电容接容接18、19脚即可脚即可 构成产构成产生固定频率脉冲的振蒎电路。生固定频率脉冲的振蒎电路。震荡频率可在几百千赫震荡频率可在几百千赫24MHZ间选取。晶间选取。晶振频率为振频率为12MHZ时,时,电容选电容选30PF左右左右。3) 复位引脚、复位引脚、EA引脚:引脚: 按按图中画法连好图中画法连好 通上电,单片机就可工作了通上电,单片机就可工作了! P1口P0口P2口P3口(10-17引脚)引脚)单片机最小系统单片机最小系统扩展系统扩展系统 片内片内RAMRAMP0P0口口P2P2口口片内片内ROMROM(Flash)(Flash)特殊特殊功能功能寄存器寄存器(
32、SFRSFR)中断中断系统系统串串行行口口定时器定时器计数器计数器3 3个个P1P1口口P3P3口口XTAL1XTAL2PSENE EA AP2.0-P2.7P0.0-P0.78 8图图2-2P89C5X内部结构框图内部结构框图8 88 88 8P3.0-P3.7P3.0-P3.7P1.0-P1.7P1.0-P1.7微处微处理器理器CPUCPU控制控制逻辑逻辑定时定时电路电路ALEALERESETRESET一、一、P89C5XP89C5X的内部结构的内部结构 2.1.2 单片机的内部资源单片机的内部资源单单片片机机CPUCPU运算器运算器算逻单元算逻单元ALUALU累加器累加器ACCACCB
33、B寄存器寄存器程序状态寄存器程序状态寄存器PSWPSW控制器控制器指令寄存器指令寄存器IRIR、指令译码器及控制逻辑、指令译码器及控制逻辑程序计数器程序计数器PCPC数据指针寄存器数据指针寄存器DPTRDPTRI/OI/O口口4 4个个8 8位并行位并行I/OI/O口口P0P0、P1P1、P2P2、P3P3全双工串行全双工串行I/OI/O口口存储器:存储器:128(128(或或256)256)字节字节RAMRAM、字节、字节 ROMROM定时定时/ /计数器计数器 T0T0、T1 T1 、T2T2堆栈指针寄存器堆栈指针寄存器SPSP、暂存器、暂存器振荡与定时控制电路振荡与定时控制电路中断控制系
34、统中断控制系统1、 P0 (P0.0P0.7)漏极开路的三态双向漏极开路的三态双向I/O口。口。 1) P0口根据使用情况有两种工作方式:口根据使用情况有两种工作方式: 在系统要扩展使用片外存储器时,在系统要扩展使用片外存储器时, P0口被分口被分时复用作为低时复用作为低8位地址和数据总线使用,位地址和数据总线使用,此时,该口此时,该口不再用做不再用做I/O口口。 作为作为I/O端口,能以吸收电流的方式驱动端口,能以吸收电流的方式驱动8个个TTL负载负载一、四个一、四个8位位并行双向并行双向I/O口口 做做I/O口输入口使用时,必须先向口锁存器写口输入口使用时,必须先向口锁存器写“1”。通常外
35、接通常外接5K左右的上拉电阻,若太小则会造成左右的上拉电阻,若太小则会造成晶体管导通时流过电流过大。当负载电阻很大晶体管导通时流过电流过大。当负载电阻很大时,上拉电阻可大一点,但负载电阻很小时则时,上拉电阻可大一点,但负载电阻很小时则不可太大,否则,获得的输出电压很小不可太大,否则,获得的输出电压很小2) P0口做口做I/O口使用时应注意的问题口使用时应注意的问题: 在做在做I/O口使用时口使用时,必须外接上拉电阻必须外接上拉电阻,才有高才有高电平。电平。1 1) P1口口 在在4 4个个I/OI/O口中结构和功能最简单,是单片口中结构和功能最简单,是单片机的主要机的主要I/OI/O口,能以吸
36、收或输出电流的方式驱动口,能以吸收或输出电流的方式驱动4 4个个TTLTTL负载负载。2 2、P1口口(P1.0P1.7)带内部上拉电阻的准双向带内部上拉电阻的准双向I/O 口口2 2)对于)对于P89C5XP89C5X单片机单片机, , P1.0P1.0可复用作为可复用作为T2T2的外部计的外部计数输入端数输入端,P1.1P1.1可复用作为可复用作为T2T2重载重载/ /捕捉捕捉/ /方向控制方向控制3 3)P1P1口使用时无须外接上拉电阻,口使用时无须外接上拉电阻,做输入做输入口时,必须先向口锁存器写口时,必须先向口锁存器写“1”为什么什么P0P0口在做口在做I/OI/O口时需口时需要外接
37、上拉电阻而要外接上拉电阻而P1P1口却不口却不要接?为什么两个口在做输要接?为什么两个口在做输入口时必须先写入入口时必须先写入“1 1”? 这是由它们的组成电路决定的,这是由它们的组成电路决定的,由于它们在由于它们在结构上的一些差异,故各口的性质和功能也有些结构上的一些差异,故各口的性质和功能也有些差异差异。5151的的4 4个并行个并行I/OI/O口的口的每一位均由每一位均由锁存器锁存器、输出驱动输出驱动器器和和输入缓冲器输入缓冲器所组成。所组成。P1口位结构原理图口位结构原理图P0口位结口位结构构原理图原理图无上拉无上拉电阻电阻P1口位结构口位结构原理图原理图输出驱动输出驱动输出驱动输出驱
38、动输入缓冲输入缓冲输入缓冲输入缓冲多路开关的两个输入多路开关的两个输入地址数据输出;地址数据输出;输出锁存器的输出锁存器的Q多路开关的切换由多路开关的切换由CPU控制,为控制,为1时接地址数时接地址数据据,为为0时接时接Q1. P0口P0P0口口某某一一位位的的结结构构图图如如下下图图所所示示,它它由由一一个个输输出出锁锁存存器器、两两个个三三态态输输入入缓缓冲冲器器、一一个个转转换换开开关关MUXMUX、一一个个输输出出驱驱动动电电路路(T1(T1和和T2)T2)和一个和一个与门与门及一个及一个非门非门组成。组成。 (2) P0口用作地址/数据总线 MUXMUX将地址将地址/ /数据线与数据
39、线与T2T2接通,同时与门输出有效。接通,同时与门输出有效。若若地地址址/ /数数据据线线为为1 1,则则T1T1导导通通,T2T2截截止止,P0P0口口输输出出为为1 1;反反之之T1T1截止,截止,T2T2导通,导通,P0P0口输出为口输出为0 0。当当数数据据从从P0P0口口输输入入时时,读读引引脚脚使使三三态态缓缓冲冲器器2 2打打开开,端端口口上上的数据经缓冲器的数据经缓冲器2 2送到内部总线。送到内部总线。 (3)P0口小结 P0 P0口既可作地址口既可作地址/ /数据总线使用,也可作通用数据总线使用,也可作通用I/OI/O口使用。口使用。当当P0P0口作地址口作地址/ /数据总线
40、使用时,就不能再作通用数据总线使用时,就不能再作通用I/OI/O口使用口使用了。了。 P0P0口作输出口使用时,输出级属漏极开路,必须外接上口作输出口使用时,输出级属漏极开路,必须外接上拉电阻,才有高电平输出。拉电阻,才有高电平输出。 P0P0口作输入口读引脚时,应先向锁存器写口作输入口读引脚时,应先向锁存器写1 1,使,使T2T2截止,截止,不影响输入电平。不影响输入电平。 P1口P1口是唯一的单功能口,仅能作为通用口是唯一的单功能口,仅能作为通用I/O口使用。由于在口使用。由于在其输出端接有上拉电阻,故可以直接输出而无需外接上拉电其输出端接有上拉电阻,故可以直接输出而无需外接上拉电阻。阻。
41、同同P0口一样,当作输入口时,必须先向锁存器写口一样,当作输入口时,必须先向锁存器写“1”,使,使场效应管场效应管T截止。截止。 P0、P1(P2,P3)口的输出级)口的输出级P1口外接负载的等效电口外接负载的等效电路路一般数字电路的输入阻抗较大,一般数字电路的输入阻抗较大,RX(几百几百K兆兆)P0口不外接上拉电阻时接负载的等效电路口不外接上拉电阻时接负载的等效电路P0口外接上拉电阻后接负载的等效电路口外接上拉电阻后接负载的等效电路由于由于P0做做I/O口时口时,D0始终是截止的始终是截止的,当向当向P0口输出口输出”1”时此时时此时P0口不能输出高电口不能输出高电平平3、P2口口(P2.0
42、P2.7)带内部上拉电阻的准双向带内部上拉电阻的准双向I/O 口口 1) P2口根据使用情况有两种工作方式口根据使用情况有两种工作方式: 在系统要扩展使用片外存储器时,在系统要扩展使用片外存储器时, P2口作为口作为高高8位地址输出线使用,位地址输出线使用,此时,该口不再用做此时,该口不再用做I/O口。口。 作为作为I/O端口,能以吸收或输出电流的方式驱动端口,能以吸收或输出电流的方式驱动4个个TTL负载。负载。2)P2口使用时无须外接上拉电阻,口使用时无须外接上拉电阻,做输入口时,必做输入口时,必须先向口锁存器写须先向口锁存器写“1”控控制制信信号号C C决决定定转转换换开开关关MUXMUX
43、的的位位置置:C=0C=0时时,MUXMUX拨拨向向下下方方,P2P2口口为为通通用用I/OI/O口口;C=1C=1时时,MUXMUX拨拨向向上上方方,P2P2口作为地址总线使用。口作为地址总线使用。实际应用中,实际应用中,P2P2口通常作为高口通常作为高8 8位地址总线使用位地址总线使用。 4、P3口口(P3.0P3.7)带内部上拉电阻的准双向带内部上拉电阻的准双向I/O 口口 1) P3口根据使用情况有两种工作方式:口根据使用情况有两种工作方式: 作第作第2功能使用,做片内功能模块的功能使用,做片内功能模块的I/O或提供控或提供控制信号制信号作为作为I/O端口,能以吸收电流的方式驱动端口,
44、能以吸收电流的方式驱动4个个TTL负载负载3)P3口使用时无须外接上拉电阻,口使用时无须外接上拉电阻,做输入口时,必做输入口时,必须先向口锁存器写须先向口锁存器写“1”P3P3口用作通用口用作通用I/OI/O口时,第二输出功能信号口时,第二输出功能信号W=1W=1,P3P3口的每一位都可定义为输入或输出,其工作原理同口的每一位都可定义为输入或输出,其工作原理同P1P1口类似。口类似。实际应用电路中,实际应用电路中,P3P3口的第二功能显得更为重要口的第二功能显得更为重要。 P30 RXD,串行口输入。,串行口输入。 P3l TXD,串行口输出。,串行口输出。 P32 INT0外部中断外部中断0
45、输入。输入。 P33 INT1外部中断外部中断1输入。输入。 P34 T0定时器计数器定时器计数器0外部计数脉冲输入。外部计数脉冲输入。 P35 T1定时器计数器定时器计数器1外部计数脉冲输入。外部计数脉冲输入。 P36 WR外部数据存储器写选通,输出。外部数据存储器写选通,输出。 P37 RD外部数据存储器读选通,输出。外部数据存储器读选通,输出。 3) P3口作为第二功能使用时各引脚的功能为:口作为第二功能使用时各引脚的功能为: 5 5、 I/OI/O口的读写操作特点口的读写操作特点 1 1) 可以直接对可以直接对I/OI/O口进行口进行字节操作,也可以字节操作,也可以进行进行位操作位操作
46、。 2 2) I/OI/O口读口读( (输入输入) )有两种操作:有两种操作:读引脚操作读引脚操作:仅作输入操作的指令对:仅作输入操作的指令对I/OI/O口的读属于口的读属于读读引脚操作引脚操作。 如:如:MOV CMOV C, P0.0P0.0读锁存器操作:读锁存器操作:对对I/OI/O口进行运算操作的指令实际上是口进行运算操作的指令实际上是对对I/OI/O口进行口进行“读读修改修改写写”,它们对,它们对I/OI/O口的读属口的读属于于读锁存器操作读锁存器操作。如:如:ANL P0ANL P0,A A DEC 80H DEC 80H ;DEC P0DEC P06、I/OI/O口使用中注意的问
47、题口使用中注意的问题1) P1、P2、P3口输出高电平时负载能力较差,拉口输出高电平时负载能力较差,拉电流一般为几十电流一般为几十A,输出低电平时负载能力较强,输出低电平时负载能力较强,每个引脚灌电流一般为几每个引脚灌电流一般为几mA,最大可达,最大可达10mA,但,但每个口所有引脚吸收电流的总和只能为每个口所有引脚吸收电流的总和只能为15mA。一位。一位端口可直接驱动一个超高亮端口可直接驱动一个超高亮LED。注意:使用注意:使用I/O口时要合理设计电路才能发挥端口时要合理设计电路才能发挥端口有限的负载能力。若负载要求有较强驱动能力,口有限的负载能力。若负载要求有较强驱动能力,需要加一级驱动门
48、电路,如需要加一级驱动门电路,如7404(反向器)、(反向器)、7407(能带(能带40m负载),可以直接驱动负载电负载),可以直接驱动负载电流为流为20mA的蜂鸣器。的蜂鸣器。3. 作作I/O口输入时口输入时,应先将该口的锁存器的值置高应先将该口的锁存器的值置高,然后再从口输入然后再从口输入。4. 要注意那些指令是读引脚要注意那些指令是读引脚,那些指令是读锁存器那些指令是读锁存器,以免读错数。以免读错数。5. 若系统需要扩展若系统需要扩展RAM 、 ROM或或I/O口,则口,则P0、P2口要作地址或数据线口要作地址或数据线,P3.6和和P3.7 作读、写控制作读、写控制线使用线使用,此时,它
49、们不宜作此时,它们不宜作I/O口使用。口使用。2。 P0口当口当I/O口输出使用时口输出使用时,一定要外接上拉电阻。一定要外接上拉电阻。其引脚灌电流一般为其引脚灌电流一般为3mA左右,最大可达左右,最大可达10mA,但,但每个口所有引脚吸收电流的总和只能为每个口所有引脚吸收电流的总和只能为26mA。给给89C51一个任务:一个任务: 点亮发点亮发光二极管光二极管LED。这样连接这样连接,单片机就单片机就可控制这可控制这些些LED的的亮灭了亮灭了P1口P0口P2口P3口(10-17引脚)引脚)LOOP: SETB P10 ;();()LCALL DELAY ;();()CLR P10 ;();(
50、)LCALL DELAY ;();()AJMP LOOP ;();();以下延时子程序;以下延时子程序DELAY: MOV R7,#250;();()D1: MOV R6,#250 ;();()D2: DJNZ R6,D2 ;();()DJNZ R7,D1 ;();()RET ;();()END ;();()让让8个个LED同时闪烁同时闪烁LOOP: MOV P1, #0FFH ;();()LCALL DELAY ;();() MOV P1, #00H ;();()LCALL DELAY ;();()AJMP LOOP ;();()要让要让8个个LED轮流点亮呢轮流点亮呢?让第一个让第一个LE
51、D闪烁闪烁要能指挥单片机要能指挥单片机完成各种任务完成各种任务,必必须了解单片机中须了解单片机中有哪些资源、它有哪些资源、它们能用来干什么、们能用来干什么、怎样设置和指挥怎样设置和指挥它们它们单片机可以做很多控制单片机可以做很多控制工作工作,但都须由我们来发但都须由我们来发出相应的命令出相应的命令(编写程编写程序序)指挥单片机来完成指挥单片机来完成这些任务这些任务B寄存器寄存器主要用于乘除运算。乘法中,要求两个运算数分别主要用于乘除运算。乘法中,要求两个运算数分别放放A、B寄存器,积存放在寄存器,积存放在AB寄存器对中,寄存器对中,A放积的放积的低低8位,位,B放积的高放积的高8位。位。除法中
52、,要求被除数放在除法中,要求被除数放在A,除数放在,除数放在B,商存放,商存放于于A,余数存放于,余数存放于B。其它情况下其它情况下,B寄存器可作为内部寄存器可作为内部RAM中的一个单元中的一个单元来使用来使用运算器中的几个运算器中的几个寄存器介绍寄存器介绍三、三、P89C5X的的CPUCPU中所包括的各部件(中所包括的各部件(P7)奇偶校验位奇偶校验位P、溢出标志位溢出标志位OV、辅助进位标志位辅助进位标志位AC及进位标及进位标志位志位CY都是都是ALU运算结果的直接输出。运算结果的直接输出。CYACF0RS1RS0OV-PPSW.1PSW.0PSW.2PSW.4PSW.3PSW.5PSW.
53、6PSW.7PSW各位含义各位含义PSW可以位访问,可以位访问,各位均可用专门指令测试或读出各位均可用专门指令测试或读出.程序状态字寄存器程序状态字寄存器PSWPSW是是8位寄存器,其内容主要是刚执行的指令的状态信位寄存器,其内容主要是刚执行的指令的状态信息,由硬件根据指令执行结果自动设置,有些位状态可用软件息,由硬件根据指令执行结果自动设置,有些位状态可用软件方法设定。方法设定。CY进位标志进位标志加、减运算时加、减运算时, 最高位产生进位或借位时,最高位产生进位或借位时,CY为为1;反之为;反之为0。注注:在布尔处理机中在布尔处理机中CY被认为是位累加器。被认为是位累加器。AC辅助进位标志
54、辅助进位标志加、减运算时,当加、减运算时,当D3位向高一位进位或借位时,位向高一位进位或借位时,AC将被硬件置为将被硬件置为1,否则,被清,否则,被清0。设置辅助进位标志设置辅助进位标志AC的目的是为了的目的是为了BCD码加、减码加、减运算的调正。运算的调正。OV溢出标志溢出标志OV标志指示运算结果是否产生溢出(超出标志指示运算结果是否产生溢出(超出8位补位补码表示的数范围),产生溢出,码表示的数范围),产生溢出,OV被置被置1,反之,反之,OV为为0P奇偶标志奇偶标志P标标志志表表示示累累加加器器A中中为为1的的位位数数是是奇奇数数还还是是偶偶数数:若若A中为中为1的位数是的位数是奇数,奇数
55、,P置位为置位为1;否则;否则P为为0。注意:注意:P标志置位情况与标志置位情况与8086中中PF标志置位情况相反标志置位情况相反PSW1(保留位)(保留位) 未使用未使用RS1、RS0工作寄存器组选择位工作寄存器组选择位用于设定当前工作寄存器的组号用于设定当前工作寄存器的组号,由软件设定由软件设定。 F0用户标志位用户标志位。开机时该位为开机时该位为“0”,由位由位操作指令置操作指令置“l”或清或清“0” 用户可用用户可用F0来控制程序的转向。来控制程序的转向。堆栈指针寄存器堆栈指针寄存器SP:SP是是8位的寄存器位的寄存器,存放当前栈顶单元的地址。存放当前栈顶单元的地址。单片机中的堆单片机
56、中的堆栈是向大地址方向增长,并以字节为操栈是向大地址方向增长,并以字节为操作单位。作单位。 通常,应把堆栈设置在片内通常,应把堆栈设置在片内RAM的的用户区用户区(字节字节寻址区寻址区)中,系统中,系统复位后复位后SP内容为内容为07H,栈会占用工,栈会占用工作寄存器区和位寻址区。故作寄存器区和位寻址区。故应在程序开始处将应在程序开始处将SP值值初始化为初始化为30H以上的值。以上的值。程序计数器程序计数器PCPC是独立的是独立的16位计数器,不属于内部的特殊功位计数器,不属于内部的特殊功能寄存器。能寄存器。PC中存放下一条将要从程序存储器中取中存放下一条将要从程序存储器中取出的指令的地址。出
57、的指令的地址。 16位的位的PC决定了决定了程序存储器的可程序存储器的可寻址范围为寻址范围为64KB。控制器中的两个地址寄存器介绍控制器中的两个地址寄存器介绍数据指针数据指针DPTRDPTR是是16位的位的特殊功能寄存器特殊功能寄存器,其主要功能是其主要功能是作为寻址片外作为寻址片外RAM单元或单元或I/O口用的地口用的地址(间接寻址(间接寻址)寄存器,故称为址)寄存器,故称为数据存储器地址指针。数据存储器地址指针。访问片外数据存储器或访问片外数据存储器或I/O口的汇编指令为:口的汇编指令为:MOVXA,DPTR读读(寄存器间接寻址寄存器间接寻址)MOVXDPTR,A写写DPTR寄存器也可以作
58、为访问程序存储器时的基寄存器也可以作为访问程序存储器时的基址寄存器。通常是址寄存器。通常是寻址程序存储器中的表格、常数等寻址程序存储器中的表格、常数等单元单元,而不是寻址指令。而不是寻址指令。如:如:MOVCA,ADPTR(变址寻址变址寻址)JMPADPTRDPTR可作为两个可作为两个8位寄存器来使用,其高、低位寄存器来使用,其高、低8位位分别用分别用DPH、DPL表示。表示。 P89C5X有两个有两个DPTR程序计数器程序计数器PC与数据指针与数据指针DPTR的比较:的比较:(1)两者都是与地址有关的两者都是与地址有关的16位寄存器。位寄存器。PC与与程序存储器的地址有关程序存储器的地址有关
59、,而而DPTR与数据存储器的与数据存储器的地址有关地址有关。(2)作为地址寄存器使用作为地址寄存器使用时时PC与与DPTR都是通过都是通过P0和和P2口输出。口输出。PC的输出与的输出与ALE及及PSEN信号有关信号有关;DPTR的输出,则与的输出,则与ALE、WR、RD信号有关信号有关。(3)PC只能作为只能作为16位寄存器且不可访问位寄存器且不可访问,它不属它不属于特殊功能寄存器于特殊功能寄存器。DPTR也可作为两个也可作为两个8位寄存器位寄存器DPL和和DPH,都位于特殊功能寄存器区中,都位于特殊功能寄存器区中。DPTR是可访问的。是可访问的。 四、四、P89C5X单片机的存储器结构单片
60、机的存储器结构 单片机的存储器分为程序存储器(单片机的存储器分为程序存储器(ROMROM)和数)和数据存储器(据存储器(RAMRAM)。)。5151系列单片机将程序系列单片机将程序存储器和数据存储器分开存储器和数据存储器分开寻址,寻址,在物理上分成在物理上分成4 4个相互独立的存储器空个相互独立的存储器空间:间:片内、外的片内、外的ROMROM和片内、外的和片内、外的RAMRAM。在逻辑上只设有在逻辑上只设有3 3个存储器寻址空间个存储器寻址空间图图2-4 P89C5X2-4 P89C5X系列单片机存储器结构系列单片机存储器结构 三个逻辑存储三个逻辑存储器空间器空间片内片内RAM片内、外程序存
61、储器片内、外程序存储器片外片外RAMRAM单单片片机机存存储储器器ROM内部内部RAM外部外部RAM(0000HFFFFH)内部内部ROM00000FFFHEA=1外部外部ROM片内片内RAM工作寄存器区工作寄存器区0组(组(00H07H)1组(组(08H0FH)3组(组(18H1FH)2组(组(10H17H)特殊功能寄存器特殊功能寄存器(SFR)区区(80HFFH)位寻址位寻址(布尔布尔RAM)区(区(20H2FH)通用通用RAM区区(30H7FH)低低4K0000H0FFFHEA=0时可访问时可访问高高60K1000HFFFFH四个物理存储四个物理存储器空间器空间(32个字节个字节)(16
62、个字节个字节)(80个字节个字节)(128个字节个字节)2) 2) 程序存储器中的程序存储器中的7个特殊地址和特殊保留单元个特殊地址和特殊保留单元 ROMROM的的0000H0032H单元被保留用于系统复位启动时的单元被保留用于系统复位启动时的程序引导和中断服务程序引导,其中有程序引导和中断服务程序引导,其中有7 7个个特殊地址特殊地址1)、程序存储器的访问、程序存储器的访问 片内片内ROM以及以及与片内与片内ROM同地址的那部分片外同地址的那部分片外ROM的的访问与访问与 EA引脚状态有关引脚状态有关,EA=1时访问前者时访问前者,反之反之,访问访问后者后者。扩展的片外程序存储器的访问控制信
63、号是扩展的片外程序存储器的访问控制信号是PSEN其中:其中:0000H0002H系统启动单元系统启动单元0003H0032H中断向量区中断向量区1、 P89C5X单片机的程序存储器单片机的程序存储器访问程序存储器用的指令是访问程序存储器用的指令是 : MOVC中断向量区具体划分:中断向量区具体划分:0003H000AH外部中断外部中断0000BH0012H计时器计时器T0溢出溢出0013H001AH外部中断外部中断1001BH0022H计时器计时器T1溢出溢出0023H002AH串行口中断串行口中断002BH0032H计时器计时器T2溢出溢出/T2EX(P1.1)有负跳变时有负跳变时六个中断入
64、口地址六个中断入口地址中断响应时,系统会按中断种类自动转到该中断矢量地址对中断响应时,系统会按中断种类自动转到该中断矢量地址对应的单元,去取指令执行,从而进入为该中断的服务。应的单元,去取指令执行,从而进入为该中断的服务。通常是在各中断区首单元处存放一条无条件转移指令,以转通常是在各中断区首单元处存放一条无条件转移指令,以转去相应的中断服务程序去相应的中断服务程序.注意:注意:由于此区域有中断矢量地址,所以,写程序时不要占由于此区域有中断矢量地址,所以,写程序时不要占用该区,一般从用该区,一般从0030H开始写主程序,在开始写主程序,在0000H单元放跳转指单元放跳转指令转到主程序令转到主程序
65、.2 2、 P89C5X单片机数据存储器单片机数据存储器数据存储器用来存放随机数据,片内有数据存储器用来存放随机数据,片内有256B256B,还可扩展片外数据存储器。还可扩展片外数据存储器。1 1)片内数据存储器)片内数据存储器片内数据存储器是最灵活的地址空间。它在片内数据存储器是最灵活的地址空间。它在物理上又分成两个独立的功能不同的区:物理上又分成两个独立的功能不同的区:* 从从0 0127 B127 B为片内数据存储器空间为片内数据存储器空间( (片内片内RAMRAM区区) ) * *从从128128256 B256 B为特殊功能寄存器为特殊功能寄存器(SFR)(SFR)空间空间(5151
66、系列实际仅占用系列实际仅占用2020多个字节)。多个字节)。片内数据存储器用片内数据存储器用MOV指令访问指令访问 该区存取速度快,但空间小,要合理使用。从该区存取速度快,但空间小,要合理使用。从功能和用途上又把片内功能和用途上又把片内RAM分为分为3个区域个区域 :(1)工作寄存器区)工作寄存器区 ( 00H1FH)32字节字节 4组工作寄存器组工作寄存器 , 每组每组8个个: R0 R7由由PSW中的中的RS1、RS0位决定位决定CPU当前可访问哪一组当前可访问哪一组片内片内RAM区区工作寄存器区可用访问寻址方式工作寄存器区可用访问寻址方式直接寻址直接寻址 MOV A, 40H使用使用R0
67、、R1间址的间址的间接寻址间接寻址 MOV A, R1寄存器寻址寄存器寻址 MOV A, R1 (2)位寻址区位寻址区(布尔布尔RAM区区) (20H2FH)16字节字节 其中每个单元可按位访问,每其中每个单元可按位访问,每1位有唯一的位有唯一的位地位地址址,共,共128位,位地址范围:位,位地址范围:00HFFH位寻址区可用访问寻址方式位寻址区可用访问寻址方式:作为作为字节单元访问字节单元访问时时,用用直接寻址直接寻址或或用用R0、R1间址间址的的间接寻址方式间接寻址方式作为作为位单元访问位单元访问时时, 则则用位寻址方式用位寻址方式堆栈和数据缓冲区访问寻址方式堆栈和数据缓冲区访问寻址方式直
68、接寻址方式直接寻址方式使用使用R0、R1间址的间接寻址方式间址的间接寻址方式。(3)堆栈和用户数据区)堆栈和用户数据区(30H7FH/FFH)80/208字节字节 用户使用的一般用户使用的一般RAM区区,通常将堆栈设置在此区间。通常将堆栈设置在此区间。特殊功能寄存器(特殊功能寄存器(SFR)区)区 (80HFFH)特殊功能寄存器特殊功能寄存器是指具有特殊用途的寄存器的集合。是指具有特殊用途的寄存器的集合。 SFR在物理上是分散在单片机的各功能部件中在物理上是分散在单片机的各功能部件中,用以存放相应功能部件的控制命令、状态或数据。用以存放相应功能部件的控制命令、状态或数据。 在逻辑上,把在逻辑上
69、,把SFR组织在内部组织在内部RAM地址空间的地址空间的80HFFH,它们,它们离散地分布在这片空间,如离散地分布在这片空间,如表表2-5所示所示。注注:程序计数器程序计数器PC和和4个通用工作寄存器组不属于个通用工作寄存器组不属于SFR使用使用直接寻址方式直接寻址方式在指令中既可用这些寄存器的符号(名)表示,在指令中既可用这些寄存器的符号(名)表示,也可用它们的地址表示。也可用它们的地址表示。特殊功能寄存器的访问方式:特殊功能寄存器的访问方式:说明说明:1)特殊功能寄存器中的累加器特殊功能寄存器中的累加器A、B寄存寄存器及器及DPTR还可用寄存器寻址方式访问还可用寄存器寻址方式访问2)大部分
70、地址能被大部分地址能被8整除的特殊功能寄存器,还能整除的特殊功能寄存器,还能位寻址,这些寄存器的每位寻址,这些寄存器的每1位都有一个地址与之对应。位都有一个地址与之对应。4)在在SFR区中区中,未定义为寄存器的那些字节不可未定义为寄存器的那些字节不可可使用。可使用。3)P0P3这四个特殊功能寄存器分别对应这四个特殊功能寄存器分别对应4个个并行并行I/O的锁存器的锁存器,可直接进行赋值可直接进行赋值,也可做输入用也可做输入用以采集外部数据以采集外部数据,但做输入时须先置但做输入时须先置”1”。5)P89C52/54/58有有256B的片内数据存储器,其高的片内数据存储器,其高128个字节是数据个
71、字节是数据RAM区和区和SFR地址重叠空间。对于地址重叠空间。对于这个空间,访问哪一个区是这个空间,访问哪一个区是通过不同的寻址方式来通过不同的寻址方式来加以区别。加以区别。此地址对应的高此地址对应的高128B 数据数据RAM区只能用区只能用间接寻间接寻址址方式访问方式访问。SFR区只能用区只能用直接寻址直接寻址方式访问方式访问。表特殊功能寄存器表特殊功能寄存器SFR的名称和地址的名称和地址TMOD分布在分布在CPU功能部件功能部件分布在并行分布在并行I/O功能部件功能部件在中断系统功能部件在中断系统功能部件在在定定时时计计数数器器功功能能部部件件中中在串行口功能部件在串行口功能部件 片外片外
72、RAM区区 通过地址、数据和控制总线片外可扩展通过地址、数据和控制总线片外可扩展64K RAM,也可用,也可用串行总线扩展。串行总线扩展。片外数据存储器通过片外数据存储器通过数据指针数据指针DPTR来访问来访问。片外数据存储器扩展方法片外数据存储器扩展方法RAM扩展方法图扩展方法图片外片外RAM用用MOVX指令访问指令访问片外片外RAM访问所用寻址方式访问所用寻址方式只能用只能用寄存器间接寻址寄存器间接寻址的方法访问,间址寄存器的方法访问,间址寄存器为为DPTR、R1或或R0。注意:注意:扩展的扩展的I/O接口接口和外部和外部RAM是统一编址的是统一编址的,所有的外扩所有的外扩I/O口都要占用
73、口都要占用64KB中的地址单元。中的地址单元。扩展的扩展的I/O接口也用接口也用MOVX指令访问方式指令访问方式对片外对片外RAM的的0000H0255H单元,既可用单元,既可用R0、R1,又可用,又可用DPTR来间接寻址访问,而对来间接寻址访问,而对0256HFFFFH这部分单元,则只可用这部分单元,则只可用DPTR来间接寻址访问。来间接寻址访问。MCS-51指令系统的指令系统的7种寻址方式与寻址空间种寻址方式与寻址空间寻寻 址址 方方 式式寻寻 址址 空空间间1 1寄存器寻址寄存器寻址R0R0R7R7、A A、B B、CY(bit) CY(bit) 、DPTRDPTR2 2直接寻址直接寻址
74、内部内部RAMRAM低低128128字节字节特殊功能寄存器特殊功能寄存器3 3寄寄存存器器间间接接寻址寻址内部内部RAMRAM(R0,R1,SPR0,R1,SP(仅限(仅限PUSHPUSH、POPPOP)外部外部RAMRAM(R0,R1,DPTRR0,R1,DPTR)4 4立即寻址立即寻址程序存储器程序存储器5 5变址寻址变址寻址程序存储器(程序存储器(A+PC,A+DPTRA+PC,A+DPTR)6 6相对寻址相对寻址程序存储器程序存储器(PC(PC偏移量偏移量) )7 7位寻址位寻址内部内部RAMRAM中有中有128128个可寻址位个可寻址位特殊功能寄存器中可位寻址的位特殊功能寄存器中可位
75、寻址的位 采用采用Keil C51编程,要熟悉单片机的存储器组编程,要熟悉单片机的存储器组织结构,这样,在编程时才可合理安排各种变量,织结构,这样,在编程时才可合理安排各种变量,最大限度实现代码优化。最大限度实现代码优化。1000HFFFFH0FFFH0000H0FFFH0000H内部EA=1外部EA=0程序存储器程序存储器COOD区内部数据存储器内部数据存储器FFH00H80H7FH30H1FH20H2FH工作寄存器工作寄存器位寻址区位寻址区直接寻址直接寻址RAM间接寻址间接寻址RAM特殊功能特殊功能寄存器寄存器 SFRFFH80HIDATA区DATA区外部数据存储器外部数据存储器0000HFFFFHXDATA区C51把单片机存储器分为几个区把单片机存储器分为几个区BDATA区