STK500 User's Guide: Introduction

STK500开发板用户向导

祝贺你拥有了STK500 AVR ® Flash MCU开发板，STK500是一个面向Atmel公司推出的AVR Flash单片机的完整开发板和开发系统。它使设计者能够快速学会用AVR进行编程，并且提供了能够设计和测试新产品的高级特性。

AVR Studio的最新版本要求对旧版STK500固件进行更新，新版本的AVR Studio内部包含了STAK500新固件，当你连接好STK500开发板后更新程序将会启动（你可以按提示进行），如果由于某种原因自动更新失败，请使用人工更新，有关人工更新的相关内容请点击 这里.

总体介绍
特性
器件支持
新增功能
疑难解答
入门指导
打开系统套件
系统要求
快速入门
硬件说明
用户LEDs说明
用户开关说明
连接LEDs和开关
端口连接接口
用户RS232 接口说明
Dataflash 引脚说明
目标插座部分
ISP 编程
高压编程
并行高压编程
串行高压编程
短路片设置
目标 VCC设置, TVCC
模拟参考电压, AREF
复位设置, RESET
时钟设置, XTAL1和OSCSEL
BSEL2 短路座
扩展连接接口
Prog Ctrl 和 Prog Data连接插头
其它
在STK500上使用AVR Studio
启动STK500
"编程"设置
"熔丝位"设置
"锁定位" 设置
"高级" 设置
"开发板" 设置
"自动" 设置
历史窗口
命令行软件
对扩展目标器件在系统编程
故障排除向导

STK500 固件更新过程
技术支持
应用例程

请参看：

返回主索引


STK500 User's Guide: Features

此开发板有如下特征：
  • 与 AVR Studio ? 兼容
  • 支持通过PC的RS232接口进行编程和控制
  • 10-15V直流稳压电源供电
  • 为8脚,20脚,28脚,和40脚的AVR器件提供插座
  • 支持AVR器件的并行和串行高电平编程
  • AVR器件的串行在系统可编程(ISP)
  • 支持对外部目标系统上的 AVR 器件在系统编程
  • 支持AVR器件的重复编程
  • 8个通用按键
  • 8个通用LED灯
  • 所有的AVR I/O口都能通过插针方便的连接
  • 附加一个通用RS232口
  • 插入模块和原型设计区的扩展连接接口
  • 板上自带2Mbit数据flash区用于非易失性数据存储

注意: 一些器件需另加额外的适配器才能与STK500配合使用。查阅 器件支持 可得这些器件的名称和相应的适配器。

请参看：
  • STK500 开发板用户向导
  • 器件支持


STK500 User's Guide: Device Support

所支持的器件

目前在所有速度等级上，系统软件支持以下器件：

  • ATtiny11

  • ATtiny12

  • ATtiny13

  • ATtiny15

  • ATtiny22

  • ATtiny245

  • ATtiny26

  • ATtiny28

  • ATtiny45

  • ATtiny2313

  • AT90S1200

  • AT90S2313

  • AT90S2323

  • AT90S2333

  • AT90S2343

  • AT90S4414

  • AT90S4433

  • AT90S4434

  • AT90S8515

  • AT90S8535

  • ATmega8

  • ATmega16

  • ATmega32

  • ATmega48

  • ATmega641

  • ATmega88

  • ATmega1031

  • ATmega1281

  • ATmega161

  • ATmega162

  • ATmega163

  • ATmega1652

  • ATmega168

  • ATmega1692

  • ATmega2562

  • ATmega323

  • ATmega3252

  • ATmega3292

  • ATmega644

  • ATmega6452

  • ATmega6492

  • ATmega25603

  • ATmega25611

  • ATmega32504

  • ATmega32904

  • ATmega64504

  • ATmega64904

  • ATmega8515

  • ATmega8535

  • AT90CAN1286

  • AT90PWM27

  • AT90PWM37

  • AT86RF401

1 STK501 适配器支持。
2 STK502 适配器支持。
3 STK503 适配器支持。
4 STK504 适配器支持。
5 STK505 适配器支持。
6 STK501 和 ATADAPCAN1 适配器支持。
7 STK520 适配器支持.

此外STK500还支持AT89S51和AT89S52的在系统编程。

新版本的AVR Studio可能已经增加了对新的AVR器件的支持。最新版本的AVR Studio 可以从 www.atmel.com 下载。

请参看：
  • STK500 开发板用户向导
  • 特性


STK500 User's Guide: 新增功能

新增功能

注意：在应用笔记AVR068中，有关版本2固件(firmware)所使用的新的通信协议的说明，请参阅 Atmel web site 以获得更多信息。

2005年4月11日 - v2.01版本的固件（FW）

  • 增加了对器件ATmega644的完整支持

2005年2月2日 - v2.01版本

  • 增加了对器件ATtiny24的完整支持（需要STK505）

  • 增加了对器件ATmega645/ATmega645的完整支持（需要STK502/STK504）

  • 增加了对器件ATmega649/ATmega6490的完整支持（需要STK502/STK504）

2004年12月6日 - v2.00版本

  • 增加了器件对ATmega2560的完整支持（需要STK503）

  • 增加了对器件ATmega2561的完整支持（STK503）

2004年10月11日 - v1.53版本

  • 增加了对器件AT90PWM2和AT90PWM3的完整支持（需要STK520）

  • 增加了对器件ATtiny45的完整支持

2004年8月4日 - v1.51版本

  • 增加了对器件ATmega3250的完整支持（需要STK504）

  • 增加了对器件ATmega3290的完整支持（STK504）

2004年7月23日 - v1.50版本

  • 增加了对器件ATmega325的完整支持（STK502）

  • 增加了对器件ATmega329的完整支持（STK502）

2004年7月8日 - v1.49版本

  • 增加了对器件ATtiny2313 rev C的完整支持

  • 增加了对ATmega168的完整支持

  • 根据应用笔记 AVR053，增加了器件内部RC振荡器校准的完整支持

  • 修正了器件ATtiny13 rev D的高电压串行编程

2004年5月5日 - v1.47版本

  • 增加了对器件ATmega165的完整支持（需要STK502）

2004年3月8日 - v1.46版本

  • 增加了对器件ATmega88的完整支持

  • 增加了对器件AT90CAN128的完整支持


STK500 User's Guide: 疑难解答

最新版本的疑难解答

注意：如果您使用的是4.11版本之前的AvrStudio，v02.xx 版本的STK500固件（FIREWARE）将不能正常工作，因为v02.xx版本的STK500固件所支持的v2通信协议在4.11版本之后（包括4.11）的AvrStudio中才得到实现。在AVR068操作说明书中有对新的通信协议的详细描述，您可以访问Atmel主页： www.atmel.com/avr 获得该说明书。

v02.01 - 2005年4月11日

如果在编程之前RESET按键被按下而且在编程过程中RESET按键一直被按下，那么在编程后STK500将与目标板 RESET 键脱离开，即使RESET按键一直被按着。释放并再次按一次 RESET-键会让STK500重新工作。

固件相关部分疑难解答:

ATtiny13 编程疑难解答： 使用ATtiny13 请看这里.

ATtiny2313 编程疑难解答： 使用ATtiny2313 请看这里.

ATmega169 编程疑难解答： 使用ATmega169 请看这里.

固件升级

为了能成功升级固件，请您确保所有的连线和设备都已经从STK500上的目标区域取下。


STK500 User's Guide: Unpacking the System

打开系统套件
盒中装有：
  • STK500开发评估板；
  • STK500电缆：
    • 2根10-线用于I/O口连接和并行模式编程的电缆；
    • 1根6-线在系统编程的电缆；
    • 4根2-线UART电缆和dataflash连接器；
  • 9-芯RS-232电缆，直流电源电缆；
  • 装有Atmel公司的数据手册和软件的CD-ROM；
  • AT90S8515-8PC单片机样片；

请参看：

STK500 开发板用户向导

  • 系统要求
  • 快速入门
  • 连接硬件
  • 对目标 AVR 器件编程


STK500 User's Guide: System Requirements

系统要求
最低系统硬件和系统软件要求：
  • 486处理器（推荐用奔腾系列）；
  • 16 MB 内存；
  • 30 MB 剩余硬盘空间（AVR Studio）；
  • Windows ® 95, Windows 98, Windows ME, Windows NT 4.0或更高，或 Windows 2000；
  • 115200 波特率 RS-232 接口（COM 接口）；
  • 10-15V 直流电源电压，最少 500mA；

请参看：

  • STK500 开发板用户向导
  • 打开系统套件
  • 快速入门
  • 连接硬件
  • 对目标 AVR 器件编程


STK500 User's Guide: Quick Start

快速入门

在STK500开发板上标号SCKT3000D3的插座上按有一片AT90S8515-8PC微处理器，其默认短路片设置为允许微处理器使用STK500板上的时钟源和稳压电源进行工作。

该微处理器中已经下载了一段点亮LED灯的测试程序，这段AT90S8515上的测试程序代码在“举例应用”部分有详细描述。连接好LED灯和开关部分的连线，打开 STK500 开发板的电源，此测试程序就能在AT90S8515上自动运行。

用配套的10-芯缆线把标有PORTB的连接接口与LEDS的连接接口连到一起, 并把写有PORTD的连接接口与SWITCHES的连接接口相连。具体连法如下图所示。

采用10-15伏的外部直流电源供电。STK500板的输入电路是桥式全波整流电路，所有它可以自动处理电源插头中心为正极或负极的情况。如果使用了中心为正极的电源接头，有时会产生不能关闭STK500的情况，这是因为此时电源开关在负端，尽管开关已经断开了与地的连接，但地端可以由RS-232电缆的屏蔽线提供或着由另外的接地端提供的情况出现。使用电源线连接线，STK500使用 10-15 V 的直流电源。STK500上的电源开关可以打开/关闭电源，当电源打开时，红色LED点亮，并且同时状态指示 LEDS 将由红色变黄色，然后变成绿色。绿色 LED 表示目标 VCC 已经连接。现在 AT90S8515中程序将对按键作出反应，即点亮相应的LED。

请参看：

  • STK500 开发板用户向导
  • 打开系统套件
  • 系统要求
  • 连接硬件
  • 对目标AVR器件编程


STK500 User's Guide: Connecting the Hardware

硬件连接

Connection to STK500

对AT90S8515进行编程前，先把提供的6-芯电缆连接ISP6PIN连接接口和SPROG3目标ISP连接接口，如：“ISP编程 ”中描述的编程电缆的连接方法。

用一跟串行电缆连接评估板上标记“RS232CTRLC”的接口和电脑上的COM口，如上图所示。 在电脑上安装AVR Studio软件。

AVR Studio开始运行后，程序会自动查找到STK500连接到了哪个COM口。

请参看：

  • STK500 开发板用户向导
  • 打开系统套件
  • 系统要求
  • 快速入门
  • 对目标AVR器件编程


STK500 User's Guide: Programming the Target AVR Device

目标AVR器件的编程

可以用AVR Studio的4.0或更高版本控制STK500。

为了把十六进制文件编程写入进目标器件AVR中，请选择AVR Studio的“Tools”菜单中的“Program AVR”，然后选择“Connect...”，下面是对话框。

为了连接STK500或AVRISP，请选择在平台列表中的 “STK500 or AVRISP”。 然后选择“Connect...”，STK500 和 AVRISP 的驱动将开始运行，并且将会出现STK500的对话框，注意此系统也支持其它编程平台，比如JTAGICE或JTAGICE mkII。.

然后在“program”标签中的下拉菜单中选择AVR目标器件，装载intel-hex文件。

选择“erase”，再选择“program”按键，当编程开始后状态LED将变成黄色，当编程成功LED将编程绿色，如果编程失败LED将编程红色，详见 "故障排除向导"。

有关 AVR studio上STK500界面的详细说明请看 "使用 AVR Studio说明"。

请参看：

  • STK500 开发板用户向导
  • 打开系统套件
  • 系统要求
  • 快速入门
  • 对目标 AVR 器件编程


STK500 User's Guide: STK500 Block diagram

STK500 框图


STK500 User's Guide: Description of user LEDs

LEDs 说明

STK500开发板有8个黄色LEDs和8个按键，LEDs和按键都连接到调试连接接口。调试连接接口和开发板上的其它部分是分开的，但可以通过配套的10-芯电缆把它们与AVR器件的I/O口连接口连接。在 "连接LEDs和开关" 部分的图上描述了如何把LEDs和按键连接到I/O口的连接接口上。电缆必须从引脚连接接口平直的和LEDs或按键连接，不需要扭曲转向。标有红色标记的电缆是1号引脚。确保要把1号电缆同每个连接口上的第一个引脚连接。下图描述了如何实现对LED的控制。这种设计方法会使所有的目标电压在1.8v和6.0v间的LED亮度一致。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Description of User Switches

开关说明

开关与调试连接口的连接方式如下图所示：

按下开关会使 SWx 被拉低，放开开关会导致相应开关连接接口连接到VTG，有效目标电压范围是1.8V < VTG < 6.0V。

说明：
在 AVR 器件中，你可以使输入引脚的上拉电阻有效，在按键上不需要加外部上拉电阻，在STK500设计中我们已经增加了10k的外部上拉电阻，以便在按键在没按下时SWn上是逻辑“1”。150欧姆电阻是用来限制进入AVR的电流。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Connection of LEDs and Switches

连接LED和开关

可以使用10-芯的连接线将AVR上任何一个I/O口与LED和开关连接起来。除了信号线引脚外，LED旁边还提供了VTG（目标VCC）和地线（GND）的连接插针。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Port Connectors

端口连接器

I/O口插座各引脚的说明如下图所示。标有正方形标记的引脚是1号引脚：

PortE/Aux的插座引脚提供一些特殊的信号和功能，各引脚的说明如下所示：

这个端口特殊的功能有：

PE0-PE2:
Port E 连接
 | ATmega161 | AT90S4414/AT90S8515
PE0 | PE0/ICP/INT2 | ICP
PE1 | PE1/ALE | ALE
PE2 | PE2/OC1B | OC1B
REF:

模拟参考电压：这个引脚连到AVR器件（有模拟参考电压输入引脚）的 AREF 引脚。

XT1:

XTAL 1 引脚：提供给所有器件插座的内部主时钟信号。如果 XTAL1 短路片没有连接，那么这个引脚可以用作外部时钟信号的输入。

XT2:

XTAL 2 引脚：如果 XTAL1 短路片没有连接，那么这个引脚可以和 XT1 引脚一起使用，与外部晶振相连。

LEDS 和开关插座的引脚定位和I/O口的插座相同。LEDS 和 开关的插座的引脚说明如下图所示，正方形标记的是1号引脚：

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关s
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Description of User RS232 Interface

用户RS232接口说明

STK500有两个RS232端口。一个RS232端口是用作和 AVR Studio 通信用的，而当安装在插座里的目标AVR微控制器需要通过串行电缆与PC机进行通信时，就要使用另一个RS232接口。使用RS232接口时，先用连接线将AVR的UART引脚与RS232连接起来。

板上标着“RS232 SPARE”的2-引脚连接接口用于连接RS232转换器和插在插座中AVR微控制器的 UART 引脚。使用2-线转接线连接 UART 引脚到 RS232。具体连接如下图所示。

下面是 RS232 连接的原理框图：

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关s
  • 端口连接接口
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 复位设置, RESET
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Description of Dataflash Pins

Dataflash引脚说明

在STK500开发板上有一块型号为AT45D021、容量为 2Mbit的 dataflash芯片，用做存储非易失性的数据。这是一块带有SPI串行接口的高密度FLASH存储器。在Atmel公司配套的CD-ROM中的Flash存储器部分，您可以找到dataflash的详细数据手册，同样您也可以从Atmel公司网站上获得相关信息。

Dataflash可以与微控制器插座的I/O口引脚连接。板上标有“DATAFLASH”的4引脚插座，将用于把dataflash的SPI接口与目标AVR微控制器的I/O引脚连接起来。STK500配有2-线转接线，用作dataflash和I/O引脚之间的连接。当然如果您想将硬件SPI接口与AVR微控制器的PORTB口连接起来，您也可以使用配套的10-线转接线。I/O口的连接如下图所示。

下面是Dataflash和AVR硬件SPI连接部分的原理框图：

SPI接口引脚如下所示。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和 OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Target Socket Section

目标插座部分
编程写入模块由STK500 开发板上的中间白色区域里的8个插座组成。您可以对插在这些插座里的AVR器件进行编程写入，或是在您的应用中使用这些AVR器件。

注意：每次只能在这些插座中插入一个AVR器件。

AVR flash存储器可以保证烧写1000次以上后仍正常工作，其实flash存储器的典型使用寿命还会长的多。

注意：插入AVR器件时注意AVR器件的摆放方向。

器件短边上的缺口必须和插座上的缺口方向一致。如果器件插入方向不正确，有可能会损坏AVR器件和开发板。

插座部分即可以在AVR器件编程时使用，也可以在应用中使用。

您可以通过 AVR Studio 使用两种不同的方法对插在插座里的AVR器件进行在系统编程。

  1. 在正常电压供给下，使用AVR 在系统编程(ISP)。
  2. 当供给电压一直保持5V时，使用高电压编程。

4个通用端口 （Vtarget, RESET, XTAL1, 和 AREF）可以被连接到插座的部分。

下一部分将详细描述如何使用这两种编程方法。如果您想知道如何使用AVR Studio的编程软件，参见 "使用 AVR Studio说明"。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  •
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: ISP Programming

在系统编程

在系统编程模式使用AVR内部的串行接口（SPI）向AVR的flash和EEPROM存储区下载程序。 ISP模式中只需要VCC，GND，RESET和3根信号线。除了AT90C8534，Attiny11和ATtiny28外，所有的AVR器件都可以用ISP模式编程。AVR器件可以在正常工作电压下编程，通常是在2.7V到6.0V间，不需要高电压信号。ISP编程器可以同时对内部flash和EEPROM进行编程，也可以对大部分器件的熔丝位编程来选择系统时钟模式，延时启动时间设置和内部的电压检测(BOD)设置 。

说明：ISP的频率（SCK）必须要低于目标器件时钟频率的1/4，但是要求目标器件时钟和ISP时钟信号都是50/50的占空比。在STK500上运行的ISP频率最好要等于或小于目标时钟的1/5，ISP的频率设置在STK500用户界面中的开发板标签表中。

