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