Keil的使用及流水灯设计ppt课件

上传人:痛*** 文档编号:135810792 上传时间:2022-08-15 格式:PPT 页数:30 大小:1.67MB
收藏 版权申诉 举报 下载
Keil的使用及流水灯设计ppt课件_第1页
第1页 / 共30页
Keil的使用及流水灯设计ppt课件_第2页
第2页 / 共30页
Keil的使用及流水灯设计ppt课件_第3页
第3页 / 共30页
资源描述:

《Keil的使用及流水灯设计ppt课件》由会员分享,可在线阅读,更多相关《Keil的使用及流水灯设计ppt课件(30页珍藏版)》请在装配图网上搜索。

1、Keil uVision2 的运用的运用 1、keil C51 的安装的安装 2、工程的建立、工程的建立 3、ASM文件的建立文件的建立 4、工程的编译、工程的编译 5、工程的调试、工程的调试 6、工程程序的烧写、工程程序的烧写一、keil C51 的安装:先运转光盘中 单片机软件setupsetup.exe 安装程序,选择安装“Eval Version版进展安装。不断点击“Yes或“Next,直到“Finish完成。安装好后,在桌面上会产生快捷图标,如以下图:二、二、keil C51 的运用:的运用:点击桌面快捷图标,可以直接进入主画面:点击桌面快捷图标,可以直接进入主画面:v 如今,我一步

2、一步学着做,实践体验一下从编辑源程序到程序调试的全过程。我们做一个 让单片机 P0 口所驱动的 LED 灯隔一个亮隔一个灭的程序。v1、在、在Keil系统中,每做个独立的程序,都视为工程或者系统中,每做个独立的程序,都视为工程或者叫工程。首先从菜但的叫工程。首先从菜但的“工程中工程中“新建工程新建工程.,建立我,建立我们将要做的工程工程:们将要做的工程工程:v新建的工程要起个与工程工程意义一致的名字,可以是中文名;我们这新建的工程要起个与工程工程意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为里的程序是实验测试程序,所以起的名字为 Test,并将,并将 Test 工程

3、工程“保保管到管到 C:Keil 下:下:v接下来,接下来,Keil环境要求我们为环境要求我们为 Test 工程选择一个单片机型号;我们选择工程选择一个单片机型号;我们选择 Atmel 公司的公司的 89C51虽然我们运用的是虽然我们运用的是89S51,但由于,但由于89S51与与89C51内、外部构造完全一样,所以这里依然选择内、外部构造完全一样,所以这里依然选择“89C51。“确确定后工程工程就算建立了。定后工程工程就算建立了。v 2、立了工程工程,一定要实施这个工程,如今就为工程添加程序;点击“文件中的“新建,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这里他可以进展

4、编辑、修正等操作。v根据题意,在文档中写入以下代码:以下代码他根据题意,在文档中写入以下代码:以下代码他暂时不要管什么意思,只需照抄正确就可以,今后暂时不要管什么意思,只需照抄正确就可以,今后在学习汇编时他会明白的在学习汇编时他会明白的 mov p0,#01010101B ;将将01010101二进制代码二进制代码送送P0口口 ajmp$;程序在此原地踏步程序在此原地踏步 end ;程序终了标志程序终了标志 写完后再检查一下,并保管文件,保管文件时,写完后再检查一下,并保管文件,保管文件时,其文件名最好与前面建立的工程名一样当然这里其文件名最好与前面建立的工程名一样当然这里为为 Test 了,

5、其扩展名必需为了,其扩展名必需为.Asm!“文件名文件名中一定要写全,如:中一定要写全,如:Test.Asm;保管后的文档;保管后的文档彩色语法会起作用,将关键字实行彩色显示:彩色语法会起作用,将关键字实行彩色显示:v3、保管了、保管了Asm文件后,还要将其添加到工程中。详细做法如下:见文件后,还要将其添加到工程中。详细做法如下:见以下图鼠标右键点击以下图鼠标右键点击“Source Group 1,在弹出的菜单中选,在弹出的菜单中选“添加添加文件到组文件到组 Source Group 1:v在接下来出现的窗口中,选择在接下来出现的窗口中,选择“文件类型为文件类型为“Asm源文件源文件*.a*,