如果器件不支持ISP模式，可以使用高电压编程模式，一些器件需要使用高电压编程模式来烧写某些特定的熔丝位。详细情况请参考高电压编程部分中的有关高电压编程模式的说明。

由于不同器件的编程接口设在不同的引脚，所以板上使用了3个编程连接接口，用于正确连接编程信号和芯片的编程引脚。一根6-芯电缆可以用来连接ISP信号和目标ISP插头，一个彩色编码系统和一个数字系统用于识别每个插槽以及与其对应的ISP插头。

在ISP模式时，6-线电缆的一端必须总是连接到标有ISP6PIN的插头上。当向蓝色插槽编程时，连接电缆的另一端要连接蓝色（标为SPROG1）ISP连接接口；当向绿色插座编程时，连接电缆的另一端要连接绿色（标为SPROG2）的ISP插头；当向红色插座编程时，连接电缆的另一端要连接红色（标为SPROG3）和ISP插头；下面的表格说明了在ISP编程模式时，插座，AVR器件以及相应SPROG的ISP连接接口的对应关系 。

6-芯电缆应该直接连接ISP6PIN连接接口和正确的SPROG目标ISP连接接口上，并且电缆不能被扭曲。在电缆上有颜色的那根线是引脚1，要确保它连接到每个连接接口的引脚1上。

当对8-引脚的器件编程时，请注意以下情况：在一些器件上（ATtiny11, ATtiny12, ATtiny13 and ATtiny15）的引脚1同时用作RESET和PB5；在8-引脚插座SCKT3400D1和SCKT3400D1上的引脚1是连接到PB5上，因此在 ISP 模式中，RESET信号并不连接到这些插座上的引脚1，必须要把PORTE上的RST和PORTB上的PB5连接起来，才能提供RESET信号。使用一根2-芯电缆连接PORTB上的PB3引脚 (引脚 4) 和PORTE/AUXXT1上的XT1引脚(引脚 7)，这样可以把时钟系统连接到AVR器件上。

AVR 器件 | STK500 插座 | 颜色 | 数字 | 目标器件ISP的连接接口
AT90S1200 AT90S2313 ATtiny2313 | SCKT3300D3 | 红 | 3 | SPROG3
AT90S2323 AT90S2343 ATtiny12 ATtiny13 ATtiny22 ATtiny45 | SCKT3400D1 | 蓝 | 1 | SPROG1. 连接PORTE上的RST和PORTB上的PB5。 连接PORTE上的XT1和PORTB上的PB3(XTAL1 on 2323)。
ATtiny11 | SCKT3400D1 | 蓝 | 1 | 只用于高电压编程
ATtiny28 | SCKT3500D- | 无 | - | 只用于高电压编程
AT90S4414 AT90S8515 ATmega161 ATmega8515 ATmega162 | SCKT3000D3 | 红 | 3 | SPROG3
AT89s51 AT89s52 | SCKT3000D3 | 红 | 3 | SPROG3。这些是和MCS51内核兼容的部分，不包含AVR内核。在这些器件上只支持ISP模式。
AT90S4434 AT90S8535 ATmega16 ATmega163 ATmega32 ATmega323 ATmega644 ATmega8535 | SCKT3100A3 | 红 | 3 | SPROG3
AT90S2333 AT90S4433 ATmega48 ATmega8 ATmega88 ATmega168 | SCKT3200A2 | 绿 | 2 | SPROG2
ATtiny15 | SCKT3600A1 | 蓝 | 1 | SPROG1. 连接PORTE上的RST和PORTB上的PB5。
ATtiny26 | SCKT3700A1 | 蓝 | 1 | SPROG1 连接 PORTE上的 RST和 PORTB上的PB7。 连接 PORTE上的XT1和PORTB上的PB4。
ATmega64 ATmega103 ATmega128 ATmega2561 AT90CAN128 | 使用STK501上层模块
ATmega165 ATmega169 ATmega325 ATmega329 ATmega645 ATmega649 | 使用STK502上层模块
ATmega2560 | 使用STK503上层模块
ATmega1650 ATmega1690 ATmega3250 ATmega3290 ATmega6450 ATmega6490 | 使用STK504上层模块
ATtiny24 | 使用STK505上层模块
AT86RF401 | 不支持插座，使用AT86RF401-EK1评估板提供的外部ISP-编程模式

下图是AT90S2313如何进行ISPM模式编程的例子，6-线电缆连接ISP6PIN连接接口和红色SPROG3目标ISP连接接口，并且AT90S2313插在了红色的标有SCKT3100D3的插座上。

在AVR运行程序时不需要把6-线电缆从ISP的插座上拔出，在你的程序中用作ISP的引脚也可以用到其它地方。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: High Voltage Programming

高电压编程模式

使用高电压编程模式，必须提供给AVR器件的RESET引脚12V 的编程电压。所有的AVR器件都可以使用高电压编程模式进行编程，编程前要把AVR器件放在插座中。

在高电压编程模式中，可以用下面两种方式：串行编程（8-引脚器件）和并行编程（其他器件），编程信号可以通过STK500自带的缆线传输到目标AVR器件的相应引脚上。

下表总结了高电压编程模式的编程方法和需要特别注意的事项：

AVR 器件 | STK500 插座 | 颜色 | 号码 | 高电压编程方法
AT90S1200 AT90S2313 ATtiny2313 | SCKT3300D3 | 红 | 3 | 并行高电压编程。 按照 "并行高电压编程"中图所示，分别将PROG CTRL连接接口与PORTD连接，PROG DATA连接接口与PORTB连接。
AT90S4414 AT90S8515 | SCKT3000D3 | 红 | 3
AT90S4434 AT90S8535 | SCKT3100A3 | 红 | 3
ATtiny28 | SCKT3500D- | 无 | -
ATmega161 ATmega162 ATmega8515 | SCKT3000D3 | 红 | 3 | 并行高电压编程，安装BSEL2短路片。请参考 BSEL2 短路片部分。
ATmega16 ATmega163 ATmega32 ATmega323 ATmega644 ATmega8535 | SCKT3100A3 | 红 | 3
AT90S2333 AT90S4433 | SCKT3200A2 | 绿 | 2 | 并行高电压编程，安装PJUMP短路片。参阅 PJUMP 短路片部分。
ATmega48 ATmega8 ATmega88 ATmega168 | SCKT3200A2 | 绿 | 2 | 并行高电压编程，安装PJUMP短路片，将BSEL2与PC2连接。参阅 BSEL2短路片 和 PJUMP短路片部分。
AT90S2323 AT90S2343 ATtiny11 ATtiny12 ATtiny13 ATtiny22 ATtiny45 | SCKT3400D1 | 蓝 | 1 | 串行高电压编程。
ATtiny15 | SCKT3600A1 | 蓝 | 1
ATtiny26 | SCKT3700A1 | 蓝 | 1 | 有关对ATtiny26进行高电压编程的详细情况，请点击 这里 。因为需要特殊的连接线。*或者使用STK505 上层模块.
ATmega64 ATmega103 ATmega128 ATmega2561 AT90CAN128 | 使用STK501 上层模块，请参考STK501使用说明
ATmega165 ATmega169 ATmega325 ATmega329 ATmega645 ATmega649 | 使用STK502 上层模块，请参考STK502 使用说明
ATmega2560 | 使用STK503 上层模块，请参考STK503 使用说明
ATmega1650 ATmega1690 ATmega3250 ATmega3290 ATmega6450 ATmega6490 | 使用STK504 上层模块，请参考STK504 使用说明
ATtiny24 ATtiny26* | 使用STK505 上层模块的绿色部分，请参考STK505 使用说明 *ATtiny26也可以直接插在STK500上，但是需要特殊的带状设备。

请参看：

  • SSTK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Parallel High Voltage Programming

并行高电压编程

使用高电压编程时，编程信号必须要连接到AVRI/O引脚。请用STK500提供的两跟10-线电缆，分别连接PROG DATA连接接口和PORTB连接接口，PROG CTRL连接接口和PORTD连接接口。如下图所示：

使用高电压编程模式时，要改变STK500上的一些短路片设置。如下图所示：

并行高电压编程时的硬件设置过程：

  1. 关掉电源；
  2. 根据 "高电压编程" 部分所示，把需要编程的器件放在其相应的编程插座上；
  3. 用10-线电缆连接连接接口PROGDATA和PORTB；
  4. 用10-线电缆连接连接接口PROGCTRL和PORTD；
  5. 用短路片将OSCSEL跳线座的1和2脚短接，选择软件控制（SW）的时钟；
  6. 用短路片将XTAL1跳线座短路，连接振荡信号；
  7. 用短路片将VTAR GET和RESET两个跳线座短路；
  8. 当对AT90S2333，AT90S4433，ATmega48，ATmega8，ATmega88 或 ATmega168编程时，同时还要使用短路片将PJUMP跳线座短接。用2-线电缆可以替代短路片，详见 PJUMP 短路座；
  9. 如果器件需要，连接BSEL2，详见 BSEL2 短路座；
  10. 断开目标系统；
  11. 打开电源；
  12. 进行编程前确保VTarget是在4.5V和5.5V之间；

短路片设置方法详见 "短路片设置" 部分。

注意： 在调试前要取消高电压编程时的硬件设置。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Serial High Voltage Programming

串行高电压编程

