macOS实现51单片机编程(不建议)
sdcc编译器和Keil软件语法相差较大,建议使用虚拟机。 —— 2021.8.5
感谢灰佬送的开发板!
郭天祥老师的《51单片机C语言教程》是单片机入门很好的教材,但是它使用的是Keil软件进行的教学,而Keil不但不支持macOS系统,而且还是一款收费软件。本文介绍如何在macOS上进行51单片机开发。
1. 安装sdcc编译器
使用homebrew
安装,一般来说,如果您安装过Xcode,那么您的电脑上就会带有homebrew
,如果依然没有,您可以通过如下命令安装:
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
安装完成后,通过homebrew
安装sdcc
:
1 | brew install sdcc |
2. 安装单片机驱动
下载地址:http://www.wch.cn/download/CH341SER_MAC_ZIP.html
直接点击那个大大的下载就行。
请注意,安装过程会重启电脑
3. 连接单片机
重启完成后,将单片机连接至Mac,打开终端,输入:
1 | ls /dev/tty.wchusbser* |
如果出现:
则说明驱动安装成功并可以正确检测到单片机。
请复制并留存好这次的输出(记做MCUPath),以后会用到。
4. 安装烧录工具stcgal
项目地址:https://github.com/grigorig/stcgal
首先确认您的电脑有安装python3,如果没有,先去官网下载一个。
直接输入:
1 | pip3 install stcgal |
等待安装完成即可。
5. HelloWorld
先在自己的开发目录里新建一个项目文件夹,比如我的是~/Developer/MCU/HelloWorld
,在里面新建一个HelloWorld.c
的文件,写一个最基本的点亮发光二极管的程序:
1 |
|
打开终端进入该文件夹,然后编译:
1 | cd ~/Developer/MCU/HelloWorld |
编译完成后,项目文件夹里会出现一大堆东西:
然后进行烧录:
先打开单片机,然后输入:
1 | stcgal -P stc89 -p /dev/tty.wchusbserial1440 HelloWorld.ihx |
当出现Waiting for MCU, please cycle power:
时,请按两下按钮重启单片机,然后会有:
说明烧录完成,三颗指定的发光二极管也已经亮起: