51单片机入门环境搭建(Keil+ISP)
Posted 小辉_Super
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机入门环境搭建(Keil+ISP)相关的知识,希望对你有一定的参考价值。
在学习51单片机之前,环境搭建是必不可少的一步,本文主要介绍Keil软件和STC-ISP软件的安装
本人只是一个普通的嵌入式低级(初级)玩家,文章主要针对新手,所以大佬要是发现文中有何不妥之处,还请口下留情,若能指出,我一定虚心改正
文章目录
Keil软件安装
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。——百度百科
Keil软件用来编写和编译代码,最后可以生成二进制(.bin)或十六进制(.hex)的可执行文件(借助ISP软件可以将这些可执行文件烧录到单片机中),同时,它还提供了仿真调试功能。
下载Keil
我们先到Keil官网 https://www.keil.com/ 下载最新版的Keil (C51版本)
.
- 如果弹出信息提交页面,按实际情况填写即可(地区一定要选,勾选框可以不选)
- 最后点击最新版本的MDK进行下载即可
下载完成后,即可看到这个安装包。
安装Keil
打开刚才下载的安装包,
.
- 安装路径最好不要选择C盘
- 这一步,需要填写个人信息(没错,我的信息全是x😂)
- 接下来开始正式的安装,过程大约1至2分钟。
- OK,安装完成!
Keil工程的创建
Keil安装完成后,桌面会生成Keil软件的图标,如下图:
- 打开该软件,选择
Project
->New uVision Project
新建一个工程
- 选择工程路径,输入工程名,【注意】不要用中文,最好路径也不含中文,不然可能会出现未知错误!
- 工程新建后,会弹出一个窗口,让你选择设备信息,由于我们要用的51单片机STC89C52和AT89C52引脚完全兼容,硬件连接基本一样,所以我们可以搜索AT89C52。
- 接下来,Keil软件会询问你是否添加
STARTUP.A51
到当前工程,这个一个用汇编代码写的文件,又叫启动文件,作用是可以让单片机从初始状态进入你的C代码程序。(其实你选否也不会有什么影响,如果选了否,则Keil亦会通过库中的启动代码实现标准化的启动流程。如果需要对startup添加自定义的代码,那么必须在项目中添加startup.a51代码)【如果你看不懂,选“是”就对了】
- 这时,工程已经创建好了,接下来我们写一个简单的main函数,首先选择New,新建一个空白文件
- 新创建的文件可以直接保存到工程所在的文件夹(也可以自己创建一个子文件夹),命名后保存,注意加上
.c
的后缀。
- 编写一个简单的主程序(无任何功能)
reg52.h
是51单片机的头文件,定义了一些寄存器和引脚(暂不作介绍)。
- 此时,我们刚刚创建的
.c
文件只是存在于工程目录之下,但并没有加入到工程中(如果不理解,照做就行了)
- 双击文件或点击
Add
进行添加,添加完后点击OK退出工程文件的管理。
- 这时再看工程窗口,可以看到分组1中多了一个main.c文件
- 在编译代码之前,我们还要开启生成hex文件的选项,该文件就是我们用来烧录的文件。
- 接下来就是编译代码,点击
Build
按纽即可完成编译(从左边数,第一个是预编译,第三个重新编译,第四个是链接,最后一个是停止编译),保险起见,新手在编译时,可以把前三个全部点一遍(重新编译是个好东西)。
- 编译结果可以在
Build Output
窗口查看,这里显示的内容主要包括各个空间的大小(data——片内ram,xdata——片外ram ,code——程序存储区rom)及错误和警告的数量(如果存在,则显示它们所在位置和详情)。下面特别标识的信息表示成功创建hex
文件(十六进制可执行文件),一般情况下,出现这行信息,说明程序编译通过(有些时候Error
为0,但没生成hex
文件,也算编译失败)。
- 最后,打开
hex
文件所在目录,看看hex
文件是否生成了,如果有,恭喜你完成工程的创建和编译。
注册Keil C51(PoJie)
和其他的一些国外软件不同,Keil安装过程异常顺利,没有弹出任何让我们注册的提示(除了信息填写),是不是Keil是一个免费软件呢?当然不是!
- 如果Keil C51没有注册,那我们能够编译的代码就不能超过0x800字节(2048字节),下图我把代码量写到
234行
时,就出现了报错(告诉我超过了2048字节的限制,超过了最大限制的1%)。
如果是新手学习,200多行的代码限制应该是能够接受的,但如果我们想编译大一点的项目,那就不得不进行注册(pojie)了。
- 我们先看看百度上正版价格(我对这些不太了解,不一定真实,但肯定不便宜)
-
但是作为穷学生或打工仔,怎么可能舍得拿这么多钱去买正版授权呢,我这里给出一个注册机软件(有效期2032年)
下载链接——链接:https://pan.baidu.com/s/1SwuVl9BWumzaFhyzXjSP7Q 提取码:xh66
特别声明:仅限用于个人学习,如果用于商业活动,后果概不负责 -
【提示】:如果解压后文件被删除,请先把杀毒软件暂时关闭。另外,如果是晚上使用,记得把电脑音量调低。。因为它的声音和长相一样吓人。
- 有了注册机软件,接下来我们就来注册Keil C51,首先以管理员身份打开Keil软件(如果不用管理员身份,可能会出现注册报错的现象)
- 复制产品ID号(CID)
- 将产品CID粘贴到注册机CID栏,确认平台为C51,点击
Generate
生成注册码(由30个数字或字母组成),最后复制注册码。
- 将注册码粘贴到
License Management
的LIC编辑框内,点击AddLIC
,即可注册成功(如果弹出一个带乱码的窗口,先确认是否使用了管理员权限打开Keil),可以看到过期时间是2032年,足够我们用了。
- 再次编译之前失败的代码(这里要用到重新编译,不然会一直报之前那个错误),成功了!
STC-ISP软件安装
STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便。——百度百科
下载STC-ISP
下载路径:STC的官网: http://www.stcmcu.com
由于宏晶(STC)的官网布局有点拥挤,我直接使用Ctrl + F
进行搜索,找到STC-ISP软件的下载位置在网页右侧。点击下载即可。
.
.
安装USB to UART驱动
- STC提供的工具倒挺全的:
- 由于我当前使用的硬件平台是普中科技的一款开发板(A2),上面自带USB转TTL(串口)模块,该模块的芯片为
CH340
,所以我需要安装CH340对应的驱动——ch341ser.exe
(路径:“USB to UART Driver\\CH340_CH341\\CH341SER.EXE”)
- 打开该驱动文件,选择安装按钮即可完成安装。
- 安装完驱动后,我们将51单片机(带USB转TTL)接入到电脑,查看设备管理器,如果可以看到
USB-SERIAL CH340
的端口设备,说明驱动安装成功,此时电脑就能够和单片机互相通信了。
使用STC-ISP烧录固件
- STC-ISP使用起来就3步,但先点下载再上电这个操作我是第一次见。下图选择的程序文件就是上一章所生成的
first.hex
。
使用PZ-SP烧录固件
- 普中科技也自己有一款烧录软件——
PZ-ISP.exe
,普中开发板的配套资料里带有这个软件,也顺便简单介绍一下。
- 主界面如下图所示,毕竟只支持一种(或几种)型号的单片机,所以功能比STC-ISP少很多,但是操作起来也简单了许多。
烧录步骤:选择hex文件->点击程序下载,如果下载失败,调低波特率再试(我调到9600以上就会烧录失败。。。)。
以上是关于51单片机入门环境搭建(Keil+ISP)的主要内容,如果未能解决你的问题,请参考以下文章