8051存储结构.docx

上传人:b****4 文档编号:3678833 上传时间:2022-11-24 格式:DOCX 页数:6 大小:99.69KB
下载 相关 举报
8051存储结构.docx_第1页
第1页 / 共6页
8051存储结构.docx_第2页
第2页 / 共6页
8051存储结构.docx_第3页
第3页 / 共6页
8051存储结构.docx_第4页
第4页 / 共6页
8051存储结构.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

8051存储结构.docx

《8051存储结构.docx》由会员分享,可在线阅读,更多相关《8051存储结构.docx(6页珍藏版)》请在冰豆网上搜索。

8051存储结构.docx

8051存储结构

8051存储结构

8051存储结构:

1.CODE区

用来存放可执行代码。

被16位寻址,空间可达64K。

代码是只读的。

还可以存储查寻表。

通过数据指针DPTR或者程序计数器加上累加器提供的偏移量进行寻址。

把表头地址装入DPTR,把表中要寻址的元素的偏移量装入累加器中,就可以寻址表中元素。

2.DATA区

第二个是8051内128字节内部RAM,或者8052的钱128字节内部RAM。

这部分主要作为数据段。

访问DATA区用直接寻址方式,访问XDATA区用间接寻址。

通常把使用频繁的变量或者局部变量存储在DATA区,空间有限,需节省使用。

在数据段中也可以通过R0和R1采用间接寻址,R0、R1被作为数据区的指针,将要恢复或者改变字节的地址放入R0或R1中。

数据段中有两个小段,第一个子段包含四个寄存器组,每组包含8个寄存器,可子啊任何时刻通过修改PWS寄存器的RS0和RS1位来选择四组寄存器的任一组作为工作寄存器组,8051也可以默认任意一组喂工作寄存器组。

工作寄存器组的快速切换不仅使参数传递更加方便,而且可以进行快速任务转换。

另一个子段叫做位寻址段(BDATA)包括16个字节,共128位,每一位都可以单独寻址。

也可以进行字节寻址。

3.IDATA区。

8051系列的一些单片机如8052有附加的128字节内部RAM,位于从80H开始的地址空间中,被称为IDATA。

因为IDATA区的地址和SFRs的地址是重叠的,通过区分所访问的存储区来解决地址重叠问题,因为IDATA

4.

5.

6.中断优先级寄存器IP

用来设置每个中断的优先级,如果相应的位被置位,则中断的优先级为高。

此寄存器可位寻址。

IP寄存器可位寻址

--PT2PSPT1PX1PT0PX0

-保留

-保留

PT2定时器2中断优先级PS串行通信中断优先级

PT1定时器1中断优先级PX1外部中断1优先级

PT0定时器0中断优先级PX0外部中断0优先级

中断使能寄存器IE

通过设置中断使能寄存器IE的EA位,使能所有中断,每一个中断源独有单独的使能位,可通过软件设置IE中相应的使能位在任何时刻使能或者禁用中断。

中断使能寄存器IE可位寻址

EA-ET2ESET1EX1ET0EX0

EA使能标志位置位则所有中断使能复位则禁止所有中断

ET2定时器2中断使能ES串行通信中断使能

ET1定时器1中断使能EX1外部中断1使能

ET0定时器0中断使能EX0外部中断2使能

内置定时/计数器

标准的8051有两个定时/计数器,每个定时器有16位。

定时/计数器既可以作为定时器(对机器周期计数),也可以用来对相应的I/O口(T0,T1)上从高到低的跳变脉冲计数。

如果需要,当脉冲计数溢出时,可以产生一个中断。

TCON寄存器用来控制寄存器的工作启停和溢出标志位。

通过改变定时器运行位TR0和TR1来启动和停止定时器工作。

TCON还包括了定时器0和定时器1的溢出中断标志位。

中断标志位可以在任何时候置位和清除,因此可以通过软件产生和阻止定时器中断。

定时器控制寄存器TCON可位寻址

TF1TR1TF0TR0IE1IT1IE0IT0

TF1定时器1溢出中断标志。

响应中断后由处理器清零

TR1定时器1控制位,置位时定时器工作,复位时停止工作

TF0定时器0溢出标志位

TR0定时器0控制位

IE1外部中断1触发标志位,当检测到P3.3有从高到低得跳变电平时置位,处理器响应中断后,由硬件清除该位。

IT1外部中断触发方式控制位,置位时为跳变触发,复位时为低电平触发

IE0外部中断0触发标志位,当检测到P3.2有从高到低的跳变时置位,由处理器清零

IT0外部中断0触发控制位,置位时为跳变触发,复位时为低电平触发

定时器控制寄存器TMOD-不可位寻址

