




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
KeiluVision2的使用,1、keilC51的安装2、项目的建立3、ASM文件的建立4、项目的编译5、项目的调试6、项目程序的烧写,一、keilC51的安装:先运行光盘中单片机软件setupsetup.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=P10;/声明单片机P1口的第一位voidmain()/主函数led1=0;/*点亮第一个发光二极管*/,总线操作,#include/52系列单片机头文件voidmain()/主函数P1=0 xaa;,灯的闪烁,#include/52系列单片机头文件#defineuintunsignedint/宏定义sbitled1=P10;/声明单片机P1口的第一位uinti,j;voidmain()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/for(i=1;i0;i-)/延时for(j=110;j0;j-);led1=1;/*关闭第一个发光二极管*/for(i=1000;i0;i-)/延时for(j=110;j0;j-);,使用延时函数,#include/52系列单片机头文件#defineuintunsignedint/宏定义sbitled1=P10;/声明单片机P1口的第一位voiddelay1s();/声明子函数voidmain()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/delay1s();/调用延时子函数led1=1;/*关闭第一个发光二极管*/delay1s();/调用延时子函数voiddelay1s()/子函数体uinti,j;for(i=500;i0;i-)for(j=110;j0;j-);,使用带参数的延时函数,#include/52系列单片机头文件#defineuintunsignedint/宏定义sbitled1=P10;/声明单片机P1口的第一位voiddelayms(uint);/声明子函数voidmain()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/delayms(200);/延时200毫秒led1=1;/*关闭第一个发光二极管*/delayms(800);/延时800毫秒voiddelayms(uintxms)uinti,j;for(i=xms;i0;i-)/i=xms即延时约xms毫秒for(j=110;j0;j-);,Keil仿真及延时语句的精确计算,#include/52系列单片机头文件#defineuintunsignedint/宏定义sbitled1=P10;/声明单片机P1口的第一位uinti,j;voidmain()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/for(i=1;i0;i-)/延时for(j=110;j0;j-);led1=1;/*关闭第一个发光二极管*/for(i=1000;i0;i-)/延时for(j=110;j0;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位后再赋给aavoiddelayms(uintxms)uinti,j;for(i=xms;i0;i-)/i=xms即延时约xms毫秒for(j=110;j0;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;t8;P2=Patterni;delay_ms(50);,方波发生器,用任一IO口做一个周期为20ms的方波发生器,#include/52系列单片机头文件#defineuintunsignedint/宏定义sbitl1=P10;/声明单片机P1口的第一位voiddelay1s();/声明子函数voidmain()/主函数while(1)/大循环l1=0;/*点亮第一个发光二极管*/delay1s();/调用延时子函数l1=1;/*关闭第一个发光二极管*/delay1s();/调用延时子函数voiddelay1s()/子函数体uinti,j;for(i=10;i0;i-)for(j=120;j0;j-);,练习各种效果流水灯,第一个发光管以间隔200ms闪烁8个发光管由上至下间隔1s流动,其中每个管亮50
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钨酸铵溶液制备工专项考核试卷及答案
- 职业暴露知识培训课件
- 耐火制品切磨加工工技能比武考核试卷及答案
- 汽车电器维修工成本控制考核试卷及答案
- 汽车座椅调节机制创新创业项目商业计划书
- 汽车自动化仪表盘组装创新创业项目商业计划书
- 铸管精整操作工入职考核试卷及答案
- 智能体重管理设备创新创业项目商业计划书
- 考点解析-沪科版8年级下册期末试题附完整答案详解【名校卷】
- 石油勘探工新员工考核试卷及答案
- 出生医学证明警示教育培训
- 2024年秋季新外研版七年级英语上册教学计划
- 高一语文开学第一课课件
- 2024-2030年中国汽车金融行业市场深度分析及竞争格局与发展前景展望研究报告
- 光伏组件回收再利用建设项目可行性研究报告写作模板-拿地申报
- JGT163-2013钢筋机械连接用套筒
- HIV感染产妇分娩母婴阻断演练脚本
- 《公路桥梁施工监控技术规程》(JTGT3650-01-2022)
- 血气分析标本采集及结果判读
- 科技园区建设规划
- 2024广西公需课高质量共建“一带一路”谱写人类命运共同体新篇章答案
评论
0/150
提交评论