您当前的位置:五五电子网电子知识电子制作编程器-仿真RTL8139改制AT89C51编程器 正文
RTL8139改制AT89C51编程器

RTL8139改制AT89C51编程器

点击数:7386 次   录入时间:03-04 12:01:58   整理:http://www.55dianzi.com   编程器-仿真

      想玩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的编程。LPT1 EPP并口的数据口地之一般为0x378,控制rtl8139的EEPROM的寄存器地址为卡的I/O基地址+0xD4,下表为该寄存器的定义

Flash Memory Read/Write Register

(Offset 00D4h-00D7h, R/W)

/

定义

描述

31-24

R/W

D7-D0

反映数据线状态,当外部高阻时为输出,否则为输入

23-21

-

-

保留

20

W(只写)

CS

设置CS线

19

W

OE

设置OE线

18

W

WR

设置WR线

17

W

SWRWEn

准许软件访问flash memory:

0: 不准许通过软件访问flash memory

1: 准许通过软件访问flash memory并且在通过软件访问flash memory期间不准许访问EEPROM(我也不太懂什么意思,不过似乎没什么用,下面是原文)

Enable SOFtware aCCess to flash memory:

0: DISAble read/write access to flash memory via software.

1: Enable read/write access to flash memory via software and disable the EEPROM access during flash memory access via software.

16-0

W

A16-A0

设置地址线




本文关键字:暂无联系方式编程器-仿真电子制作 - 编程器-仿真