GATEC/TM1M0GATEC/TM1M0

定时器1定时器0

GATE当GATE置位时,定时器仅当TR=1并且INT=1时才开始工作,如果GATE=0,置位TR定时器开始工作

C/T定时器方式选择。

如果C/T=1,定时器以计数方式工作,C/T=0,以定时方式工作

M0模式选择高位M1模式选择高位

可通过C/T位的设置来选择定时器的时钟源。

当定时器用来对内部时钟脉冲计数时,可通过硬件或者软件来控制。

GATE=0为软件控制,置位TR定时器就开始工作,GATE=1为硬件控制,当TR=1并且INT=1时定时器才工作。

当INT脚给出低电平时,定时器将停止工作。

这在测量INT脚的脉冲宽度时十分有用,此时INT不做外部中断使用。

定时器工作方式0和方式1

定时器有四种工作方式。

方式0为13位定时/计数器方式,定时器溢出时置位TF0或TF1,并产生中断。

方式1将以16位定时/计数器工作,除此之外和方式0一样

定时器工作方式2

方式2为8位自动重装载工作方式。

定时器的低8位(TL0或TL1)用来计数,高8位(TH0或TH1)用来存放重装载数值。

当定时器溢出时,TH中的数值被装入TL中。

定时器0和定时器1在方式2是同样地。

定时器1常用此方法来产生波特率。

定时器工作方式3

方式3时,定时器0成为两个8位定时/计数器(TH0和TL0).TH0对应于TMOD中定时器0的控制位,而TL0占据了TMOD中定时器1的控制位。

这样定时器1将不能产生溢出中断,但可以用于不需要产生中断的场合,如作为波特率发生器或者作为定时计数器被软件查询,当系统需要用定时器1来产生波特率,而又同时需要两个定时/计数器时,这种方式十分有用,当定时器1设置为工作方式3时将停止工作。

内置UART

8051有一个全双工串行通讯接口。

由寄存器SCON来进行设置

串行控制寄存器SCON-可位寻址

SM0SM1SM2RENTB8RB8TIRI

SM0串行模式选择

SM1串行模式选择

SM2多机通讯允许位,当模式0时,此位应该位0,模式1时,当接收到停止位时,该位置位。

模式2和3时,当接收到的第9位数据为1时,将置位

REN串行接收允许位

TB8在模式2和3中,将被发送数据的第9位

RB8在模式0中该位不起作用,子模式1中,该位为接收数据的停止位,在模式2和3中,为接收数据的第9位

TI串行中断标志位,由软件清零

RI接收中断标志位,由软件清零

UART模式0

模式0时,UART作为1个8位的移位寄存器使用,波特率为fosc/12。

数据由RXD从低位开始收发。

TXD用来发送同步移位脉冲,因此,方式0不支持全双工。

这种方式可用来和像某些具有8位串行口的EEPROM之类的器件通讯。

当向SBUF写入字节时,开始发送数据。

数据发送完毕时,TI将置位。

置位REN时,将开始接收数据,当接收完8位数据时,RI将置位。

UART模式1

工作于模式1时,传输的是10位:

1位起始位,8位数据位,1个停止位。

这种方式可以和包括PC机在内的许多器件进行通讯。

这种方式的波特率是可调的。

而用来产生波特率的定时器的中断应该被禁止,PCON的SMOD位为1时,可使波特率翻倍。

TI和RI在发送和接收停止位的中间时刻被置位,这使软件可以响应中断并装入新的数据。

如果使用定时器1来产生波特率,则通过下公式计算TH1的装入值

TH1=256—(K*OscFreq)/(384*BaudRate)

K=1ifSMOD=0

K=2ifSMOD=1

要求重装值要小于256,非整数的重装值必须和下一个整数非常接近。

UART模式2

模式2的数据以11位方式发送:

1位起始位,8位数据位,第9位,1位停止位。

发送数据时,第9位为SCON中的TB8,接收数据的第9位保存在RB8中。

第9位一般用来多机通讯,仅在第9位为1时,单片机才接收数据。

多机通讯用SCON的SM2来控制。

当SM2为1时,仅当数据的第9位为1时才引发通讯中断,当SM2为0时,只要接收完11位就产生一次中断。

第9位可以在多机通讯中避免不必要的中断,在传送地址和命令时,第9位置位,串行总线上的所有处理器都产生一个中断,处理器将决定是否继续接收下面的数据。

如果继续接收数据就清零SM2,否则SM2置位,以后的数据流不会使它产生中断。

SMOD=0时,模式2的波特率为1/64OscSMOD=1时波特率为1/32Osc。

模式2和模式3的差别在于可变的波特率

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1