资源描述
,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,成于大气 信达天下,*,Click to edit Master title style,Chengdu University of Information Technology,Keil,及,Proteus,软件的应用,电子实验中心 赵建,课件密码:,stud Email:zhaojian,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(一),Keil C51,是德国知名软件公司,Keil,(现已并入,ARM,公司)开发的基于,8051,内,核的微控制器软件开发平台,是目前开发,8051,内核单片机的主流工具。,同学们可以,在实验中心网站(,),下载到该软件。,Keil,软件介绍,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(二),下面给大家介绍怎么用该软件进行一个程序的编写和调试。,打开软件,(双击桌面上的,Keil,软件图标 进入),建立新的项目文件,在下拉菜单中选择,Project,选项,然后选择,New Project,。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(三),给新建的项目取一个名字,取名的时候请注意,一般项目的名字都要能代表项目的内容,不要取一些没有任何意义的名字。,注意:,在这里只需要写出项目的文件名即可,不需要添加后缀,后缀名默认为,.uv2,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(四),选择,CPU,类型,在以下的列表中选择所用的,CPU,型号,选好了以后双击该型号,或者选中后点击“确定”即可。,在本学期的实验中,我们选择,Atmel,公司的,AT89C52,型号的单片机就可以了。或者说我们选择是,51,内核的单片机就可以了。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(五),选择是否添加启动代码,在选择完,CPU,的型号以后,会出现是否添加启动代码选项,一般我们都不会用到启动代码,所以,在这里选择“否(,N,)”选项即可。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(六),选择完以后就可以看到已经建立好的项目在,Project Window,中显示出来了。,项目文件夹,项目中文件夹,可以自己建立多个,放置不同的文件。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(七),建立新的程序文件,在菜单中选择,File,,然后在选择,New File,,建立一个新的程序文件。,或者在快捷图标栏中单击图标,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(八),新建的程序文件类似一个空白的文本框,文本框标注的文件名为,Text 1,,,Text 2,,,Text 3,,,然后我们选择存盘文件,会出现新的对话框。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(九),给新建的程序文件命名,注意:,文件名也应该有实际的意义。在取名时,,一定要给程序文件名带上后缀,,如果选择用汇编语言编写程序,添加的后缀名为,.asm,,如果选择用,C,语言来编写程序添加的后缀名为,.c,,如果不添加后缀名,将导致导入文件时出错。,文件存储的路径默认为项目所在的目录中,也可以选择将程序文件存在其他的路径中,这不会影响到程序的编译及调试过程。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十),建立好了文件以后就可以看到原来的文件对话框,上面就已经有了文件地址和文件名了,这表示文件命,名和确定存储地址已经完成。,文件存放的路径和文件名。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十一),在项目中添加程序文件,接下来,将程序文件添加到项目中去,这样程序文件就可以为项目服务了。添加的方法如下:,用鼠标右键单击项目文件中,所要加入程序文件的文件夹,出现了菜单后,选择“,Add Files to Group ,文件夹名,”选项。,文件夹名,根据实际你给出的项目的文件夹名字决定,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十二),选择后会出现如下的对话框,让你选择需要添加的文,件,更改文件类型选项,可以更加快速的找到你要的程序文,件。找到文件以后双击该文件,或者选中该文件,点击,Add,按钮即可将文件添加进项目中,如果多次添加,软件则会报,告错误。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十三),完成上面的工作后,就可以在文本框里编写你的程序了,编写完的程序就为当前的项目服务。,编写的程序文件如果添加到别的项目中,也可以为别的项目服务。,程序的编写需要有一定的格式,要将程序对齐书写,每行写一条指令。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十四),编译程序,将程序写好后就可以进行编译了。编译的目的是为了让程序变成单片机能识别的机器文件,并且可以帮助程序员找出程序中的语法错误。,编译时只需要点击快捷图标中的 按钮即可。,该按钮表示编译该项目中的所有程序文件。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十五),程序编译完成后会在输出窗口中显示编译结果,只有当结果出现“,0 error(s),0 Waring(s),”,才表示程序在语法上没有错误了。,另外,在编译器编译程序时,编译结果只能判断程序中是否有语法错误,而对于逻辑错误,编译器是无法识别的,需要程序员自己检查出现的错误。也就是说编译后没有错误,不代表程序的结果就一定正确。,为了帮助程序员检查逻辑错误,该软件还可以进行软件的调试,进入软件的调试后,可以根据自己的需要设置需要查看的寄存器,,I/O,口和内部,RAM,的值,以判断程序是否有逻辑错误,这部分内容在实验中,可以自己进行学习。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十六),机器文件的产生,为了让单片机按照编写的程序工作,必须给单片机内写入机器码文件,这个文件也由该软件生成。,快捷图标处单击图标 用来设置输出的机器文件。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十七),点击后出现如下的选择对话框,在,output,标签页中将,Creat,.,HEX File,选项选中,点击确定即可。,标签页选择,在该选项前的空格处打勾,表示选中,这样编译器在编译结束后会自动生成一个机器码的文件,该文件的后缀名为,.hex,,文件名默认与项目名相同。,可以在此处修改生成的机器码文件的文件名,文件存储的路径为项目所在文件夹。,成于大气 信达天下,Chengdu University of Information Technology,Keil,软件的使用介绍(十八),设置完成后,重新编译一次项目,就可以,得到机器码文件,了。,生成了一个机器码文件,文件名为,ledtest.hex,,该文件可以在项目所在的文件夹中找到。,成于大气 信达天下,Chengdu University of Information Technology,程 序 下 载,下载机器码文件到芯片中,就可以让单片机在程序的控制下工作了。,成于大气 信达天下,Chengdu University of Information Technology,Proteus,软件的使用介绍(一),Proteus,是由,Labcenter Electronics,开发的功能强大的单片机仿真软件。该软件可以仿真模拟电路、数字电路、数模混合电路,其最大的亮点在于能够对单片机进行实物级的仿真,便于操作,入门门槛低,使学习效率大大提高。在实验中心网站上可以下载到该软件的使用手册。,Proteus,软件介绍,成于大气 信达天下,Chengdu University of Information Technology,原理图编辑窗口,元件列表,预览窗口,模型选择工具栏,配件,2D,图形,方向 工具栏,仿真 工具栏,软件界面,Proteus,软件的使用介绍(二),成于大气 信达天下,Chengdu University of Information Technology,原理图编辑窗口(,The Editing Window,),:,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。,预览窗口(,The Overview Window,),:,它可显示两个内容,一个是:当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容,因此,你可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。,Proteus,软件的使用介绍(三),成于大气 信达天下,Chengdu University of Information Technology,模型选择工具栏(,Mode Selector Toolbar,):,主要模型(,Main Modes,):,1*,选择元件(,components,)(默认选择的),2*,放置连接点,3*,放置标签(用总线时会用到),4*,放置文本,5*,用于绘制总线,6*,用于放置子电路,7*,用于即时编辑元件参数 (先单击该图标再单击要修改的元件),Proteus,软件的使用介绍(四),成于大气 信达天下,Chengdu University of Information Technology,配件(,Gadgets,),1*,终端接口(,terminals,):有,VCC,、地、输出、输入等接口,2*,器件引脚:用于绘制各种引脚,3*,仿真图表(,graph,):用于各种分析,如,Noise Analysis,4*,录音机,5*,信号发生器(,generators,),6*,电压探针:使用仿真图表时要用到,7*,电流探针:使用仿真图表时要用到,8*,虚拟仪表:有示波器等,Proteus,软件的使用介绍(五),成于大气 信达天下,Chengdu University of Information Technology,2D,图形(,2D Graphics,):,1*,画各种直线,2*,画各种方框,3*,画各种圆,4*,画各种圆弧,5*,画各种多边形,6*,画各种文本,7*,画符号,8*,画原点等,Proteus,软件的使用介绍(六),成于大气 信达天下,Chengdu University of Information Technology,元件列表(,The Object Selector,):,用于挑选元件(,components,)、 终端接口(,terminals,)、 信号发生器(,generators,)、 仿真图表(,graph,)等。举例,当你选择“元件(,components,)”,单击“,P”,按钮会打开挑选元件对话框,选择了一个元件后(单击了“,OK”,后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。,方向工具栏(,Orientation Toolbar,):,旋转:,旋转角度只能是,90,的整数倍。,翻转:,完成水平翻转和垂直翻转。,使用方法:,先右键单击元件,再点击(左击)相应的旋转图标。,Proteus,软件的使用介绍(七),成于大气 信达天下,Chengdu University of Information Technology,仿真工具栏,1*,运行,2*,单步运行,3*,暂停,4*,停止,Proteus,软件的使用介绍(八),成于大气 信达天下,Chengdu University of Information Technology,编 程 建 议,编程之前请,认真阅读,相关电路,确定编程使用的资源。,了解程序设计的目的,确定算法,如果有可能先写出程序流程图。,编程过程中尽量多作注释,方便检查错误,增强程序的可读性。,程序的书写请一定规范。,成于大气 信达天下,Chengdu University of Information Technology,程 序 举 例,下面我们用,Keil,软件结合,Proteus,软件进行一个实际的项目的建立与调试,I/O,口电平测试程序,#include /,单片机内部寄存器头文件,void main (void)/,定义一个主函数,while (1)/,作一个死循环,P1 = 0xfe;/,使,P1,口最低位为,0,,其余位为,1,成于大气 信达天下,Chengdu University of Information Technology,课 后 练 习,1,练习使用,Keil,软件。学会建立项目,编写程序,编译程序。,2,仿照上课讲解的,I/O,口输出电平程序,编写一个,I/O,口控制发光二极管程序,让发光二极管交替亮灭,并结合,Proteus,仿真软件,仿真结果。,3,预习单片机的,I/O,结构一节的内容,在下一讲中我们将学习这部分的内容。,
展开阅读全文