设计与开发

51单片机飞行器 「连载7」Keil Vision5的安装|学单片机做四轴飞行器项目故事

小编 2025-08-05 设计与开发 23 0

「连载7」Keil Vision5的安装|学单片机做四轴飞行器项目故事

《 STC15 单片机实战指南( C 语言版)》 一书以一坚科技研发的飞天三号( FSST15-V1.0)实验板为硬件平台, 以《 深入浅出玩转 STC15 单片机》为配套视频, 由清华大学出版社权威出版, 并且分别是 STC 官方大学计划和高校高性能联合实验室推荐教程和视频, 版权归作者和清华大学出版社所有。

本资料以个人学习、 工作经验以及宏晶科技单片机技术为素材, 以单片机初学者、单片机项目开发者为对象, 教大家如何走进单片机,继而达到开发工程项目(如:四轴飞行器设计,多功能收音机等)为目的。 限于时间和水平关系,资料中难免有过失之处,望各位高手批评指教,多多拍砖,拍累了,你们休息,我继续上路。

现已连载的方式免费共享于电子发烧友网,供单片机新手们参考学习,可以自由下载传阅 ,但未经作者许可,不得用于任何商业目的, 转载请注明出处。

作者 | 残弈悟恩

编辑 | Garen

要使用 Keil5,首先得在 PC 机上安装该软件,接下来简述 Keil5的安装过程和软件的破解。在此之前笔者建议读者先在某一个盘下新建一个文件,起名为:Keil5(例如:D:Keil5),这样便于软件的管理和以后系统文件的查找。

1.安装软件

打开随书(或开发板)附带的光盘,找到 Keil5文件夹并打开,接着双击“mdk_513”应用程序,之后单击“Next”按钮,则会弹出一个“License Agreement”对话框,此时在“I agree to …”前打勾并单击“Next”按钮,接着是一个让读者选择安装路径的对话框,单击“Browse”按钮选择刚刚新建的文件夹(D:Keil5)。之后需要读者填写一些个人信息,这里四个框随便填(例如:ss、bc),再单击“Next”按钮,接着就是一个正在安装的界面图,稍等片刻,软件就会安装完毕,最后单击“Finish”按钮,这样软件就安装完毕了,之后就可踏上编程之旅了。

2.安装软件库

Keil5不同于以前的几个版本(Keil4、Keil3、Keil2),安装完软件之后还需要安装库,这样我们才能够进行后续的操作。读者需要注意的是,由于笔者不仅用 STC单片机开发工程,同时还会根据需求,选择一些 ARM 核的处理器来开发项目,因此笔者安装的是 MDK(Microcontroller Development Kit)版本的软件,至于如何安装 ARM核处理器的开发环境,读者可自行查阅资料。当我们安装完软件之后,Keil5会自动弹出如下的安装包对话框,

如图 2-2所示。

图 2-2 Pack Installer 安装包对话框

进行到这步读者可以直接关闭即可,因为这个安装包主要包括一些三星、意法半导体等等的高端处理器,而未包含 STC公司的单片机,那如何安装 STC公司的单片机,其实很简单,STC公司为了解决此问题,他们在自己的 STC-ISP软件上加入安装库的功能,读者只需进行简单的操作,就可以添加 STC单片机到 Keil5中。打开 STC-ISP软件,选择“Keil仿真设置”选项卡,如图 2-3的“1”所示,接着单价“2”所示的按钮,此时会弹出如图 2-4所示的 Keil5安装路径文件夹选择对话框,此时我们只需定位到安装目录(图中为笔者的安装目录,读者的自行设置)即可。

图 2-3 添加 STC 库到 Keil5 中选择对话框

图 2-4 Keil5 路径选择对话框

3.和谐软件

Keil5软件网络上流行着破解版,但是出于对知识产权和此软件辛勤劳作人员的尊重和支持,笔者建议有经济实力的公司和个人最好购买正版软件,购买途径可联系深圳米尔科技等,但对于穷学生,请大家自行解决,这里不赘。这样,Keil5犹如世外桃源,只待读者去欣赏花香鸟语、万物复苏的美景了。

4.KeilMDK和KeilC51的兼容性设置

有些读者可能和笔者一样,会面临同时开发 ARM 核和 STC 单片机的双重任务,可开发ARM 核这样的 Keil5 软件名称为“MDK”,而开发 STC 单片机需要“Keil C51”,因此两者需要相关的设置,才能将两个软件完美集合,而不是一台 PC机上安装两个 Keil5软件,具体整合的步骤如下。

(1)安装 KeilC51,并 XX,安装目录 C:\KeilC51\。

(2)安装 KeilMDK,并 XX,安装目录 C:\KeilMDK\。