6、*.src由于我们运用的是汇编言语,所以选择由于我们运用的是汇编言语,所以选择Asm源文件,选中刚刚保源文件,选中刚刚保管的管的 Test.Asm,按,按“Add,再按,再按“封锁,文件就添加到了工程中。封锁,文件就添加到了工程中。v 向工程添加了源文件后,鼠标右键点击向工程添加了源文件后,鼠标右键点击“TarGet 1,在弹出的菜单,在弹出的菜单中选中选“目的目的 Target 1 属性,如以下图:属性,如以下图:v在翻开的话框中,选择在翻开的话框中,选择“输出选项卡,在这个选项卡中,输出选项卡,在这个选项卡中,“E生成生成HEX文件选项前要打勾,按文件选项前要打勾,按“确定退出。确定退出。

7、v4、最后,从菜单的最后,从菜单的“工程中执行工程中执行“R重新构造一切目的或者按以下图红圈重新构造一切目的或者按以下图红圈中的按钮,汇编、衔接、创建中的按钮,汇编、衔接、创建Hex文件一气呵成;在工程文件的目录下就会生文件一气呵成;在工程文件的目录下就会生成与工程名一样的一些文件,其中大部分文件我们并不用关怀,而生成的成与工程名一样的一些文件,其中大部分文件我们并不用关怀,而生成的 Hex 文件是我们需求的!它是要烧写到单片机中的最终代码,也就是单片机可以执文件是我们需求的!它是要烧写到单片机中的最终代码,也就是单片机可以执行的程序。这里生成的是行的程序。这里生成的是 Test.HEX,稍后

8、就写入。,稍后就写入。假设在下面的形状窗中有错误提示,就需求再次编辑、修正源程序如语法、假设在下面的形状窗中有错误提示,就需求再次编辑、修正源程序如语法、字符有错等、保管、构造一切。直至没有错误。字符有错等、保管、构造一切。直至没有错误。v 5、在没有语法错误的情况下,按以下图红圈中的按钮就可以进展模拟调试:v下面是调试窗。由于我们的程序是让下面是调试窗。由于我们的程序是让 P0 口口8个脚隔一个输出个脚隔一个输出0,隔一个,隔一个输出输出1,所以要从菜单的,所以要从菜单的“外围设备中翻开外围设备中翻开“Prot 0 P0口窗:口窗:v 单击“单步运转,在P0窗中就可以看到我们原先想象的效果:

9、#include /52系列单片机头文件sbit led1=P10;/声明单片机P1口的第一位void main()/主函数led1=0;/*点亮第一个发光二极管*/总线操作#include /52系列单片机头文件void main()/主函数P1=0 xaa;灯的闪烁#include /52系列单片机头文件#define uint unsigned int/宏定义sbit led1=P10;/声明单片机P1口的第一位uint i,j;void main()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/for(i=1;i0;i-)/延时for(j=110;j0;j-

10、);led1=1;/*封锁第一个发光二极管*/for(i=1000;i0;i-)/延时for(j=110;j0;j-);运用延时函数#include /52系列单片机头文件#define uint unsigned int/宏定义sbit led1=P10;/声明单片机P1口的第一位void delay1s();/声明子函数void main()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/delay1s();/调用延时子函数led1=1;/*封锁第一个发光二极管*/delay1s();/调用延时子函数void delay1s()/子函数体uint i,j;for(

11、i=500;i0;i-)for(j=110;j0;j-);运用带参数的延时函数#include /52系列单片机头文件#define uint unsigned int/宏定义sbit led1=P10;/声明单片机P1口的第一位void delayms(uint);/声明子函数void main()/主函数while(1)/大循环led1=0;/*点亮第一个发光二极管*/delayms(200);/延时200毫秒led1=1;/*封锁第一个发光二极管*/delayms(800);/延时800毫秒void delayms(uint xms)uint i,j;for(i=xms;i0;i-)/i

12、=xms即延时约xms毫秒for(j=110;j0;j-);Keil仿真及延时语句的准确计算#include /52系列单片机头文件#define uint unsigned int/宏定义sbit led1=P10;/声明单片机P1口的第一位uint i,j;void main()/主函数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系列单片

13、机头文件#include#define uint unsigned int/宏定义#define uchar unsigned charvoid delayms(uint);/声明子函数uchar aa;void main()/主函数aa=0 xfe;/赋初值11111110 while(1)/大循环P1=aa;delayms(500);/延时500毫秒aa=_crol_(aa,1);/将aa循环左移1位后再赋给aavoid delayms(uint xms)uint i,j;for(i=xms;i0;i-)/i=xms即延时约xms毫秒for(j=110;j0;j-);花样流水灯v#incl

