STK500:微控制器编程的好方法
您是否正在寻找一种在更安全的环境中进行编程的更简单方法?您需要从更流行的 Raspberry Pi 和 Arduino 板中休息一下吗?如果您的回答是肯定的,请考虑 STK500。
有趣的是,STK500 不仅仅是编程。它还为 Atmel 的 AVR 微控制器提供开发选项。
还是好奇?继续阅读以了解 STK500 是什么、它的功能以及如何使用 STR500 开发系统进行编程。
什么是STK500?
爱特梅尔 AT29C020 微控制器
STK500 是 Atmel 为其 AVR 微控制器开发的入门套件。此外,STK500 能够为这些 AVR 微控制器和其他原型设计和编程代码。
它还可以帮助设计师尝试新事物并创造独特的设计。此外,设计人员可以使用 Atmel 的 IDE 对 STK500 进行调试和编写代码。
使用 STK500,您还可以轻松地对 Arduino 板进行编程。如何?它消除了使用 Arduino IDE 的需要。因此,Arduino 爱好者可以直接或通过互联网浏览器对节点进行编程。
但是,他们仍然需要一个支持 javascript 的 STK500v1 程序员来完成这项任务。
阿杜诺
特点
STK500特点
STK500 包含许多使编程变得有趣和简单的功能。这些功能包括:
- 串行在系统编程。
- STK500 套件配有 LED 和用于实验的按钮。
- 它还具有用于四种 AVR 设备的插座,包括 8 针、20 针、28 针和 40 针设备。
- 您可以从 AVR 工作室轻松升级。
- STK500 还具有针对外部目标系统的系统内编程功能。
- 您可以使用灵活的时钟、复位和电压系统。
- STK500 上的 R2-232 允许与计算机连接。
- STK500 套件还提供额外的 RS-232 驱动器和连接器。
- 您可以使用 STK500 进行串行高压和并行编程。
- 此外,您可以使用排针连接器轻松访问所有 AVR I/O 端口。
- STK500 的工作电压为 9-12v。
- 它也适用于 1.8-6.0v 的目标电压。
如何在 STK500 上编程?
在我们开始使用 STK500 进行编程之前,需要考虑一些关键的先决条件。它们涉及在使用 STK500 之前设置您的硬件并正确连接所有内容。
STK500硬件
硬件设置
在启动 STK500 之前,您需要满足以下六项硬件设置要求:
- 将电源连接到电源连接器,并确保将电源连接到电源电压。
- 然后,连接 PORTD 和 SWITCHES 连接器之间的 10 针带状电缆。
- 接下来,在 PORTD 和 LEDS 连接器之间连接第二条 10 针带状电缆。
- 将串行编程电缆连接到计算机的串行端口和 RS232 CTRL 连接器。
- 在 SPROG3 和 ISP6PIN 连接器之间连接 6 针带状电缆。
- 将 Atmega32 芯片安装在 SCKT3100A3 插槽中。确保芯片的标记指向 SWITCHES。
完成这些步骤后,启动您的 STK500。启动过程结束后,LED 将呈红色亮起,然后呈绿色亮起。至此,STK500 准备就绪。
发光二极管
在 STK500 上编程
首先,检查您的 STK500 的编程功能是否正常工作。你可以使用这个命令函数来查找。
对于 Avrdude,使用以下命令:
如果它有效,您将看到一个报告,表明您的目标设备存在。
如何上传代码
使用 Avrdude 将代码上传到您的 STK500 也很容易。例如,如果您有一个十六进制代码文件,请使用以下命令上传:
上传代码后,STK 的 LED 将显示黄灯。上传完成后,您会看到成功报告。
注意:改变'test. rom' 到你的文件名
设置时钟源
STK500 使用内部 RC 振荡器作为其系统时钟源。它还利用熔丝位(特别是低熔丝字节)来选择其时钟源。可以使用以下命令读取熔断器:
查看 AVR 数据库了解更多详情。
注意:所有项目前活动的时钟源都保持在 1.0 MHZ。
熔断字节表
注意:所有项目前活动的时钟源保持在 1.0 MHZ
在 STK 500 上编程时常犯的错误
以下是使用 STK 500 时应避免的一些常见错误:
端口和引脚错误
端口和引脚
请记住始终将 STK500 的 LED 的其他端子连接到电压源。此外,当 ATMEGA32 的 PORT 引脚处于接地电平(零)时,LED 会发光。
但是,如果您不将 LED 端口设置为输出,那么您的 LED 将只有几乎看不见的低辉光。因此,您还应该将按钮端口设置为输入,并将上拉电阻设置为 ON。
您可以查看数据表以确保您连接了正确的端口和引脚。
计时错误
如果您的项目涉及准确的时序,您将需要硬件 PWM 或中断功能。因此,请避免使用 delay_us 和 delay_ms 函数,因为它们不太可靠。
这些函数更类似于空循环。如果没有代码的 FCPU 标志和编译器优化级别,它们也将无法正常工作。如果你在没有优化的情况下使用这些函数,你会得到低或高的延迟。
在您的 STK500 上编码
您需要 AVR-libc 库来在 STK 500 上进行编码。但是 AVR-libc 是什么?这是一个用于工作 AVR 的库。
此外,各种程序可以帮助您测试您的开发工具和编码。您可以点击这里找到这些程序。
什么是 STK600?
STK600 只是 STK 500 的更新版本,具有更多用于编程 AVR 微控制器的功能。它也有 USB 接口,它的开发套件带有 USB 数据线。
结束语
爱特梅尔 AVR 微控制器
STK 500 非常适合在安全的环境中进行编程并重新体验不同的开发板。它还对 AVR 设备甚至 Arduino(带有 STK 500 编程器)提供了出色的支持。
有趣的是,STK 500 程序员使用 javascript 在 Arduino 板上实现直接编码。它还可以与 STK500v2 浏览器实现配合使用,以允许通过浏览器对 Arduino 进行编程。
您对 STK 500 有何看法?如果您有任何问题,请告诉我们。
工业技术