推荐文档列表

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

时间:2021-09-30 19:44:09 电子通信论文 我要投稿

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

有不少电子爱好者都读过这样一篇文章:《一款实用的串行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;

在begin与end中间输入以下代码:

asm  mov  dx , $378

in  al , dx

mov  t , al

[1] [2] [3]