最近本人买一个89C52,自己尝试着去做一个编程器!
1 P4 P6 |" z5 S+ @: M2 W/ sAT89C51是一款应用最为广泛的8051单片机,更重要的是他具有反复烧写(FLASH)的特性。一般情况下可重复烧写1000次,这样为初学者试验提供了一个廉价的平台。为了满足广大单片机爱好者动手的需要,本人利用半个月的时间,参考国外资料,实际设计制作成功一款简单的AT89C51/52/55单片机编程器。由于单片机编程时序不同,这一款编程器仅仅支持ATMEL公司的AT89C51, AT89C52, AT89C55芯片,不支持华邦或飞利浦兼容芯片。% w8 y% K1 f6 X+ o# e$ {$ W
对于很多像我这样一些初学者来说,面对单片机似乎还显得有点怯场,但是事实上我以为他甚至比组装一个收音机更简单: 以下是它的硬件电路图, 稍微有一点耐心,完全可以用面包板搭焊。
; d$ F& e# S) d3 S4 b# r为了方便大家制作,我把电路简化设计了一下: + Z. q; u; K# G& ]* N
) E: }- b0 O1 E0 i" _; }$ v @
|
Q2, Q4以及周围的几个元件构成了电平转换电路,这样节省了1片max 232芯片,在要求不高的场合,这个电路在单片机通信中可以取代MAX232。1 P) {( h! g8 [7 V. H' j
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调整得到的,并且用到了两个高精度电阻,电路复杂且成本高,该电路经过本人数百台的实验证明非常稳定可靠。' s4 r. D& a8 G0 X7 R4 l% R% {
|
电源变压器要求为15V的电源,例如常见的3-12V直流可调电源, 注意其空载电压不要低于13V , 滤波应好一些,否则可能出现编程不可靠的情况。8 \- Z. y# i; O
3 f& U% N& \' K
监控芯片用IC座安装,另外找一个编程器烧写好监控程序EZ51.HEX后插入,方便调试。 烧写卡座如果购买有困难,可以直接用一个IC座。组装好后通电,用万用表检查:) }; {2 R5 o- R" R1 ^$ f$ E" B
1," v, u- N7 h. _' Q" t
7805输出5V , D2 电源指示灯亮。(图中我用的是78L05)
3 ?. {( d- \( J! M) z. m' G& T' a2,
6 n6 p% l6 d; A4 }! A: ]: _; `DW2电压为3-5V。3 ~3 }" y- J, p6 ]; j. h
4,
0 w! c; Y2 h6 G将Q1的基极对地短接,DW2电压为12V。5 @7 D( M- ~5 Y# `
5,U1(89C51)的18,19脚电压为2.2V, 2.1V,此电压可作为电路是否起振的依据。
: D5 q, E: r+ K r9 ?连接电缆用9对9一头公一头母的串口线, 注意市场上有些串口线的两头2,3脚是交叉的,最好用万用表检查一下是否为一一对应。如果没有串口线,也可拆一个老式的串口鼠标自制,只要两头把2,3,5脚连接好即可。本电路对元件没有特殊要求, 电阻用1/8W普通碳膜,三极管我用的是2SA1015,2SC1815, 实际上很多小功率管都可以, 例如9014,9015。只是需要注意他们的管脚排列区别。 二极管1N4148可以用1N4004替代。另外12V稳压管最好挑选一下,精度要求为5%以内。11.0592M晶体有条件的话应当测试一下,市场零售的晶体有些不起振。$ d: D1 q7 V+ ?: w7 `
% K$ @0 H' I& H4 M1 v' M |
这款编程器的烧写软件EZ31.EXE界面很简单;全兼容于WINDOWS9X-2000。仅有几个按钮,分别为打开文件(SEND),读芯片(READ), 退出(EXIT), COM选择,加密(LOCK CODE),以及校验(FAST VERILY)。大家用一下就知道了。注意目前提供下载的为它的升级版本ez4.0自动监测端口号和芯片。 使用更简单! 7 U- z& e1 }$ K# ?8 a* A
|
连接好编程器的电源以及串口线,并插入烧写的芯片,点击COM1或COM2(以实际连接为准,本例中我连接的是COM2), 窗口右下脚显示 89C51Found。 此时应当看到信号指示灯D6每2秒亮一下,表示联机工作。
) J [% k+ R+ I- A& b5 F+ ?% g. ] 选择一个需要烧写的hex文件开始烧写,如果一切正常,显示的界面如上图所示。/ V1 h1 Y" u- ]6 a
' w* {/ B' R D) H
6 i! R& j$ N: K# _* d8 h. t4 Y' t% q |
双面板超级小型的pcb;注意监控芯片在反面贴片安装。因此整个电路板仅仅比火柴盒子稍稍大一点,可能是您所能见到最小巧的编程器了。是不是非常漂亮? |
![]() |
| 看看这张图: 想必您一定搞得定了!一共不到30个零件,确实很ez,按组装一块连插件到焊接测试只要半小时。 |
| 元件清单 |
Part Type Designator Footprint
* W' |1 h$ N; r! M7 d/ ] z1K R19 axial0.3 # q0 }) a. r W2 A8 o
1K R2 axial0.3
& {( a1 T; `- e4 U+ }. Z- |/ J" ~1N4148 D5 diode0.4
( Z- m9 j. q4 ~7 K! p8 r- M1N4148 D1 diode0.4
9 g$ T6 C9 b" {3 G7 f3K R3 axial0.3
' R+ i, n+ d% y0 {0 |' I& {" i3K R4 axial0.3 6 C) S/ R, G- \. R0 q) M
4K7 R13 axial0.3 8 E6 U9 u: `% b5 Q
4K7 R11 axial0.3
) h6 _& P5 j4 j& `4K7 R8 axial0.3 5 f/ P& I- j! P% h5 I7 B0 M( v
10K*8 R18 (排形电阻)6 i4 _! H$ v/ _/ \3 Q! H
10K R7 axial0.3
1 y. {0 n& s9 a% t" v' {! \10K R6 axial0.3
2 U+ M% d) E$ A* m( q10K R5 axial0.3
G8 W; G8 a% |0 w, t/ `10UF C8 RB.2/.4 8 K( N; K" U* V( A% O
10UF C14 RB.2/.4
# d! S9 N+ N8 g' p10UF C7 RB.2/.4
& y4 d# O/ w& F! X0 n8 N10UF C6 RB.2/.4 3 E' q- K8 W/ ^$ k$ J- {/ I: e$ s, `
11.0592M XT2 rad0.2 (晶体)0 O; R" `) R+ O9 x1 \7 s$ q
12V DW2 (稳压管) u! s6 {9 n+ b, ~) X( O ^4 M5 v
15V IN 7257 (电源输入插座)+ d( r; g% ?7 A/ e& Z- q
18K R12 axial0.3 4 `+ C& f- B% q) P s" O5 }0 {
30P C15 RAD0.1
! I! M! K# C! j$ o- T% Y5 t! w- U8 N30P C16 RAD0.1 9 M/ x) H ~) M0 I) |# i/ X
104 C4 RAD0.1
6 L# T% ?. m$ H8 w# c: @3 N- q- H104 C5 RAD0.1
0 r7 r- S9 N1 i6 HA1015 Q4 to-126
. U, M9 x0 f+ j0 S/ u9 _4 P2 KC1815 Q1 to-126
+ h! r) h0 Y8 `2 Y3 Z# d5 ^C1815 Q2 to-126 / y# x0 S" y1 U- F, a5 j
IN4148 D4 diode0.4
7 V+ x% I6 {3 K- w V" uLED D2 rb.2/.4 (发光二极管)1 o# X+ |) i- E' |8 ^
SINGAL D6 rb.2/.4 (发光二极管)# c3 a5 R: u7 p" N' D, ]- v
| | DB9 232插座 | 40PIN 烧写卡座 | | 40PIN IC座(插监控芯片用) | | 232串口线 | | PCB | | 89C51监控芯片 | | 15V电源 |
|
' {" m. ~. }% o5 [* I5 W |
| |
| ![]() |
| PCB背面的照片:本来有一个大面积的铺铜的不知为啥给搞掉了: |
| |
| 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 |
& A, l0 ?4 P1 f3 |1 t+ S% n
|