手动编译C51程序

使用Keil写C51程序或汇编程序时,Keil软件存在两个严重问题,一是操作较为繁琐,其实这是所有大型IDE的共同问题,Keil和VS比起来也只能是小巫见大巫;二是Keil软件自带的编辑器委实功能有限,换行处理起来都显得很吃力,每次操作,都有一种又回到二十年前的感觉。

下面我们给出一个手动编译C51程序的方案,目标只有一个,用起来顺手,能给出一些基本的错误提示,过程极为简单,如果要进行调试等复杂操作,还是在Keil环境较为可靠。

一、准备

这里需要做两项准备工作,:

一是安装Keil软件;

二是安装你个人较为顺手的文本编辑器。

二、Keil是如何编译C51程序的

Keil软件是如何编译C51程序的呢,自不待言,编译过程和普通的C程序一样,同样包括编译和链接过程,但是最后不是生成可执行文件;二是由于一般51单片机中没有操作系统,需要生成一种绝对目标文件(.abs),由此生成可被单片机执行的hex文件。

需要得到这样的过程。

首先在某个目录下建立一个Keil工程,工程名为mcc(manual compile c51,手动编译C51的意思),芯片选择Atmel的at89c52,添加三个文件,分别为:main.c,func.h和func.c进行测试。内容如下:

/* main.c */
#include <reg52.h>
#include "func.h"

void main(void)
{
	display();

	while(1) {
	 	;
	}
}

/* func.h */
#ifndef FUNC_H
#define FUNC_H

void display();

#endif	// FUNC_H

/* func.c */
#include <reg52.h>
#include "func.h"

void display()
{
	P1 = 0x0f;
}

将其添加到Keil工程,执行,看看有没有错误和警告。

然后打开“Target Options…”对话框,如下图:

在弹出的Options for Target ‘Target 1’对话框中,选Output选项卡,勾选上“Creat HEX File”和“Create Batch File”两个选项,如下图:

然后点击OK,后再次执行,这个时候回到mcc工程目录下,能看到生成了hex文件,同时生成一个Target 1.BAT文件,这是个windows批处理脚本。用文本编辑器将其打开,内容如下:

SET C51INC=e:\Keil\C51\INC\Atmel\;e:\Keil\C51\INC\
SET C51LIB=e:\Keil\C51\LIB
SET CPU_TYPE=AT89C52
SET CPU_VENDOR=Atmel
SET UV2_TARGET=Target 1
SET CPU_XTAL=0x016E360
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值