14、ude v#define INT8Uunsigned charv#define INT16U unsigned intvcode INT16U Pattern=/本例16位的花样数组vv0 xFCFF,0 xF9FF,0 xF3FF,0 xE7FF,0 xCFFF,0 x9FFF,0 x3FFF,0 x7FFE,0 xFFFC,v0 xFFF9,0 xFFF3,0 xFFE7,0 xFFCF,0 xFF9F,0 xFF3F,0 xFFFF,0 xE7E7,0 xDBDB,v0 xBDBD,0 x7E7E,0 xBDBD,0 xDBDB,0 xE7E7,0 xFFFF,0 xE7E7,0 xC3

15、C3,0 x8181,v0 x0000,0 x8181,0 xC3C3,0 xE7E7,0 xFFFF,0 xAAAA,0 x5555,0 x1818,0 xFFFF,v0 xF0F0,0 x0F0F,0 x0000,0 xFFFF,0 xF8F8,0 xF1F1,0 xE3E3,0 xC7C7,0 x8F8F,v0 x1F1F,0 x3F3F,0 x7F7F,0 x7F7F,0 x3F3F,0 x1F1F,0 x8F8F,0 xC7C7,0 xE3E3,v0 xF1F1,0 xF8F8,0 xFFFF,0 x0000,0 x0000,0 xFFFF,0 xFFFF,0 x0F0F,0 xF0

16、F0,v0 xFEFF,0 xFDFF,0 xFBFF,0 xF7FF,0 xEFFF,0 xDFFF,0 xBFFF,0 x7FFF,0 xFFFE,v0 xFFFD,0 xFFFB,0 xFFF7,0 xFFEF,0 xFFDF,0 xFFBF,0 xFF7F,0 xFF7F,0 xFFBF,v0 xFFDF,0 xFFEF,0 xFFF7,0 xFFFB,0 xFFFD,0 xFFFE,0 x7FFF,0 xBFFF,0 xDFFF,v0 xEFFF,0 xF7FF,0 xFBFF,0 xFDFF,0 xFEFF,0 xFEFF,0 xFCFF,0 xF8FF,0 xF0FF,v0 xE

17、0FF,0 xC0FF,0 x80FF,0 x00FF,0 x00FE,0 x00FC,0 x00F8,0 x00F0,0 x00E0,v0 x00C0,0 x0080,0 x0000,0 x0000,0 x0080,0 x00C0,0 x00E0,0 x00F0,0 x00F8,v0 x00FC,0 x00FE,0 x00FF,0 x80FF,0 xC0FF,0 xE0FF,0 xF0FF,0 xF8FF,0 xFCFF,v0 xFEFF,0 x0000,0 xFFFF,0 x0000,0 xFFFF,0 x0000,0 xFFFF,0 x0000,0 xFFFFv;vvoid delay_

18、ms(INT16U x)vvINT8U t;while(x-)for(t=0;t 120;t+);vvvoid main()vv INT8U i;vwhile(1)vvfor(i=0;i8;vP2=Patterni;vdelay_ms(50);vvv方波发生器v用任一IO口做一个周期为20ms的方波发生器#include /52系列单片机头文件#define uint unsigned int/宏定义sbit l1=P10;/声明单片机P1口的第一位void delay1s();/声明子函数void main()/主函数while(1)/大循环l1=0;/*点亮第一个发光二极管*/delay1

19、s();/调用延时子函数l1=1;/*封锁第一个发光二极管*/delay1s();/调用延时子函数void delay1s()/子函数体uint i,j;for(i=10;i0;i-)for(j=120;j0;j-);练习各种效果流水灯v第一个发光管以间隔第一个发光管以间隔200ms闪烁闪烁v8个发光管由上至下间隔个发光管由上至下间隔1s流动,其中每个管亮流动,其中每个管亮500ms,灭灭500ms,不断反复下去。,不断反复下去。v8个发光管来回流动,每个管亮个发光管来回流动,每个管亮100ms。v用用8个发光管演示出个发光管演示出8位二进制数累加过程。位二进制数累加过程。v8个发光管间隔个发

20、光管间隔200ms由上至下,再由下至上,再反复一次,由上至下,再由下至上,再反复一次,然后全部熄灭再以然后全部熄灭再以300ms间隔全部闪烁间隔全部闪烁5次。反复此过程。次。反复此过程。v间隔间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,第一次一个管亮流动一次,第二次两个管亮流动,依次到依次到8个管亮,然后反复整个过程。个管亮,然后反复整个过程。v间隔间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;动三次;8个全部闪烁个全部闪烁3次;封锁发光管,程序停顿。次;封锁发光管,程序停顿。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!