




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
KeiluVision2的使用 1 keilC51的安装2 项目的建立3 ASM文件的建立4 项目的编译5 项目的调试6 项目程序的烧写 一 keilC51的安装 先运行光盘中单片机软件 setup setup exe安装程序 选择安装 EvalVersion 版进行安装 一直点击 Yes 或 Next 直到 Finish 完成 安装好后 在桌面上会产生快捷图标 如下图 二 keilC51的使用 点击桌面快捷图标 可以直接进入主画面 现在 我一步一步学着做 实际体验一下从编辑源程序到程序调试的全过程 我们做一个让单片机P0口所驱动的LED灯隔一个亮隔一个灭的程序 1 在Keil系统中 每做个独立的程序 都视为工程 或者叫项目 首先从菜但的 工程 中 新建工程 建立我们将要做的工程项目 新建的工程要起个与工程项目意义一致的名字 可以是中文名 我们这里的程序是实验测试程序 所以起的名字为Test 并将Test工程 保存 到C Keil下 接下来 Keil环境要求我们为Test工程选择一个单片机型号 我们选择Atmel公司的89C51 虽然我们使用的是89S51 但由于89S51与89C51内 外部结构完全一样 所以这里依然选择 89C51 确定 后工程项目就算建立了 2 立了工程项目 肯定要实施这个工程 现在就为工程添加程序 点击 文件 中的 新建 新建一个空白文档 这个空白文档就是让我们编写单片机程序的场所 在这里你可以进行编辑 修改等操作 根据题意 在文档中写入下列代码 下列代码你暂时不要管什么意思 只要照抄正确就可以 今后在学习汇编时你会明白的 movp0 01010101B 将01010101二进制代码送P0口ajmp 程序在此原地踏步end 程序结束标志写完后再检查一下 并保存文件 保存文件时 其文件名最好与前面建立的工程名相同 当然这里为Test了 其扩展名必须为 Asm 文件名 中一定要写全 如 Test Asm 保存后的文档彩色语法会起作用 将关键字实行彩色显示 3 保存了Asm文件后 还要将其添加到工程中 具体做法如下 见下图 鼠标右键点击 SourceGroup1 在弹出的菜单中选 增加文件到组SourceGroup1 在接下来出现的窗口中 选择 文件类型 为 Asm源文件 a src 由于我们使用的是汇编语言 所以选择Asm源文件 选中刚才保存的Test Asm 按 Add 再按 关闭 文件就添加到了工程中 向工程添加了源文件后 鼠标右键点击 TarGet1 在弹出的菜单中选 目标Target1属性 如下图 在打开的话框中 选择 输出 选项卡 在这个选项卡中 E生成HEX文件 选项前要打勾 按 确定 退出 4 最后 从菜单的 工程 中执行 R重新构造所有目标 或者按下图红圈中的按钮 汇编 连接 创建Hex文件一气呵成 在工程文件的目录下就会生成与工程名相同的一些文件 其中大部分文件我们并不必关心 而生成的Hex文件是我们需要的 它是要烧写到单片机中的最终代码 也就是单片机可以执行的程序 这里生成的是Test HEX 稍后就写入 若在下面的状态窗中有错误提示 就需要再次编辑 修改源程序 如语法 字符有错等 保存 构造所有 直至没有错误 5 在没有语法错误的情况下 按下图红圈中的按钮就可以进行模拟调试 下面是调试窗 由于我们的程序是让P0口8个脚隔一个输出0 隔一个输出1 所以要从菜单的 外围设备 中打开 Prot0 P0口窗 单击 单步运行 在P0窗中就可以看到我们原先设想的效果 点亮第一个发光二极管 位操作 include 52系列单片机头文件sbitled1 P1 0 声明单片机P1口的第一位voidmain 主函数 led1 0 点亮第一个发光二极管 总线操作 include 52系列单片机头文件voidmain 主函数 P1 0 xaa 灯的闪烁 include 52系列单片机头文件 defineuintunsignedint 宏定义sbitled1 P1 0 声明单片机P1口的第一位uinti j voidmain 主函数 while 1 大循环 led1 0 点亮第一个发光二极管 for i 1 i 0 i 延时for j 110 j 0 j led1 1 关闭第一个发光二极管 for i 1000 i 0 i 延时for j 110 j 0 j 使用延时函数 include 52系列单片机头文件 defineuintunsignedint 宏定义sbitled1 P1 0 声明单片机P1口的第一位voiddelay1s 声明子函数voidmain 主函数 while 1 大循环 led1 0 点亮第一个发光二极管 delay1s 调用延时子函数led1 1 关闭第一个发光二极管 delay1s 调用延时子函数 voiddelay1s 子函数体 uinti j for i 500 i 0 i for j 110 j 0 j 使用带参数的延时函数 include 52系列单片机头文件 defineuintunsignedint 宏定义sbitled1 P1 0 声明单片机P1口的第一位voiddelayms uint 声明子函数voidmain 主函数 while 1 大循环 led1 0 点亮第一个发光二极管 delayms 200 延时200毫秒led1 1 关闭第一个发光二极管 delayms 800 延时800毫秒 voiddelayms uintxms uinti j for i xms i 0 i i xms即延时约xms毫秒for j 110 j 0 j Keil仿真及延时语句的精确计算 include 52系列单片机头文件 defineuintunsignedint 宏定义sbitled1 P1 0 声明单片机P1口的第一位uinti j voidmain 主函数 while 1 大循环 led1 0 点亮第一个发光二极管 for i 1 i 0 i 延时for j 110 j 0 j led1 1 关闭第一个发光二极管 for i 1000 i 0 i 延时for j 110 j 0 j 利用C51库函数实现流水灯 include 52系列单片机头文件 include defineuintunsignedint 宏定义 defineucharunsignedcharvoiddelayms uint 声明子函数ucharaa voidmain 主函数 aa 0 xfe 赋初值11111110while 1 大循环 P1 aa delayms 500 延时500毫秒aa crol aa 1 将aa循环左移1位后再赋给aa voiddelayms uintxms uinti j for i xms i 0 i i xms即延时约xms毫秒for j 110 j 0 j 花样流水灯 include defineINT8Uunsignedchar defineINT16UunsignedintcodeINT16UPattern 本例16位的花样数组 0 xFCFF 0 xF9FF 0 xF3FF 0 xE7FF 0 xCFFF 0 x9FFF 0 x3FFF 0 x7FFE 0 xFFFC 0 xFFF9 0 xFFF3 0 xFFE7 0 xFFCF 0 xFF9F 0 xFF3F 0 xFFFF 0 xE7E7 0 xDBDB 0 xBDBD 0 x7E7E 0 xBDBD 0 xDBDB 0 xE7E7 0 xFFFF 0 xE7E7 0 xC3C3 0 x8181 0 x0000 0 x8181 0 xC3C3 0 xE7E7 0 xFFFF 0 xAAAA 0 x5555 0 x1818 0 xFFFF 0 xF0F0 0 x0F0F 0 x0000 0 xFFFF 0 xF8F8 0 xF1F1 0 xE3E3 0 xC7C7 0 x8F8F 0 x1F1F 0 x3F3F 0 x7F7F 0 x7F7F 0 x3F3F 0 x1F1F 0 x8F8F 0 xC7C7 0 xE3E3 0 xF1F1 0 xF8F8 0 xFFFF 0 x0000 0 x0000 0 xFFFF 0 xFFFF 0 x0F0F 0 xF0F0 0 xFEFF 0 xFDFF 0 xFBFF 0 xF7FF 0 xEFFF 0 xDFFF 0 xBFFF 0 x7FFF 0 xFFFE 0 xFFFD 0 xFFFB 0 xFFF7 0 xFFEF 0 xFFDF 0 xFFBF 0 xFF7F 0 xFF7F 0 xFFBF 0 xFFDF 0 xFFEF 0 xFFF7 0 xFFFB 0 xFFFD 0 xFFFE 0 x7FFF 0 xBFFF 0 xDFFF 0 xEFFF 0 xF7FF 0 xFBFF 0 xFDFF 0 xFEFF 0 xFEFF 0 xFCFF 0 xF8FF 0 xF0FF 0 xE0FF 0 xC0FF 0 x80FF 0 x00FF 0 x00FE 0 x00FC 0 x00F8 0 x00F0 0 x00E0 0 x00C0 0 x0080 0 x0000 0 x0000 0 x0080 0 x00C0 0 x00E0 0 x00F0 0 x00F8 0 x00FC 0 x00FE 0 x00FF 0 x80FF 0 xC0FF 0 xE0FF 0 xF0FF 0 xF8FF 0 xFCFF 0 xFEFF 0 x0000 0 xFFFF 0 x0000 0 xFFFF 0 x0000 0 xFFFF 0 x0000 0 xFFFF voiddelay ms INT16Ux INT8Ut while x for t 0 t 8 P2 Pattern i delay ms 50 方波发生器 用任一IO口做一个周期为20ms的方波发生器 include 52系列单片机头文件 defineuintunsignedint 宏定义sbitl1 P1 0 声明单片机P1口的第一位voiddelay1s 声明子函数voidmain 主函数 while 1 大循环 l1 0 点亮第一个发光二极管 delay1s 调用延时子函数l1 1 关闭第一个发光二极管 delay1s 调用延时子函数 voiddelay1s 子函数体 uinti j for i 10 i 0 i for j 120 j 0 j 练习各种效果流水灯 第一个发光管以间隔200ms闪烁8个发光管由上至下间隔1s流动 其中每个管亮500ms 灭5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川广元市利州区人力资源和社会保障局教育局考调中心城区中小学教师40人备考模拟试题及答案解析
- 2025江西抚州市宜黄县第二批机关事业单位及县属国有企业招聘编外聘用人员28人备考考试试题及答案解析
- 软件开发定制合同书及验收说明
- 物业管理系统升级合作合同
- 房产中介业务代理合同
- 农业废弃物资源化利用合同书或协议书
- 合作社成员农业种植项目承包合同
- 新版木工承包合同3篇
- 玻璃产品合同范本
- 钢材供应专业合同范本
- 幼儿园大班科学课件:日月地
- 国有企业采购管理规范 T/CFLP 0027-2020
- 巴中中学小升初开学摸底考试
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
- 如何完成原料药中元素杂质的风险评估报告
- 地下水污染的控制与修复课件
- 设备设施管理培训课件
- 医院检验科实验室生物安全管理手册
- 维生素D与女性生殖健康的预防
- 个人会员入会申请表
- 原始社会的解体和阶级社会的演进统编版高中政治必修1
评论
0/150
提交评论