5块钱打造Arduino单片机最小系统-技术教程

internetofthings 2018-04-09

Hello,大家好,欢迎大家来到LIUSE网络。

说到单片机大家肯定都不陌生,用来做个小型自动化控制啊,解决个小问题啊,都是非常省事的办法。

现在市面上流行的诸如80C51系列ARM系列STM32等等实在不少。虽然原理都是差不多,但是在编程环境上却有差异。对于只是偶尔玩玩的朋友来讲,鄙人不推荐大家去玩(当然如果你果真是从头开始学,而不是玩玩,那推荐从80C51学起,效果会比较好一些)。

那如何用最低的成本,并且还适合小白写代码,去做出一个最小系统呢?那今天我们就来说一下。

考虑到以上因素,我们会选择arduino平台(好处太多,创客必备,简单轻便,更多有点请自行百度)。用的单片机呢型号是ATmega8A-PU,编程IED为arduino1.0接下来我们开始进行装箱。

硬件准备:

  1. ATmega8A-PU X1(某宝价格4-10元不等)

  2. 8MHz晶振 X1(几毛钱)

  3. 22pF电容 X2(几毛钱)

  4. 10K欧电阻

  5. 150欧电阻

  6. USBASP烧录器 X1(15-35元不等)

  7. LED小灯泡

  8. 面包版或者洞洞板一块

硬件接线:

先来放一张ATmega8A-PU的引脚图,看一下各个引脚的作用:

5块钱打造Arduino单片机最小系统-技术教程

(ATmega8A-PU示意图)

接下来我们开始进行接线:

1先做一个震荡电路,将晶振连接ATM8A-PU的Pin9、Pin10也就是对应上图的PB6跟PB7,然后在此的基础上Pin9跟Pin10分别连接一个22pF的电容,最后引出一条线接地。请看下图:

5块钱打造Arduino单片机最小系统-技术教程

(震荡电路接线)

2进行系统的下载与供电,将ICSP的D11/D12/D13分解接单片机的Pin17/Pin18/Pin19 5V接Pin7(VCC) GND接Pin22(GND)rest接Pin1。请看下图:

5块钱打造Arduino单片机最小系统-技术教程

(ICSP示意图)

5块钱打造Arduino单片机最小系统-技术教程

(总电路原理图)

+5V → pin7(VCC)

GND → ping22(GND)

D11 → pin17(PB3)

D12 → pin18(PB4)

D13 → pin19(PB5)

reset → pin1(reset)

连接好线之后大概就是下图的样子啦(鄙人目前在老家,没办法上自己的实物图,先从网上找一张吧)

5块钱打造Arduino单片机最小系统-技术教程

(实物接线图)

编译下载程序:

以上的硬件环境搭建好之后,我们就开始来进行烧录了。

打开我们的arduino IDE编写环境,这里我们测试LED灯闪烁所以直接打开官方给我们提供的示例就行(文件->示例->Basics->Blink)

5块钱打造Arduino单片机最小系统-技术教程

(Blink示例)

然后找到文件->参数设置(首选项)输出显示详细信息打勾(后面有用到路径)

5块钱打造Arduino单片机最小系统-技术教程

然后找到工具-选择开发板-选择ATmega8_8MHz这个板子(注意,IDE一定要用1.x的不然有些版本是找不到的)

5块钱打造Arduino单片机最小系统-技术教程

(选择板卡)

然后点击左上角的“√”按钮开始进行编译。编译完成之后,IDE会生成一个HEX文件,并且会输出HEX文件所在的路径,你可以复制出来找到它。

5块钱打造Arduino单片机最小系统-技术教程

(hex文件路径)

烧写上传:

做完上面的工作后,我们开始上传到我们的最小系统。在上传之前,我们还需要做一些准备工作,这包括配置一下文件、安装USBasp驱动、做一下熔丝位等。

1.打开arduino的boards.txt这个文件做一下改动(路径为arduino安装路径]\hardware\arduino\avr\boards.txt)

注:有的版本没有avr这个文件夹 boards.txt直接在arduino下

在最后一行加入下面的代码:

##############################################################

atmega8_8M.name=ATMega8L (8MHz, without external crystal)

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=standard

2.我们将刚才编译生成的两个文件复制到arduino根路径\hardware\arduino\avr\bootloaders\optiboot文件夹下。

3.安装USBasp驱动(这个没啥可说的驱动随便搜一下就OK)安装完计算机管理里面的串口里面会有显示

5块钱打造Arduino单片机最小系统-技术教程

(驱动安装完成)

4.打开客服给我们提供的烧写软件(推荐用智峰的progisp1.72,随便百度一下都可以下载)选择我们要烧录芯片的型号(ATmega8A)

5块钱打造Arduino单片机最小系统-技术教程

(对应我们芯片型号)

然后确认选择是否正确,正确的话右边的PRG会点亮。

5块钱打造Arduino单片机最小系统-技术教程

(配置正确)

然后点右下角的...按钮进入熔丝位设置。然后点三个"读出"按钮,可读出当前芯片的熔丝设置,点击"向导方式",弹出向导对话框。

5块钱打造Arduino单片机最小系统-技术教程

之后,点向导方式来设置熔丝向导,可通过直接勾选选项来设置熔丝,其它选项我们先不做说明,先看看晶振相关的选项,我们可以看到芯片默认是使用"内部RC振荡器(1MHz)",现在我们要用外部8M的晶振,我们可以选倒数第三个选项。点写入。

5块钱打造Arduino单片机最小系统-技术教程

5块钱打造Arduino单片机最小系统-技术教程

(继续写入)

5.最后点击右上角的调入Flash,然后选择我们编译好的.hex文件 点自动就开始写入啦。

5块钱打造Arduino单片机最小系统-技术教程

然后给你的系统通上电试试效果吧~

相关推荐