由于8脚的 AVR 芯片没有足够多的引脚进行并行高电压编程，因此要使用串行通讯方式。这意味着只需要连接更少的信号线。串行高电压编程时的硬件设置过程为：

  1. 关掉电源；
  2. 根据 高电压编程 部分中的 表格 说明，把器件放到对应的插座上；
  3. 用短路片将OSCSEL跳线座的1和2脚短接，选择软件控制（SW）的时钟；
  4. 用短路片将XTAL1跳线座短路，连接振荡信号；
  5. 用短路片将VTAR GET和RESET两个跳线座短路；
  6. 使用2-线电缆，将PORTB连接口上的 PB3 引脚(pin4)和在 PORTE/AUX 连接口上的XT1引脚(pin7)连接，把时钟系统接到AVR器件上；
  7. 用另外一根2-线电缆，将PORTB连接口上的 PB5 引脚(pin6)和在 PORTE/AUX 连接口上的RST引脚(pin4)连接，把复位系统连接到AVR器件上；
  8. 用第三根2-线电缆，将SPROG1连接口上的PB0引脚和PB2引脚(pin4和pin3)和在PROG DATA 连接口上的DATA0和DATA2引脚(pin1和pin3连接)；
  9. 用最后一根2-线电缆，将SPROG1连接口上的PB1引脚(pin1)和在PROG DATA 连接口上的DATA1(pin2)连接；
  10. 打开电源，准备编程；

所有连接方式如下图所示：

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Jumper Settings

短路片设置

开发板的硬件设置由一个主MCU和8个短路片控制。在通常的操作时，这些短路片应该处在默认的位置。如果要配置开发板的高级应用，这些短路片可以取下或者放在其它位置。 短路片的设置和用法在下面几节有详细的说明。默认的短路片设置如下图所示。

短路片 | 默认设置说明
VTARGET: | 连接开发板上配套的VTARGET
AREF: | 连接开发板上模拟参考电压
RESET: | 连接开发板上的复位系统
XTAL1: | 连接开发板上时钟系统
OSCSEL: | 选择开发板上振荡器
BSEL2: | 不连接。在ATmega8、ATmega16、ATmega161、ATmega163、ATmega323、ATmega32、ATmega8515、ATmega8535、ATmega162、ATmega165、 ATmega169、ATmega103、ATmega64/128 和 AT90CAN128高压编程时使用。
PJUMP: | 不连接。在AT90S2333、AT90S4433、ATmega48、ATmega8 和 ATmega88高压编程时使用。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关s
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Target VCC Settings, VTARGET

目标VCC设置，VTARGET

VTARGET 对提供给目标 AVR 插座的工作电压进行控制。此电压也可以由AVR Studio控制，还可以由外部电源提供。如果安装了 VTARGET 短路片，实验板上的供给电源就连接好了。实验板上的供给电压可以通过 AVR Studio 在0~6V之间调节。通常在调节 VTARGET 电压之前，应当先查看AVR器件的数据手册，根据数据手册上的工作电压来进行调节。

使用实验板上的供给电压，大约可以发送0.5A的电流到目标区域。参见 STK500 框图 可以知道目标区域有哪些器件。

如果没有安装 VTARGET 短路片，目标 VCC 必须由外部电源提供，通过PORT插座上的 VTG 引脚输入。下图说明了 VTARGET 短路片的两种连接方式：

当使用外部电源提供 VTARGET时，使用者必须控制 VTARGET 电压，使其高于 AREF (模拟参考电压)。通常使用外部 VTARGET 电压要连接共地 (GND)。

STK500主控MCU通过使用内部PWM控制目标电压。下图3- 22画出了内部 VTARGET 信号的连接。

注意： 当VTG结点上有有效的电压时，绿色的LED会亮。如果没有VTG，不能使用STK500开发板上的调试（debug）和编程（programming）部分。

内部 VTarget 有一个短路保护电路。如果 VTarget 被设置成高于0.3V，而主控MCU却检测到它连续80ms低于0.3V，主控MCU就会切断VTarget和内部AREF。当上述情况发生时，状态LED指示灯就会快速闪烁。

如果使用外部的 VTarget ，当外部的 VTarget 被切断时，STK500的主控MCU也会错误地认为这是短路，而采取短路保护措施。可以通过把内部 VTarget 调低到 0.3V以下来避免这种情况。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置,XTAL1和 OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Analog Reference Voltage, AREF

模拟参考电压，AREF

模拟参考电压（AREF）可以提供作为AVR片内A/D转换器的参考电压。如果安装了AREF 短路片，开发板上的AREF就连接到了AVR的AREF引脚上。开发板上的AREF可以通过AVR Studio在0~6.0之间进行调节，但不能高于VARGET。

如果没有安装 AREF 短路片。AREF 电压必须通过 PORTE/AUX 连接接头 上的AREF引脚由外部电源提供。 下图说明了AREF 短路片的两种连接方式：

当使用外部的电源提供AREF时，使用者必须控制VTARGET 的电压高于 AREF 。在进行 AREF 的设置前，可以通过 AVR Studio 读到 VTG 的值，再将 AREF 的值设置在 VTG 之下即可。

STK500 的主控 MCU 使用内部 PWM控制 AREF 电压。AVR的AREF信号也可以在PROTE的插座上得到；这个引脚也可以用作外部AREF信号的输入。下图画出了内部AREF信号的连接方法。

AVR Studio 控制的AREF也可以用作AVR内部模拟比较器或是ADC测量的输入信号。这样AVR的AREF信号能够与VTG相连。

内部 AREF 有一个短路保护电路。如果 AREF 的值被设置成高于0.3V，而主控MCU却测量到它连续80ms低于0.3V，主控MCU就会切断 AREF。当上述情况发生时，状态LED指示灯就会慢速闪烁。

如果VTarget短路的话（VTarget会被主控MCU切断），AREF 也会被主控MCU 切断。这种情况下，状态LED指示灯会快速闪烁。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接
  • 用户RS232接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标VCC设置,TVCC
  • 复位设置,RESET
  • 时钟设置,XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Reset Settings, RESET

复位设置，RESET

复位短路片控制STK500上的复位信号。当复位短路线安装上时，主机的MCU就控制AVR上的复位信号。当复位短路片没安装上时，复位信号就不连接。这对于外部复位系统的原型应用是非常有用的。

当对AVR单片机高压编程时，必须总是安装复位短路片。当使用外部复位系统时，必须使主机MCU复位系统在编程时控制复位线。当复位短路片没安装上时，复位信号就不连接。下图说明了复位短路片部分：

STK500的主机MCU控制目标AVR的复位信号。复位信号设置在PORTE/AUX连接接口上；这个引脚也可以用做外部复位信号。下图说明复位信号的内部连接方式：

说明： 高压编程时模式时，STK500给复位线提供12V电压。因此，在AVR高压编程模式时，如果外部复位电路不能在12V电压时工作，必须断开此复位电路。

当复位线连接到外部系统时，通常要接一个外部上拉电阻，下面就是典型的电路连接方法：

如图： 外部复位电路

如果外部上拉电阻太小(<4.7k)， STK500将不能把复位线拉低。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关s
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Clock Settings, XTAL1 and OSCSEL

时钟设置，XTAL1和OSCSEL

STK500为目标AVR设置了几种时钟选择，可以通过设置短路片XTAL1和OSCSEL来控制时钟的选择。OSCSEL决定了连接到AVR的XTAL1引脚的时钟信号。

当XTAL1短路片安装上时，STK500将把内部时钟系统作为AVR的主时钟使用。当XTAL1短路片不安装上时，内部时钟系统将不连接。这时AVR将把外部时钟信号或晶振被作为目标时钟源。下图说明了XTAL1短路片接法：

当不安装XTAL1短路片时，外部时钟信号或晶振将被连接到PORTE连接接口。在这一页底部的图上有详细说明。

当安装XTAL1短路片时，STK500将把内部时钟系统作为AVR的主时钟使用。可以在开发板上的晶振插座安装一个晶振构成内部时钟系统，或由主机MCU使用软件生成，软件生成的时钟可以设置成0到3.68Mhz，默认值是3.68Mhz。 关于如何用AVR Studio设置时钟请看 "振荡器" 部分。

当使用软件生成时钟作为主时钟时，目标AVR单片机的熔丝位必须配制成“外部时钟”作为时钟源，这将使单片机有最短的延时启动时间。对于延时启动时间的详细情况，见AVR的数据手册。时钟源熔丝位配置的说明见 "熔丝位设置" 。并不是所有的AVR单片机都设置了选择晶枕或振荡器作为系统时钟源的熔丝位。

内部时钟系统是由OSCSEL短路片选择的。这一页底部的图上解释了OSCSEL短路线的使用方法。

在开发板上的振荡器是陶瓷振荡器或晶体振荡器，振荡频率在2-20MHz之间，(AT-cut, 基本的, 和并联谐振晶体)。

当AVR在高压编程模式时，OSCSEL座上的短路片必须将引脚1和2短接，使的主机MCU能够控制目标时钟。详细情况见 高压编程。

注意 : 在实际应用中，只有一个AVR单片机连接晶振，并不需要外部振荡电路。STK500上有8个不同的AVR插座连接到同一个时钟系统。在此系统中长信号线会使AVR的片内振荡器很难驱动晶体振荡器。STK500上的振荡器可以工作在1,8到6,0 V的目标电压。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: BSEL2 Jumper

BSEL2 短路片

BSEL2 短路片连接了Byte Select 2 信号，此信号是是应用在下面列表里的器件的高压编程模式。

当使用高压编程模式时，应该安装BSEL2 短路片。

  • ATmega8515

  • ATmega8535

  • ATmega16

  • ATmega161

  • ATmega162

  • ATmega163

  • ATmega165

  • ATmega1650

  • ATmega169

  • ATmega1690

  • ATmega32

  • ATmega329

  • ATmega3290

  • ATmega323

  • ATmega64

  • ATmega644

  • ATmega645

  • ATmega6450

  • ATmega649

  • ATmega6490

  • ATmega103

  • ATmega128

  • AT90CAN128

  • ATmega2560

  • ATmega2561

当使用ATmega48、ATmega8、ATmega88 或者 ATmega168时，连接右边的 BSEL2 引脚到PC2。参见图1. 要想更加具体了解 Byte Select 2 信号，您可以参阅相应器件数据手册中的编程部分。

图1. ATmega48/8/88/168的BSEL2 连接.

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标t VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: PJUMP Jumpers

PJUMP短路片

当对以下芯片进行高电压编程时，应该用PJUMP短路片连接编程引脚和编程线：

-AT90S2333

-AT90S4433

-ATmega48

-ATmega8

-ATmega88

-ATmega168

说明： 只有对这些芯片进行高电压编程时，才能安装PJUMP短路片。在调试时或对其它芯片进行高电压编程或在系统编程时，都不能安装这些短路片。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高电压编程
  • 并行高电压编程
  • 串行高电压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头
  • Misc


STK500 USer's Guide: ATtiny26 High Voltage Programming

对ATtiny26进行高压编程

在并行编程模式时，STK500需要使用两个连接接口，它们是标记“PROG DATA”和“PROG CTRL”的连接接口。对于ATtiny26，连接“PROG CTRL”的转接线需要按照下面的表格和图上的所画的那样进行修正，并且将“PROG DATA” 与 PORTA 连接。

并行编程引脚映射：
PORTB | PROG CTRL | PORTE
Pin 1 | Pin 3 |
Pin 2 | Pin 4 |
Pin 3 | Pin 5 |
Pin 4 | Pin 6 |
Pin 5 |  | Pin 7 (XT1)
Pin 6 | Pin 8 |
Pin 7 | Pin 7 |
Pin 8 |  | Pin 4 (RST)

并行编程连接：

请注意以下事项：

·PROG DATA 必须连接到STK500实验板上目标区域的PORTA端口。

·不要安装BSEL2短路片。

·ATtiny26必须插在STK500开发板的SCKT3700A1插座上。


STK500 User's Guide: Expansion Connectors

扩展连接器

STK500有两个扩展连接器，分别在编程区域的两侧。所有的 AVRI/O口，编程信号，控制信号都将发送到扩展连接器。扩展连接器允许STK500进行一些简单的原型应用。扩展连接器的引脚说明如下图所示。

引脚描述

AUXI1、AUXI0、AUXO1 和 AUXO0 引脚是为将来的应用预留的，不要把它们连接到您的应用板上。

DATA[7:0] 和 CT[7:1] 引脚信号也同 Prog Data ，Prog Ctrl插头连接，这些引脚的描述和连接说明请看 “Prog Ctrl 和 Prog Data连接接头"。

BSEL2引脚同时也 BSEL2 插座连接，该短路片的说明请参阅 BSEL2 短路片。

SI、SO、SCK 和 /CS 引脚是跟dataflash连接的，Dataflash的使用说明请参阅 Dataflash 引脚说明。

NC意味着这个引脚没有用。

剩下的引脚跟PORT连接器的引脚一样，请参阅 端口连接接口。

注意： DATA、CT 和 AUX 信号是5V CMOS 逻辑，这些信号并没有经过电平转换，使其与VTG电平配合。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • Prog Ctrl 和 Prog Data连接接头
  • 其它


STK500 User's Guide: Prog Ctrl and Prog Data Headers

Prog Ctrl 和 Prog Data 插座

在对目标AVR器件进行高压编程时，需要使用Prog Ctrl 和 Prog Data 连接插座。上面的图给出了这两个插座的位置。在并行高压编程时，Prog Ctrl 信号被发送到目标器件的PORTD口，Prog Data 信号被发送到PORTB口。如果您想知道高压编程的完整说明，请参阅 高压编程 。下图标出了Prog Ctrl 和 Prog Data 连接插座的引脚说明。如果您想获得AVR器件高压编程的更多信息，请参阅相应AVR器件的数据手册中编程部分的内容。

注意： ProgCtrl 和 Data 连接器是直接连接到主控MCU的，它们之间没有电平转换器。这意味着这些信号通常是5V逻辑的。

在对目标AVR器件进行并行编程时，一般Prog Ctrl 信号被用作控制信号，Prog Data 信号被用作数据总线。在ISP编程模式时，DATA5引脚用作MOSI，DATA6引脚用作MISO，DATA7引脚用作SCK。

注意： 所有Prog Ctrl 和 Prog Data 信号都是5V CMOS 逻辑的，这些信号并没有经过电平转换，使其与VTG电平配合。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 Jumper
  • 扩展连接接口
  • 其它


STK500 User's Guide: Misc

其它

STK500上设置了两个按键和三个LEDS来显示状态和实现特殊的功能。下面说明了这部分的特性，上图显示了它们的位置。

复位（RESET）按键

复位按键可以对目标AVR器件进行复位，而主机MCU并不受复位按键的控制。当复位短路片没有安装时此按键无效。

编程（PROGRAM）按键

AVR Studio的后续版本会对STK500上的主MCU程序（固件）进行升级。AVR Studio将会检测STK500的旧的软件版本，并且对主MCU的Flash程序存储区进行更新。这就要求用户按下编程按键后再给STK500上电。在AVR studio中有对升级的过程中的指示和说明。

主电源 LED

红色的LED直接连接到STK500的主电源上，当STK500上电后这个LED就会一直点亮。

目标电源 LED

目标电源LED连接到目标 AVR 器件的Vcc(VTG)电源线，当给目标 AVR 器件提供电源时，目标电源LED将点亮。

状态指示 LED

编程PROGRAM LED有三种颜色，在编程时LED是黄色；当目标AVR器件编程成功后会变成绿色；如果编程失败LED会变成红色。如果编程失败请参考 故障排除向导 。在开启状态时LED会从红色变到黄色，再变成绿色，这表示主机MCU已经准备好。

请参看：

  • STK500 开发板用户向导
  • STK500 框图
  • 用户LEDs说明
  • 用户开关说明
  • 连接LEDs和开关
  • 端口连接接口
  • 用户RS232 接口说明
  • Dataflash 引脚说明
  • 目标插座部分
  • ISP 编程
  • 高压编程
  • 并行高压编程
  • 串行高压编程
  • 短路片设置
  • 目标 VCC设置, TVCC
  • 模拟参考电压, AREF
  • 复位设置, RESET
  • 时钟设置, XTAL1和OSCSEL
  • BSEL2 短路片
  • 扩展连接接口
  • Prog Ctrl 和 Prog Data连接接头


STK500 User's Guide: Using AVR Studio with STK500

在 AVR Studio 中使用STK500

在这部分将对支持STK500的软件进行介绍，并且对编程操作会进行深入的描述。

开始运行STK500

按下AVR Studio工具栏上的 [image] 键会打开AVR编程模式选择对话框，如下图所示：

选择平台（STK500）和连接端口后按 Connect 按钮。按下 [image] 键会直接进入上次使用的AVR编程对话框设置。

STK500用户界面
STK500用户界面包含了STK500开发板很多功能强大的特性，设置分成6个组，每个标签可以选择一个组。由于不同器件有不同的特性，所以不同的器件对应不同的可应用操作和选项，不可应用的特性被设置成灰色。
请参看：
  • STK500 开发板用户向导
  • "编程"设置
  • "熔丝位"设置
  • "锁定位" 设置
  • "高级" 设置
  • "开发板" 设置
  • "自动" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: "Program" Settings

编程设置

编程设置有分成4个下级菜单。

器件

在下拉菜单中可以选择正确的芯片型号，这个选项还有一个可以擦除已选芯片的按键，按下它可以对所选芯片的FLASH和EEPROM存储区进行擦除。

编程模式

这个选项可以选择编程模式，对于只支持高压编程模式的芯片，ISP选项是灰色的。如果两种模式都支持的芯片，可以选其中一个模式。选择“Erase Device Before Programming”项，会使STK500在写程序到程序存储区(Flash)前先擦除芯片。选择“ verify Device After Programming”项，会使STK500在编程之后对存储区(Flash和EEPORM)进行校对。

Flash

如果STK500用户界面在打开前，AVR Studio没有创建一个工程，那么“Use Current Simulator/Emulator FLASH Memory”选项会变成灰色。如果创建了一个工程，这个选项将允许 AVR Studio 把当前装载在的在Flash存储区观察窗中的内容写入到器件中。

如果当前没有工程在运行，或源程序是放在另外的HEX文件中，那么请选择“Input HEX File”，按 [image] 键浏览或在文本框中填入绝对路径和文件名。被选文件必须是“Intel-hex”格式或“扩展Intel-hex”格式。

