




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第二章C与8051 对单片机的指令系统不要求了解 仅要求对8051的存储器结构有初步了解 寄存器的分配 不同存储的寻址及数据类型等细节可由编译器管理 程序有规范的结构 可分为不同的函数 这种方式可使程序结构化 具有将可变的选择与特殊操作组合在一起的能力 改善了程序的可读性 关键字及运算函数可用近似人的思维过程方式使用 编程和程序调试时间显著缩短 从而提高效率 提供的库包含许多标准子程序 具有较强的数据处理能力 具有方便的模块化编程技术 程序移植性强 C语言的优点 2 2Cx51编译器 注 1 仅大模式有浮点支持 3 支持几种动态分配方案 2 不能翻译所有测试程序 4 ROM与RAM映射到同一地址空间 2 3keil8051开发工具 keil8051开发工具的用途 可用于编译C源程序 汇编程序 链接和定位目标文件及库 创建HEX文件以及调试目标程序 keil开发套件对照表 keil软件开发流程 1 创建一个项目 从期间数据库中选择目标芯片 并配置工具软件的设置 2 用C或汇编创建源程序 3 用项目管理器构造应用 4 纠正源文件中的错误 5 调试链接后的应用 文件夹组织结构安装程序复制开发工具到基本目录的各个子目录中 默认的基本目录是C KEIL 下表列出的文件夹结构是包括所有8051开发工具的全部安装信息 C KEIL C51 ASM汇编SFR定义文件和模板源程序文件C KEIL C51 BIN8051工具的执行文件C KEIL C51 EXAMPLES示例应用C KEIL C51 RTX51完全实时操作系统文件C KEIL C51 RTX TINY小型实时操作系统文件C KEIL C51 INCC编译器包含文件C KEIL C51 LIBC编译器库文件启动代码和常规I O资源C KEIL C51 MONITOR目标监控文件和用户硬件的监控配置C KEIL UV2普通uVision2文件 keilCx51使用简介 1 点击Project菜单 选择弹出的下拉式菜单中的NewProject 如图1 2 图1 2NewProject菜单 2 选择所要的单片机 这里选择常用的Ateml公司的AT89c51 而且本单片机c语言教程里的大部分程序都是基于此芯片的 此时屏幕如图1 4所示 图1 4选取芯片 3 首先在项目中创建新的程序文件或加入旧程序文件 如果您没有现成的程序 那么就要新建一个程序文件 在KEIL中有一些程序的Demo 在这里我们还是以一个C程序为例介绍如何新建一个C程序和如何加到您的第一个项目中 点击图1 5中1的新建文件的快捷按钮 在2中出现一个新的文字编辑窗口 图1 5新建程序文件 这个操作也能通过菜单File New或快捷键Ctrl N来实现 好了 现在能编写程序了 4 保存文件 程序命名为test1 c 保存在项目所在的目录中 这个时候您会发现程序单词有了不一样的颜色 说明KEIL的C语言语法检查生效了 如图1 6鼠标在屏幕左边的SourceGroup1文件夹图标上右击弹出菜单 在这里能在项目中增加减少文件等操作 选 AddFiletoGroup SourceGroup1 弹出文件窗口 选择刚刚保存的文件 按ADD按钮 关闭文件窗 程序文件已加到项目中了 这个时候在SourceGroup1文件夹图标左边出现了一个小 号说明 文件组中有了文件 点击它能展开查看 图1 6把文件加入到项目文件组中 5 编译运行 看图1 7 图中1 2 3都是编译按钮 不一样是1是用于编译单个文件 2是编译链接当前项目 如果先前编译过一次之后文件没有做动编辑改动 这个时候再点击是不会再次重新编译的 3是重新编译 每点击一次均会再次编译链接一次 不管程序是否有改动 在3右边的是停止编译按钮 只有点击了前三个中的任一个 停止按钮才会生效 5是菜单中的它们 在4中能看到编译的错误信息和使用的系统资源情况等 以后我们要查错就靠它了 6是有一个小放大镜的按钮 这就是开启 关闭调试模式的按钮 它也存在于菜单Debug Start StopDebugSession 快捷键为Ctrl F5 图1 7编译程序 6 进入调试模式 软件窗口样式大致如图1 8所示 图中1为运行 当程序处于停止状态时才有效 2为停止 程序处于运行状态时才有效 3是复位 模拟芯片的复位 程序回到最开头处执行 按4能打开5中的串行调试窗口 这个窗口能看到从51芯片的串行口输入输出的字符 2 4Cx51程序开发过程 2 5Cx51程序结构 一般格式 类型函数名 数据类型形式参数 数据类型形式参数 数据说明部分 执行语句部分 一个函数可以以 种形态出现 函数定义 函数调用 函数说明 Cx51程序结构 程序 P1端口输出 include 单片机资源描述voidmain void 一个项目只有一 个main主函数 函数体开始P1 0 x55 隔一个为高while 1 单片机空循环待机 函数体结束 Cx51编程要点 语言由函数构成 一个函数由两个部分组成 程序总是从mian 函数开始的 书写格式自由 分号结束 语言对输入 输出 函数化 注解用 或 内容 C程序的规范化设计 在单片机C程序设计中 项目一般按功能模块化进行结构化设计 将一个项目划分为多个功能 每个功能的相关程序放在一个C程序文档中 称之为一个模块 对应的文件名即为模块名 一个模块通常由两个文档组成 一个为头文件 h 对模块中的数据结构和函数原型进行描述 另一个则为C文件 c 对数据实例或对象定义 以及函数算法具体实现 H头文件的作用 作为项目设计 除了对项目总体功能进行详细描述外 就是对每个模块进行详细定义 也就是给出所有模块的头文件 通常H头文件要定义模块中各函数的功能 以及输入和输出参数的要求 模块的具体实现 由项目组成根据H文件进行设计 编程 调试完成 为了保密和安全 模块实现后以可连接文件OBJ 或库文件LIB的方式提供给项目其他成员使用 H头文件的基本格式 如下为键盘驱动模块KeyDriver H的模型 ifndef KeyDriver H 防重复引用 define KeyDriver H 此符号唯一 charkbhit void 击键否unsignedchargetch void 取键值 endif C程序的基本格式 include 头文件在系统中 include KeyDriver h 头文件在项目中charkbhit void 击键否 unsignedchargetch void 取键值 C程序的书写要求 函数之间相隔两个空行函数内功能块相隔一个空行用TAB调整结构括号 中的凹进函数内if switch while for等语句分块无论有几条语句 都必须用括号 处理用括号 处理运算的先后顺序 尤其是对于混合布尔 逻辑运算的条件判别尽量详细给出注释 C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子控制四轮驱动装置合作协议书
- 抗击八国联军课件教学
- 扫黄打非安全培训总结课件
- 2025年协和学校考试题目及答案
- 2025年江西消防考试题目及答案
- 2025年初级监理考试题目及答案
- 2025年艺术结业考试题目及答案
- 弱电项目招标文件
- 联衡中学考试真题及答案
- 情感家庭教育培训课件
- 科技伦理审查管理办法
- 2025年江苏省开发区运行现状及投资战略研究报告
- 少儿口才培训教案 课件
- 中学教学常规管理汇报
- 胸部损伤外科诊疗体系
- 土石方工程计量计价课件
- 第27课 中国特色社会主义的开创与发展 课件 中外历史纲要(上)
- 护士职业行为规范课件
- 试油hse管理制度
- 市(县)级温室气体排放源、排放清单报告模板
- 《出境旅游领队实务》课件项目一
评论
0/150
提交评论