Keil C软件使用黄修改Word文档格式.docx
《Keil C软件使用黄修改Word文档格式.docx》由会员分享,可在线阅读,更多相关《Keil C软件使用黄修改Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
6、出现“A:
”时,点“浏览”选D:
单片机实验—tyao\keil700\c51addon\文件夹即可。
7.Next,Next,去掉发送注册信息前面的勾,Next
8,安装完成
Keil
C软件使用
KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。
下面介绍KeilC51软件的使用方法
进入KeilC51后,屏幕如下图所示。
几秒钟后出现编辑界
进入KeilC51后的编辑界面
简单程序的调试
学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。
下面通过简单的编程、调试,引导大家学习KeilC51软件的基本使用方法和基本的调试技巧。
1)建立一个新工程
单击Project菜单,在弹出的下拉菜单中选中NewProject选项
2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51
如下图所示,然后点击保存.
3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keilc51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.
4)完成上一步骤后,屏幕如下图所示
到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。
5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项
新建文件后屏幕如下图所示
此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。
注意,如果用C语言编写程序,则扩展名为(.c);
如果用汇编语言编写程序,则扩展名必须为(.asm),即“文件名.asm”。
再单击“保存”按钮。
6)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单击右键,弹出如下菜单
然后单击“AddFiletoGroup‘SourceGroup1’”屏幕如下图所示
选中P1.asm,然后单击“Add”屏幕好下图所示
注意到“SourceGroup1”文件夹中多了一个子项“P1.asm”了吗?
子项的多少与所增加的源程序的多少相同
7)现在,请输入如下的汇编语言源程序:
例如
ORG0000H
ajmpstart
;
;
为了不占用中断入口地址,须如此做
ORG0030H
start:
MOVA,#01H
LP:
MOVR0,#10;
送闪烁次数
LP0:
MOVP1,A;
点亮LED
LCALLDELAY;
延时
DJNZR0,LP0;
;
闪烁次数不够10次继续
RLA;
否则A左移,下一个灯闪烁
SJMPLP;
循环不止
DELAY:
MOVR3,#0FFH;
延时子程序
DEL2:
MOVR4,#0FFH
DJNZR4,$
DJNZR3,DEL2
RET
END
在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keilc51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。
程序输入完毕后,如下图所示
8)在上图中,单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或者使用快捷键F7),编译成功后,再单击“debug”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),屏幕如下所示
9)调试程序:
在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“StopRunning”选项(或者使用快捷键Esc);
再单击“View”菜单,再在下拉菜单中单击“memoryWindows”选项,就可以看到程序运行后的结果,若想单步调试选择Debug/step,(或者F11)。
其结果如下图所示
在打开的“memoryWindows”中的Address栏,
写入“D:
00H”表示显示内部RAM从00H单元开始的内容(D是DATA的意思)
写入“C:
****H”表示显示ROM从****H单元开始的内容(C是CODE的意思)
写入“X:
****H”表示显示外部RAM从****H单元开始的内容(X是XDATA的意思)如:
至此,我们在KeilC51上做了一个完整工程的全过程。
但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?
请听下回!
10)单击“Project”菜单,再在下拉菜单中单击“
”在下图中,单击“Output”中单击“CreateHEXFile”选项,使程序编译后产生HEX代码,供下载器软件使用。
把程序下载到AT89S51单片机中。
黄补充:
在调试中,如果想改变寄存器中的值,上上图左边寄存器窗口中可以点击修改,
编写合适的程序,利用单步调试,可以看到数据在寄存器、片内RAM、片外RAM之间的搬移过程。
要在ROM的2000H、2001H处预置数35H、35H,可用:
org2000h
db
35h,36H
看端口变化:
peripherals的I/O-Port即可。
我为大家做一个作业为实例:
将外部RAM的100H单元中内容送片内30H,并高低四位交换,送R1和外部RAM的200H单元。
输入程序:
(nop空指令无用,行号程序中没有,是为了下面讲解用;
有一个假设数23H,如果没有它,都是0,就看不出数据的传送了)
nop
1movdptr,#100h;
此三句不是本题要求的,
2mova,#23h;
而是为调试程序加入的,
3movx@dptr,a;
向外部RAM的100H单元放入假设数23H
4movdptr,#100h
5movxa,@dptr
6swapa
7movr1,a
8movdptr,#200h
9movx@dptr,a
end
得到:
编译通过,下面按F10单步运行,逐步演示结果。
1、执行完第3行(画红线行),可知把23H放入外部RAM的100H单元中,见x:
0x100
2、执行完第5行,可知把23H放入A单元中
3、执行完第6行,可知把A的值23H换为32H
4、执行完第7行,把R1的值赋成32H,并且片内01H单元(即R1处D:
0x01处)为32H
5、执行完第9行,可见DPTR为200H,同时x:
0x200处为32H