1.概述
鉴于好多朋友平常工作电脑为苹果,再配一台 Windows 机器来开发 51 单片机,略显多余。为此,本文详细讲解在 macOS 搭建 51 单片机开发环境。
软硬件需求:
- macOS 笔记本或台式机
- 串口转 USB 驱动 CH341
- 51 内核编译器 sdcc
- 程序下载工具 stcgal
- 代码编辑器 visual studio code
- 51 单片机开发板(选配)
小编使用的 51 单片机开发板为 nebula-Pi,主单片机型号为 STC89C52RC,并且搭载了 CH340C 串口转 USB 芯片,通过该串口实现程序的下载。
2.串口转 USB 驱动 CH341 安装
单片机开发板与 PC 之间通过 USB 线连接,需安装 CH340C 的 USB 转串口 macOS 驱动程序。下载地址,直接点下载就好。解压下载好的文件,双击运行目录里面的 ch34xInstall.pkg,根据提示一直点击下一步,最后重启电脑。
重启电脑后,将 51 单片机开发板连接至 PC,在命令行终端输入下列代码:
ls /dev/tty.wchusbser*
如果出现:
/dev/tty.wchusbserial14a0
表示驱动安装成功!其中 14a0 代表你的串口号,每台 PC 或插在不同的 USB 口,这个号略有差异,后续下载程序将会使用到。
3.程序下载工具 stcgal 安装
stcgal 是 STC 单片机的下载工具,安装前需确保已提前安装好 python3。
3.1 安装 python3
macOS 自带 python2.7,到官网下载 python3 的 macOS 版本,并安装。 安装完毕 python3 以后,敲入命令获得安装路径:
which python3
我的安装路径为:
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7
将这个路径配入环境变量:
vim ~/.bash_profile
在文件的最后一行输入下面代码,保存并重启电脑:
alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"
命令行敲入:
python
输出如下信息表明 python3 环境配置成功:
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
3.2 下载安装 stcgal
下载地址,下载后并解压。在终端命令行中 cd 切换路径到解压文件。终端输入下面两条命令开始安装:
./setup.py build
sudo ./setup.py install
可输入如下命令查看 stcgal 版本信息:
stcgal --version
到这里,STC 单片机在 macOS 下的程序下载工具 stcgal 就安装完成了。
4.内核编译器 sdcc 安装
sdcc 可通过命令行直接安装:
brew install sdcc
该命令使用了 brew,因此需提前安装 homebrew,官方网站安装需要科学上网,我们使用国内镜像可实现光速安装,命令如下:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装完成后,查看 sdcc 版本信息:
sdcc --version
运行结果如下:
SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ez80_z80/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 4.0.0 #11528 (Mac OS X x86_64)
published under GNU General Public License (GPL)
到这里 sdcc 安装也告一段落了。
4.代码编辑器 visual studio code 安装
命令行代码安装如下:
brew cask install visual-studio-code
安装完成启动软件,按下图所示搜索,并安装 platformIO IDE 插件:
按下图所示,搜索嵌入式平台 Intel MCS-51 ,并点击进入 install。
到这里,代码编辑环境准备就绪了。
5.新建工程
step1: 新建项目流程如下所示:
step2: 设置项目名称,选用 Generic STC89C52RC 平台。
step3: 编辑代码
step3.1 添加符合 sdcc 编译器要求的头文件,需要打开工程目录将头文件添加至 include 文件夹下,头文件下载链接如下:
https://pan.baidu.com/s/1wSZKHhlElO6w2nwQIMfXuQ 密码: in94
step3.2 src 文件夹下添加.c 格式文件如下图 2,3 所示,并编辑代码如下:
#include"8051.h"
#define LED0 P1_0
void main()
{
LED0 = 0;//点亮 LED0
}
step3.3 指定下载串口,打开 platformio.ini 文件,添加如下代码,如下图 5 所示:
upload_port = /dev/cu.wchusbserial14a0
注意: 代码中的串口号就是安装 USB 串口驱动时的串口号,正常情况下,在下载时软件会自动寻找并打开串口,但有时打开不正确,造成下载不成功,因此,我们在这里指定好固定的串口。
具体流程如下图所示,其中,6,7 所示为编译和下载按钮。
step4 按上图的 6 编译按钮开始编译,结果如下:
step5 按上图 7 下载按钮,并给开发板上电,下载过程如下图所示。
到这里便完成了 51 单片机的开发环境的搭建,并完成了一个小的试验项目。
6 其他重要事项
大家是否注意到我们在新建工程的 step2: 选用 Generic STC89C52RC 平台,如果我们板子的平台不在可选之列怎么办?例如单片机 STC12C5A60S2。此时,我们需要自行建立板子平台模版,具体操作方法请参考: RY-Teach STC12C5A60S2 Mac 环境搭建 。
7 总结
本文详细介绍了 基于 visual studio + platformIO + stcgal + sdcc 的 51 单片机开发环境搭建。
还是菜鸟,终端先用着,后面学到蓝牙wifi了换一个?