天津大学课件(第4课时)_第1页
天津大学课件(第4课时)_第2页
天津大学课件(第4课时)_第3页
天津大学课件(第4课时)_第4页
天津大学课件(第4课时)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

2.2单片机的存储器2.2.1存储器的分类2.2.2存储器的结构2.2.3存储器的配置2.2.4专用寄存器2.1.2MCS-51单片机内部的逻辑结构图2-3单片机内部的逻辑结构图可寻址片外RAM64K字节

(0000H—0FFFFH);可寻址片外ROM64K字节

(0000H—0FFFFH);片内ROM4K字节

(0000H—0FFFH);0FFFFH0000H可寻址片外RAM

64K字节0FFFFH0000H可寻址片外ROM64K字节0FFFH000H可寻址片内

ROM4K字节80517FH00H片内RAM

128字节0FFH80H存储器配置00H20H2FH7FH1FH30H80H0FFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布在80H-0FFH其中83个位可位寻址80H0FFH所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器128字节5片内21个特殊功能寄存器(SFR)(80H—0FFH)▼特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。▼不同的SFR管理不同的硬件模块,负责不同的功能——各司其职换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。标识符号地址寄存器名称ACC0E0H累加器B0F0HB寄存器PSW0D0H程序状态字SP81H堆栈指针DPTR82H、83H数据指针(16位)含DPL和DPHIE0A8H中断允许控制寄存器IP0B8H中断优先控制寄存器P080HI/O口0寄存器P190HI/O口1寄存器P20A0HI/O口2寄存器标识符号地址寄存器名称P30B0HI/O口3寄存器PCON87H电源控制及波特率选择寄存器SCON98H串行口控制寄存器SBUF99H串行数据缓冲寄存器TCON88H定时控制寄存器TMOD89H定时器方式选择寄存器TL08AH定时器0低8位TH08CH定时器0高8位TL18BH定时器1低8位TH18DH定时器1高8位P0、P1、P2、P3:

四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。SCON(SerialControlRegister)SBUF(SerialDateBuffer)PCON(PowerControlRegister)

与端口相关的(7个)与定时/计数器相关的(6个)TMOD(Timer/CounterMode

Register)

定时器工作模式寄存器。TCON(Timer/CounterControl

Register)

定时器控制寄存器。TH0、TL0、TH1、TL1:分别是T0、T1的记数初值寄存器。IP(InterruptPriority

Register)IE(InterruptEnable

Register)

与中断相关的(2个)10累加器

ACC

一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输…)。副累加器B:

一个经常与ACC

配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。2.2.4专用寄存器程序计数器PC程序计数器是一个二进制16位的程序地址寄存器,专门用来存放下一条需要执行指令的内存地址,能自动加1。MOVA,#05H;A←05H

(假设该指令存储初始地址为2000H)PC中初值地址2000H送入地址寄存器AR;PC←PC+1;读出操作码74H;送入数据寄存器DR;操作码74H送入指令寄存器IR;再送入指令译码器ID;由指令译码器ID产生微操作序列;把PC中2001H送入地址寄存器AR;PC←PC+1;05H送入数据寄存器DR;微操作序列使数据寄存器DR中数据05H送入累加器A中。14堆栈(SP):在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出和后进先出的原则,这个RAM区叫堆栈。功用:1)子程序调用和中断服务时CPU自动将当前PC

值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输1500H20H2FH7FH1FH30H80H0FFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP栈顶下一个进栈的数据将存在此数据进栈已经进栈的数据存放在此初始SP数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元……堆栈区由特殊功能寄存器堆栈指针SP管理

堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。16从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP栈顶当前要出栈的数据数据出栈SP-1指向下一个将要出栈的数据初始SP

在实际应用中,常需在RAM区设置堆栈。80C51的堆栈一般设在30H-7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在系统初始化时可以重新设置。●pushaccpushbpushPSW……….

popaccpopbpopPSW

这样的指令顺序对不对?

DPTR(DataPointer)(分成DPH、DPL两个):

数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。

DPTR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。20CYACF0RS0OVPRS1PSW.7PSW.0▼CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。▼AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DAA”指令时自动要判断这一位,我们可以暂时不关心它。▼F0(PSW.5)可由用户定义的标志位。PSW.6PSW.5程序状态字寄存器(PSW)21CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5例:78H+97H01111000+10010111100001111

有进位CY=1没有半进位AC=022CYACF0RS0OVPRS1PSW.7PSW.0▼RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。RS1,RS0=01则选择了工作寄存器组1区R0~R7分别代表08H~0FH单元。RS1,RS0=10则选择了工作寄存器组2区R0~R7分别代表10H~17H单元。RS1,RS0=11则选择了工作寄存器组3区R0~R7分别代表18H~1FH单元。PSW.4PSW.3RS1,RS0=00则选择了工作寄存器组0区R0~R7分别代表00H~07H单元。23片内RAM前32个单元(00H—1FH)是工作寄存器区

(由PSW中的RS1,RS0决定)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区024CYACF0RS0OVPRS1PSW.7PSW

温馨提示

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

评论

0/150

提交评论