我是硬件新手比較外行,大家見笑。請大家救急…… 項目要求用實驗箱提供的8088CPU并口發(fā)送數(shù)據(jù),通過設(shè)計的模塊由USB接口輸出,只要能寫入U盤中可以看到就行。 我用CH375手冊一中推薦的并口連接方式做了板,數(shù)據(jù)線接了8088的數(shù)據(jù)總線,CS連接到了實驗箱上的CS0上,A0接到了地址總線低位第三位DA2。 一、是否可以通過片選信號將A0置為高從而通過數(shù)據(jù)總線發(fā)送命令給CH375芯片呢?例如實驗箱的CS0片選范圍是04A0H-04AFH,是否末位0-F對應(yīng)地址線呢?也就是說由于我的A0接到了地址線的DA2,我可不可以往地址04A4H輸入數(shù)據(jù)來實現(xiàn)對CH375的控制呢? 二、如果匯編語言編程,例如我想初始化已經(jīng)連接好的U盤,而固件的命令代碼是51H,這樣的程序段: MOV DX,04A4H MOV AX,51H OUT DX,AX 是否正確? 問題長而且不專業(yè)……萬分感謝解答 [Emot]1[/Emot]
你上面的理解完全正確的,至于你的匯編代碼你計算DX的地址的時候,命令的時候為A0=1,數(shù)據(jù)的時候A0=0。然后把你要發(fā)送的數(shù)據(jù)送到AX里面在送出去就應(yīng)該可以了,但是不能出現(xiàn)地址沖突,否則會出問題
感謝回答。 可是我用以上思路編程遇到了很大麻煩,好像數(shù)據(jù)完全發(fā)送不到CH375中,命令都不能夠執(zhí)行。我設(shè)置了一個死循環(huán)發(fā)送數(shù)據(jù),可是萬用表根本測不出數(shù)據(jù)總線上面的電壓變化,而且應(yīng)該產(chǎn)生中斷的命令執(zhí)行完畢INT#也測不出低電平,初始化連接之后ACT#也不輸出低電平,好像片選根本沒有選中。但是我確信片選地址范圍正確,實驗箱能夠完成其他實驗,CPU應(yīng)該沒有問題,而且實驗箱上只接了一塊板子不會有地址沖突,請問這個狀態(tài)可能是什么原因呢?困惑了好久了……
對了,從CH375的命令口讀取出來的數(shù)據(jù)始終是00H……改變USB MODE無效
剛才看了些帖子又測了一下我的芯片復(fù)位狀態(tài),2腳低,25腳低,26腳高,應(yīng)該是正常復(fù)位完成狀態(tài)吧?
你好! 我遇到的問題和你遇到的問題一樣,能不能和你探討一下?。縌Q:313063952 謝謝!
按照你說的,芯片是工作正常的,你可以先做下測試命令: MOV DX,04A4H MOV AX,06H OUT DX,AX MOV DX,04A0H;數(shù)據(jù)口 MOV AX,55H OUT DX,AX IN AX,DX 按照這樣做的話,AX里面的數(shù)據(jù)應(yīng)該為AAH,如果不是的話,那就說明你的單片機和375硬件連線有問題。
多謝hcn指點,現(xiàn)在的問題是確實數(shù)據(jù)和命令都沒有發(fā)送到CH375芯片中,而我查了連接線都沒有問題,請問憑02、25、26三個引腳可以真正判斷芯片是否復(fù)位了么?我看了一下描述沒有看太懂,感覺好像如果芯片根本就沒有進行復(fù)位好像這三個引腳的狀態(tài)似乎和正常復(fù)位狀態(tài)一樣啊? 五樓的朋友你好,我現(xiàn)在這里上不了qq,明天加你好么?不知道你現(xiàn)在進展如何了,愁啊~呵呵
通過判斷25腳和26腳的電壓是可以判斷出我們的芯片是否正常工作的,你可以通過示波器看下按照上面的程序跑下看你的數(shù)據(jù)到底有沒有把數(shù)據(jù)發(fā)送出來。
哦,不是復(fù)位問題就好,昨天測了一下數(shù)據(jù)線發(fā)送的波形好像不太對,在板子插在實驗儀上之后我發(fā)送0ffh和00h的波形是一樣的。等下我拔下來板子再測測數(shù)據(jù)線吧。
問題已經(jīng)解決,原因居然是實驗箱的地址線對應(yīng)不正確……實驗箱的DA0地址線對應(yīng)的其實是數(shù)據(jù)總線的低第二位,而第一位不可以訪問……地址線這么大變動居然不寫太不厚道了……再次感謝hcn的解答~