自制单片机之十二……AT89C2051烧写器的制做与调试

发布者:mu22最新更新时间:2016-12-15 来源: eefocus关键字:自制单片机  AT89C2051  烧写器 手机看文章 扫描二维码
随时随地手机看文章

  现在都用S52了,还用C2051干嘛!价格也差不多。但是C2051的体积要比S51、S52小很多,而且引脚只有20只,在一些简单的控制中,这些引脚已足够了,小的体积更具有优势些。但目前好像还没有支持在线编程(ISP)的S2051。因此试着做个C2051的编程器,更主要的是与大家分享一下在电路制做过程中硬件、软件的除错技巧,尽量做到一次成功的经验和方法。
  在网上找了一番,图很多,大同小异。上一张最通用的图:

上图是可以烧写很多器件的电路,它的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   所有的电解都用同一个型号的, 注意方向哦
104         2 用于电源滤波 
22p         2 用于晶体电路 
11.0592     1 晶体 
2n5401      1 注意看型号和插入的方向, 不要错! 
2n5551      2    
发光管      2 3mm白发红(用于电源指示和通信指示)(注意方向) 
db9         1 串口头 
20pin 卡座 1 烧写 2051等用 
40pin ic座 1 插入监控用89s51 
16pin ic座 1 插入 max232芯片 
usb座       1 供电用 
串口电缆    1 通信用 
usb 电缆    1 供电用 
At89s51     1 用于监控
max232cpe   1 通信用集成电路 
pcb         1 电路板

实际板子今天已做好,先秀一下吧。接着再讲详细调试方法和步骤:

 


(点击后看大图)

  这个电路对于初学者可能复杂了一点,它分为几个部分,如果你先将电路板规划好,然后把元件一次都焊上,再进行调试,成功的概率很小。那应该怎么做呢?先规划一下元件的位置布局,然后分几个单元,一个单元做好后进行调试,正常后再进行下一个单元的制做调试。我的规划如下,先是电源部分包括那个电源指示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稳压电路焊上。如下图:

用万用表在稳压管两端应测得稳定的+12V电压。这样你的这个串口转换和12v电源电路就调试正常了。

  第三部分是12V烧写控制部分:电路和实物图如下:

这部分电路焊好后,接上第二部分调试正常的+12v和电源+5V。先测量电路上+12v接入点和电源电压+5v是否正常确。再测量上图的A点也应该是+5v。然后你把VO13用导线接+5V,那么A点是+9v-+11v就对了。好!断开VO13,再将V014用导线接+5v,A点应该是接近0。这样12V烧写控制电路也调试正确了。

  下面就是S51部分的电路,如下图:

