littlebot
Published on 2025-03-29 / 5 Visits
0

【源码】基于AVR的ATMega微控制器编程器系统

项目简介

本项目是基于AVR的ATMega微控制器编程器系统,借助USBasp实现对Atmel AVR控制器的USB在线编程。它修改了官方USBasp版本,新增对AT89S52和S51系列的支持,并添加自动降速功能,具备跨平台兼容性。

项目的主要特性和功能

  1. 多平台兼容:支持Linux、Mac OS X和Windows等多个平台。
  2. 硬件要求低:无需特殊控制器或贴片元件。
  3. 编程速度快:最高可达5kBytes/sec。
  4. SCK选项:支持低时钟速度(< 1.5MHz)的目标设备。
  5. 扩展支持:添加了对AT89S52和S51系列的支持以及自动降速功能。

安装使用步骤

刷写固件

  1. 短路电路板上atmega8的29脚(RESET)和10pin插口的3脚(RESET),参考文件夹内示意图操作。
  2. 用手头编程器(如st200、st500v1、st500v2、usbasp等)烧写firmware文件夹内的main.hex。
  3. 修改M8的熔丝位为低位0xef,高位0xc9。

使用预编译版本

固件

用正常工作的编程器(如avrdude、uisp等)将“bin/firmware/usbasp.atmega88.xxxx - xx - xx.hex”或“bin/firmware/usbasp.atmega8.xxxx - xx - xx.hex”烧写到所用控制器中。设置跳线J2激活USBasp固件更新功能,更改外部晶振的熔丝位。

Windows系统

  1. 启动Windows并连接USBasp。
  2. 安装驱动时选“bin/win - driver”,在Win2k和WinXP系统忽略“驱动未数字签名”警告继续安装。
  3. 运行avrdude,如:连接AT90S2313进入终端模式“avrdude -c usbasp -p at90s2313 -t”;将main.hex写入ATmega8闪存“avrdude -c usbasp -p atmega8 -U flash:w:main.hex”。

从源代码构建和安装

固件

  1. 安装AVR微控制器的GNU工具链(avr - gcc、avr - libc)。
  2. 切换到firmware目录。
  3. 运行“make main.hex”。
  4. 用uisp或avrdude将“main.hex”烧写到ATMega(4)8,烧写时设置跳线J2,连接USBasp到正常工作编程器,更改外部晶振熔丝位。

软件(avrdude)

  1. 安装libusb:http://libusb.sourceforge.net/
  2. 获取最新avrdude版本:http://download.savannah.gnu.org/releases/avrdude/
  3. 进入avrdude - X.X.X目录。
  4. 配置环境:运行./bootstrap(可能需注释验证autoconf和automake安装版本的两个if块),再运行./configure。
  5. 编译并安装:运行make,再运行make install。

不同系统的注意事项

Windows(Cygwin)

从http://libusb - win32.sourceforge.net/下载libusb - win32 - device - bin - x.x.x.x.tar.gz并解压,将lib/gcc/libusb.a复制到库路径,将include/usb.h复制到包含路径,进入avrdude目录,运行./configure LDFLAGS="-static" --enable - versioned - doc=no,然后运行make。

Darwin/MacOS X

运行“./configure”后,编辑Makefile,将“avrdude_CPPFLAGS”更改为“AM_CPPFLAGS”。

Linux

若以非root用户身份使用USBasp,需定义设备规则,参考bin/linux - nonroot中的示例。

下载地址

点击下载 【提取码: 4003】