follow my heart...
分类:
2006-09-15 13:28:13
keil C51 v6.12 的使用:
点击桌面快捷图标,可以直接进入主画面:
现在,我们来做个实际程序,请跟着我一步一步学着做,实际体验一下从编辑源程序到程序调试的全过程。
这里让我们做一个 让单片机 P0 口所驱动的 LED 灯隔一个亮隔一个灭 的程序。
在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。首先从菜但的“工程”中“新建工程...”,建立我们将要做的工程项目:
新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为 Test ,并将 Test 工程“保存”到 C:\Keil 下:
接下来,Keil环境要求我们为 Test 工程选择一个单片机型号;我们选择 Atmel 公司的 89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。“确定”后工程项目就算建立了。
立了工程项目,肯定要实施这个工程,现在就为工程添加程序;
点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这里你可以进行编辑、修改等操作。
根据题意,在文档中写入下列代码:(下列代码你暂时不要管什么意思,只要照抄正确就可以,今后在学习汇编时你会明白的)
mov p0,#01010101B ;将01010101二进制代码送P0口
ajmp $ ;程序在此原地踏步
end ;程序结束标志
写完后再检查一下,并保存文件,保存文件时,其文件名最好与前面建立的工程名相同(当然这里为 Test 了),其扩展名必须为 .Asm !“文件名”中一定要写全,如:Test.Asm ;保存后的文档彩色语法会起作用,将关键字实行彩色显示:
保存了Asm文件后,还要将其添加到工程中。具体做法如下:(见下图)
鼠标右键点击 “Source Group 1”,在弹出的菜单中选“增加文件到组 Source Group 1”:
在接下来出现的窗口中,选择“文件类型”为“Asm源文件(*.a*,*.src)”(由于我们使用的是汇编语言,所以选择Asm源文件),选中刚才保存的 Test.Asm,按“Add”,再按“关闭”,文件就添加到了工程中。
向工程添加了源文件后,鼠标右键点击 “TarGet 1” ,在弹出的菜单中选“目标 Target 1 属性”,如下图:
在打开的话框中,选择“输出”选项卡,在这个选项卡中,“E生成HEX文件”选项前要打勾,按“确定”退出。
最后,从菜单的“工程”中执行“R重新构造所有目标”(或者按下图红圈中的按钮),汇编、连接、创建Hex文件一气呵成;在工程文件的目录下就会生成与工程名相同的一些文件,其中大部分文件我们并不必关心,而生成的 Hex 文件是我们需要的!它是要烧写到单片机中的最终代码,也就是单片机可以执行的程序。
这里生成的是 Test.HEX ,稍后就写入。
若在下面的状态窗中有错误提示,就需要再次编辑、修改源程序(如语法、字符有错等)、保存、构造所有。直至没有错误。
在没有语法错误的情况下,按下图红圈中的按钮就可以进行模拟调试:
下面是调试窗。由于我们的程序是让 P0 口8个脚隔一个输出0,隔一个输出1,所以要从菜单的“外围设备”中打开“Prot 0” P0口窗:
单击“单步运行”,在P0窗中就可以看到我们原先设想的效果:
到此,这个程序暂告一段落;
接下来,我们启动 51ISP 编程实验程序,将刚刚生成的 Test.Hex 烧写到单片机芯片,在实验板上实际验证一下。
连接51ISP编程实验板,启动其程序;
在51ISP程序的菜单“文件”中,“打开HEX文件...” 打开 Text.hex 文件:
执行写入操作:
执行写入操作完成后,编程实验板就会出现我们期待的效果!若写入出错,请先“擦除”后再“写入”。
若在实验板上实际验证的并不是我们预期的效果,那么,就需要再次返回到编辑、修改源程序那一步,修改后再构造所有,再次将生成的Hex文件在51ISP中烧写、实验,直至成功!
到此,单片机的整个开发过程就结束了!