keil软件的安装
keil C51和keil MDK版本共存
keil
有C51
和MDK
版本的软件,因为后边还要使用keil
进行STM32
单片机的开发,所以直接将keil
软件配置成能够兼容C51
和MDK
版本的软件。在浏览器上搜索了keil C51
和keil MDK
版本共存的方法,感觉有点稍微复杂。因此打算自己写一版关于keil C51
和keil MDK
共存的方法。
首先将网盘的安装包下载到本地。这个安装包里边有安装软件需要的所有软件。包括一些工具等等。
-
首先进入到
keilC51_MDK
目录将里边的C51
这个压缩包解压出来,然后在你要安装的目录下新建一个文件夹,文件夹名字命名为keil
,然后将上边解压出来的名为keil C51
的文件夹剪切到当前目录,然后在此目录下再创建一个名为keil MDK
的文件夹,然后进入到keil MDK
文件夹再创建一个名为pack
的文件夹,用来存放芯片的固件包。
-
然后在刚刚从网盘下载的文件里找到
MDK
版本的安装包,点击进行安装。 -
然后在安装的过程中基本上就是下一步还要勾选同意协议的那些,注意它的安装路径,选择之前创建的
keil MDK
的文件夹,然后对应的固件包选择此文件夹下的pack
文件,表示以后下载的一些芯片的固件包都存放在pack
这个目录下。 -
然后就是填名字,公司那些了,不想填的话可以直接敲空格然后点击下一步就会安装。一直到最后安装完成后,把那两个打勾的去掉,就是不接受一些版本的更新什么的。正常的话第一次安装完会弹出一个安装固件包的窗口,但是因为
keil
软件是国外的,所以默认从它这里安装的话速度比较慢或者可能会失败什么的。后期可以问一些淘宝的客服要一些资料包里边有包含固件库,所以这里直接把它关掉就行。把这些勾去掉
-
然后这时候先不要激活,要把
C51
的文件都添加到keil MDK
里边再激活,具体操作步骤如下:-
首先将
keil C51
目录下的C51
文件夹整个复制到keil MDK
文件夹里 -
然后将
keil C51
文件夹下的TOOLS.INI
文件用记事本打开,然后将文件里的内容复制到keil MDK
文件夹下的TOOLS.INI
文件的底部,就是放在ARM
的配置底下,然后将keil C51
里边的路径修改为和ARM
同样的路径。
-
到这里关于文件的操作就算完成了,接下来是软件激活,将从网盘下载的文件里找到一个名为
keygen_new(2032)
的文件,将其解压,如果被火绒或者安全中心拦截,就先把这些安全管家关掉。然后在桌面找到keil
图标,将其右键以管理员身份运行。然后选中file
---->license management
。然后将keygen_new(2032)
也以管理员身份运行。这里跟这步骤走两边就行,一遍是激活
C51
,另外一遍是激活MDK
版本的,第三步这里选完版本以后要点一下第四步才会生成一个激活码,然后将激活码填到步骤六对应的框里,点击Add LIC
,最后激活以后是以下两个版本的。 -
这里要先安装一下
STM32F1
的固件包,测试以下它能不能够编译C51
和STM32
的工程。我这里只提供了STM32F1
系列的固件包,其他的固件包可以进行百度。然后在我提供的安装包里找到STM32F1
系列固件包双击安装,然后它这个路径是不可选的,它默认安装到了之前新建的pack
文件夹,然后双击keil
运行,点击安装包里的STM32_template
工程,编译一下看看能不能正常编译。同理打开C51_template
编译一下看看能不能正常编译出hex
文件。经过编译可以发现它可以正常的编译,说明
keil C51
和keil MDK
共存版本安装成功。
-
在VS code上编写51单片机代码
对于keil
软件的使用,我之前是使用过的,感觉它的代码对齐,提示等等,做的功能还有点不太够意思。所以我这里再提供另外的编辑C51
代码的一个工具:vs code
。利用它里边的插件可以非常有好的编辑代码。因为我在测试过程中遇到了它的那个下载代码到单片机有问题,所以说这里先搭建它的烧录工具。首先在安装包里找到python
进行安装,具体安装步骤如下:
完成安装以后,可以打开终端进行是否成功安装。按下win+R
键输入cmd
,然后输入python --version
,它就会将你电脑上安装的python
版本号打印出来。出现以下就说明python
安装成功。
其实安装python
不是目的,主要是有一个工具pip
包含在python
里边,所以要安装python
环境。然后可以检测一下pip
这个工具。同样在cmd
终端输入pip --version
也可以看到对应版本号。这时候要安装一个命令行下载器,就是通过这个工具将vs code
编译出来的hex文件烧录到板子里的。
命令行下载器stcgal
的安装:
在cmd终端执行pip3 install stcgal
安装,它这个过程会自动安装,安装结束以后可以来测试一下这个工具。首先将目录切换到一个已经编译出来的具有hex文件的一个路径。在cmd终端下跳转路径的话,可以使用cd
指令。首先确认你的hex文件是否在C盘如果不是,首先输入你的对应盘符加一个英文名的冒号。例如我这里的工程路径在E盘,就在cmd中输入E:
后切换到E盘所对应的目录下,然后找到你的hex文件在哪里,将路径复制。回到cmd终端,然后输入指令cd
后敲一个空格,然后右键将目录粘贴到cmd终端里,然后敲回车,然后就跳转到了对应的目录下。
然后输入指令stcgal .\template.hex -P stc89 -p COM8
,这里的stcgal
就是刚刚安装的命令行下载器,然后.\
是代表在当前路径下,template.hex
就是当前目录下的hex文件。-P
就是指定板子的型号为stc89
,-p
指定端口号。至于端口号这些可以自己在设备管理器中进行查看。如果查看不了说明是没有安装ch340
驱动,这个安装包里也有,安装的时候直接以管理员身份运行。
在cmd终端执行这句话,就可以看到如下现象
这是因为51单片机需要冷启动,所以先给它关掉再给它把开关打开。
如果出现以下提示就说明它已经将程序下载到单片机里去了:
然后就是关于vs code软件的配置,首先安装vs code软件,都在工具包里,安装这个软件以后,在左边的侧边栏找到扩展,然后暂时先安装几个插件:C/C++
、Embedded IDE
、Embedded IDE
安装完那个汉化的插件后它会提示重启,重启以后就可以看到侧边栏多了一个图标,这个就是Embedded IDE
,用来写单片机代码的一个工具。然后点击进去,按照如下步骤进行操作。
然后创建项目,它会弹出一个窗口让你选择你想要存放的路径,选择好以后,就可以在右下角打开了
然后配置工具链,这里的工具链就是在安装目录下的TOOLS.INI
文件,如果是按照我的步骤安装的keil
软件,它的TOOLS.INI
文件是在keil MDK
版本下的那个文件,而不是keil C51
目录底下的文件,这个如果配置成keil C51
目录下的文件,它的编译虽然能过,但是下载进去的hex文件不正常。
设置完工具链以后,然后设置它的烧录工具,需要将烧录工具配置成之前安装的stcgal
工具。
可以将之前的命令在一个文本里备份一下,然后输入以下指令就可以完成配置,stcgal -p COM8 -P stc89 "{hexFile}"
到这里算是配置完了,如果此时还是提示端口不可用等信息的话,可能是因为设置还没有生效,可以加电脑重启一下看看,我这里的是因为在设置完以后,它会自己优化,然后将shell
改为一个通用的脚本
然后你虽然说配置的串口是COM8,但是经过它的 优化以后,不需要修改shell
脚本也可以直接换一个端口进行下载,它自己会进行检测。相比使用keil
编写代码、编译代码,然后使用宏晶的STC-ISP软件方便的多。新手有一个工具就够忙活了,而且宏晶那个软件还动不动更新。
配置完以上这些以后,就可以进行代码的编写、编译、下载了,它的编译按钮在右上方,就关闭软件那块,然后下载的话也是在那里。需要注意的一点就是51单片机需要冷启动。
同时你还可以写一个工程,然后基于此工程创建模板,不用每次创建一个空的模板。具体操作步骤如下:
这个工程模板保存在和你当前工程一个目录下,下次创建的时候就选择本地工程模板而不需要创建一个空的模板了。
点击本地项目模板,然后它会弹出一个窗口,你找到对应工程的目录,然后找到一个后缀名为.ept
的文件,基于这个创建工程就可以了
这里我配置的是关于C51
使用vs code来进行代码的编写,没有写STM32
单片机使用vs code进行代码的编写,等我写到那里看看要不要补充一下。
百度网盘链接:【超级会员V6】通过百度网盘分享的文件:FILE.zip
链接:https://pan.baidu.com/s/1NCOKZg7xmeXCrsIQz6vsOQ
提取码:41b2
复制这段内容打开「百度网盘APP 即可获取」