当前位置:
文档之家› AT89C2051烧写器的制做与调试
AT89C2051烧写器的制做与调试
printf("hello World!\n"); } } 这个程序就是打开单片机 S51 的串口,不断的送出字符串“hello World"。编译 成 HEX 文件,再用 ISP 将程序写进 S51 片内。然后插到 2051 烧写板上。将串口 线接到 PC 上。打开 PC,运行串口调试器:
将红圈画出位置的波特率设为 19200。确认为 COM1 口。然后将 2051 烧写器的电 源给上,我的 PC 串口调试器上立即就出现了“hello World”。
上图是可以烧写很多器件的电 路,它的 PCB 板在网上也很容易找。 但因为是实验制做,没用 PCB,就用 万用板吧。由于宽体的器件都有支持 ISP 的器件,所以我去掉了 40 脚宽体 IC 座,只留了个 20 脚窄体 IC 座用来 烧写 C2051,修改电路后电路图如下:
元件清单如下:
1/8w 4.7k 6 (一共 6 个)
16pin ic 座 1 插入 max232 芯片
usb 座
1 供电用
串口电缆 1 通信用
usb 电缆 1 供电用
At89s51 1 用于监控
max232cpe 1 通信用集成电路
pcb
1 电路板
实际板子今天已做好,先秀一下吧。接着再讲详细调试方法和步骤:
这个电路对于初学者可能复杂了一点,它分为几个部分,如果你先将电路板 规划好,然后把元件一次都焊上,再进行调试,成功的概率很小。那应该怎么做 呢?先规划一下元件的位置布局,然后分几个单元,一个单元做好后进行调试,
104
2 用于电源滤波
22p
2 用于晶体电路
11.0592 1 晶体
2n5401
1 注意看型号和插入的方向, 不要错!
2n5551
2
发光管
2 3mm 白发红(用于电源指示和通信指示)(注意方向)
9
1 串口头
20pin 卡座 1 烧写 2051 等用
40pin ic 座 1 插入监控用 89s51
正常后再进行下一个单元的制做调试。我的规划如下,先是电源部分包括那个电 源指示 LED:
先将 USB 座焊上,确认无短路后插上 USB 电源,用万用表找出 A、B 两点中 哪个是 5v 的正极,哪个是地。然后去掉电源将剩下的几个电容、电阻和 LED 焊 上,再确认无短路后接上电源,LED 应亮起。我是将 LED 的限流电阻改为了 2K, 因为我看它已够亮了。电流 1.5 毫安。实物如右边红色圈出的图。
这样,与 PC 的串口通讯就调试成功了。如果你没有出现正确结果,而上面几步 的调试又是正常的,那就是从 PC 串口端到你 S51 的接线有错误了。仔细检查你 的接线,会找到错误的。
上面几步都正常后,就是将这几步调试正常的电路整合了。将 12v 烧写控制 端 VPP 接到 2051 的第 1 脚,VO13、VO14 分别接到 S51 的第 13、14 脚。S51 的第 15 脚 VST 接到 2051 的第 9 脚。S51 的第 1 脚(P1.0)接到 2051 的第 11 脚。S51 的 5、6、7、8 分别接到 2051 的第 5、6、7、8 脚。S51 的 P0 口(第 32-39 脚) 分别接到 2051 座的第 12-19 脚。别忘了将 2051 座的电源,地接上。
下面就是 S51 部分的电路,如下图:
这部分电路包括 P0 口的上拉排阻和那个接收指示 LED 接在 S51 的 10 脚。别忘了 将 S51 的第 31 脚(EA / VP)也接电源+5v。先确认将 MAX232 的第 9 脚与 S51 第 10 脚的连接断开(因为 MAX232 在调试正常后 9 脚就输出+5v 高平会点亮接收指 示 LED,妨碍 S51 工作性能的检查)。检查电路无误后插上 S51 片子接上电源, 静态电流应在 9-12mA 左右。好!打开 KEIL 写个测试程序: #include <AT89X51.H> #define uchar unsigned char main(void) { uchar i,j,k; while(1)
S51 电路正常后,我们就要将刚才断开的 MAX232 的第 9 脚和 S51 的第 10 脚 焊上。这时我们再编个测试程序: #include<at89x51.h> #include<stdio.h>
void main(void) { SCON=0x50; TMOD=0x20; PCON=0x80; TCON=0x40; TH1=0xfd;//比特率 19200 TL1=0xfd; TI=1; TR1=1; while(1) {
AT89C2051 烧写器的制做与调试
现在都用 S52 了,还用 C2051 干嘛!价格也差不多。但是 C2051 的体积要比 S51、S52 小很多,而且引脚只有 20 只,在一些简单 的控制中,这些引脚已足够了,小的体积更具有优势些。但目前好像还没有支持在线编程(ISP)的 S2051。因此试着做个 C2051 的编 程器,更主要的是与大家分享一下在电路制做过程中硬件、软件的除错技巧,尽量做到一次成功的经验和方法。
{ for(i=0;i<1;i++) { for(j=0;j<255;j++) for(k=0;k<255;k++); } P3_0=~P3_0;
} }
这个程序就是让 S51 第 10 脚(P3.0)接的那个 LED 闪烁。能闪烁就说明晶 振起振,S51 电路工作正常了,编译,然后用 ISP 将这个程序写进 S51 片内,再 插到我们做好的 2051 烧写器上。接上电源,我的电路立即就正常工作了,LED 在闪烁。如果 LED 无反应,你就得检查你的 S51 电路是否连接正常,晶振是否焊 接正确等。
第二部分是 MAX232,包括那个+12v 电压稳压电路。MAX232 是 TTL 转 RS232 专用 IC。它内部提供了一个正 10v,和负 10v 的升压电路。我们正是利用了它的 升压电路又获得了个+12v 的电源。
我们先将 9 针串口焊上,但不接上 MAX232。在你规划的 MAX232 区,按上图 左侧电路将 MAX232 座和四个电容焊好。检查无短路后,插上 MAX232,接上电源, 在 A 点应能测到+9v-+10v 的电压。在 B 点应有-9v--10v 的电压,将 10 脚接地, 那 7 脚就应该是+10V。若 10 脚接+5v,那么 7 脚就变成-10v。这样 MAX232 就正 常了。将串口的 2 脚接 MAX232 的 7 脚。串口的 3 脚接 MAX232 的 8 脚。接上电将 MAX232 的 10 脚分别接地和+5v 看看串口的 2 脚是否跟刚才一样变化。以上的调 试正确后,将上图右边的 12V 稳压电路焊上。如下图:
好!检查无误后,接上电源再试一次串口通讯是否正常(以防在焊接后焊错 使 S51 不工作)后。拔下 S51,用 ISP 将那个 E51Pro.HEX 的驱动固件写进 S51,
再将它插到 40 脚 S51 座上,在 20 脚 IC 座上插上 AT89C2051,连好 PC 串口,PC 上运行那个 Easy 51Pro V2.0,然后将 2051 烧写器给上电源。在 PC 软件上先择 AT89C2051,点击检测器件,我的,1e 21 FF。然后试着打开一个 HEX 文件,点自 动完成,它就一路完成器件的检测、擦除、写入,校验等工作,如下图:
如果你的器件没找到,但前面的串口通迅等调试是正常的,那么你最后一步 的那些接线可能有误。仔细检查你的接线,及 C2051 座的电源、接地是否正常。
好了,掸一掸尘土,大功告成。终于可以闪到一边喝口茶凉快会儿去了!也 给点掌声啊!容易嘛?我。。。!
总结:养成逐步调试的习惯,对电路的一次成功是非常有益的。有了问题对
560r
3 (一共 3 个)
2k2
1
4.7 欧姆 1 串联于供电电路起保护作用
10k 排阻 1 用于 cpu p0 口上拉
1n4148
2 用于 vpp 高压供给 (注意 4148 的一头是黑色的)
12v
1 用于 vpp 高压供给 (注意 12V 的一头是白色的不要搞混)
4.7uf/50v 8 所有的电解都用同一个型号的, 注意方向哦
用万用表在稳压管两端应测得稳定的+12V 电压。这样你的这个串口转换和 12v 电源电路就调试正常了。
第三部分是 12V 烧写控制部分:电路和实物图如下:
这部分电路焊好后,接上第二部分调试正常的+12v 和电源+5V。先测量电路上+12v 接入点和电源电压+5v 是否正常确。再测量上图的 A 点也应该是+5v。然后你把 VO13 用导线接+5V,那么 A 点是+9v-+11v 就对了。好!断开 VO13,再将 V014 用导线接+5v,A 点应该是接近 0。这样 12V 烧写控制电路也调试正确了。