原创 Keil C51应用入门

2008-8-8 12:57 1656 3 3 分类: MCU/ 嵌入式

Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑、编译、仿真于一体,支持汇编、PLM语言和C语言的程序设计,界面友好,易学易用。
  进入Keil C51后,屏幕如下图所示。几秒钟后出现编辑界

   点击看大图


             启动Keil C51时的屏幕  


点击看大图


             进入Keil C51后的编辑界面


 简单程序的调试
 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。
 1)建立一个新工程
 单击Project菜单,在弹出的下拉菜单中选中New Project选项


2006511535452.gif 


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)。然后,单击“保存”按钮。


200651153135813.gif


 6)回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单 


200651153154895.gif 


 然后单击“Add File to Group ‘Source Group 1’” 屏幕如下图所示 


200651153211125.gif 


 选中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....”或者使用快捷方式load.GIF装载程序,屏幕如下所示


点击看大图 


 10)调试程序:在PeripheralsI/O-ports中打开P0、P2口,按F10或F11单步运行程序,可以看到P0和P2口按照程序变化!如下图所示


 点击看大图


 至此,我们在Keil C51上做了一个完整工程的全过程。Keil的功能十分强大,其它的调试方法跟本文大同小异,大家可以在使用自己探索!好了,现在你可以用Keil C51来开发你的单片机了,还等什么啊?赶快试试哟!

 
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /1 下一条