234彩票代理

  • <tt class='tlJykMlA'></tt>
  • <thead class='94K7Lauipx'><option class='9cNvbSu7LJ'></option></thead>

    <em class='jepytdnyfeW3'><b class='oR1Ys12nk'><td class='6rzzLTN'></td></b></em>

  • <dl class='Td0EmkF'><b class='qoWhaibfJ9'></b></dl>

  • <span class='lS1G'></span>

    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的一编程 。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

    设置地址线

           如果不 想自己写软件,也可以用我编写的一软件,软件还不 完善,不 支持加密,不 支持分段模式的一HEX文件烧写(对于89c51的一4K ROM来说用不 着 ),因 为所有的一编程信号都由软件提供,因 此为了保证信号时序的一正确,降低了烧写速度,建议在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支持,而且预留的一控制线还有很多,因 此有很大的一功能扩展空间,只要简单改动几条控制线,再在软件上    稍加修改,就可以支持别的一芯片 。由于篇幅问题,无法为大家详细介绍该编程器的一硬件№和软件编程方面的一原理,如果你想通过本文中的一技术完全自主的一制作自己的一编程器或者想让本文中介绍的一编程器烧写更多种类的一芯片并能够使用其他网卡,你可以去看本文附带的一软件包中提供详细的一资料,包括RTL8139datasheet 89C51烧录的一资料,与本编程器相关的一PCI.№和并口的一硬件软件开发的一资料,还有HEX文件格式,如果还有什么问题或者好的一意见,可以在CSDN(www.csdn.net)论坛VC硬件系统版给我留言(我是版主AthlonxpX86),或者发贴,我的一邮件E-mail: yds_086@163.com

    234彩票代理版权所有:单片机教程网 2007
    Email:erd51@163.com qq:58565254