控制/MCU
AT89C51是一款应用最为广泛的8051单片机,更重要的是他具有反复烧写(FLASH)的特性。一般情况下可重复烧写1000次,这样为初学者试验提供了一个廉价的平台。为了满足广大单片机爱好者动手的需要,本人利用半个月的时间,参考国外资料,实际设计制作成功一款简单的AT89C51/52/55单片机编程器。由于单片机编程时序不同,这一款编程器仅仅支持ATMEL公司的AT89C51, AT89C52, AT89C55芯片,不支持华邦或飞利浦兼容芯片。
对于很多像我这样一些不算太年轻的从80年代组装7管半导体收音机入门的电子爱好者来说,面对 单片机 似乎显得有点怯场,但是事实上我以为他甚至比组装一个收音机更简单: 以下是它的硬件电路图, 稍微有一点耐心,完全可以用面包板搭焊。
为了方便大家制作,我把电路简化设计了一下:
Q2, Q4以及周围的几个元件构成了电平转换电路,这样节省了1片max 232芯片,在要求不高的场合,这个电路在 单片机 通信中可以取代MAX232。
Q1, R2,R4,DW2,4个元件为编程器提供烧写用12V电压,其中,R4, R2构成了分压电路;平时,监控芯片89C51第13脚(P3.3)输出高电平,Q1导通,R2(1K)将DW2(12V)拉低, 此时DW2电压由R4,R2 分压, 大约3-5V 之间;当写程序时,监控芯片第13脚(P3.3)输出低电平,Q1截止,DW2(12V)直接送到被烧芯片的31脚,从而提供烧写电压。ATMEL官方网站提供的编程器器烧写电压是用LM317调整得到的,并且用到了两个高精度电阻,电路复杂且成本高,该电路经过本人数百台的实验证明非常稳定可靠。
电源变压器要求为15V的电源,例如常见的3-12V直流可调电源, 注意其空载电压不要低于13V ,滤波应好一些,否则可能出现编程不可靠的情况。
监控芯片用IC座安装,另外找一个编程器烧写好监控程序EZ51.HEX后插入,方便调试。 烧写卡座如果购买有困难,可以直接用一个IC座。组装好后通电,用万用表检查:
1,7805输出5V , D2 电源指示灯亮。(图中我用的是78L05)
2,DW2电压为3-5V。
4,将Q1的基极对地短接,DW2电压为12V。
5,U1(89C51)的18,19脚电压为2.2V, 2.1V,此电压可作为电路是否起振的依据。
连接电缆用9对9一头公一头母的串口线, 注意市场上有些串口线的两头2,3脚是交叉的,最好用万用表检查一下是否为一一对应。如果没有串口线,也可拆一个老式的串口鼠标自制,只要两头把2,3,5脚连接好即可。本电路对元件没有特殊要求, 电阻用1/8W普通碳膜,三极管我用的是2SA1015,2SC1815, 实际上很多小功率管都可以, 例如9014,9015。只是需要注意他们的管脚排列区别。二极管1N4148可以用1N4004替代。另外12V稳压管最好挑选一下,精度要求为5%以内。11.0592M晶体有条件的话应当测试一下,市场零售的晶体有些不起振。
这款编程器的烧写软件EZ31.EXE界面很简单;全兼容于Windows9X-2000。仅有几个按钮,分别为打开文件(SEND),读芯片(READ), 退出(EXIT), COM选择,加密(LOCK CODE),以及校验(FAST VERILY)。大家用一下就知道了。注意目前提供下载的为它的升级版本ez4.0自动监测端口号和芯片。 使用更简单!
连接好编程器的电源以及串口线,并插入烧写的芯片,点击COM1或COM2(以实际连接为准,本例中我连接的是COM2), 窗口右下脚显示 89C51Found。 此时应当看到信号指示灯D6每2秒亮一下,表示联机工作。
选择一个需要烧写的hex文件开始烧写,如果一切正常,显示的界面如上图所示。
双面板超级小型的PCB;注意监控芯片在反面贴片安装。因此整个电路板仅仅比火柴盒子稍稍大一点,可能是您所能见到最小巧的编程器了。是不是非常漂亮?
看看这张图: 想必您一定搞得定了!一共不到30个零件,确实很ez,按组装一块连插件到焊接测试只要半小时。
元件清单
Part Type Designator Footprint
1K R19 axial0.3
1K R2 axial0.3
1N4148 D5 diode0.4
1N4148 D1 diode0.4
3K R3 axial0.3
3K R4 axial0.3
4K7 R13 axial0.3
4K7 R11 axial0.3
4K7 R8 axial0.3
10K*8 R18 (排形电阻)
10K R7 axial0.3
10K R6 axial0.3
10K R5 axial0.3
10UF C8 RB.2/.4
10UF C14 RB.2/.4
10UF C7 RB.2/.4
10UF C6 RB.2/.4
11.0592M XT2 rad0.2 (晶体)
12V DW2 (稳压管)
15V IN 7257 (电源输入插座)
18K R12 axial0.3
30P C15 RAD0.1
30P C16 RAD0.1
104 C4 RAD0.1
104 C5 RAD0.1
A1015 Q4 to-126
C1815 Q1 to-126
C1815 Q2 to-126
IN4148 D4 diode0.4
LEDD2 rb.2/.4 (发光二极管)
SINGAL D6 rb.2/.4 (发光二极管)
DB9 232插座
40PIN烧写卡座
40PIN IC座(插监控芯片用)
232串口线
PCB
89C51监控芯片
15V电源
DIY安装步骤:
1:安装电阻,共11个;元件插到位后焊接剪脚:
2:安装二极管,三个1N4148 和一个12V稳压管DW2。请仔细看管子的表面有字:稳压管印有12V字样,千万别给搞混了。二极管是有极性的, 二极管的黑头方向插向pcb的印有白色的一边就对了:元件插到位后焊接剪脚:
3:安装2个104和2个30p电容;11。0592晶体, 这些都没有方向性随便插:
4:插入三极管。电解电容,发光管:注意这些东西都是有极性的:如果搞反了可不行。电解电容和发光管很好办,都是负极向下。三极管(2个2SC1815,一个2SA1015,)以及一个78L05的稳压IC:他们的方向在PCB上可以看到,屁股的方向就是半圆圈的方向。
5:插入排阻(排阻有一个白点的一端是公共端,他的位置在靠近PCB边源的一端;电源插座,232插座就不用说了。
6:插监控芯片的插座。
7:插烧写卡座。由于他和监控芯片是面对面的, 因此必须先焊接监控芯片插座,最后焊烧写卡座。否则等会不好动烙铁了。
8:如果您实在搞不清除元件的方向, 请睁大眼睛仔细看看上面的照片吧。
9:最后检查一下电路板的各个地方有没有插错, 短路的。再按照上面的调试方法调试。如果没有插错
基本可以一次调OK
全部0条评论
快来发表一下你的评论吧 !