EEPROM

如果STK500用户界面在打开前，AVR Studio没有创建一个工程，那“"Use Current Simulator/Emulator EEPROM Memory”选项会变成灰色。如果创建一个工程，这个选项将允许 AVR Studio 把当前装载在的在EEPROM存储区观察窗中的内容写入到器件中。

如果当前没有工程在运行，或源程序是放在另外的HEX文件中，那么请选择“Input HEX File”，按 [image] 键浏览或在文本框中填入绝对路径和文件名。被选文件必须是“Intel-hex”格式或“扩展Intel-hex”格式。

请参看：

  • STK500 开发板用户向导
  • 启动STK500
  • "熔丝位"设置
  • "锁定位" 设置s
  • "高级" 设置
  • "开发板" 设置
  • "自动" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: "Fuse" Settings

“熔丝位”设置

在“熔丝位”设置标签中可以查看被编程芯片内部所有熔丝位的状态，按下 “Read” 键可以读出芯片当前的熔丝位设置值，按下“Write”键可以将当前熔丝位的设置值写入到器件中。在这些复选框中，可以把熔丝位设置成有效/编程，即把熔丝位写“0”。请主意器件的擦除操作并不能影响熔丝位的设置。（例如：在“编程”设置中按“擦除芯片”键）。

有关在不同的编程模式中，可配置熔丝位的详细情况请查阅相应器件的数据手册。

有一些熔丝位只有在高压编程模式中才可以见到，使用在系统编程模式（ISP ）时，这些熔丝位可以看到但不能修改。一些器件既不支持在系统编程模式（ISP ）也不支持高压编程模式。不同的复选框的式样将表明在不同编程模式中熔丝位是否可以写和/或读。

表示在此编程模式中，这个熔丝位可以读和写；
表示在此编程模式中，这个熔丝位可以读但不可以写；
表示在此编程模式中，这个熔丝位不可以读但可以写；
表示 在此编程模式中，这个熔丝位既不可以读也不可以写；

如果在此编程模式中某个熔丝位不可以读，那么在窗口中看到该熔丝位的值是不准确的。.

请参看：

  • STK500 开发板用户向导
  • 启动STK500
  • "编程"设置
  • "锁定位" 设置
  • "高级" 设置
  • "开发板" 设置
  • "自动" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: "Lock Bits" Settings

“锁定加密位”设置

和“熔丝位”设置类似，“锁定加密位”标签列出了当前芯片所应用的加密模式。一种加密模式可能为几个溶丝位的设置组合。可以通过STK500的用户界面对“锁定加密位"进行操作，AVR Studio会自动根据所选择的加密模式对溶丝位进行正确的设置。一旦一种加密保护模式被激活，您将无法通过设置比当前低级的保护模式的溶丝位来降低加密保护等级。只有一种去除加密溶丝位设置的方法，那就是将芯片进行完整的擦除，此时程序和数据存储器都将擦除。有一种情况例外：如果设置了”EESAVE“溶丝位，即使完整擦除了整个芯片，EEPROM里的内容也还会被保留。

如果芯片支持 ISP 编程模式，所有的加密溶丝位都可以在 ISP 和高压编程模式下读到或修改。注意，有一部分的芯片只支持 ISP 和高压编程模式中的一种。复选框的不同状态表示了加密溶丝位在编程模式中是否可读或是可写。

表示在此编程模式中，加密溶丝位既可读也可写。
表示在此编程模式中，加密溶丝位可读但不可写。
表示在此编程模式中，加密溶丝位可读但不可写。
表示在此编程模式中，加密溶丝位既不可写也不可读。

如果加密溶丝位在编程模式中不可读，那么在窗口中显示的值是不能相信的。

请参看：

  • STK500 开发板用户向导
  • 启动STK500
  • "编程"设置s
  • "熔丝位"设置
  • "高级" 设置
  • "开发板" 设置
  • "自动" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: "Advanced" Settings

"高级" 设置

高级设置标签通常被分成两个部分。

标识字节

通过点击"Read Signature"键，可以从芯片中读到芯片的标识字节。标识字节就是芯片的标识符。读出标识字节后，软件会检查该标识符所表示的芯片型号是否与用户所选择的一致。请参阅AVR数据手册以便了解更多标识字节的相关内容。

振荡器频率校正字节

振荡器频率校正字节是在芯片制造时就被写入芯片的，用户不能对其进行擦除或修改。振荡器频率校正字节是一个调整值，它会被写入 OSCCAL 寄存器，以便调整内部RC振荡器输出的频率，使其尽可能的接近用户所选择的时钟频率。

读振荡器频率校正字节

单击"Read Cal. Byte"按钮，校正字节的值会从芯片中读出并显示在"Value"文本框中。注意有一些芯片的校正字节在程序执行过程中不能直接得到，而是需要事先读出，将其写入到Flash的某个单元内，然后再在程序中使用。如果这一选项是灰色的，说明您使用的芯片内部的RC振荡器是不可调节的。

写振荡器频率校正字节

部分AVR芯片，它们的校验字节是不能直接在程序执行的过程中得到的，所以用户需要将校验字节写在一个确知的 Flash 或者 EEPROM 内存单元中。用户可以通过以下步骤实现：在"Write Address"文本框中填写一个地址，然后单击"Write to Memory"键就可以了。当然用户还需要通过"Flash" 和 "Eeprom" 单选键来选择校正字节是写入Flash还是写入Eeprom中。

请参看：

  • STK500 开发板用户向导
  • 启动STK500
  • "编程"设置
  • "熔丝位"设置
  • "锁定位" 设置
  • "开发板" 设置
  • "自动" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: "Board" Settings

"开发板" 设置

“开发板”标签可以改变STK500开发板的工作状态。下列的属性可以被修改：VTARGET，AREF 和振荡器频率。

接口是灵活可变的，所以您可以改变器件的工作状态使其工作在非推荐工作状态。不过，我们不推荐您这样做，这样做可能会损坏芯片。您可以在芯片的数据手册里找到推荐的工作状态。

VTARGET

VTARGET用于控制和提供开发板上的工作电压。电压可以在0~6V之间调节，精度为0.1V，您可以使用滑动条调节VTARGET电压或者在文本框中直接输入您想要的电压值。请参阅您所使用的器件的数据手册，确定您所使用的器件的指定电压可调范围。通过单击“Read Voltage”按钮，您可以读取板上当前实际的VTARGET和AREF电压的数值，当然您也可以通过单击“Write Voltage”按钮写入你所需要的VTARGET和AREF电压的值。

VTARGET 电压在实验板上的实际连接请参阅 目标 VCC 设置。

AREF

AREF 用于提供和控制着ADC转换器的模拟参考电压。这个设置只对带有AD转换器的器件有效。AREF可以在0~6.0V之间调节，精度为0.1V，您可以使用滑动条调节AREF电压或者在文本框中直接输入您想要的电压值。请参阅您所使用的器件的数据手册，确定您所使用的器件的正确电压可调范围。通过单击“Read Voltage”按钮，您可以读取板上当前的VTARGET和AREF电压的数值，当然您也可以通过单击“Write Voltage”按钮写入所需要的VTARGET和AREF电压的值。

不可以将AREF的电压值设置得高于 VTARGET 的值，否则会对AVR器件造成不能修复的损坏。

AREF 电压在实验板上的实际连接请参阅 模拟参考电压。

振荡器

STK500 Osc 控制和提供 STK500开发板上XTAL1 引脚上的时钟信号。

STK开发板上使用可编程的振荡电路，它所提供给AVR器件的时钟频率可以在一个较宽的频率范围内进行调节。

因为不能产生所有的频率，STK500用户界面会计算出一个最接近您写在振荡器文本框中的频率值。新计算出的值会覆盖掉您之前写在振荡器文本框中的数值。

ISP Freq 控制ISP频率

ISP 频率（SCK）必须低于时钟频率的1/4。但是ISP 时钟和目标时钟信号必须是 50/50 占空比的信号。在STK500开发板上推荐将ISP频率设置在低于1/5时钟频率的数值。

AVR产品家族中，有一些成员有CKDIV溶丝位。当这个溶丝位被设置，AVR内核将工作在某一个时钟分频频率上。这就有可能导致编程出问题。确保ISP的频率按照这样的方式设置，例如：如果AVR器件设置成8分频工作模式，则ISP的频率必须设置成低于1/32的时钟频率的数值。

请参看：

  • STK500 开发板用户向导
  • 启动 STK500
  • "编程" 设置
  • "熔丝位" 设置
  • "锁定位" 设置
  • "高级" 设置
  • "自动" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: "Auto" Settings

"自动" 设置

当需要用相同的代码对多个相同的芯片进行编程时，您可以使用“自动”标签所提供的自动执行功能，它会自动按照用户定义的命令顺序执行命令。命令按照执行的顺序排列（如果被选中）。适当的复选框被选中时，就能激活相应的命令。例如：当只有”Program FLASH”被选中时，按下“Start”按钮，“Program”设置中所指定的HEX文件就会被写入FLASH存储器。所有的命令都是建立在STK500用户界面的设置基础之上的。

如果选中“Log to file”复选框，就可以将执行命令导出生成一个文本文件。

为自动编程设置系统

选择你想让STK500用户界面执行的命令。一个典型的命令队列如上图所示，先擦除芯片，再编程。首先擦除芯片，然后对FLASH和EEPROM编程，接下来对写入的数据进行校验，最后对溶丝位和锁定加密位进行编程。

一旦配置好了，每次按下”Start“按钮，相同的编程命令就会按顺序执行。这样不仅能减少工作量，还能减少由于操作失误引起的错误。

将自动编程导出成一个文件

选中”Log to file“复选框，所有的编程命令执行后，都将输出写在一个文本文件里。您可以通过点击“Browse”按钮，指定该文件所在位置的方式来选择/生成该文件。所有的输出都记录在这个文件里，您可以使用文本编辑器对它进行阅读，编辑。

请参看：
  • STK500开发板用户向导
  • 启动 STK500
  • "编程" 设置
  • "熔丝位" 设置
  • "锁定位" 设置
  • "高级" 设置
  • "开发板" 设置
  • 历史窗口
  • 命令行软件


STK500 User's Guide: History Window

历史窗口

在STK500的窗口界面最下面有一个历史窗口。这个历史窗口里显示的是AVR Studio 和 STK500开发板之间的对话。每执行完一条新的命令，新的对话就会覆盖掉旧的对话。

请参看：

  • STK500 开发板用户向导
  • 启动STK500
  • "编程"设置s
  • "熔丝位"设置
  • "锁定位" 设置
  • "高级" 设置
  • "开发板" 设置
  • "自动" 设置
  • 命令行软


STK500 User's Guide: Command Line Software

命令行软件

STK500的DOS命令行版本的软件，对于使用其他的编辑器或生产过程中把STK500作为编程器使用是非常有用的。只要使用一个简单的批处理文件能够实现自动编程。你可以输入命令 STK500 -? 获得命令行软件的帮助。

注意：对于任何带有下极命令开关的命令行中，在命令开关和其对应的参数之间不允许有空格出现。如：下极命令开关-d和其参数AT90S8515的正确写法是：-dAT90S8518 ，而不是 -d AT90S8515。

如果操作成功程序会返回ERRORCODE 0，失败则返回ERRORCODE 1。

命令行开关与参数：

    [-d device name] [-m s|p] [-if infile] [-ie infile] [-of outfile]

    [-oe outfile] [-s] [-O address] [-Sf addr] [-Seaddr] [-e] [-p f|e|b]

    [-r f|e|b] [-v f|e|b] [-l value] [-L value] [-y] [-f value] [-E value]

    [-F value] [-G value] [-q] [-Y] [-Z address] [-c port] [-ut value]

    [-ua value] [-wt] [-wa] [-b h|s] [-! freq] [-t] [-I freq] [-J]

    [-h] [-?]

参数：

d   器件名称，指由 STK500.EXE -? 所列出的全部支持的器件；

m   编程模式选择；串行（s）或并行/高压（p），如果省略参数，默认模式是串行

    模式；

if  输入的FLASH文件名，在对FLASH存储区编程或核对时使用，文件的格

   式是 Intel的扩展HEX文件；

ie  输入的EEPROM文件名，在对 EEPROM 存储区编程或核对时使用，文件

   的格式是 Intel的扩展HEX文件；

of  输出的FLASH文件名，在读出FLASH存储区时使用，文件的格式是

   Intel的扩展HEX文件；

oe  输出的EEPROM文件名，在读出EEPROM存储区时使用，文件的格式是

   Intel的扩展HEX文件；

s   读取芯片的标识字节；

O   读取振荡器频率校正字节，'address' 是指在器件手册中描述的器件校

   正字节的地址；

Sf  向FLASH存储器单元中写入振荡器频率校正字节，'addr'是写入的地址；

Se  向EEPROM存储器单元中写入振荡器频率校正字节，'addr'是写入的地址；

e   擦除器件，如果是和另外的命令一起使用，那么在执行其它的任何编程

     操作前器件首先将被擦除；

p   对器件编程；FLASH（f），EEPROM（e） 或同时（b）；需要相关

   的输入文件名；

r   读器件；FLASH（f），EEPROM（e）或同时（b），需要相关的输出

    文件名；

v   校对器件；FLASH（f），EEPROM（e）或同时（b），可以和 -p 同时

   使用或单独使用，需要相关的输入文件名；

l   设置锁定加密字节，'value'是8-位二进制值；

L   校对锁定加密字节，'value'是8-位二进制值，是要校对的值；

y   回读锁定加密字节的值；

f   设置熔丝位字节，'value'是16-位二进制值，这个值描述了高位和低位

    熔丝位字节值的设置；

E   设置扩展熔丝位字节，'value'是8-位二进制值，这个值描述了扩展

   熔丝位值的设置；

F   校对熔丝位字节，'value'是16-位二进制值，是要校对的值；

G   核对扩展熔丝位字节，'value'是8-位二进制值，这个值描述了扩展

   熔丝位值的设置；

q  回读熔丝位字节；

Y  实施对振荡器频率校正过程，更多信息请看AVR053的应用笔记；

Z  在擦除器件前从EEPROM某个单元中读取数据，该数据可使用 S 命令写入

   FLASH 或 EEPROM。地址是一个十六进制的数。更多信息请看AVR053应

   用笔记；

c  选择通信口；可为'com1'到'com8'。对于STK500，如果省略这个参数，

    程序将会自动扫描comm口；

ut 设置目标电压VTARGET（伏特），'value'是个从0.0到6.0间的浮点

   型数，这个值为要设置的新电压值；

ua 设置参考电压AREF（伏特）， 'value'value'是个从 0.0到6.0间的

   浮点型数，这个值为要设置的新参考电压值；

wt  读取当前目标电压VTARGET；

wa  读取当前参考电压VTARGET；

b   读取版本说明， 硬件版本（h）和软件版本（s）；

!   设置振荡频率；'freq'可以是Hz，或kHz，或MHz；

t   读取振荡频率；

I   设置SPI工作频率；'freq'可以是Hz，或kHz，或MHz；

J   读取SPI工作频率；

h   帮助信息（高于其它所有设置）；

h|?  帮助信息（高于其它所有设置）；

例 1:

stk500 -dAT90S8515 -e -pf -if8515test.hex

说明：

stk500          运行可执行文件stk500.exe

-dAT90S8515      设置器件为AT90S8515

-e              擦除 FLASH

-if8515test.hex   选择文件"8515test.hex" 向FLASH进行编程

-pf             编程写入FLASH（上述已选文件）

例 2：

stk500 -ccom1 -ut4.5 -ua4.5 -!3686000 -I460800 -dATMEGA8515 -lFF -fD9E4 -ms -ifC:\input.hex -pf -vf -e

说明：

stk500           运行可执行文件stk500.exe

-ccom1            选择1号com口

-ut4.5            设置目标电压（4.5V）

-ua4.5            设置模拟参考电压（4.5V）

-!3686000         设置STK500时钟频率为3.68MHz

-I460800          设置SPI时钟频率为460.8kHz

-dATMEGA8515      设置器件ATmega8515。（使用 "stk500.exe -h" 可查看所有支持的器件）

-e               擦除FLASH

-lFF              设置锁定加密位为0xFF

-fD9E4            设置熔丝位为0xD9E4,低字节0xD9,高字节0xE4

-ms               选择串行编程模式

-ifC:\input.hex   选择文件"input.hex" 向FLASH编程

-pf               编程到FLASH（上述已选文件）

-vf               核对到FLASH（上述已选文件）

请参看：

  • STK500 开发板用户向导
  • 启动STK500
  • "编程"设置
  • "熔丝位"设置
  • "Lock Bits""锁定位" 设置
  • "高级" 设置
  • "开发板" 设置
  • "自动" 设置
  • 历史窗口


STK500 User's Guide: Example Application: Using LEDs and Switches

应用示例：LED灯和开关的使用

分别将PORTB和LED灯、PROTD和开关连接。LED灯将由其对应的开关控制。

提示：复制下面的代码到 AVR Studio 中

;***** LEDS和开关使用演示
.include "8515def.inc"
.def Temp =r16 ; Temporary register
.def Delay =r17 ; Delay variable 1
.def Delay2 =r18 ; Delay variable	2
;***** 	Initialization
RESET:
    ser	Temp
    out	DDRB,Temp		;设置PORTB工作在输出方式
;**** Test input/output
LOOP:
    out	PORTB,temp		; 更新LED显示
    sbis	PIND,0x00		; If (Port D, pin0 == 0)
    inc	Temp			    ; then count LEDS one down
    sbis	PIND,0x01		; If (Port D, pin1 == 0)
    dec	Temp			    ; then count LEDS one up
    sbis	PIND,0x02		; If (Port D, pin2 == 0)
    ror	Temp			    ; then rotate LEDS one right
    sbis	PIND,0x03		; If (Port D, pin3 == 0)
    rol	Temp			    ; then rotate LEDS one left
    sbis	PIND,0x04		; If (Port D, pin4 == 0)
    com	Temp			    ; then invert all LEDS
    sbis	PIND,0x05		; If (Port D, pin5 == 0)
    neg	Temp			    ; then invert all LEDS and add 1
    sbis	PIND,0x06		; If (Port D, pin6 == 0)
    swap	Temp			  ; then swap nibbles of LEDS