(3)把 C:\KeilC51\ 里面的 C51 文件夹复制到 C:\KeilMDK\ 里。

(4)把 C:\KeilC51\ 里面的 UV4 文件夹复制到 C:\KeilMDK\ 里,提示有同名文件都不要覆盖。

(5) C:\KeilC51\TOOLS.INI 文件里面的内容复制到 C:\KeilMDK\TOOLS.INI 文件后面,并且把所有的“KeilC51”替换为“KeilMDK”。以上,若文件中没有KeilC51,那么不用管,直接复制粘贴。这样一个 KeilMDK就可以兼容 C51了。最后,关于 “KeilMDK”和“KeilC51”区别,请读者自行查阅了解,这里不赘。

51单片机可以做成什么东西,你想知道吗?

在我一系列的文章中,都是在介绍如何学习单片机,该学习哪些东西。但当我们要学习一项技术的时候,总要有一定的实际价值的,没有价值的事情做了也是无用功。同样我们学习单片机也是一样的,要有一个目标,通过不断的学习去实现它。这个目标可能是做一个实际的产品,可能是通过学习单片机和其他知识找一份工作。

单片机产品实物

由此,寻求实际价值才是我们学习的实际目的。

那么本文就来介绍几款单片机做出的智能产品,让我们从实际出发,去看看单片机可以做些什么东西出来,本文不仅包括51单片机,还有arduino单片机,stm32单片机等一系列的产品。

首先上场的一款51单片机实现的智能小车。

51单片机智能小车 --图片来自网络

简单介绍一下这款智能智能小车可以实现哪些功能。

1、作为一个车,正常的前进后退拐弯肯定是可以实现的。

2、自动循迹,智能避障,时速显示这些功能都是有的。

3、远程无线控制也是有的,可以用手机上的APP通过蓝牙或wifi实现远程控制。

4、实时温湿度的采集与显示。

我们来简单分析一下,这款智能小车上面用到了哪些功能模块。

一个电动车需要动,那么就会用到电机,这上面采用的直流电机。

直流电机

就是这货,相信很多人小时候都玩过那个什么双星,田宫四驱兄弟的赛车,用的就是这样的电机。

四驱车

当然我们的单片机因为功率比较小,是驱动不了这样的电机的,所以就需要一个驱动电路,这里用的L298N这款驱动芯片。它长这个样。

L298N驱动芯片

这里要注意的是,这款芯片需要12V的供电。

通过单片机去控制这个驱动电路的不同输出就可以控制电机正反转以及相应的速度了。

当然也还有其他的方法驱动电机,这里就不过多叙述了。

那么接下来要实现自动循迹,我们需要用到什么模块呢。就是它啦,红外对光管模块。

红外对光管

它是什么原理呢,这里简单讲一下。所谓自动循迹,就是在地面上铺设上两种颜色反差较大材料,通过红外线去扫描,红外线在不同颜色上的反射效果是不一样的,这个对光管上的接受装置就收到了不同效果的反射光线就会输出不一样的电平,单片机通过判断模块输入的电平信号进行判断是直走还是转弯呢。原理就是这样,很简单。就是在下面这种环境下进行自动循迹。

自动循迹路线图

因为地面与路线上的材料颜色不一样,对光管的输出信号就不一样,从而实现自动循迹功能。

那么智能避障是如何实现的呢,那就是超声波模块,它长这个样子。

超声波模块

如何实现自动避障,原理也很简单。这个模块会发出超声波,当超声波遇到前方有物体的时候,它会反射回来,又被我们的模块进行接收,那么当接收信号时,就意味着前方有障碍,它就会自动输出一个电平信号给单片机。当单片机接收到这个信号之后,就会根据我们设计的程序设定做出相应的反应,从而实现自动避障功能。

远程控制是如何实现的呢,这个我们需要了解一点AT指令配置,这里就不展开讲了。我们来看看哪些模块可以实现远程控制功能。

首先是ESP8266,比较有名的一款芯片,可以实现wifi连接和信息传输。它长这个样子。

esp8266芯片

还有蓝牙模块HC05,也可以用来无线远程控制,它长这个样子。

蓝牙模块

温湿度的采集与显示,如和实现呢,首先我们需要一个温湿度采集模块,这里用的是DHT11。

DHT11

这个模块输出的是数字信号,在模块内部已经将模拟信号转换为数字信号,方便我们使用。

显示模块用的是数码管,这里就不多做介绍了,在我前面的文章中有讲到数码管,有兴趣可与去看一下51单片机入门(第4篇):单片机实现8路抢答器。

我们通过做一个智能产品,需要用到这么多的模块进行功能实现,我们需要知道每一个模块如何使用,如何通过单片机去控制,这便是我们学习的目的,了解硬件知识,学习如何编程。

