VS+VAX的提示功能快速编写C51程序

2024-04-13 09:18

本文主要是介绍VS+VAX的提示功能快速编写C51程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽然有智能提示的软件有很多,比如Source Insight、Ultra Edit,但我都不太喜欢。周立功的TKStudio也用过,感觉还行,但还是不太满意。
由于学C#,我的电脑上安装了Visual Studio 2008,那代码提示功能太强大了。于是,研究了一段时间,终于实现了利用VS+VAX的强大提示功能快速编写C51程序。

如果你电脑上没有VS,并且除了这里你其它地方不用,那就建议你不要安装,软件太大了。

软件要求:1.Visual Studio 2008(4.3G) 或 2010(2.5G);
          2.Visual Assist X 10.6(7.5M);
          3.Keil uVision(28.5M);

友情提示,以上软件均需要河蟹。

    第一步,软件安装:
      安装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 。确认无误后 点击确定,关闭对话框,完成设置。

(原文件名:3.png) 

第三步,给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 ,其它同上。完成后确定完成工具的添加。


(原文件名:1.png) 

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


(原文件名:2.png) 

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


(原文件名:4.png) 


如果觉得每次都要点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
用上面添加外部工具的方法添加一个工具,指向此批处理文件
例如我的,命令:c:\users\elecfun\Documents\keil\MCU51.bat,参数:$(ItemDir)$(ItemFileName)

(原文件名:11.png) 



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


(原文件名:9.png) 

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

(原文件名:5.png) 

VS2010下的:

(原文件名:10.png)
来自http://www.amobbs.com/thread-4080638-1-1.html

这篇关于VS+VAX的提示功能快速编写C51程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899740

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi