雷竞技注册
项目

在Atmel Studio 7中的Atmega328p&Attiny45面包板和编程

2017年7月12日经过Charles R. Hampton.

在此项目中,我们将构建用于编程两个不同的Atmel微控制器的电路,我们将讨论必要的软件设置。

在此项目中,我们将构建用于编程两个不同的Atmel微控制器的电路,我们将讨论必要的软件设置。

该项目将描述两个非常类似的电路的构造:一个用于编程ATMEGA328P,另一个用于编程ATTINY45。本文将提供编程电路的完整示意图,以及无焊接面包板组件的详细照片。此外,还将介绍Atmel Studio 7 IDE(集成开发环境)。

首先,硬件

Atmega328p是Atmel的28针微控制器,是AVR线的一部分。它可能是最令人着称的是Arduino的开发平台中最常用的μC,但AT328P能够远远超过它在那里挤压。如果您想查看该声明的一些证据,请查看660页数据表

Attiny45是8针μc,可能被认为是Atmega328p的“婴儿兄弟”。它具有许多相同的功能,但当然它没有几乎与许多I / O引脚一样。

串行外围界面ATmega328P和ATtiny45采用SPI编程;它是一个三线(加地)总线,由一个Master Out, Slave In (MOSI)信号,Master In, Slave Out (MISO)信号,和一个串行时钟(SCK)信号组成。时钟由主设备产生,用于确保主设备和从设备之间的通信同步;因此,SPI是一个“同步”通信总线。

编程电路

编程电路的示意图如下所示。请注意,编程不严格要求电阻R2和LED1,但是包含在电路中以测试此项目后面定义的测试目的。

程序员选择

有几个程序员可用于处理ATMEGA328P和ATTINY45;这Atmel-Ice.位于列表的顶部,是一个精致的程序员,将在未来的文章中讨论。目前,您可以使用的昂贵选项和Sparkfun可用AVR Pocket Programmer是本文的Skinflint作者使用的。如果您喜欢别的东西,请随时挑选适合您喜好和口袋书的人。只需确保它使用先前描述的串行外设界面,并准备好对本文中的信息进行适当的更改。

警告!在您第一次插入程序员之前,请务必在计算机上的AVR Pocket Programmer上下载并安装相应的驱动程序。如果允许Windows安装错误的驱动程序,则纠正错误可能会非常有问题。在本文后面提供了获取AVR Pocket程序员驱动程序的说明。

AVR Pocket Programmer配有带状电缆,可连接到Atmelμc。它配有三个连接器:2×5个母线插入AVR Pocket Programmer上的配合男性标题,另一个2×5母线,在带状电缆上约9英寸(23厘米)(不使用本文),加上带状电缆末端的2×3母。引脚放置在下面的照片中。

编程电路无焊接面包板组件

Atmega328P和Attiny45编程电路无焊接面包板组件显示在以下照片中。六根短跳线被用来将所需的导线从2×3母连接器连接到无焊接面包板的微控制器上的适当引脚。请注意,下面的装配照片中的线颜色对应于上面示意图中的电线。

零件清单

除了一些电线跳线之外,还列出了编程电路组件所需的部件。

部分参考。 描述 来源 项目编号
U1. IC,Atmega328P-PU,32KB闪光,DIP-28,1.8-5.5V Digi-key. Atmega328p-pu-nd
U1. IC,Attiny45-PU,4KB闪存,DIP-8,2.7-5.5V Digi-key. Attiny45-20pu-nd.
R1. 电阻,¼W,10kΩ Digi-key. 10kqbk-nd.
R2. 电阻,¼W,470Ω Digi-key. 470QBK-ND
LED1. 二极管,发光,T1 3/4,黄色 Digi-key. 754-1889-nd.
C1. 电容器,陶瓷,0.1μF,50V Digi-key. 399-9797-nd.
N / A. 程序员,AVR口袋,PGM-09825 Digi-key. 1568-1080-nd.
N / A. 面包板,无焊,400封箱 Digi-key. 377-2094-ND

然后,软件

AVR Pocket Programmer驱动程序

AVR Pocket Programmer的Windows驱动程序是Adafruit Usptiny程序员使用的Windows驱动程序。去这个adafruit网页然后单击使用libusb v1.12构建的Windows USBTINISP签名驱动程序的链接。这将允许您下载包含两个Installer.exe文件的zip文件:一个用于32位计算机,一个用于64位计算机。双击适用于Windows PC的哪一个,将安装驱动程序。

只有在安装正确的Windows驱动程序后,只有您首次将AVR Pocket Progressmer连接到您的计算机。您需要一个USB类型A来微型B Mean-to-Male电缆,从您的PC连接到AVR Pocket程序员。当您建立连接时,蓝色PWR LED和红色STAT1 LED应亮起;两个蓝色数据LED也可以点亮和/或闪烁。Windows将尝试找到驱动程序,并且应根据需要将Windows指向正确的驱动程序位置。一旦安装得当,AVR Pocket Programmer将在LibusB-Winxx设备下显示为“Usbtiny”的设备管理器;它不会作为COM端口枚举。请参阅以下屏幕截图:

爱特梅尔公司工作室7

Like many microcontroller design firms, Atmel has an Integrated Development Environment (IDE) that works with their hardware offerings: Atmel Studio 7. Although it’s not the only way to program Atmel μCs, it is the most fully featured method for Windows 7, 8, and 10 (both 32-bit and 64-bit); unfortunately, it can’t be used with Linux or Mac operating systems.

Atmel Studio 7中的选项和选择的数量可能会为新用户提供压倒性。因此,将在该项目中提供逐步的方法,并将大大简化该过程。首先下载并在PC上安装IDE。这Studio 7用户指南还可以下载丰富的其他信息。

Studio 7中包含对多个硬件程序员的支持,但确切的选择取决于您将使用的Atmel微控制器。在下面的屏幕截图中,右侧列出了对Atmega328P支持的程序员。

如您所见,AVR Pocket Programmer不在列表中。但是,它仍然可以在一块名为AVRDUDE的软件的帮助下与Studio 7一起使用。

Avrdude.

AVRDude是一个命令行实用程序,用于从Atmel微控制器下载和上传。有适用于Linux和Windows系统的版本。截至撰写本文(2017年6月7日),可用的最新版本是6.3;可以下载这里。Windows用户应该下载avrdude-6.3-mingw32-zip(单击此链接将下载zip文件!),解压缩文件,然后安装avrdude。请注意,在主硬盘驱动器的根目录中安装程序不是必需的,而是将简化其与Atmel Studio 7中的使用。如果版本超过6.3,您可以决定以自行决定安装。可提供AVRDUDE的用户指南这里

要检查是否正确安装和工作,请执行以下步骤:

  1. 单击Windows“开始”按钮。
  2. 在“搜索”框中,键入CMD并按Enter键。应该打开一个DOS提示窗口。
  3. 在DOS提示符下,切换到安装AVRDude的目录。
  4. 键入avrdude -c qubtiny,然后按Enter键。如果一切顺利,Avrdude将返回支持的Atmel设备列表。

有关该过程的示例,请参阅下面的屏幕截图。请注意,屏幕截图已被截断,仅显示支持的Atmel设备列表的一部分。

把它整合在一起

假设程序员如前所述连接到无焊接面包板上的AVR,您几乎准备好编程您的AVR。使用下面的按钮,解压缩文件,解压缩,并在便捷的位置将其保存在PC上。

new_blink.zip.zip.

现在,请按照此程序进行操作。

  1. 启动Atmel Studio 7。
  2. 在启动屏幕左侧,单击“新建项目”。新项目屏幕将打开。


  3. 在“新建项目”屏幕上,单击“GCC C可执行项目”;命名项目新闪烁,如上所示,单击“确定”。设备选择屏幕将打开。


  4. 在“设备选择”屏幕上,选择您使用的AVR设备:Atmega328P或Attiny45,如下所示。单击确定。将创建新项目,并将打开新的闪烁项目屏幕。


  5. 单击“工具”下拉菜单,选择“外部工具...”,然后单击“添加”按钮。
  6. 在标题框中,键入您正在创建的工具的名称;如果名称描述工具,这很好。例如,您可以输入程序员名称和设备名称的组合。
  7. 在“命令”框中,键入安装AVRDUDE加上启动AVRDUDE的命令的位置的DOS地址。
  8. 在参数框中,根据您使用的AVR键入以下两个行之一。对于ATMEGA328P,类型:
-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex

对于Attiny45,类型:

-c usbtiny -p t45 -v -u flash:w:$(targetdir)$(targetname).hex:i
          
  1. 在“初始目录”框中,键入安装AVRDUDE的位置的DOS地址。
  2. 请确保选中“使用输出窗口”框,并未检查其他两个复选框。窗口应类似于下面的屏幕,但反映您正在使用的AVR。


  3. 单击“应用”,然后单击“确定”。外部工具窗口应该关闭。
  4. 转到在本节开始时解压缩并存储新的Blink.c的位置,打开文件,选择所有内容,然后将其复制到剪贴板。
  5. 转到Atmel Studio 7中的新Blink.c窗口,选择所有内容,并将剪贴板的内容粘贴到新的Blink.c窗口中。它应该如下所示。


  6. 如果Atmel Studio 7解决方案资源管理器未在项目窗口的右上角打开,请单击“查看下拉”菜单,然后单击“解决方案资源管理器”。解决方案资源管理器应在项目窗口的右上角打开。
  7. 右键单击main.c文件并选择rename。将main.c文件重命名为New Blink.c。
  8. 单击文件下拉菜单,然后单击“保存全部”。
  9. 单击“构建下拉”菜单,然后单击“构建解决方案”。
  10. 单击“工具”下拉菜单,然后单击上面的步骤5到11中创建的工具的名称。编译的新眨眼代码应下载到面包板中的AVR,LED 1应开始闪烁:在½秒和关闭½秒,每分钟60次。

一开始

不可否认,这是一个很长的过程只是闪烁一个LED,但事实是您已成功清除了四个主要障碍:为编程AVR微控制器创建硬件平台,安装集成开发环境(Atmel Studio 7),集成外部程序(avrdude),并为您选择的AVR定义编程工具。放心,将更容易对未来的Atmel项目变得更加乐趣。在Allaboutcircues.com上观看他们。

为自己提供这个项目!得到bom。

6评论
  • 一种
    avinash_08. 2017年7月13日

    嘿Charles R. Hampton我面临着一些问题,同时燃烧AVR你能分享你的邮件ID,所以我可以清楚地详细说明你的问题..

    喜欢。 回复
    • Charles R. Hampton. 2017年7月21日
      对不起,我无法在这里发布我的电子邮件地址,因为它会产生垃圾邮件。请在这里发布您的问题。谢谢你的关注。
      喜欢。 回复
  • H
    Hutkikz. 2017年7月21日

    我很兴趣超越Arduino IDE的局限性。
    希望这变成全面的系列

    喜欢。 回复