说到单片机,大家肯定都不陌生。 它们可用于制作小型自动化控制装置并解决小问题。 这些都是非常无麻烦的方法。
现在市场上流行的有很多,比如80C51系列ARM系列STM32等等。 虽然原理相似,但编程环境存在差异。 对于只是偶尔玩玩的朋友,我不建议你玩(当然,如果你真的从头开始学习而不是玩玩,建议从80C51入手,效果会更好)。
那么如何以最低的成本做出一个适合新手写代码的最小系统呢? 那么今天我们就来说一下吧。
综合考虑以上因素,我们会选择arduino平台(它的好处太多了,创客必备,简单轻便,更多信息请参考百度)。 使用的微控制器型号为ATmega8A-PU,编程的IED为arduino1.0。 接下来,我们开始打包。
硬件准备:
ATmega8A-PU X1(个别产品售价4-10元)
8MHz晶振X1(几毛钱)
22pF电容X2(几分钱)
10K欧姆电阻
150欧姆电阻
USBASP烧录器X1(15至35元不等)
LED小灯泡
一块面包板或穿孔板
硬件接线:
首先放一张ATmega8A-PU的引脚图,看看各个引脚的功能:
(ATmega8A-PU图)
接下来我们开始接线:
1、首先制作振荡电路,将晶振连接到ATM8A-PU的Pin9和Pin10,对应上图中的PB6和PB7。 然后在此基础上,将Pin9和Pin10分别连接一个22pF的电容,最后引出一根线接地。 请看下面的图片:
(振荡电路接线)
2 下载给系统供电,分解ICSP的D11/D12/D13,连接到单片机的Pin17/Pin18/Pin19。 5V 连接到 Pin7 (VCC) GND 连接到 Pin22 (GND),其余连接到 Pin1。 请看下面的图片:
(ICSP图)
(总电路原理图)
+5V→引脚7(VCC)
接地 → ping22(接地)
D11 → 引脚 17 (PB3)
D12 → 引脚 18 (PB4)
D13 → 引脚 19 (PB5)
复位 → 引脚 1(复位)
连接好线后大概是下图这样的(我目前在老家,无法上传自己的实物图,所以先在网上找一张)
(物理接线图)
编译下载程序:
以上硬件环境搭建完毕后,我们就开始烧写了。
打开我们的arduino IDE编写环境。 这里我们测试LED灯闪烁,所以只需打开官方提供给我们的示例(File->Example->Basics->Blink)
(眨眼示例)
然后找到File->Parameter Settings(Preferences),勾选Output Display Details(路径稍后会有用)
然后找到工具-选择开发板-选择ATmega8_8MHz板(注意IDE必须使用1.x否则有的版本会找不到)
(选择板)
然后点击左上角的“√”按钮开始编译。 编译完成后,IDE会生成HEX文件,并输出HEX文件所在路径。 您可以复制它并找到它。
(十六进制文件路径)
刻录并上传:
完成上述工作后,我们开始上传到我们的最小系统。 上传之前,我们还需要做一些准备工作,包括配置文件、安装USBasp驱动、制作保险丝等。
1、打开arduino的boards.txt文件,进行一些修改(路径为arduino安装路径]hardwarearduinoavrboards.txt)
注意:有些版本arduino下直接没有avr文件夹boards.txt
将以下代码添加到最后一行:
################################################## ## ##########
atmega8_8M.name=ATMega8L(8MHz,不带外部晶振)
atmega8_8M.upload.protocol=arduino
atmega8_8M.upload.maximum_size=7168
atmega8_8M.upload.speed=115200
atmega8_8M.bootloader.low_fuses=0xa4
atmega8_8M.bootloader.high_fuses=0xdc
atmega8_8M.bootloader.path=optiboot
atmega8_8M.bootloader.file=optiboot_atmega8_8M.hex
atmega8_8M.bootloader.unlock_bits=0x3F
atmega8_8M.bootloader.lock_bits=0x0F
atmega8_8M.build.mcu=atmega8
atmega8_8M.build.f_cpu=8000000L
atmega8_8M.build.core=arduino
atmega8_8M.build.variant=标准
2、我们将刚刚编译生成的两个文件复制到arduino根路径hardwarearduinoavrbootloadersoptiboot文件夹下。
3、安装USBasp驱动(搜索这个驱动就行了,没什么好说的,就OK了)。 安装完成后,在电脑管理中串口会有显示。
(驱动安装完成)
4、打开客服提供的烧写软件(推荐使用智峰的progisp1.72,可以百度下载),选择我们要烧写的芯片型号(ATmega8A)
(对应我们的芯片型号)
然后确认选择是否正确。 如果正确,右侧的 PRG 将亮起。
(配置正确)
然后点击右下角…按钮,进入熔丝位设置。 然后点击三个“Read”按钮即可读出当前芯片的熔丝设置。 点击“向导模式”,弹出向导对话框。
之后点击向导即可设置熔断向导。 直接勾选选项即可设置保险丝。 我们首先不会解释其他选项。 我们来看看与晶振相关的选项。 我们可以看到芯片默认使用“内部RC振荡器”。 (1MHz)”,现在我们要使用外部8M晶振,我们可以选择底部第三个选项。点击写入。
(继续写)
5、最后点击右上角的Load Flash,然后选择我们编译好的.hex文件点击开始自动写入。
然后开机试试效果吧~