6.C51的存储结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.C51的存储结构.ppt

第6章 C51的存储结构 C51语言是面向51系列单片机及其硬件控制系统的开发语言,因此C51语言和单片机的硬件资源有非常密切的联系。C51的程序经过编译后将在单片机上进行运行,C51的程序的代码和数据都是按照一定的存储类型,存放在单片机的特定存储区域中,否则该数据无意义。存储结构是单片机C51语言很重要的一部分内容,也是其特有的内容。C51的存储结构包括存储器结构、存储类型、存储模式以及存储器指针等知识点。下面就分别介绍这几部分内容。 6.1 单片机的存储器结构 单片机的存储器结构是指单片机内部存储器的硬件组织形式。不同型号单片机的存储器结构会有所不同,但是原理是相似的。本章以最常用的51系列单片机为例,介绍其存储器结构。 51系列单片机采用哈佛结构,将程序代码存储器(ROM)和数据存储器(RAM)分开,各部分遵循各自的寻址机构和寻址方式。下面概述一下51系列单片机存储器的硬件构成。 6.1.1 51系列单片机的存储区域 51系列单片机的存储器被划分成几个不同的区域。为了C51的程序运行时,可以方便地调取数据和程序代码,C51的程序中的数据和程序代码,被分类存放在单片机的不同存储区域内。51系列单片机及其兼容的单片机在物理上,可划分为以下4个不同的存储区: 片内数据存储区(片内RAM) 片外数据存储区(片外RAM) 片内程序存储区(片内ROM) 片外程序存储区(片外ROM) 6.1.2 片内RAM的存储器结构 多数单片机均提供片内RAM,片内RAM是指单片机的片内数据存储区。C51程序中的变量一般保存在片内RAM中,因为该存储区的取址速度较快,便于及时调用数据。51系列单片机的片内数据存储区(片内RAM)可以划分为如下所示的2大区域。 片内低128字节RAM区:地址范围为00H~7FH。该区域主要采用直接字节地址寻址方式,用来存储数据,也可存放堆栈和寄存器。 特殊功能寄存器区(SFR):地址范围为80H~0FFH。该区域可位寻址、字节寻址或字寻址,用以控制定时器、计数器、串口、I/O以及其他一些硬件资源。 其中,地址范围为00H~07FH的低128字节片内RAM区,又可进一步划分为如下所示的3个区域。 通用寄存器区。地址范围为00H~1FH,共由如下所示的4个寄存器组构成。 6.2 C51的存储类型 存储类型是指程序中数据(变量、常量和代码等)在8051硬件系统中的存放方式。单片机C51语言中支持code、bdata、idata、pdata、xdata和data型6种不同的存储类型。不同的存储类型对应于不同的存储区域和寻址方式。8051系列单片机的硬件系统中数据的存储类型与对应的存储区的关系,如表所示。 6.2.1 code存储类型 使用code存储类型定义数据时,编译器会将其定义在程序代码储存器(ROM或者EPPROM)中。该code存储区使用16位寻址,寻址空间可达64KB。一般用来存放可执行的代码段,也可以存放数据。将变量设置为code存储类型的一般形式如下: 标识符 code 变量名 其中,标识符为变量的类型,code为关键字,表示存储类型为code。例如: char code string[]=”Good Morning”; //在code区定义存储字符串数组 6.2.2 data存储类型 data区是8051单片机128字节的片内RAM(或者8052单片机的前128字节)。该区采用直接可寻址,访问速度较快,因此将使用频率大的变量和局部变量储存在data区。将变量设置为data存储类型的一般形式如下: 标识符 data 变量名 其中,标识符为变量的类型,data为关键字,表示存储类型为data。例如: int data a[5]; char data str[10]; float data f; MyType data n1; //自定义的数据类型 6.2.3 bdata存储类型 bdata区是可位寻址数据存储器,可以将要求可位寻址的数据定义为bdata。该区中可以声明变量和位变量。将变量设置为bdata存储类型的一般形式如下: 标识符 bdata 变量名 其中,标识符为变量的类型,bdata为关键字,表示存储类型为bdata。例如: char bdata bet; //在位寻址区定义字符变量bet int bdata n[10]; //在位寻址区定义整型数组n[10] sbit bet5=bet^3; //用关键字sbit定义位变量来可寻址对象其中一位 sbit n8=n[1]^6; 6.2.4 idata存储类型 8051系列的一些单片机包含附加的128字节的片内RAM区,位于地址开始于80H的存储空间中,该存储区称为idata区。将变

文档评论(0)

wgvi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档