news 2026/4/16 5:37:46

单片机编程软件很简单(16),Keil单片机编程软件建立工程项目

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单片机编程软件很简单(16),Keil单片机编程软件建立工程项目

单片机编程软件为单片机的使用提供便利,缺少单片机编程软件,单片机程序的编写将十分困难。对于单片机编程软件,小编在往期文章中有所介绍,如IAR单片机编程软件等。本文对于单片机编程软件的讲解将基于Keil,主要内容在于阐述如何建立Keil工程。如果你对本文内容具有兴趣,不妨继续往下阅读哦。

一、 Keil简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil 即可看出。Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要PenTIum 或以上的CPU,16MB或更多RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51 系列单片机的爱好者来说是十分必要的,如果你使用C 语言编程,那么Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

我们将通过一些实例来学习Keil 软件的使用,在这一部份我们将学习如何输入源程序,建立工程,图1 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于MCS-51 系列,其内部有4K 的FLASH ROM,

可以反复擦写,非常适于做实验。89C51 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的第一个任务是让接在P1 引脚上的发光二极管依次循环点亮。

二、Keil 工程的建立

首先启动Keil 软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision 的图标以启动该软件。

UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3 个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU 的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。

1、源文件的建立

使用菜单“File->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入以下汇编语言源程序,例1:

MOV A,#0FEH

MAIN: MOV P1,A

RL A

LCALL DELAY

AJMP MAIN

DELAY: MOV R7,#255

D1: MOV R6,#255

DJNZ R6,$

图1 简单的键盘、显示板

DJNZ R7,D1

RET

END

保存该文件,注意必须加上扩展名(汇编语言源程序一般用asm 或a51 为扩展名),这里假定将文件保存为exam1.asm。需要说明的是,源文件就是一般的文本文件,不一定使用Keil 软件编写,可以使用任意文本编缉器编写,而且,Keil 的编缉器对汉字的支持不好,建议使用UltraEdit 之类的编缉软件进行源程序的输入。

2、建立工程文件

在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU(Keil 支持数百种CPU,而这些CPU 的特性并不完全相同),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil 使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一

的源程序进行编译(汇编)和连接等操作,下面我们就一步一步地来建立工程。

点击“Project->New Project… ”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字(设为exam1),不需要扩展名。点击“保存”按钮,出现第二个对话框,如图2所示,这个对话框要求选择目标CPU(即你所用芯片的型号),Keil 支持的CPU很多,我们选择Atmel 公司的89C51 芯片。点击ATMEL 前面的“+”号,展开该层,点击其中的89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“ Source Group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如图3 所示。选中其中的“Add file toGroup”Source Group1”,出现一个对话框,要求寻找源文件,注意,该对话框下面的“文件类型”默认为C source file(*.c),也就是以C 为扩展名的文件,而我们的文件是以asm 为扩展名的,所以在列表框中找不到exam1.asm,要将文件类型改掉,点击对话框中“文件类型”后的下拉列表,找到并选中“Asm Source File(*.a51,*.asm),这样,在列表框中就可以找到exam1.asm 文件了。

双击exam1.asm 文件,将文件加入项目,如

图2 选择目标CPU

图3 加入文件

注意,在文件加入项目后,该对话框并不消失,等待继续加入其它文件,但初学时常会误认为操作没有成功而再次双击同一文件,这时会出现如图4 所示的对话框,提示你所选文件已在列表中,此时应点击“确定”,返回前一对话框,然后点击“Close”即可返回主界面,返回后,点击“SourceGroup 1”前的加号,会发现exam1.asm 文件已在其中。双击文件名,即打开该源程序。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 7:50:41

冷库里的利润革命:当智能系统成为连锁超市的“第二财务部”

深夜十一点,某连锁超市区域总监的手机再次响起——又一家门店冷库温度异常告警。这已是本月第七次,意味着至少又有一批价值数万元的冷冻商品面临报废风险。与此同时,财务部门刚刚提交的报告显示,冷链相关能耗已占门店总运营成本的…

作者头像 李华
网站建设 2026/4/15 11:49:44

软考高项:第5章:信息系统工程(占分分析/考点/题)

软考高项:信息项目管理师第5章:信息系统工程考试的核心考点指南,掌握软件工程、数据工程、系统集成和安全工程四大技术领域。文章通过梳理UML建模图示、软件设计原则及架构风格等关键知识,明确了从需求分析到测试运维的全生命周期…

作者头像 李华
网站建设 2026/4/14 18:55:28

一次 Agent Skill 的实战体验,以及 MCP 和 Skill 的区别

本周通过一个小需求尝试了下 Agent Skill,效果还不错。 比如你要做一个网站,以前没装技能的时候,AI 生成的代码又是那个熟悉的: 蓝紫渐变色 千篇一律的布局 明显的 AI 审美(不同的模型,产生的结果不同&am…

作者头像 李华
网站建设 2026/4/11 19:24:11

多品牌、多品类如何高效协同?国产PLM如何统一日化研发标准与流程

引言:日化行业进入协同内卷时代,研发标准化成破局关键 随着消费需求的多元化升级,日化行业已从“单一品牌单品突围”迈入“多品牌、多品类协同发展”的新阶段,护肤、彩妆、家清、个护等品类交叉布局,多品牌矩阵成为头…

作者头像 李华
网站建设 2026/4/12 12:44:32

【dz-700】基于STM32智能水族箱的设计

摘要 在水族饲养日益普及的当下,水族箱环境的精准调控对保障水生生物的健康生长至关重要。传统的水族箱管理依赖人工操作,存在监测不及时、调控精度低、劳动强度大等问题,难以满足现代化、精细化饲养的需求。​ 基于 STM32F103C9T6 单片机的…

作者头像 李华