接着我们再来介绍一款stm32的产品,四轴飞行器。

stm32四轴飞行器 --图片来自网络

当我们学习单片机到一定程度时,有很多基础知识铺垫时,我们可以尝试自己制作一台无人机。

也许这就是一个理工男的乐趣吧,小时候没钱买玩具,长大了就自己做,通过自己的学习给自己做一些玩具。

当然这只是一个很小的领域,我们还可以做,自动检测类的,智能控制类的,结合起来就可以实现智能家居的一小部分了。通过慢慢的学习和尝试,将我们住的环境进行改造,变得更加智能化,比如下面这个自动浇花系统。

自动浇花系统

这就是自动控制和自动检测的产物。自己制作一些有意思的东西去改变生活,如果你的脑洞够大,还可以做出更加有趣的东西,也许下一个物联网界的大咖就是你。

当然还有我们的 arduino单片机,这是一种比较简单的单片机,但功能也很强大,下面我们就来看看他可以diy出哪些的有趣东西吧。

ardiuno写字机 --图片来自网络

利用光驱DIY的一个写字机,很有创意的东西,如果动手能力强,有兴趣可以尝试一下哟。

arduinoLED显示器 --图片来自网络

arduino单片机也是一个做DIY产品的不错选择,自己设计出一些有趣东西出来,整个生活都变的更加智能化。通过自己的双手改变平凡的世界,从学习单片机开始。

写在最后:

通过几个小例子,向大家展示我们可以用单片机做什么,实现某个功能时可以用哪些模块,推荐一些比较有趣的小例子,实用的模块。我相信,如果对单片机感兴趣,认真去学习单片机,那么这些东西都是可以做出来的。

如果大家想要学习单片机,可以关注我点赞评论转发本文,然后私信我发送“01”,即可获得我整理收集的一些实用单片机学习资料。

点赞+关注+评论+转发,是我创作的动力,希望大家继续支持我这枚小小科技仔。

相关问答

飞行器 控制一般用什么 单片机 ?

我也是刚开始玩四轴的新手,打算自己DIY,刚浸淫此道2个月,做一个最简单的四轴需要了解单片机与三轴加速度,超声波测高等外围部件的数据读取,接受,同时根据得...

51单片机 定时闹铃(c语言) - 懂得

我来发一个C语言51单片机2113时钟程序,希望5261能帮到你/*程序功能:带定时闹4102铃时钟*//*-----------------------------------------我来21...

51单片机 的主要作用是什么?】作业帮

[最佳回答]51单片机的作用很多很大,可以说上至航天飞机,下至家用电器都有51单片机的身影.在8位机这个价廉物美的单片机家族中,只有51单片机是有数据总线和地址...

晶振为110592的 51单片机 - 懂得

点击编译器的d红色调试按钮,此刻会出现调试界面,在要测试的代码起始处设置断点(点F9也行)然后让程序全速运行此刻会再断点处停下,几下此刻编译器左...

单片机 的计数器是干什么的 - 149****7335 的回答 - 懂得

以51单片机16位定时计数器1(T1)来讲,通俗解释:计数是T1是一个能盛65536(十六位时)滴水的水盆,在水龙头下水一滴滴地滴入盆中。如果盆是空的那水在...

单片机 的计数器是干什么的 - 淑娜nana 的回答 - 懂得

以51单片机16位定时计数器1(T1)来讲,通俗解释:计数是T1是一个能盛65536(十六位时)滴水的水盆,在水龙头下水一滴滴地滴入盆中。如果盆是空的那水在滴...

C51单片机 按键控制定时闹钟 - 懂得

纯粹用51做闹钟,需要有时钟芯片或者内部RTC功能,如果都没有,只通过定时器,你需要不断的给定时器做一些补偿,你要的是代码还是思路?请问还有代码吗

51单片机 串口输出程序,单片机运行后在串口调试助手上看到重...

首先看你的发送的是什么:unsignedchardat,字符型的变量,也就是说你发送过去的变量是char型的,再看你要显示什么:“串口助手上看到一组16进制数”好...

51单片机 用石英晶振好还是陶瓷晶振好 - ___小猴子 的回答 - 懂得

感觉石英好点WP8酷七网团队为你解答一般用石英比较多,其实两者差别很小,毕竟石英和陶瓷本身就差不多的,都算石头吧。。。希望对你有用,满意记得采...

晶振为11.0592的 51单片机 ,运行每条语句的时间(赋值语句、if ...

点击编译器的d红色调试按钮,此刻会出现调试界面,在要测试的代码起始处设置断点(点F9也行)然后让程序全速运行此刻会再断点处停下,几下此刻编译器左...

猜你喜欢