进入Keil C51后,屏幕如下图所示。几秒钟后出现编辑界
启动Keil C51时的屏幕
进入Keil C51后的编辑界面
简单程序的调试
学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。
1)建立一个新工程
单击Project菜单,在弹出的下拉菜单中选中New Project选项
2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51
如下图所示,然后点击保存.
3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,如果你设计的是华邦的W77E58,可以选择winbond->W77E58,但是有一些版本,比如6.02,对它不能仿真,但是可以选择dallas的ds80c320来代替设计W77E58,两者的内核是一样的,只是w77e58带flash rom,而ds80c320没有flash rom,如果你的软件在仿真W77e58的时候有问题,那么就选用ds80c320 .我这里还是以大家用的比较多的Atmel 的89c52来说明,如下图所示,选择89c52之后,右边一栏是对这个单片机的基本的说明,然后点击确定.
4)完成上一步骤后,屏幕如下图所示
到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项
新建文件后屏幕如下图所示
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。
6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单
然后单击“Add File to Group ‘Source Group 1’” 屏幕如下图所示
选中paomadeng.asm,然后单击“Add ”屏幕好下图所示
注意到“Source Group 1”文件夹中多了一个子项“paomadeng.asm”了吗?子项的多少与所增加的源程序的多少相同
7)现在,请输入如下的汇编语言源程序:
POWER EQU P0.7 | ;定义发光管公共电源端 | |
ORG 0000H | ||
SJMP MAIN | ;转向主程序 | |
ORG 0030H | ||
MAIN: | CLR POWER | ;打开公共电源 |
START: | MOV P2,#11111110B | ;第一个LED点亮 |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#11111101B | ;第二个的LED点亮 | |
ACALL DELAY | ;延时1秒 | |
MOV P2,#11111011B | ;第三个的LED点亮 | |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#11110111B | ;第四个LED点亮 | |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#11101111B | ;第五个LED点亮 | |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#11011111B | ;第六个LED点亮 | |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#10111111B | ;第七个LED点亮 | |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#01111111B | ;第八个LED点亮 | |
ACALL DELAY | ;延时0.5秒 | |
MOV P2,#11111111B | ;完成第一次循环点亮,全部熄灭 | |
ACALL DELAY | ;延时0.5秒 | |
ACALL DELAY | ;延时0.5秒 | |
ACALL DELAY | ;延时0.5秒 | |
ACALL DELAY | ;延时0.5秒 | |
AJMP START | ;重新开始循环 | |
DELAY: | MOV R4,#2 | ;延时子程序,11.0592M晶振延时约0.5秒 |
D3: | MOV R2 ,#250 | |
D1: | MOV R3 ,#229 | |
D2: | DJNZ R3 ,D2 | |
DJNZ R2 ,D1 | ||
DJNZ R4 ,D3 | ||
RET | ||
END | ||
在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示
8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),进行编译。若有错误会在output窗口提示,如下图所示
可根据此提示,找出错误并修改,直至编译通过,如下图所示
9)编译成功后,再单击“Project”菜单,在下拉菜单中单击“Options for Target ‘Target 1’”如下图所示
选择Target选项,将Xtal(MHz)设置为自己所用频率。这样做的好处是可以在软件仿真时,可以计算出程序运行时间。当然,你如果不需要计算时间也可以不设置。
Output选项中,选择Greate Hex File,这样在编译时会生成HEX文件,用于程序烧写时使用.
Debug选项用于仿真选项的设置,可以选择硬件仿真器仿镇,也可以选择软件仿镇。对于硬件仿真器仿真设置请点击这里。对于软件仿真,选择Use Simulator 即可。点击“确定”。
单击“Debug”菜单,在下拉菜单中单击“Star/Stop....”或者使用快捷方式装载程序,屏幕如下所示
10)调试程序:在PeripheralsI/O-ports中打开P0、P2口,按F10或F11单步运行程序,可以看到P0和P2口按照程序变化!如下图所示
至此,我们在Keil C51上做了一个完整工程的全过程。Keil的功能十分强大,其它的调试方法跟本文大同小异,大家可以在使用自己探索!好了,现在你可以用Keil C51来开发你的单片机了,还等什么啊?赶快试试哟!
上一篇:51系列单片机简介
下一篇:在实验板上实现单片机程序在线下载