線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3001
推到 Plurk!
推到 Facebook!

【問題】 關於X86組合語言 的LPT控制問題

缺席
powerwave
一般會員


發表:3
回覆:3
積分:1
註冊:2005-01-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-26 11:43:05 IP:211.74.xxx.xxx 未訂閱
我想請問各位先輩.. 要如何做LPT的信號擷取和偵測呢? 據我所知.. LPT的基本位址好像在0378.. 所以我用DEBUG去做偵測.. 發現以下的結果 ================== - -i 378 AA -o 378 ff -i 378 FF -o 378 88 -i 378 FF - ================== 為什麼我只能輸出一次呢? 也沒有辦法更改.... 重點是.. 我在LPT的那8個DATA 腳上都放了LDE去做測試... 結果沒有ㄧ個亮 =..= 不知道是哪個地方做錯了... 因為目前是想要經由簡單的測試方式來試試看是否能由LPT的8個DATA腳位拿到信號 (0/1的數位訊號) 而目的其實只有偵測LPT的資料腳位的變化罷了.. 但是我連測試都測不出來 T_T 因為這邊沒有C/ASM 版 所以只好PO在組合語言相關的版上了.. 希望有人能夠替我解答... 謝謝

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-26 11:59:47 IP:211.22.xxx.xxx 未訂閱
你的系統應該不是98吧? 98以上的系統,LPT埠多了很多限制喔.ECP.....等等的 要玩LPT port 98是最方便的唷. ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
powerwave
一般會員


發表:3
回覆:3
積分:1
註冊:2005-01-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-26 12:27:27 IP:211.74.xxx.xxx 未訂閱
哪可以請問一下我該如何做才可以簡單的從LPT的資料腳讀取信號呢? 用以上DEBUG 做的方式對嗎? 98以上的作業系統對於LPT的限制會影響到我嗎? 不好意思.. 還煩請解答呢.. ^^"

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-28 22:20:17 IP:59.113.xxx.xxx 未訂閱
引言: 哪可以請問一下我該如何做才可以簡單的從LPT的資料腳讀取信號呢? 用以上DEBUG 做的方式對嗎? 98以上的作業系統對於LPT的限制會影響到我嗎? 不好意思.. 還煩請解答呢.. ^^"
松崗有本書 :平行連接埠程式設計 知行文化有本書 :Visual Basic與電腦I/O控制實務 都有詳細介紹,參考看看吧. ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
ATEIN
高階會員


發表:105
回覆:320
積分:125
註冊:2002-07-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-17 14:52:40 IP:203.204.xxx.xxx 未訂閱
我想您的LED電路在並列埠中,一是:未放大 二是:未接地。 若放大請以這個方法來做: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=23508 (參考這裡說明) 若要測試是否成功驅動電路,請以三用電表來測即可 其為DC。 *5V左右 若還不能我再寫一個程式給您去RUN 。 DHM
------
ATEIN
powerwave
一般會員


發表:3
回覆:3
積分:1
註冊:2005-01-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-26 17:07:17 IP:59.104.xxx.xxx 未訂閱
謝謝樓上給的意見^^ 不過我的LED都有接地.. 而且還加上了電晶體放大耶... 所以應該沒有這些問題. 過了一個年. 這麼晚回應真是抱歉. 我會試試您提供的方法的 松崗:平行連接埠程式設計 <---這本書好像不多地方在賣. 這附近書局沒看到 會再去找看看的    感謝以上先輩的意見 我會試試看的! 
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-27 12:12:53 IP:140.124.xxx.xxx 未訂閱
若你是NT, 2000, XP這些作業系統的話.. 你無法單純使用Debug來測試... 原因是因為..這些作業系統會對底層的I/O..Memory..等等.. 做保護..若你想動到它..有三種方式... 1. 呼叫 Windows API..用createfile, write, read等函式..來存取I/O... 2. 自己寫Driver..再寫一個AP..透過自己的Driver去控制I/O.. 3. 用別人寫好的元件...    請參考..    http://www.lvr.com/parport.htm ---> 一堆參考資料 http://www.internals.com/ ----> WinIO (很好的函式庫) http://delphi.ktop.com.tw/topic.php?TOPIC_ID=51652 --> 簡單的元件 若你的作業系統..不是上面幾種..而是..95.98.Me... 那麼..你就可以利用Debug來直接控制並列埠... 至於你的LED為什麼不會亮... 有幾個可能原因... 1. 你的作業系統無法利用Debug直接控制IO... 2. 你的LED壞了..方向用反了... 3. 若上述均不成立... ==> 請檢查... 你的LED是不是接在並列埠的..資料腳位(Pin 2- Pin 9, 共8隻腳).. 和.........................接地腳位(Pin 18 - Pin 25, 共8隻腳).. (請注意..公.母的腳位定義不一樣...剛好相反).. 此外...並列埠的驅動能力可以直接推動LED..不用接任何東西... 請安心插上去就是了..^^ 4. 若再不成功... 那...死了..就是你的並列埠壞了..換台電腦試試吧...^^ 希望對你有幫助... =========== 有興趣,就能進步 ===========
powerwave
一般會員


發表:3
回覆:3
積分:1
註冊:2005-01-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-22 09:17:01 IP:59.104.xxx.xxx 未訂閱
各位前輩好~ ^^" 現在經測試已經可以成功的輸出訊號到LPT的地方 不過在" I 378 " 這個部分還是無法抓到任何訊號 測試環境是 WIN98.... 目前只是要單純的測試是否合乎簡單的標準.. 就是由DEBUG 簡單的抓起訊號. 這樣才能夠交由高階語言來傳輸... 所以可否請先輩們再提共方法呢? 感激...
系統時間:2024-11-21 23:17:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!