快捷搜索:

RTL8139如何改制AT89C51编程器

想玩89C51,但没有编程器,于是便想克己编程器,找了很多克己的资料,大年夜多都是应用89C51做节制逻辑,必要有编程器才能制作,电路一样平常也对照繁杂(最ez的也要30个元件),再看看不必要编程器的,一看我就放弃,太繁杂了,我手头以致连一块74LS373那样的存器都没有一块,可用到的元件又没若干。

天无绝人之路,充分使用谋略机硬件软件,作出了这款编程器,所有的数据地址和节制旌旗灯号线都必要由谋略机供给,我借来一块rtl8139网卡(非经常见的PCI百兆网卡,一块新的rtl8139C才40元,假如有,更是这样省了不少米)引用它的EEPROM的地址线和数据线,由于rtl8139的EEPROM地址线和数据线是由一个32位寄存器供给,一次操作必须锁存所有的地址线数据线和节制线,是以不得当于供给89C51烧写所需的编程旌旗灯号线,只用它来锁存地址和数据线,编程必要的节制线由EPP(SPP)并口供给,下面是电路道理图。

rtl8139的EEPROM插座一样平常分两种,28针和32针的,28针的针脚定义与27C512相同,32针的与29C010相同,你必要引出它的地址线和数据线A0~A7接P1.0~P1.7,A8~A11接P2.0~P2.3,Q0~Q7接P0.0~P0.7,(我是用硬盘排线和28针集成块插座制作的插座做成连接器将其连出)EPP并口D0供给读写旌旗灯号,D1供给编程脉冲,D2节制变成电压,Q1,Q2,R1,R2,R3为编程电压电路,12V电源用PC机内部电源供给(测一下最好能在12.5V~13V)ACK(并口pin10)接P3.4,反应烧写状态,为了防止误操作,S1为H时为擦除芯片和加密,L时为读写,电路简单,信托很轻易看懂,印刷电路板的土我就不给出,我应用的是实验板做成的,样子异常丑。

然后是对EPP并口和rtl8139的编程。LPT1EPP并口的数据口地之一样平常为0x378,节制rtl8139的EEPROM的寄存器地址为卡的I/O基地址+0xD4,下表为该寄存器的定义

假如不想自己写软件,也可以用我编写的软件,软件还不完善,不支持加密,不支持分段模式的HEX文件烧写(对付89c51的4KROM来说用不着),由于所有的编程旌旗灯号都由软件供给,是以为了包管旌旗灯号时序的精确,低落了烧写速率,建议在Windows2000下应用(98理论上可以,但尚未测试),软件界面如下:

软件先容:

1.在谋略机打开后接好制作好的编程器,留意在谋略机启动历程中最好关闭编程器上的12V电源,以防止误编程,打开软件,选择读特性字,假如呈现30H=1E,31H=51,32=FF阐明编程器连接成功,假如纰谬,关闭打开S2,或者热拔插ROM连接器(不会毁坏硬件的),多试几回,假如还不成功,反省你编程器上的地址数据线是否有连接差错。

2.假如要烧写89c51,先将编程卡12V电源打开,S1置为L,然后选择读bin文件烧写89C51或者读HEX文件烧写89C51,烧写完会在履行目录下天生“烧写结果信息.txt”,经由过程此文件,你可以判断89C51的坏块,改动你的法度榜样代码使呈现坏块的89C51有继承应用的可能,或者反省编程器的差错,比如“写地址0x0掉败,写数据0x2,效验数据42”,则很有可能阐明是编程器的数据线7出了问题。

3.要读取89c51,S1置为L,关闭12V电源,选择读89c51并保存。

4.要擦除89c51,S1置为H,打开12V电源,选择擦除89c51

5.此软件完全免费开放原代码,假如想自己做软件,可做为参考,或者篡改硬件必要改动软件,也可随意改动软件,无版权限定。(由于此代码造成的谋略机爆炸,不要找我补偿医药费!

此编程器由于线路简单,不需别的的编程器和MCU支持,而且预留的节制线还有很多,是以有很大年夜的功能扩展空间,只要简单篡改几条节制线,再在软件上稍加改动,就可以支持其余芯片。因为篇幅问题,无法为大年夜家具体先容该编程器的硬件和软件编程方面的道理,假如你想经由过程本文中的技巧完全自立的制作自己的编程器或者想让本文中先容的编程器烧写更多种类的芯片并能够应用其他网卡,你可以去看本文附带的软件包中供给具体的资料,包括RTL8139datasheet89C51烧录的资料,与本编程器相关的PCI.和并口的硬件软件开拓的资料,还有HEX文件款式。

您可能还会对下面的文章感兴趣: