AT89C2051烧写器的制做与调试
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
104
2 用于电源滤波
22p
2 用于晶体电路
11.0592 1 晶体
2n5401
1 注意看型号和插入的方向, 不要错!
2n5551
2
发光管
2 3mm 白发红(用于电源指示和通信指示)(注意方向)
db9
1 串口头
20pin 卡座 1 烧写 2051 等用
40pin ic 座 1 插入监控用 89s51
AT89C2051 烧写器的制做与调试
现在都用 S52 了,还用 C2051 干嘛!价格也差不多。但是 C2051 的体积要比 S51、S52 小很多,而且引脚只有 20 只,在一些简单 的控制中,这些引脚已足够了,小的体积更具有优势些。但目前好像还没有支持在线编程(ISP)的 S2051。因此试着做个 C2051 的编 程器,更主要的是与大家分享一下在电路制做过程中硬件、软件的除错技巧,尽量做到一次成功的经验和方法。
这样,与 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 座的电源,地接上。
如果你的器件没找到,但前面的串口通迅等调试是正常的,那么你最后一步 的那些接线可能有误。仔细检查你的接线,及 C2051 座的电源、接地是否正常。
好了,掸一掸尘土,大功告成。终于可以闪到一边喝口茶凉快会儿去了!也 给点掌声啊!容易嘛?我。。。!
总结:养成逐步调试的习惯,对电路的一次成功是非常有益的。有了问题对
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) {
上图是可以烧写很多器件的电 路,它的 PCB 板在网上也很容易找。 但因为是实验制做,没用 PCB,就用 万用板吧。由于宽体的器件都有支持 ISP 的器件,所以我去掉了 40 脚宽体 IC 座,只留了个 20 脚窄体 IC 座用来 烧写 C2051,修改电路后电路图如下:
ห้องสมุดไป่ตู้
元件清单如下:
1/8w 4.7k 6 (一共 6 个)
560r
3 (一共 3 个)
2k2
1
4.7 欧姆 1 串联于供电电路起保护作用
10k 排阻 1 用于 cpu p0 口上拉
1n4148
2 用于 vpp 高压供给 (注意 4148 的一头是黑色的)
12v
1 用于 vpp 高压供给 (注意 12V 的一头是白色的不要搞混)
4.7uf/50v 8 所有的电解都用同一个型号的, 注意方向哦
正常后再进行下一个单元的制做调试。我的规划如下,先是电源部分包括那个电 源指示 LED:
先将 USB 座焊上,确认无短路后插上 USB 电源,用万用表找出 A、B 两点中 哪个是 5v 的正极,哪个是地。然后去掉电源将剩下的几个电容、电阻和 LED 焊 上,再确认无短路后接上电源,LED 应亮起。我是将 LED 的限流电阻改为了 2K, 因为我看它已够亮了。电流 1.5 毫安。实物如右边红色圈出的图。
第二部分是 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 文件,点自 动完成,它就一路完成器件的检测、擦除、写入,校验等工作,如下图:
16pin ic 座 1 插入 max232 芯片
usb 座
1 供电用
串口电缆 1 通信用
usb 电缆 1 供电用
At89s51 1 用于监控
max232cpe 1 通信用集成电路
pcb
1 电路板
实际板子今天已做好,先秀一下吧。接着再讲详细调试方法和步骤:
这个电路对于初学者可能复杂了一点,它分为几个部分,如果你先将电路板 规划好,然后把元件一次都焊上,再进行调试,成功的概率很小。那应该怎么做 呢?先规划一下元件的位置布局,然后分几个单元,一个单元做好后进行调试,
{ 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 电路是否连接正常,晶振是否焊 接正确等。
下面就是 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)
printf("hello World!\n"); } } 这个程序就是打开单片机 S51 的串口,不断的送出字符串“hello World"。编译 成 HEX 文件,再用 ISP 将程序写进 S51 片内。然后插到 2051 烧写板上。将串口 线接到 PC 上。打开 PC,运行串口调试器:
将红圈画出位置的波特率设为 19200。确认为 COM1 口。然后将 2051 烧写器的电 源给上,我的 PC 串口调试器上立即就出现了“hello World”。
用万用表在稳压管两端应测得稳定的+12V 电压。这样你的这个串口转换和 12v 电源电路就调试正常了。
第三部分是 12V 烧写控制部分:电路和实物图如下:
这部分电路焊好后,接上第二部分调试正常的+12v 和电源+5V。先测量电路上+12v 接入点和电源电压+5v 是否正常确。再测量上图的 A 点也应该是+5v。然后你把 VO13 用导线接+5V,那么 A 点是+9v-+11v 就对了。好!断开 VO13,再将 V014 用导线接+5v,A 点应该是接近 0。这样 12V 烧写控制电路也调试正确了。