付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机 keil C 中的 data 、 bdata 、 idata 、 xdata 、 hdata 、 pdata 、code 解释从数据存储类型来说, 8051 系列有片内、片外程序 存储器,片内、片外数据存储器,片内程序存储器还分 直接寻址区和间接寻址类型,分别对应code、 data 、xdata 、 idata 以及根据 51 系列特点而设定的 pdata 类型, 使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于 提高程序执行效率 ( 此问题将在后面专门讲述 )。与ANSI-C稍有不同,它只分 SAMLL COMPAGTLARGE模式,
2、 各种不同的模式对应不同的实际硬件系统,也将有不同 的编译结果。在 51 系列中 data,idata,xdata,pdata 的区别 :data:固定指前面 0x00-0x7f的128个RAM可以用acc 直接读写的,速度最快,生成的代码也最小。idata:固定指前面 0x00-0xff 的256个RAM其中前128 和 data 的 128完全相同,只是因为访问的方式不同。 idata是用类似C中的指针方式访问的。汇编中的语句为: mox ACC,Rx.(不重要的补充:c中idata 做指针式的访 问效果很好 )xdata:外部扩展RAM 一般指外部0x0000-Oxffff空间,用DPT
3、F访问。pdata: 外部扩展RAM的低256个字节,地址出现在 A0-A7的上时读写,用 movx ACC,R)读写。这个比较特 殊,而且C51好象有对此BUG建议少用。但也有他的优 点,具体用法属于中级问题,这里不提。单片机 C 语言 unsigned char code table code 是什么作用?code 的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是 相当与汇编里面的寻址 MOVX好像是),因为C语言中没 办法详细描述存入的是 ROMS是RAM(寄存器),所以在 软件中添加了这一个语句起到代替汇编指令的作用,对 应的还有data是存入
4、RAM的意思。程序可以简单的分为 code (程序)区,和data (数 据)区, code 区在运行的时候是不可以更改的, data 区 放全局变量和临时变量,是要不断的改变的, cpu 从 code 区读取指令,对 data 区的数据进行运算处理,因此 code 区存储在什么介质上并不重要,象以前的计算机程 序存储在卡片上,code区也可以放在rom里面,也可以 放在 ram 里面,也可以放在 flash 里面(但是运行速度要 慢很多,主要读flash比读ram要费时间),因此一般的做法是要将程序放到 flash 里面,然后 load 到 ram 里面 运行的;DATA区就没有什么选择了,
5、肯定要放在RAM里面,放到 rom 里面改动不了。bdata 如何使用它呢?若程序需要 8 个或者更多的 bit 变量,如果你想一次性给8 个变量赋值的话就不方便了, (举个例子说说它的方便 之处,想更深入的了解请在应用中自己琢磨) 又不可以定 义 bit 数组,只有一个方法char bdata MODE;sbit M0DE_7 = MODEA7;sbit M0DE_6 = MODEA6;sbit MODE_5 = MODEA5;sbit MODE_4 = MODEA4;sbit MODE_3 = MODEA3;sbit MODE_2 = MODEA2;sbit MODE_1 = MODEA1
6、;sbit MODE_0 = MODEA0;8个bit变量MODE_就定义好了这是定义语句, Keilc 的特殊数据类型。记住一定要是sbit不能 bit MODE_0 = MODEA0;赋值语句要是这么写 C 语言就视为异或运算空间名称地址范围 说明DATAD:00H7FH片内RAM直接寻址区BDATAD:20H2FH片内RAM位寻址区IDATAI:00HFFH片内RAM间接寻址区XDATAX:0000HFFFFH64KB 常规片外RAM数据区HDATAX:0000HFFFFFFH16MB扩展片外RAM数据区CODEC:0000HFFFFH64K 常规片内外ROM弋码区HCONST(ECOD
7、E)C:0000HFFFFFFH16MB 扩展片外ROM常数区(对Dallas390可用作代码 区)BANK0BANK31B0:0000HFFFFHB31:0000HFFFFH分组代码区,最大可扩展 32X64KB ROMkeil 生成的文件:.plg:编译器编译结果.hex 和 .bin: 可执行文件.map 和 .lst: 链接文件.o :目标文件.erf、.lnp、.d 和.axf :调试文件.opt :保存工程配置信息.bak :工程备份文件M51 文件, startup 文件。普通 51 系列单片机存储空间资源分配情况:空间名称地址范围说明DATAD:00H7FH片内RAM直接寻址区
8、BDATAD:20H2FH片内RAM位寻址区IDATAI:00HFFH片内RAM间接寻址区XDATAX:0000HFFFFH64K 片外RAM数据区CODEC:0000HFFFFH64K 片内外ROM代码区BANK0BANK31B0:0000HFFFFHB31:0000HFFFFH 分组代码区,最大可扩展 32X64KB ROM下表是新型80C51单片机扩展空间的分配情况:空间名称地址范围说明DATAD:00H7FH片内RAM直接寻址区BDATAD:20H2FH片内RAM位寻址区IDATAI:00HFFH片内RAM间接寻址区XDATAX:0000HFFFFH64KB 常规片外RAM数据区HDATAX:0000HFFFFFFH16MB扩展片外RAM数据区CODEC:0000HFFFFH64K 常规片内外ROM弋码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计师事务所风控制度
- 县审计局ao办公制度
- 审计法务部部门规章制度
- 审计局书室制度
- 农场财务规章制度
- 审计服务军事政策制度
- 审计角度新政府会计制度
- 保卫人员教育培训制度
- 制冷厂教育培训计划制度
- 严格财务支出审计制度
- 2025年包头钢铁职业技术学院单招职业适应性考试模拟测试卷附答案
- 人教版八年级生物上册《4.6.3神经系统支配下的运动》同步练习题及答案
- 2025年中国卫浴行业发展研究报告
- 2026年广西信息职业技术学院单招职业适应性测试题库附答案解析
- 智能水表供货合同范本
- 3.1世界是普遍联系的 课件 2025-2026学年统编版高中政治必修四哲学与文化
- 2025年中国烟草内蒙古应届高校毕业生招聘(申论)练习题及答案
- 2026年南京旅游职业学院单招职业倾向性测试必刷测试卷附答案
- 《数字孪生湖库水质管理系统设计技术导则》
- 一年级读书分享会爱心树
- 《急危重症护理》课件-第七章 急性中毒患者的救护
评论
0/150
提交评论