下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任务2-1 RAM内部数据传送,任务描述: 内存块移动,多用于大量数据复制和图像操作。 任务要求: 将片内RAM中30H到34H这5个存储单元分别赋值0到4,然后将这5个存储单元中的数据移动到以40H开始的连续5个存储单元中。,任务2-2 片内外RAM数据传送,任务描述: 内存块移动,多用于大量数据复制和图像操作。 任务要求: 将1019这10个数先送到30H39H这10个片内RAM中,然后,再将30H39H中的数传送给10个片外RAM单元中去,地址为0100H0109H。,1.RAM和ROM的内部结构 2.c51变量定义格式 3.#define 预处理指令 4.c51数组的使用 5.c51绝
2、对地址访问 6.c51流程图结构及设计 7.Keil和Proteus联合调试 8.复习思考题,任务2知识点:,上机训练图例,1.ROM内部结构,回顾ROM空间结构及中断入口区,RAM内部结构,SFR中的累加器A及程序状态字PSW,2. c51变量定义格式,变量格式: 存储种类 数据类型 存储器类型 变量名表; 存储种类:有4种,自动(auto)、外部(extern)、 静态(static)和寄存器(register),默认为自动类型。 注意:用括起来的复合语句中的自动类型的变量作用域仅限于该复合语句中,跳出该复合语句则分配给该自动变量的存储单元被收回。,data 直接访问内部数据存储器(128
3、字节) bdata 可位寻址内部数据存储器(16字节) idata 间接访问内部数据存储器(256字节) pdata 分页访问外部数据存储器(256字节) xdata 外部数据存储器( 64KB ) code 程序存储器(64KB),存储器类型,Startup code:启动代码。在Keil中,启动代码在复位目标系统后立即被执行。启动代码主要实现以下功能: (1)清除内部数据存储器 (2)清除外部数据存储器 (3)清除外部页存储器 (4)初始化small模式下的可重入栈和指针 (5)初始化large模式下的可重入栈和指针 (6)初始化compact模式下的可重入栈和指针 (7) 初始化8051
4、硬件栈指针 (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数组格式: 数
5、据类型 数组名 常量表达式 = 常量表达式 ; 数据类型 数组名 常量表达式1 常量表达式n ; 注意: 数组和普通变量一样,要求先定义,后使用。 每个数组中的数据单元只能是同一数据类型。 方括号里的数不能是变量只能是常量。 数组的下标是从0开始的而不是从1开始。 只能逐个引用数组中的元素,不能一次引用整个数组。 初值个数必须小于或等于数组长度 。,4.c51数组的使用,c51数组示例,unsigned int xcount10; char inputstring5; float outnum10,10; unsigned char LEDNUM2=12,35; int Key23=1,2,4
6、,2,2,1; unsigned char IOStr=3,5,2,5,3; unsigned char code skydata=0 x02,0 x34,0 x22,0 x32,0 x21,0 x12;,5.c51绝对地址访问,采用扩展关键字_at_的绝对地址访问语句格式: 存储器类型 数据类型 标示符 _at_ 地址常数; 注意: 通过关键字_at_定义的绝对变量必须是全局变量。 不能对“绝对变量”进行初始化。 存储器类型默认为模式LARGE等规定的默认存储器类型。 数据类型可采用数组、结构等复杂数据类型。 标示符为要定义的变量名。 地址常数给出的绝对地址必须位于有效存储器空间之内。,c5
7、1绝对地址定义示例,struct link struct link idata *next; char code *test; ; idata struct link list _at_ 0 x40; xdata char text256 _at_ 0 xE000; xdata int i1 _at_ 0 x8000; data uint a5 _at_ 0 x30; data uint b5 _at_ 0 x40;,6.c51流程图结构及设计, c51程序设计步骤 分析问题,确定算法 根据算法,画出程序流程图 分配内存工作区及有关端口地址 编写程序 上机调试,6.c51流程图结构及设计(续)
8、, 常用流程图符号,任务2:流程图,#include #define uchar unsigned char sbit led=P10; data uchar a5 _at_ 0 x30; data uchar b5 _at_ 0 x40;,任务2:源程序,void main(void) uchar i,j,k; for(i=0;i5;i+) ai=i; bi=ai; led=led; for(j=0;j200;j+) for(k=0;k200;k+); ,7.Keil和Proteus联合调试,精品课件!,精品课件!, 将数据00H0FH分别送入RAM的30H3FH存储单元。用KEIL调试程序并观察相应存储区
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业网络销售的智慧之道成功计划的制定与执行
- 文员工作计划中的员工培训与发展计划
- 广州店铺封店通知书
- 延迟开学吉林通知书
- 开元步行街停电通知书
- 弱电机器设备进场通知书
- 彭山小区停水通知书
- 徐州一中暑假开学通知书
- 微信诈骗投诉处理通知书
- 2024年宁夏辅警招聘考试题库附答案详解(典型题)
- 2026届山东省济南市章丘四中化学高一上期中联考试题含解析
- 2025年高考物理试题(浙江卷) 含答案
- 河北大学《宪法学》2024-2025学年期末试卷(A卷)
- 老年人听力障碍
- 帕金森病康复训练计划
- DB32∕T 4145-2021 城市安全风险评估导则
- 《成都市智能建造人工智能(AI)应用指南(2025版)》
- 房地产企业会计科目及明细账的设置
- 安徽省联考2025-2026学年高一上学期10月调研考试语文试卷(含答案)
- 2025-2026华为ICT大赛-基础软件赛道理论考试题库(核心500题)
- 电商公司招聘简章范文(25篇)
评论
0/150
提交评论