;**** Now wait a while to make LED changes visible.
DLY:
    dec	Delay
    brne	DLY
    dec	Delay2
    brne	DLY
    rjmp	LOOP			; Repeat loop forever

请参看：

  • STK500 开发板用户向导


STK500 User's Guide: In-System Programming of an External Target System

对外部目标进行在系统编程

您可以将STK500用作编程器，对其他实际应用中的AVR器件进行编程。STK500提供了两个不同的ISP连接接口，一个是6个引脚的，还有一个是10个引脚的。

和对STK500评估板上的器件编程一样，选择您要编程的AVR器件型号。目标应用的VCC由STK500提供，信号都被转化为适合目标系统的电压水平。

注意： 如果其他应用系统板有它自己的供电系统，那么在将STK500与其他应用系统连接之前，必须将VTARGET短路片移除。否则会损坏STK500评估板。

请参看：

  • STK500 开发板用户向导


STK500 User's Guide: Manual Firmware Upgrade

STK500固件的人工升级
当前版本的AVR Studio会自动检测STK500的固件版本，如果检测到旧的STK500版本，AVR Studio会自动要求用户升级固件。如果由于一些特殊的原因导致升级失败（在升级过程中串行连接线断开了，或是突然断电了……），当您下次使用AVR Studio与STK500连接时，AVR Studio将不能检测到STK500，自动升级程序也不会运行。

按照下面的步骤进行STK500固件的手动升级。在任何情况下都可以使用下面的手动升级方法：

  1. 关掉STK500的电源。
  2. 先按下 “PROGRAM” 按钮（位于AT45D021 dataflash附近），然后再打开STK500电源。
  3. 启动运行 AVR Studio，确保电脑与STK500上标记 “RS232 CTRL” 的DSUB9接口之间用串行连接线连接。
  4. 单击 AVR Studio 中 “Tools” 菜单里的选项 “AVR Prog”。
  5. 在 “Avr Prog Hex File” 窗口，点击 ‘Browse’ 按钮，指定用于固件升级hex文件。如果 AVR Studio 采用默认安装路径时，升级文件‘stk500.ebn’ 可在 “C:\Program Files\Atmel\AVR Tools\STK500” 目录里找到。
  6. 按下 “Avr Prog Flash” 窗口下的 “'Program” 按钮。会出现一个带有附加信息说明的进度条。请耐心等待直到校验操作完成。
  7. 关闭 “Avr Prog”程序。
  8. 关闭然后再次打开 STK500 的电源。现在您可以使用新的STK500固件了。

请参看：

返回主索引


STK500 User's Guide: Troubleshooting Guide

故障排除向导
问题 | 原因 | 解决方法
红色的LED电源指示灯不亮 | 没有接直流电源线 | 将直流电源线插到DC插孔（参阅 "快速入门"）。
 | 使用了错误的电源 | 检查确定您所使用的电源是10-15V的直流电源，最低电流为500mA。（请看"快速入门" ）。
 | 没有打开电源开关 | 打开电源开关
预先编程的示例代码没有控制LED灯点亮 | 没有插入AVR器件 | 在正确的插座中插入AVR器件（参阅“ISP编程” 和 "高压编程"）
 | LED灯没有连接到I/O口 | 用转接线分别将LED灯与 PORTD口、开关与PORTB口连接（参阅 "连接LEDs和开关" ）
 | Flash存储器被擦除了 | 将STK500与电脑连接，重新对AVR器件进行编程（参阅 "对目标 AVR 器件编程")
AVR器件不能被编程 | 没有使用串行连接线与电脑连接 | 用串行连接线将电脑的COM口与SKT500上的RS232 CTRL 口连接
 | AVR器件插在了错误的插座里 | 检查确认在正确的插座插入了AVR设备（参阅“ISP 编程”和 "高压编程"）
 | AVR器件插入方向错误 | 检查确认AVR插座上的缺口与AVR设备上的缺口方向一致。
 | 目标ISP插座没有连接 | 用 6-引脚 电缆连接 ISP6PIN 连接接口和正确的 SPROG 目标 ISP 连接接口（参阅 "ISP 编程"）
 | 短路片设置错误 | 按照默认的配置设置短路片（参阅 "短路片设置" ）
 | VTARGET电压太低 | 参阅AVR数据手册，确保工作电压高于所需的最低工作电压
 | 存储器lock bits被编程 | 在编程前擦除存储器
 | 芯片RESET引脚功能被禁止，作为I/O使用 | 检查熔丝位的设置，恢复RESET引脚的复位功能
 | 编程太快 | 检查STK500振荡器的设置，确保它的频率高于目标AVR器件的频率。
 | 设置了“CKDIV溶丝位” | 使用安全模式振荡器设置。.
 | 复位电路部分的外部上拉电阻值太小。 | 确保外部上拉电阻值≥4.7kOhm。
AVR studio 没有检测到STK500 | 串行转接线没有连接或者关闭了STK500的电源 | 用串行转接线将电脑与STK500的RS232 CTRL接口连接起来，确保电源已经接上并且打开
 | PC COM 口正在被其他程序使用 | 关闭其他正在使用PC COM口的程序
 |  | 使用 PC 的另一个 COM口
不能关闭STK500 | 使用了中芯端为正极的直流电源插头 | 将直流电源插头的中芯改为电源的负极 拔掉电源连接器来关闭STK500。
状态LED指示灯缓慢闪烁 | AREF短路 | 检查电路，排除短路。
状态LED指示灯快速闪烁 | VTarget短路 | 检查电路，排除短路。
 | 使用了外部的VTarget，又关闭了它。 | 在AVR Studio中设置VTarget的值低于0.3V。
ATtiny13 编程不工作。 | 启动时间太短 | 如果您想知道更多细节，请参阅 这里 。
LED灯不工作（LED灯使用的是外部 VTarget）。 | 必须给STK500提供正确的供电，LED才能正常显示 | 给STK500正确提供电源，然后打开电源开关。

请参看：

  • STK500 开发板用户向导


ATtiny13 Fuse Bits Issues

ATtiny13的编程问题

下面的说明只针对ATtiny13D版本前的版本。

请注意，ATtiny13 E.S. (工程样片)比D版本更早版本的芯片，有一个有关特定熔丝位的勘误说明，这些熔丝位会使器件锁定而不能再编程。下面的几组熔丝位的联合设置会导致这种结果：:

振荡频率设置 | 延时启动时间设置 | 调试接线 和 复位设置
内部128KHz晶振 CKSEL[1..0] = 11 | 最短 SUT[1..0]= 00 | 调试接线有效(DWEN = 0)或 复位无效(RSTDISBL = 0)
内部9.6 MHz 晶振 CKSEL[1..0] = 10 | 最短 SUT[1..0]= 00 | 调试接线有效(DWEN = 0) 或 复位无效(RSTDISBL = 0)
内部4.8 MHz 晶振 CKSEL[1..0] = 01 | 最短 SUT[1..0]= 00 | 调试接线有效(DWEN = 0)或 复位无效(RSTDISBL = 0)
解决办法问题/小技巧

避免上述熔丝位的联合设置，延长开启时间可以解决这个问题。

时钟源和预分频设置

ATtiny13有多种时钟源的选择和预分频设置。切记，STK500/AVRISP 只有在下面情况下才能使用ISP模式：

（1）在ATtiny13上使用的预分频时钟源要高于32kHz；

并且

（2） 在 ATtiny13上使用的预分频时钟源等于或小于STK500/AVRISP选择的振荡频率设置；

解决办法问题/小技巧

使用高压编程模式(HVSP)，而不使用ISP。


ATtiny2313 Programming Issues

ATtiny2313的编程问题

请注意，ATtiny2313早于C版本芯片其并行编程接口时有一个错误，但在ATtiny2313C版本中不存在这个错误。

注意：避免把熔丝位设置成ISP接口无效，这会使器件被锁住而无法编程。

时钟源和预分频设置

ATtiny2313有多种时钟源选择和预分频设置。切记，STK500/AVRISP 只有在下面情况下才能使用ISP模式：

（1）在ATtiny2313上使用的预分频时钟源要高于32kHz；

并且

（2） 在 ATtiny2313上使用的预分频时钟源等于或小于STK500/AVRISP选择的振荡频率设置；


ATmega169 Programming Issues

ATmega169 编程疑难解答

请注意：使用在系统编程对ATmega169 EEPROM 进行编程写入时，如果hex-文件里含有连续的 0xFF，写入会失败。

解决办法：使用 ISP 编程写入时，在写入前擦除 EEPROM ，然后只编程写入不是0xFF的数据字节。


STK500 User's Guide: Technical Support

技术支持

如果您需要技术支持请与avr@atmel.com 联系。当您需要STK500的技术支持时，请您提供以下信息：

  • AVR Studio的版本，您可以点击 AVR studio 菜单“Help->About”获得该信息
  • 您使用的PC的处理器型号和速度
  • 您使用的PC的操作系统及版本
  • 您使用的AVR设备型号（完整型号）
  • 编程电压
  • 短路片设置
  • 一份详细的问题说明

请参看：

  • STK500 开发板用户向导


ATtiny45 Fuse Issues

ATtiny45 的熔丝位问题

不能用串行高电压编程读或写ATtiny45 扩展熔丝位字节。

解决办法：使用 ISP。