MacOS 开发51单片机【非虚拟机】
MacOS 开发51单片机【非虚拟机】
准备工作
一、安装brew
因为在Mac上是用 brew 来安装sdcc的, 所以我们首先自己装上homebrew,不然等下安装sdcc的命令是错误的。brew 是Mac的包管理管理工具,就和 redhat 的 yum 和 Ubuntu 的 apt-get 一样。
homebrew的安装方法
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
将以上命令复制粘贴到终端,然后根据提示进行安装。
二、安装内核编译器 sdcc
sdcc 可通过命令行直接安装
brew install sdcc
三、安装CH341驱动
开发板上默认已经集成了usb转串口模块,它上面使用的CH340芯片。但是在CH340官网上面没有找到mac系统的驱动,只找到了CH341版本的mac系统驱动,根据官方文档说明,这个驱动也兼容CH340芯片,所以安装CH341版本的驱动就可以了。
下载地址:CH341驱动 http://www.wch.cn/download/CH341SER_MAC_ZIP.html
然后将下载好的 zip文件解压打开双击运行目录里面的ch34xInstall.pkg,根据提示一直点击下一步就可以了,最后按照提示重启电脑就可以了。接着我们就要确定驱动是否安装成功
将单片机连接到电脑上然后打开终端命令行窗口后执行:
ls /dev/tty.wchusbser*
如果输出类似下面的数据
就代表安装成功了表示驱动安装成功!
其中 fa130代表你的串口号,每台 PC 或插在不同的 USB 口,这个号略有差异,后续下载程序将会使用到。
四、安装烧录程序stcgal
stcgal 是 STC 单片机的下载工具,安装前需确保已提前安装好 python3。
python3下载安装并配置环境
macOS 自带 python2.7,所以我们需要到官网下载python的 macOS 版本,并安装。
下载好后,终端输入python3 ,如果出现python3.7,就代表python 安装好了.
安装完毕 python3 以后,敲入命令获得安装路径:
which python3
得到安装路径
上面是我的安装路径,接下来要将这个路径配入环境变量
然后在终端输入命令:
vim ~/.bash_profile
然后在文件的最后一行输入下面代码,保存并重启电脑:
alias python="/Library/Frameworks/Python.framework/Versions/3.10/bin/python3"
上面的路径就是一开始得到的安装路径
验证是否配置成功
在终端敲入:
python3
输出如下信息表明 python3 环境配置成功:
五、下载安装 stcgal
stcgal 下载:https://github.com/grigorig/stcgal
下载后并解压。在终端命令行中 cd 切换路径到解压文件。
一定要切换到解压文件夹里面输入下面两条命令开始安装:
./setup.py build
sudo ./setup.py install
可输入如下命令查看 stcgal 版本信息:
stcgal -version
到这里,STC 单片机在 macOS 下的程序下载工具 stcgal 就安装完成了。我们的总体环境也配置好啦,开发环境就搭建完啦!!!下面就是开始测试了!
工程创建
-
打开vscode ,选择platformio 扩展,新建 project
-
broad 选项按单片机的型号来选择,例如stc89c56rd+
-
在工程文件中,打开c_cpp_properties.json ,includepath中添加
/opt/homebrew/Cellar/sdcc/4.3.0/share/sdcc/include/mcs51
这样头文件才能被引入成功
-
编写代码main.c,这里要注意sdcc代码与window c 有一些差异
-
编译代码
sdcc main.c
- 烧录ihx文件,烧录时提示cycle power 只需将开发板上开发按一下就可以
stcgal -P stc89 -p /dev/tty.wchusbserial10 main.ihx
常用的电子元件
- 电阻(R)
电阻器由“R”加上电路中的数字表示。例如,R1表示编号为1的电阻。电路中电阻的主要作用是分流,电流限制,分压,偏移等。
参数识别:电阻单位为欧姆,倍增器单位为:千欧(k)、兆欧(m)等,换算方法为:1兆欧=1000千欧=1000千欧电阻参数标注方法有直接标注法、颜色标注法和数字标注法三种。a.数字标记法主要用于贴片等小体积电路中,如472表示47*100omega(4.7K),104表示100kb,彩环标记法是应用最广泛的方法。这里有以下例子:四色环电阻,五色环电阻(精密电阻)。
电阻的颜色位置与放大率的关系如下表所示:颜色有效数字放大率允许偏差(<垃圾>-rrb;银/x0.01±10金/x0.1±5黑0+0/棕色1x 10±1红2x100±2橙3x1000/黄4x 10000/绿5x10000/蓝0.5±6 x100000±0.2紫色7x100000±0.1灰8x10000000/白9×1000000000/.
- 电容(C)
电容通常由电路中的“C”加数字表示(例如C13表示编号为13的电容)。电容是由两个相互接近的金属薄膜组成的元件,由绝缘材料隔开。电容的主要特点是与直流和交流相分离。电容容量是能够存储电能的大小。电容对交流信号的阻碍称为电容电抗,它与交流信号的频率和电容有关。电容式电抗XC=1/2πFC(f表示交流信号频率,C表示电容容量)电话中常用的电容器类型有电解电容器、陶瓷电容器、贴片电容器、单片电容器、钽电容器和聚酯电容器。欲了解更多信息,请访问:输配电设备网络。
识别方法:电容的识别方法与电阻的识别方法基本相同,有三种类型:直接标记法,色标法和数字标准法。拉电容的基本单位(F),其他单位为:毫法拉(mF),微法拉(uF),纳法(nF)和皮法拉(pF)。
其中:1法拉=103毫米法=106毫米法=109纳米法=1012皮法电容器直接在电容器上标明大容量的电容器容量值,如小容量为10uF/16V的电容器,其容量值在电容器上用字母或数字表示:1米=1000uf1p2=1.2pf1n=1000pF数字TAL表示:一般用三位容量大小表示,前两位表示有效数字,第三位表示第三位。它是乘法。例如,102表示10102pf=1000pf224表示22104pf=0.22uf3,电容误差表符号fgjklm允许误差<1%+2%+5%+10%+15%+20%。例如,104J表示容量为0.1uf,误差小于5%。 - 电感
- 二极管
- 三极管
单片机的最小系统
- 晶振电路
- 电源电路
- 复位电路
- 下载电路
晶振电路
这个电路是为系统提供时钟的,也就是系统会一直的循环,但循环的频率的是多少,就要由时钟来决定
串口通信使用的晶振使用【11.0592Mhz】的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通