您的位置:网站首页 > 电器维修资料网 > 正文 >
C程序的录入与编译
来源: 日期:2013-11-17 19:40:37 人气:标签:
目前国内出现的c51编译器较多,分别遵循不同的c语言版本,比较流行的是keilc51,目前各个电子及单片机网站均在探讨keilc51的编程技巧。就国内生产的仿真器而言,南京伟福实业有限公司生产的单片机仿真器系列除了提供完全硬仿真以外,还提供了一个软件模拟器,该模拟器能代替仿真器进行无目标机的虚拟调试,该软件遵循franklinc语言标准,提供windows环境下的全中文集成开发平台,使用了国际上 流行的编译技术,可提供以下操作:
*编辑-汇编/编译-连接/定位-调试-装入目标系统一条龙。
*全屏幕编辑,就地修改,所见即所得;跨文件整块剪贴技术;彩色辨识正文等。
*使用工程技术:一次性将工程的全部源文件、头文件、用户库文件送入工程管理器,统一管理“汇编/编译”和“连接/定位”,无须人工干预。
*使用make技术:自动辨用汇编器/编译器;每次调试循环仅做增量“汇编/编译”和“连接/定位”。
*错误和警告自动定位,明朗的错误自动修正。
*多种运行模式,全数据类型的查看和修改。
*软件模拟器。
1.软件的安装与设置①安装系统文件:仿真程序的软件包中有一个setup.exe文件,.执行setup.exe文件,按照中文提示,程序自动安装到c:
\wavw\bin中。(也可以安装到d盘或e盘上)。
②安装高级语言汇编器:在c盘(或d盘)建立一个子目录c:
\comp510将软件包中的p51.exe文件copy到c:\comp51子目录中,执行p51.exe文件。
双击c:\wavw\bin中“w”图标,即进入图l所示的伟福仿真系统。
在屏幕下图的上方,有一行菜单栏和一行工具栏,用鼠标左键单击这些栏目,会生成相应的菜单或功能提示。在屏幕的正中央的一大块区域就是源文件编辑区,在输入源文件时,仿真软件会将正文和关键词显示成不同的颜色。
在对源文件进行编译之前,需要对仿真器进行设置,以适应不同的单片机型号。
单击屏幕上方“仿真器”项目,选择“仿真器设置”栏目,即可进入仿真器设置窗口。
“语言”项设置:设置项目编译语言的路径,命令行选项。
编译器路径:指明本系统汇编器,编译器所在位置,系统缺省51系列编译器在c:\comp51\文件夹下,本系统使用的编译器为第三方软件,必须单独安装。
asm命令行:若使用英特尔汇编器,则需要加上所需的命令行参数;若使用伟福汇编器,则需要选择是否使用伟福预定义的符号。在伟福汇编器中,已经把51单片机使用的一些常用符号,寄存器名定义为相应的值。如果你使用伟福汇编器,就可以直接使用这些符号。如果你自己已经定义了这些符号,又想使用伟福汇编器,就将“使用伟福预定义符号”前面的选择去掉。
c命令行:项目中若有c语言程序,系统进行编译时,使用此行参数对c程序进行编译。
pum命令行:项目中若有pl/m语言程序,系统编译时,就使用此行参数对程序进行编译。
link命令行:系统对目标文件链接时,使用此参数链接。
注意:除非你对命令行参数非常了解,并且确实需要修改这些参数,一般情况下,不需要修改系统给出的缺省参数。以免系统不能正常编译。
编译器选择:选择使用伟福汇编器,还是英特尔汇编器,系统对c语言程序和pl/m语言编译是采用第三方编译器。一般情况下,如果用户项目中都是汇编语言程序,没有c语言和pl/m语言,选择伟福汇编器。如果用户项目中含有c语言,pum语言,或者汇编语言是用英特尔格式编写的,就选择英特尔汇编器。
缺省显示格式:指定观察变量显示的方式,一般为混合十/十六进制。
“目标文件”项设置:设置生成的目标文件的地址,及生成目标文件的格式。
一般情况下,地址选择为缺省方式。即由编译确定。如果你想重新定位你的程序就要指定地址,方法是:去掉“缺省地址”前面的选择。在开始地址,结束地址处填入相应的地址。
编译器生成的目标文件可以存成三种格式,但大多数编程器适应二进制(bin)和英特尔格式(hex)。
二进制(bin):由编译器生成的二进制文件,也就是程序的机器码。
英特尔格式(hex):由英特尔定义的一种格式,用ascii码来存储编译器生成的二进制代码,这种格式包括地址,数据和校验地址选择一般为缺省地址(由编译器定)。
“仿真器”项设置选择所使用的仿真器类型,pod(仿真头)类型,以及所仿真cpu的类型。
如果使用硬件仿真,请去掉“使用伟福软件仿真”前的选择。
“选择仿真器”框内为本系统所支持的仿真器类型,选择正确仿真器。在“选择仿真头”框内为相应仿真器能支持的仿真头类型,选择所使用的仿真头。在“选择cpu”框内为所能仿真的cpu。如果使用硬件仿真器,请不要选择“使用伟福软件模拟器”。使用伟福软件模拟器,可以在完全脱离硬件仿真器情况下,对软件进行模拟执行。“晶体频率”是在软件模拟时,用来计算程序执行时间。在“仿真头设置中,可以设置该仿真头的特殊功能。在使用软仿真时,该项不用设置。
2、源文件的编译:
在“项目”菜单中,有源文件的编译功能(热键为f9),仿真软件对源文件编译后,会给出信息窗口,显示系统编译输出的信息。
如果程序有错,会以图标形式指出:表示错误,表示警告,表示通过。在编译信息行会有相关的生成文件,双击鼠标左键,或击右键在弹出菜单中选择“打开“功能,可以打开相关文件。(如果有编译错误,双击左键,可以在源程序中指出错误所在行,有时前一行或后一行程序有错,会造成当前行编译不通过。而将错误定位在本行,所以如果发现了错误,但在本行没有发现错误,可以查查本行上下的程序)。
例:编译过程发现有错。在信息窗口中看到在calc.c文件第118行有202号错误,文字显示错误类型是,”dispvaunde6nedidentifier”
即:未定义dispva标识符。双击此信息行,系统将打开calc.c文件,并且在源文件的118行,指出有错,可以看到,dispva和ls()中间有空格。原来应为dispvals()。
程序编译通过进行软仿真时,仿真软件可同时给出多个窗口供编程者参考,以验证程序的运行结果。
“cpu窗口”:通过cpu窗口,可以看到你编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。cpu窗口中还有sfr(特殊功能寄存器)窗口和位窗口,让你了解程序执行过程中寄存器的变化。
“数据窗口”:51系列有以下四种数据窗口。
data内部数据窗口code程序数据窗口xdata外部数据窗口、pdata外部数据窗口(页方式)在内部数据窗口中可以看到cpu内部ram的数据值,红色的为上一步执行过程中,改变过的值,窗口状态栏中为选中数据的地址,可以在选中的数据上直接修改数据的十六进制值,也可以用弹出菜单的修改功能,修改选中的数据值。
每次编译后仿真程序会自动在c:\wavw、bin子目录中生成程序代码文件,仿真后生成的程序代码文件(*。bin或*。hex)可用烧写器烧录到单片机中进行验证。
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 使用C语言编程的好处
- 下一篇: 负压电荷泵的工作原理介绍