關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 對(duì)利用打印口讀寫存儲(chǔ)器24cxx的質(zhì)疑

        對(duì)利用打印口讀寫存儲(chǔ)器24cxx的質(zhì)疑

        作者: 時(shí)間:2004-12-07 來源:網(wǎng)絡(luò) 收藏

        作者Email: cscxh@pub.sz.jsinfo.net

        有不少電子愛好者都讀過這樣一篇文章:《一款實(shí)用的串行E2PROM讀寫軟件――24C》,有部分燒友也親自動(dòng)手制作了該電路。該軟件可以利用計(jì)算機(jī)的口上的輸出端口378H端口和379H的輸入端口,對(duì)24進(jìn)行讀寫。378H端口是輸出端口,對(duì)應(yīng)計(jì)算機(jī)口的2腳到9腳。經(jīng)我試用,效果相當(dāng)不錯(cuò)。但有一次我在對(duì)計(jì)算機(jī)口做了幾個(gè)小試驗(yàn)后,我不禁驚出一身冷汗!現(xiàn)寫出來與大寫一起來探討:

        試驗(yàn)一:觀察開機(jī)過程中,計(jì)算機(jī)打印口的電平變化

        具體做法:利用下述電路,接在計(jì)算機(jī)打印口上,觀察各個(gè)發(fā)光二極管的亮滅變化情況。

        觀察結(jié)果:在機(jī)器自檢階段,接在打印口上的輸出端口378H的8個(gè)發(fā)光二極管閃個(gè)不停;在windows98啟動(dòng)過程中,這幾個(gè)發(fā)光二極管也要閃幾下。發(fā)光二極管在閃動(dòng)時(shí)是有的亮有的滅,肉眼無法分辨其規(guī)律。Windows98啟動(dòng)完成后,各臺(tái)機(jī)器的發(fā)光二極管亮滅情況也不同。

        觀察結(jié)論:機(jī)器硬件不同,操作系統(tǒng)不同,打印口上378H端口的各輸出線的電平高低無規(guī)律。

        試驗(yàn)二:編寫打印口讀數(shù)據(jù)程序

        具體做法:利用windows98下的程序設(shè)計(jì)軟件Delphi,編寫一段代碼來讀取打印口上的數(shù)據(jù):?jiǎn)?dòng)好Delphi后,在設(shè)計(jì)窗體中放一個(gè)按鈕button1,雙擊該按鈕,切換到代碼窗口,可以看到Delphi已為我們做好了框架:

        procedure Tform1.Button1Click(Sender: Tobject);

        begin

        end;

        我們?cè)?/SPAN>begin前一行加入變量聲明:var t:byte;

        beginend中間輸入以下代碼:

        asm mov dx , $378

        in al , dx

        mov t , al

        end;

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

        運(yùn)行程序后,我們可以隨時(shí)讀取打印口上的378H端口的數(shù)據(jù)。

        觀察結(jié)果:以其中一次為例,按下button1按鈕后,按鈕上顯示的數(shù)字即為從端口讀得的數(shù)據(jù),我們讀得為108,利用windows自帶的“計(jì)算器”程序,把這個(gè)十進(jìn)制數(shù)字轉(zhuǎn)換成二進(jìn)制數(shù)字,為“01101100”;同時(shí)觀察得接在打印口上的各發(fā)光二極管的亮滅情況是:“滅滅亮亮滅亮亮滅”。

        觀察結(jié)論:這一次打印口上的2~9腳的電平高低情況是:“低低高高低高高低”。

        試驗(yàn)三:測(cè)試打印口輸入輸出電流能力。

        具體做法:把指針式萬用表撥至25毫安檔,黑表筆接打印口的某個(gè)低電平端,紅表筆瞬間接觸某個(gè)高電平端。

        觀察結(jié)果:如果高低電平端直接相連,其電流肯定大于10毫安。

        現(xiàn)在我們回過來再看看在網(wǎng)上廣泛流傳的這款用打印口讀寫的電路:

        該電路中可能為了給IC提供足夠的電流,把打印口的4567腳并接在一起。

        潛在的危險(xiǎn):假如在打印口讀寫軟件未啟動(dòng)時(shí)甚至計(jì)算機(jī)機(jī)電源未開時(shí),該電路就已經(jīng)連到了計(jì)算機(jī)的打印口上,那么開機(jī)后必然會(huì)有一段時(shí)間打印口上的4567各引腳的電平有的為高有的為低。高電平端竭力輸出電流,低電平竭力吸收電流,鬼知道打印口什么時(shí)候就要報(bào)銷!不過,如果打印口讀寫軟件已啟動(dòng),我測(cè)得打印口上45674個(gè)引腳均為高電平。

        我做試驗(yàn)的環(huán)境是:

        明致M748MR主板,賽揚(yáng)400CPU

        Windows 98 SE

        Delphi用的是5.06.07.0三個(gè)版本,編寫上述程序時(shí)均成功。

        我暗自慶幸沒有用新買的計(jì)算機(jī)作試驗(yàn),也慶幸我的老主板沒有報(bào)銷。打印口的額定輸入和輸出電流到底可以達(dá)到多少?到底用上述電路會(huì)不會(huì)損壞計(jì)算機(jī)的打印口呢?希望高手們?cè)僮髦更c(diǎn)!

        在很久很久以前的計(jì)算機(jī)主板上,打印口的378H端口用的是74LS374一類的IC,這種IC的筋骨還比較硬朗,即使壞了,更換一塊就是了。可是現(xiàn)在的主板上好象找不到這種IC了,要是哪天打印口報(bào)銷的話,麻煩就大了。如果燒友們還在使用上述電路的話,我建議在計(jì)算機(jī)打印口上4567各腳各接一個(gè)二極管,二極管的負(fù)極引線端均接在24Vcc電源端,這樣可以徹底防止電流倒灌!



        關(guān)鍵詞: cxx 打印 存儲(chǔ)器

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 长沙市| 连城县| 锦州市| 阿合奇县| 黔东| 嵩明县| 滨海县| 桐梓县| 兴和县| 鄢陵县| 班戈县| 轮台县| 双城市| 乐昌市| 五指山市| 噶尔县| 石屏县| 简阳市| 贺兰县| 玛纳斯县| 通海县| 珠海市| 宝山区| 黄骅市| 三河市| 开江县| 奉化市| 彰化市| 张掖市| 枣庄市| 图木舒克市| 鞍山市| 武宣县| 兴隆县| 大田县| 临夏县| 黄骅市| 凤台县| 衡山县| 星座| 井陉县|