标题: 使用VS2008高效编写C51程序 [打印本页]

作者: 51黑科技    时间: 2016-2-4 02:40
标题: 使用VS2008高效编写C51程序
虽然任何代码都可以用记事本来编写,但是如果有一个强大的IDE的话,那么代码的编写效率是会大大提高中的。如果你用过C#或JAVA等的开发环境,那么你一定会佩服它们强大的代码提示功能。当再用Keil来编写C51的程序,你可能会感到非常的郁闷。
Keil虽然升级到了UV4,界面漂亮了,但就编写代码而言,除了增加注释功能外,IDE也没什么大的改观。并且每次关闭UV4以下版本的工程时都会弹出烦人的提示框。
指望Keil是不可能了,只能自己动手了。

程序员常用的代码编写工具有Source Insight、Ultra Edit等。
Source Insight支持C、C++、html、JAVA等语言的语法高亮,函数名提示,函数体显示。但它最让我讨厌的是 工程文件一大堆,看了我就想骂了。


Ultra Edit也支持C、C++、html、JAVA等语言的语法高亮,有函数、变量的智能提示。由于它能集成到右键中,可以以十六进制方式查看文件,所以它也是我的装机必备软件。


全段时间,笨小孩给我介绍了周立功的TKStudio,用了下,感觉不错。软件是免费的,支持51、AVR、ARM等代码编写和调试,支持智能感应,可自动列出变量和函数名称。大家可以试试。


但就我个人认为,还是用VS编写方便。下面详细介绍如何利用微软的集成开发工具Visual Studio 2008 来编写C51的程序。

软件要求:1.Visual Studio 2008 或 2010;
2.Visual Assist X 10.6;
3.Keil uVision4
软件说明:Visual Studio可选择2005、2008或者2010,英文、中文均可,我目前用的是VS2010中文版(下面的图片为VS2008中文版)。如果选用 VS2010,则Visual Assist X应选用最新版10.6.1823 for VS2010。其它版本不支持VS2010。对于Keil uVision,我们只需要它的C51编译器和头文件,如果你能弄到KEIL目录下的C51文件夹,那就不用安装了。注意,安装KEIL时,使用默认安装 目录C:\Keil,如果放到Program Files下,则后面编译时会因DOS不支持长文件名而报错。 以上软件均为收费软件,可选择其对应的和谐版(如有需要CALL ME)。
第一步,软件安装:
安装Visual Studio 2008,建议全部安装。
安装Visual Assist X,完成后,。
安装Keil uVision。
第二步,添加环境变量:
以Windows 7为例,在桌面 计算机 上右击,选择 属性,打开属性对话框,在左列快速列表中点击 高级系统设置(要求有管理员权限),打开 系统属性 对话框,在 高级 选项卡中点击 环境变量 按钮, 打开 环境变量 对话框。在PATH变量后添加KEIL的BIN文件夹路径,例如 C:\KEIL\C51\BIN ,如果没有PATH变量,请自行添加,如果已有,应注意项与项之间以英文分号“;”隔开。确定后添加第二个变量C51INC,值为KEIL的INC文件夹路径,例如 C:\KEIL\C51\INC 。确定无误后添加第三个变量 C51LIB,值为KEIL的LIB文件夹路径,例如 C:\KEIL\C51\LIB 。确认无误后 点击确定,关闭对话框,完成设置。


第三步,给VS添加工具

打开VS2008→工具→外部工具,在 外部工具 对话框中点 添加 ,以添加一个外部工具,在标题中填写工具名称(可任意,这里设为C51)。在 命令 输入框中填入第一个工具C51.EXE(keil安装路径下KEIL\C51\BIN)的绝对路径,也可点后面的 … 按钮,以图形化的方式添加。参数栏填入 $(ItemPath) ,即当前文件的路径(绝对路径,包括文件名称和后缀),也可以点后面的三角按键,选 项路径。初始目录为空。钩选 使用输出窗口 , 提示输入参数 和 将输出按Unicode处理 不钩选。点 应用 按键完成第一个工具 编译器 的添加。 再次添加一个外部工具 链接器 LX51(KEIL\C51\BIN下),参数为 $(ItemDir)$(ItemFileName).obj TO $(ItemDir)$(ItemFileName).abs ,其它与第一项设置相似。再添加第三个HEX文件生成工具Ohx51.exe,参数 $(ItemDir)$(ItemFileName).abs ,其它同上。完成后确定完成工具的添加。




为了方便,把这三个工具添加到工具栏上。打开 工具→自定义,打开 自定义 对话框,切换到 工具栏选项卡,点击 新建 ,添加一个工具栏,名称可任意(这里设为MUCTools)。切换到 命令 选项卡,在 类别 列表里选择 工具 ,在 命令 列表里选择刚刚添加的外部命令。注意,这儿只有 外部工具1、外部工具2等,这是按 外部命令 里的排序给出的。例如 如果第一次添加的C51.EXE在 外部工具 对话框 的 菜单内容 列表排第3个,那么这儿对应的就是 外部工具3。找到后 拖动 外部工具3 到刚刚添加的工具栏 MUCTools 里,然后在其上右击,可编辑其样式。依次添加其余两个工具。



OK,此时打开一个单片机的C程序,点第一工具C51.EXE编译,没有错误后点第二工具BL51.EXE链接,没有错误的话就可以点第三个工具OHX51.EXE生成HEX文件。没有错误产生就会在C程序同目录下生成同名的HEX文件。








如果觉得每次都要点3次才编译太麻烦,可编写BAT批处理文件,KEILPATH为实际C51的BIN目录:
SET KEILPATH=C:\Users\elecfun\documents\keil\C51\BIN
%KEILPATH%\C51.EXE %1.c
%KEILPATH%\lx51.EXE %1.obj to %1.abs
%KEILPATH%\OHx51.EXE %1.abs
@echo off
DEL %1.obj
DEL %1.abs
DEL %1.map
DEL %1.lst
用上面添加外部工具的方法添加一个工具,指向此批处理文件
例如我的MCUtools,命令:c:\users\elecfun\Documents\keil\MCU51.bat,参数:$(ItemDir)$(ItemFileName)







为了使用Visual Assist 强大的代码提示功能,设置VAssistX,Suggestions改为MAX:




完成后,就慢慢享受编程的乐趣吧!




VS2010下的:





作者: pai588    时间: 2020-1-6 14:20
为什么我的 能编译不能链接

作者: ying007    时间: 2020-11-13 12:00
VS对code\sbit这些扩展命令都不能识别,不知有没大神能支招?
作者: lgwd    时间: 2020-11-13 13:07
这样搞还是有点麻烦。关键是编译和调试程序出现异常问题,又可能怀疑其它原因。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1