© 2012 Conmajia.
Initiated: December 27th, 2012
曾经大学时代迷过一段时间的单片机,毕业后就扔下了。时隔多年,电子制作的兴趣又起来了,于是重拾单片机。
搞了百来只AVR,tiny13、2313、mega8都有,算是足够用了。可是有了单片机,没有下载线也没法用,我总不能只玩玩仿真就算了吧?
当初还是学生的时候在实验室玩,老师的下载线非常宝贵,就给我器材,自己焊了一根,现在器材都有,还是得自己动手,丰衣足食。
以下内容,将分为硬件篇和软件篇讲述。
电路图使用经典的SI-Prog下载线简化版本,如下图:
器材只需要洞洞板(单/双面均可)和几个分立元件,列表如下:
电阻
4.7kΩ×3
10kΩ×2
二极管
1N4733×2
三极管
8050×1
接插件(可选)
9芯串口插头-母/孔)×1
串口插头保护套×1
10芯或6芯双排插针/座×1
全部元器件如图:
焊接完成的成品如图:
需要注意单片机端的接线顺序。
做好了下载线,硬件部分就全部OK了,接下来就是安装编程软件。和上面电路完美匹配的编程软件,非PonyProg莫属。
PonyProg是Claudio Lanconelli出品的老牌开源编程软件,最新版本是PonyProg2000 v2.07c,支持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”进行校准,如图:
软件会弹出确认提示框:
对话框中英文大意为:“总线时序校准。你需要确认只有PonyProg2000在运行(CPU和硬盘这时应为闲置状态)。校准需要耗时数秒。你要校准吗?”。
选择“Yes”,然后软件会开始校准。校准操作大约需要10秒钟时间,这期间不要进行其他操作。
校准完成后,软件会进行提示,如图:
接下来就需要设置我们制作的SI-Prog了。打开菜单“Setup-Interface Setup”,如图:
调出接口设置窗口,如图:
按照图中内容设置接口方式“Serial”,“SI Prog API”,选择电脑上对应的串口,一般物理串口是“COM1”,USB转232串口是“COM3”。如果不能确定端口,你可以在Windows的“设备管理器”里查看。
控制线极性选项“Select Polarity of the Control lines”全部留空。
设置完成后,点击“Probe”按钮测试一下,如果弹出这个窗口:
就表示硬件工作正常,可以开始编程了。
连好单片机和下载线后,点PonyProg的“Read All”全部读取按钮读取器件内容。如果硬件正常,会出现读取进度条,读取完成后,窗口内会用二进制显示读取出来的程序内容。
连好单片机和下载线后,点PonyProg的“Open Device File”,打开需要烧录的程序文件(比如Intel HEX格式的*.hex文件),主窗口会显示文件内容供你预览。然后点“Write All”全部写入按钮写入器件。成功后会有相应提示。
如果编程时出现“Unknown device”之类的“Error -24”,说明你连线错位。可能是连单片机线序错误,这个可以参照单片机datasheet进行连接。也有可能是焊接错误,这就需要改板子了。
如果出现“Bad device”的“Error -23”,说明器件没有选对,需要重选。如果找不到对应器件,试试安装最新版的PonyProg。
通过半小时的努力,以后就可以开始无穷无尽的单片机游戏了。
开始happy吧!
(完)