AVR 单片机下载环境搭建

© 2012-2023 Conmajia.

前言

我曾经在大学时代沉迷过一段时间的单片机,直到我发现这样子不泡妞不放浪的大学生活约等于纯纯的尼特。当我醒悟之后便立刻扔下了,避之不及。可事实上,时隔多年之后,尽管我早已五毒俱全磨灭了对科学的兴趣,却总是会在酒后酣醉之时,香闺缠绵之际,胡思乱想的梦里见到年轻的我像个屌丝似的在玩儿电子制作。

于是某日我宿醉方醒便弄了百十来只 avr 和 arm 的片子到手。也许玩也是会玩累的吧。

毕业多年,我老早便扔掉了下载线,想到利用手上器件 diy 它一副,记录于此文。

硬件篇:下载线

电路图

电路图使用经典的 SI-Prog下载线简化版本,如下图:

图 1. 下载线电路图

器材

电路图已经简单到批爆,我反正是不好意思打板啥的,直接洞洞板走起。

器材 型号 数量
电阻 4.7 kΩ 3
电阻 10 kΩ 2
二极管 1N4733 2
三极管 C8050 1
插头 DS-9 1
插座 DH-10S 1

像这样:

焊接完成的成品:

事实上硬件部分非常之简单,只要你不是唇笔,那真是有手就行。

告诉我,你是不是唇笔?啊?

软件篇:PonyProg

简介

做好了下载线,硬件部分就全部 OK 了,接下来就是安装编程软件。能够完美契合这种老掉牙电路的软件,那非老掉牙的 PonyProg 莫属。Pony,意为小马,也是某个著名化腾儿的名字。

官方点说,PonyProg 是Claudio Lanconelli 出品的老牌开源编程软件,最新版本是 PonyProg 2000 v2.07c。2000,光是看这破比名字就已经能知道它的年份了。这个玩意儿支持 Atmel 和 PIC 的全系列单片机,以及 I2C、Microwire、SPI 接口的 EEPROM,比如英特尔和飞利浦的一堆老古董电子垃圾。关于 PonyProg 的详细介绍和规格,你可以阅读这个页面,如果你实在是闲的蛋疼的话:http://www.lancos.com/prog.html。

一般玩家喜欢叫它“小马”,因为它的 logo 就是一匹小马脑袋,同时也是为了纪念某个叫小马的化腾。据说它是作者 Claudio 经常骑的一匹马,名字就叫 Pony,为了纪念他的马,给这个软件起名叫 PonyProg(Pony Programmer)。当然,现在他已经没马了。

你可以在 Claudio 的个人主页 http://www.lancos.com 下载到最新版本的 PonyProg。

虽然最近的 stable 版本是 v2.06,但不建议下载,因为不支持较新的 AVR 单片机(如 tiny13)……真鸡儿新呢哈哈。

使用方法

总线时序校准

第一次运行 PonyProg,首先要执行总线时序校准操作。这是因为 PonyProg 通过软件模拟单片机编程所需的时序信号,由于每台电脑CPU主频、总线频率、系统性能等因素各不相同,所以需要首先对当前电脑进行校准。

校准之前,先关闭电脑上运行的其他程序,以免影响校准结果。

校准方法如下,点击菜单“Setup-Calibration”进行校准,如图:

软件会弹出确认提示框:

英文大意为:“总线时序校准。你需要确认只有 PonyProg 2000 在运行(CPU 和硬盘这时应为闲置状态)。校准需要耗时数秒。你要校准吗?”。

选择“Yes”,然后软件会开始校准。校准操作大约需要 10 秒钟时间,这期间最好不要进行其他操作。当然,其实无所谓的,只有垃圾电脑才需要注意这些。

校准完成后,软件会提示:

接口设置

接下来需要设置 SI-Prog。打开菜单“Setup-Interface Setup”:

 调出接口设置窗口:

按照图中内容设置接口方式“Serial”,“SI Prog API”,选择电脑上对应的串口,一般物理串口是“COM1”,USB 转 232 串口是“COMn”,具体 n 是多少你可以在 Windows “设备管理器”里查到。

控制线极性选项“Select Polarity of the Control lines”全部留空。

设置完成后,点击“Probe”按钮测试一下,如果弹出这个窗口:

 就表示硬件工作正常,可以开始编程了。

编程

选择器件

首先选择对应的单片机/器件型号。在 PonyProg 主界面可以看到器件选择栏:

选择对应型号即可。

读取数据

连好单片机和下载线后,点“Read All”全部读取按钮读取器件内容。如果硬件正常,会出现读取进度条,读取完成后,窗口内会用二进制显示读取出来的程序内容。

写入数据

连好单片机和下载线后,点“Open Device File”,打开需要烧录的程序文件(比如 Intel HEX 格式的 *.hex 文件),主窗口会显示文件内容供你预览。然后点“Write All”全部写入按钮写入器件。成功后会有相应提示。

错误处理

如果编程时出现“Unknown device”之类的“Error -24”,说明你连线错位。可能是连单片机线序错误,这个可以参照单片机datasheet进行连接。也有可能是焊接错误,这就需要改板子了。

如果出现“Bad device”的“Error -23”,说明器件没有选对,需要重选。如果找不到对应器件,试试安装最新版的 PonyProg。

结语

通过半小时的努力,以后就可以开始无穷无尽的单片机游戏了。

开始 happy 吧!

(完)

猜你喜欢

转载自blog.csdn.net/conmajia/article/details/8441530