while(1) { }
}
1. 第一节 uVision for Windows的使用步骤
(1) file_new新建一个hello.c文件,输入如上内容或直接用目录下源文件。
(2) file_save或工具栏将文件存盘。
(3) project_new project创建一个project名为hello,并在其中加入hello.c。
这时该project已是打开状态,或用open project打开已存在的project。
(4) option_C51 compiler中选出至少包括两项DB OE。
(5) option_dscope Debugger选中hello\DS51.INI
查看DS51.INI看其是否为:
“load…\…\BIN\8051.DLL
map 0, 0xffff”
否则修改。
(6) 在option_make选make文件顺序。
(7) project选Build
project,看是否有语法错误,若无则生成HEX文件,若有则修改源文件后重复以上部分步骤。
(8) run_dScope
debugger进入dScope51后装入hello则可用go直接运行看serial窗口有无输出,正常每系统运行一次,serial窗口均出现一个“Hello,world”表明运行无误。
2. 第二节 Ishell for Dos使用步骤
(1) 进入Ishell 用Setup editer选择编辑器。
然后单击Edit或用Edit命令编辑hello.c源文件,存盘,也可以在files窗口中直接选中hello.c。
(2) 用cd改换project目录至hello目录。
(3) 在setup_target一项目选8051。
(4) 在setup_C51中输出DB OE。
(5) 在setup_project输入project名hello。
(6) 在setup_save保存Ishell.CFG文件。
(7) 编辑一个Link文件hello.lin中有“hell.obj”一行。
(8)
由光标落在files菜单中的Hello.c上,单击“translate”,如无语法错,再击“link”,则Hex文件生成。
(9)
单击Simulate如在8051.CDF中选Simulate为dScope则进入dScope调试直接“Go”,看serial窗口输出为“Hello.world”。
(10) 如程序有误修改源代码后不必再translate或link了,只要一步Amake即可。
若project中包括不止一个文件,在DOS的Ishell中不能用Translate编译,而应建立bat文件,直接在命令窗编译,然后link连接。
如还需用Translate则只能多个文件分别编译,然后连接。
7. 第七章 Keil C51的代码效率
C51程序编译生成汇编代码的效率,是由许多因素共同决定的,对于Keil C51,主要受以下两种因素影响:
1. 第一节 存储模式的影响
存储模式决定了缺省变量的存储空间,而访问各空间变量的汇编代码的繁简程度决定了代码率的高低。
例如:一个整形变量i,如放于内存18H、19H空间,则++i的操作编译成四条语句:
INC 0x19
MOV A,0x19
JNZ 0x272D
INC 0x18
0x272D:
而如果放于外存空间0000H、0001H则++i的操作编译成九条语句:
MOV DPTR,0001
MOVX A,@ DPTR
INC A
MOVX @ DPTR,A
JNz #5
MOV OPTR,#0000
MOVX A,@DPTR
INC A
MOVX @ DPTR,A
就汇编之后的语句而言,对外部存储器的操作较内部