先解释一下这个图,其实原理很简单的,先说下单片机编程,就好比我们电脑做
系统一样,你要有WINDOWS光盘(程序),还得有光驱(编程器),才能把
系统文件安装到硬盘上。目的就是把编译好的程序,烧录到芯片中去,通过
AT89C51的规格书(也就是白皮书)可以知道,决定它工作状态的是是31脚,
给他施加VPP电压,也叫编程电压。它就进入烧录状态(就好比电脑设置光驱
启动一样)。
电脑做系统,需要计算机开机运行;单片机也是,要往他里面写程序,起
码也得让它先工作,于是我们参考51规格书,在它18,19脚接一个晶体震荡
器,加两个小电容,一个单片机系统就搭建好了,这个时候通电它就开始工作
了~和一台没有装操作系统的计算机一样~呵呵。它工作了以后,只要我们再把
它的31脚加上VPP电压,它就进入编程状态,就可以往他里面写程序了。但
是VPP取多少,怎么往里面写呢?得有个通讯的路啊,电脑做系统我们知道数
据从光驱出来通过数据线进硬盘了,89C51肯定也得有吧?对的,呵呵,我们
通过再查89C51的规格书就能发现,VPP根据厂家和产品型号情况,一般是
取+5V,+12V,比如我们用的89C51,89C2051就是12V,89CS51就是5V~
VPP知道了,继续看规格书,就能发现10RXD;11TXD两个引脚,说
到这里,有不少朋友应该知道了,呵呵,在有些交换机,串口通讯,猫,光收发
器等设备常见到,就是数据收发引脚~呵呵,我们的数据写入和读出,也就是用
这两个引脚。
好了,让我们来总结一下:想让51运行,就需要搭建个基本系统,在
18,19脚接个晶体震荡电路,给单片机提供一个工作的频率,通上电,就可以
了;如果要给它编程,就在31脚加个VPP电压,那么就可以直接通过10,11
脚进行数据的读写了。
参考一下上面的电路,相关的部分,能理解吧?我们继续再仔细看
89C51规格书介绍,我们还能获取一个信息:89C51可以外接晶体震荡器来工
作,但是也可以直接从外部引入一个震荡信号来工作,这样如果89C51的工作
环境附近有稳定的震荡信号,就可以直接引过来接到19脚,18脚空着即可。从
而省掉晶体震荡器。我们上图右边那个IC座19脚正是用这一点,接到了左边
的晶振上看一下,这个应该也好理解吧?(这个地方注意,引入信号时,19,
18脚别混了……)只要IC座上插上单片机,单片机就可以工作了,而不用再多
接晶体震荡器。
另外,因为51单片机P1-P3输出内部都有上拉电阻,以提高输出电平,但
是P0没有所以我们需要把P0的8个输出接上8个10K上拉电阻和电源相连,
直接用一个10K排阻最好`呵呵。至于为什么这样,我们日后深入了再讨论
继续,我们刚才说过,电路接好了后,除了电源外;还要VPP,有的需
要12V,有的5V就可以了,怎么办呢?我们可以用跳线解决,不同的芯片跳不
同电压,以前老编程器不少是这种方案,但是我们这里的改进的图就用了3个三
极管解决了这个问题,3个三极管组成开关电路,在编程时,用软件选择芯片型
号,89S51的监控芯片识别芯片后,控制开关状态,以输出12/5/0VVPP电压,
呵呵。看上图,是不是也可以理解了?
再往后,我们这个编程器工作电压是5V,VPP电压高的有12V,这就要
求我们要提供2种电压,直接用2个变压器增加投资,双输出电源有不太好找,
另就是VPP电压虽然高,但是电流不大,一般1-3mA左右。这时候就到了
MAX232芯片出马了,它是TTL/CMOS和RS232通讯转换专用IC,同时还带
有个电荷泵,能产生±10V的电压,也就是电压差能达到20V!哈哈~12V不就
有了么?用个12V的稳压管,加个电解电容整下波形,12V电源不就出来了
呵呵。正好,MSX232的TTL输入输出接到51监控的通讯脚TXD,RXD上。
另一端接计算机的COM口就好了
最后数据从监控芯片的读写信号脚出来进入目标芯片的输入脚RXD,
完成写芯片过程,呵呵
至于电源,用变压器,用USB,还是用开关电源这个我认为就是凭个人的爱好,
只要你的电源电压稳定方便就行,至于具体用什么样子,我就不多说了,呵呵
说难听点,用4节干电池加个5V稳压管都行!!!唯一需要说明的是,以
前流传的用变压器供电时稳压管用7805或者78M05,这个又浪费了其实用个
78L05就可以,