- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务RAM内部数据传送
单片机原理及应用 主讲:李伟波 短号:611128 任务2-1 RAM内部数据传送 任务描述: 内存块移动,多用于大量数据复制和图像操作。 任务要求: 将片内RAM中30H到34H这5个存储单元分别赋值0到4,然后将这5个存储单元中的数据移动到以40H开始的连续5个存储单元中。 任务2-2 片内外RAM数据传送 任务描述: 内存块移动,多用于大量数据复制和图像操作。 任务要求: 将10~19这10个数先送到30H~39H这10个片内RAM中,然后,再将30H~39H中的数传送给10个片外RAM单元中去,地址为0100H~0109H。 1.RAM和ROM的内部结构 2.c51变量定义格式 3.#define 预处理指令 4.c51数组的使用 5.c51绝对地址访问 6.c51流程图结构及设计 7.Keil和Proteus联合调试 8.复习思考题 任务2知识点: 上机训练图例 1.ROM内部结构 回顾ROM空间结构及中断入口区 RAM内部结构 SFR中的累加器A及程序状态字PSW 2. c51变量定义格式 变量格式: [存储种类] 数据类型 [存储器类型] 变量名表; 存储种类:有4种,自动(auto)、外部(extern)、 静态(static)和寄存器(register),默认为自动类型。 注意:用{}括起来的复合语句中的自动类型的变量作用域仅限于该复合语句中,跳出该复合语句则分配给该自动变量的存储单元被收回。 data 直接访问内部数据存储器(128字节) bdata 可位寻址内部数据存储器(16字节) idata 间接访问内部数据存储器(256字节) pdata 分页访问外部数据存储器(256字节) xdata 外部数据存储器( 64KB ) code 程序存储器(64KB) 存储器类型 Startup code:启动代码。在Keil中,启动代码在复位目标系统后立即被执行。启动代码主要实现以下功能: (1)??清除内部数据存储器 (2)??清除外部数据存储器 (3)??清除外部页存储器 (4)??初始化small模式下的可重入栈和指针 (5)??初始化large模式下的可重入栈和指针 (6)??初始化compact模式下的可重入栈和指针 (7)? 初始化8051硬件栈指针 (8)??传递初始化全局变量的控制命令或者在没有初始 化全局变量时给main函数传递命令。 STARTUP.A51 在编译预处理时进行简单的替换,不作正确性检查, 不关含义是否正确照样带入,只有在编译已被展开的源 程序时才会发现可能的错误并报错。 3.#define 预处理指令 #define PI 3.1415926 程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9写成字母g,预处理也照样带入。 #define PI 3.1415926; × 注意#define 不是语句不要在行末加分号,否则会连分号一块置换。 c51数组格式: 数据类型 数组名 [常量表达式] = { 常量表达式 }?; 数据类型 数组名 [常量表达式1] ……[常量表达式n] ; 注意: 数组和普通变量一样,要求先定义,后使用。 每个数组中的数据单元只能是同一数据类型。 方括号[]里的数不能是变量只能是常量。 数组的下标是从0开始的而不是从1开始。 只能逐个引用数组中的元素,不能一次引用整个数组。 初值个数必须小于或等于数组长度 。 4.c51数组的使用 c51数组示例 unsigned int xcount[10]; char inputstring[5]; float outnum[10],[10]; unsigned char LEDNUM[2]={12,35}; int Key[2][3]={{1,2,4},{2,2,1}}; unsigned char IOStr[]={3,5,2,5,3}; unsigned char code skydata[]={0x02,0x34,0x22,0x32,0x21,0x12}; 5.c51绝对地址访问 采用扩展关键字_at_的绝对地址访问语句格式: [存储器类型] 数据类型 标示符 _at_ 地址常数; 注意: 通过关键字_at_定义的绝对变量必须是全局变量。 不能对“绝对变量”进行初始化。 存储器类型默认为模式LARGE等规定的默认存储器类型。 数据类型可采用数组、结构等复杂数据类型。 标示符为要定义的变量名。 地址常数给出的绝对地址必须位于有效存储器空间之内。 c51绝对地址定义示例 struct link
您可能关注的文档
最近下载
- 国标阀门型号编制方法JBT308-2004.PDF
- 2024年福建省能源石化集团有限责任公司春季校园招聘455人笔试参考题库附带答案详解.pdf
- 76G-3预应力长向圆孔板.pdf
- 数字媒体艺术_梦境主题“梦幻之旅”插画绘本设计.docx VIP
- 演示文稿国际结算的几种方式.ppt VIP
- C被遗弃的少女 das verlassene magdlein声乐正谱五线谱钢琴伴奏.pdf
- 七年级下数学数形结合附答案解析.pdf
- 教科版科学四年级下册 第三单元 岩石与土壤 5 岩石、沙和黏土.ppt VIP
- 软件系统试运行报告.doc VIP
- DLT 284_输电线路杆塔及电力金具用热浸镀锌螺栓与螺母.pdf
文档评论(0)