对利用打印口读写存储器24cxx的质疑

发布者:心想的45号最新更新时间:2012-06-06 来源: 21ic 关键字:打印口  读写存储器  378H端口 手机看文章 扫描二维码
随时随地手机看文章
不少电子爱好者都读过这样一篇文章:《一款实用的串行E2PROM读写软件——24C××》,有部分烧友也亲自动手制作了该电路。该软件可以利用计算机的打印口上的输出端口378H端口和379H的输入端口,对存储器24cxx进行读写。378H端口是输出端口,对应计算机打印口的2脚到9脚。经我试用,效果相当不错。但有一次我在对计算机打印口做了几个小试验后,我不禁惊出一身冷汗!现写出来与大写一起来探讨:

    试验一:观察开机过程中,计算机打印口的电平变化

    具体做法:利用下述电路,接在计算机打印口上,观察各个发光二极管的亮灭变化情况。

     

    观察结果:在机器自检阶段,接在打印口上的输出端口378H的8个发光二极管闪个不停;在windows98启动过程中,这几个发光二极管也要闪几下。发光二极管在闪动时是有的亮有的灭,肉眼无法分辨其规律。Windows98启动完成后,各台机器的发光二极管亮灭情况也不同。

    观察结论:机器硬件不同,操作系统不同,打印口上378H端口的各输出线的电平高低无规律。

 

试验二:编写打印口读数据程序

具体做法:利用windows98下的程序设计软件Delphi,编写一段代码来读取打印口上的数据:启动好Delphi后,在设计窗体中放一个按钮button1,双击该按钮,切换到代码窗口,可以看到Delphi已为我们做好了框架:

procedure Tform1.Button1Click(Sender: Tobject);

begin

end;

我们在begin前一行加入变量声明:var t:byte;

beginend中间输入以下代码:

asm  mov  dx , $378

in  al , dx

mov  t , al

end;

form1.Button1.Caption:=inttostr(t);

运行程序后,我们可以随时读取打印口上的378H端口的数据。[page]

观察结果:以其中一次为例,按下button1按钮后,按钮上显示的数字即为从端口读得的数据,我们读得为108,利用windows自带的“计算器”程序,把这个十进制数字转换成二进制数字,为“01101100”;同时观察得接在打印口上的各发光二极管的亮灭情况是:“灭灭亮亮灭亮亮灭”。

观察结论:这一次打印口上的2~9脚的电平高低情况是:“低低高高低高高低”。

 

试验三:测试打印口输入输出电流能力。

具体做法:把指针式万用表拨至25毫安档,黑表笔接打印口的某个低电平端,红表笔瞬间接触某个高电平端。

观察结果:如果高低电平端直接相连,其电流肯定大于10毫安。

 

现在我们回过来再看看在网上广泛流传的这款用打印口读写存储器的电路:

该电路中可能为了给IC提供足够的电流,把打印口的4567脚并接在一起。

   

 

潜在的危险:假如在打印口读写软件未启动时甚至计算机机电源未开时,该电路就已经连到了计算机的打印口上,那么开机后必然会有一段时间打印口上的4567各引脚的电平有的为高有的为低。高电平端竭力输出电流,低电平竭力吸收电流,鬼知道打印口什么时候就要报销!不过,如果打印口读写软件已启动,我测得打印口上45674个引脚均为高电平。

我做试验的环境是:

明致M748MR主板,赛扬400CPU

Windows 98 SE

Delphi用的是5.06.07.0三个版本,编写上述程序时均成功。

    我暗自庆幸没有用新买的计算机作试验,也庆幸我的老主板没有报销。打印口的额定输入和输出电流到底可以达到多少?到底用上述电路会不会损坏计算机的打印口呢?希望高手们再作指点!

    在很久很久以前的计算机主板上,打印口的378H端口用的是74LS374一类的IC,这种IC的筋骨还比较硬朗,即使坏了,更换一块就是了。可是现在的主板上好象找不到这种IC了,要是哪天打印口报销的话,麻烦就大了。如果烧友们还在使用上述电路的话,我建议在计算机打印口上4567各脚各接一个二极管,二极管的负极引线端均接在24cxxVcc电源端,这样可以彻底防止电流倒灌!

关键字:打印口  读写存储器  378H端口 引用地址:对利用打印口读写存储器24cxx的质疑

上一篇:基于McBSP的高速串行数据采集系统设计
下一篇:多路读写的SDRAM接口设计

推荐阅读最新更新时间:2024-03-16 13:01

STM32单片机学习(13) I2C读写AT24Cxx存储器实验
本程序主要利用I2C串行总线,实现AT24Cxx系列EEPROM存储器(此处是AT24C02)的读写,将数据写入,再读出发送至串口 可利用EEPROM存储器数据断电不消失性质存储一些配置数据等。 主程序 /* * * 软件功能: I2C读写AT24Cxx系列EEPROM存储器 * */ #include stm32f10x.h #include stdio.h #include delay.h #include I2C.h #include AT24Cxx.h void RCC_Configuration(void); void GPIO_Configuration(void); void USART1_Config
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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