这部分电路包括P0口的上拉排阻和那个接收指示LED接在S51的10脚。别忘了将S51的第31脚(EA / VP)也接电源+5v。先确认将MAX232的第9脚与S51第10脚的连接断开(因为MAX232在调试正常后9脚就输出+5v高平会点亮接收指示LED,妨碍S51工作性能的检查)。检查电路无误后插上S51片子接上电源,静态电流应在9-12mA左右。好!打开KEIL写个测试程序:
#include
#define uchar unsigned char
main(void)
{
uchar i,j,k;
while(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电路正常后,我们就要将刚才断开的MAX232的第9脚和S51的第10脚焊上。这时我们再编个测试程序:
#include
#include

void main(void)
{
SCON=0x50;
TMOD=0x20;
PCON=0x80;
TCON=0x40;
TH1=0xfd;//比特率19200
TL1=0xfd;
TI=1;
TR1=1;
while(1)
{
    printf("hello World!\n");
}
}

这个程序就是打开单片机S51的串口,不断的送出字符串“hello World"。编译成HEX文件,再用ISP将程序写进S51片内。然后插到2051烧写板上。将串口线接到PC上。打开PC,运行串口调试器:

将红圈画出位置的波特率设为19200。确认为COM1口。然后将2051烧写器的电源给上,我的PC串口调试器上立即就出现了“hello World”。

这样,与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不工作)后。拔下S51,用ISP将那个E51Pro.HEX的驱动固件写进S51,再将它插到40脚S51座上,在20脚IC座上插上AT89C2051,连好PC串口,PC上运行那个Easy 51Pro V2.0,然后将2051烧写器给上电源。在PC软件上先择AT89C2051,点击检测器件,我的,1e 21 FF。然后试着打开一个HEX文件,点自动完成,它就一路完成器件的检测、擦除、写入,校验等工作,如下图:

如果你的器件没找到,但前面的串口通迅等调试是正常的,那么你最后一步的那些接线可能有误。仔细检查你的接线,及C2051座的电源、接地是否正常。

  好了,掸一掸尘土,大功告成。终于可以闪到一边喝口茶凉快会儿去了!也给点掌声啊!容易嘛?我。。。!

 总结:养成逐步调试的习惯,对电路的一次成功是非常有益的。有了问题对除错的范围也可以缩至最小。


关键字:自制单片机  AT89C2051  烧写器 引用地址:自制单片机之十二……AT89C2051烧写器的制做与调试

上一篇:自制单片机之十三……时钟IC_DS1302
下一篇:自制单片机之十一……模数转换IC ADC0809

推荐阅读最新更新时间:2024-03-16 15:25

解读AT89C2051遥控接收电路设计原理
  电路基本原理就是通过红外接收头收集红外信号,当有红外信号进来时,单片机 AT89C2051 ($0.5999) 执行中断并对采集到的红外信号进行解码,并从串口送到PC,PC软件Girder收到串口发来的字符再根据定义做出相应的命令操作。电路中使用了几个简单的元件做成串口窃电电路,使这个遥控器不需要再外接电源,插到串口上就可以使用了,可以说是即插。安装好后,运行Girder后,指示灯LED1就开始闪烁,表明电路正常工作了,这时就可以使用你的遥控器了,当关闭 Girder后电路板的电源也会被切断,指示灯熄灭。下面是制作过程和具体的一些注意事项等。    如下图是这个遥控接收器的全部电原理图。   
[电源管理]
解读<font color='red'>AT89C2051</font>遥控接收<font color='red'>器</font>电路设计原理
基于AT89C2051的红外遥控LED电子钟设计
一.引言 自制LED电子钟在很多电子报刊杂志上都可以见到,但大多数在断电后都要重新设置时间等参数,给使用带来很多不便。也有用后备电池作为备用电源的,但往往体积较大。本文介绍的LED电子钟克服了以往的弊端,而且采用了家电通用的红外遥控器进行控制,方便使用。有一路闹铃输出,可以通过遥控器设置闹铃时间及允许与否。 二.电子钟硬件设计 电子钟的正面 电子钟的背面 一. 工作原理 DS1302为达拉斯公司的一种实时时钟芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32768Hz晶振。AT89C2051作为主控芯片,一是对接收到的红外遥控编码进行判断识别,并执行
[单片机]
基于<font color='red'>AT89C2051</font>的红外遥控LED电子钟设计
基于DS1620和AT89C2051的数字温度计
1  DS1620芯片介绍      DS1620是一片8引脚的片内建有温度测量并转换为数字值的集成电路,他集温度传感、温度数据转换与传输、温度控制等功能于一体。测温范围:-55~+125℃,精度为0.5℃。该芯片非常容易与单片机连接,实现温度的测控应用,单独做温度控制器使用时,可不用外加其他辅助元件。       引脚功能及排列如图1所示。   其中:RST,CLK/CONV及DQ为三线串行通信线;DQ为数据输入输出端。当RST保持高电平,对应CLK/CONV时钟脉冲的上升沿处,DQ可按位输入各种控制指令及数据,在CLK/CONV时钟脉冲的下降沿处开始按位输出9 B温度值,分2个字节输出,最低位(LSB)在最先输出,先输出的
[单片机]
基于DS1620和<font color='red'>AT89C2051</font>的数字温度计
泊车用超声波测距仪的研制
一、前言 随着生活水平的不断提高,汽车进入家庭的消费意识的不断增强。中国城市汽车的保有量迅速增加。随之而来的是交通事故与日俱增,城市里尤其突出。发展智能交通系统是二十一世纪交通运输的重要发展方向。智能交通系统(ITS)在充分发挥现有基础设施的潜力,提高运输效率。保障交通安全,缓解交通堵塞,改善城市环境等方面的卓越效能,已得到各级政府的广泛关注。中国政府也高度重视智能交通系统的研究开发与推广应用。本文论述的泊车用超声波测距仪开发着眼于倒车防护,能够实现倒车时有效的避开可能对倒车造成危害的障碍物和行人。有效避免由于倒车造成的经济损失和人身安全问题。国外高级轿车在汽车出厂时就已经安装了同类系统。 二、系统组成和实现指标 系统由三大
[单片机]
泊车用超声波测距仪的研制
DS1302+AT89C2051控制的红外遥控LED电子钟设计
自制LED电子钟在很多电子类报刊杂志上都可以见到,但多数在断电后要重新设置时间等参数,给使用带来不便。也有用电池作为备用电源的,但往往体积较大。本文介绍的LED电子钟克服了上述弊端,加上采用家电通用的红外遥控器进行控制,使用方便。该电子钟有一路闹铃输出,可以通过遥控器设置闹铃时间及闹铃允许。   一、工作原理   实时时钟芯片DS1302采用串行数据传输,可为掉电保护电源提供可编程的充电功能,也可以关闭充电功能,芯片采用32768Hz晶振。   AT89C2051作为主控芯片,其功能一是对接收到的红外遥控编码进行判断识别,并进行相应的处理;二是定期读取DS1302中的时间,并把小时和分钟送显示;三是比较设置的闹铃时间与实时时间,如
[单片机]
DS1302+<font color='red'>AT89C2051</font>控制的红外遥控LED电子钟设计
AT89C2051实现电话远程控制家用电器
摘要:随着电话和家用电器的普及,越来越多的人希望能用电话来控制家电。本文采用AT89C2051单片机,配合新型的DTMF解码芯片和语音电路,成功实现了电话对家用电器的控制。 关键词:AT89C2051 MC145436 ISD33060 电话遥控 1 主要芯片简介 (1)AT89C2051 AT89C2051是Atmel公司生产的与MCS-51系列兼容的单片机。内含:2K字节Flash EEPROM、128字节RAM、15根I/O引线、2个16位定时器/计数器、1个五向量两级中断结构,1个全双工串行口、1个精密模拟比较器等,其引脚如图1所示。 (2)MC15436 MC145436是Motorola公司生产的DT
[应用]
AT89C2051单片机制作水族箱加氧泵自控开关源程序
以下程序已实际调试运行通过) ; ---AT89C2051加氧泵控制器源程序-OK! org 0000h ajmp main nop org 01bh clr tr1 ajmp timon org 30h main:mov 40h,#00h mov 41h,#00h mov 42h,#00h mov 43h,#02h mov 44h,#00h mov 45h,#00h
[单片机]
74HC595与AT89C2051单片机接口的显示电路
74HC595与AT89C2051单片机接口设计的显示面板电路。P1 口的P115 、P116 、P117 用来控制LED 的显示,分别接到SLCK、SCLK和SDA 脚。三个数码管用来显示电压值的大小。在电路板上, LED3 在最左边,LED1 在最右边, 送数据时, 先送LED3 的显示码,最后送LED1 的显示码。LED 的亮度用PR1~ PR3 的阻值来控制。
[单片机]
74HC595与<font color='red'>AT89C2051</font><font color='red'>单片机</font>接口的显示电路
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved