我想利用ch372來實現(xiàn)單片機(w77e58)與PC通訊,由于某些原因,現(xiàn)在用p0口接372的data口,而用p3中的一些口來接A0,wr等口,但evt中要用到地址來區(qū)分命令口和地址口,但w77e58中地址是p0和p2,搞得我不能用demo中的例程,郁悶啊
這里貼一下我的原理圖 請高手幫忙啊,謝謝啦
我想利用ch372來實現(xiàn)單片機(w77e58)與PC通訊,由于某些原因,現(xiàn)在用p0口接372的data口,而用p3中的一些口來接A0,wr等口,但evt中要用到地址來區(qū)分命令口和地址口,但w77e58中地址是p0和p2,搞得我不能用demo中的例程,郁悶啊
這里貼一下我的原理圖 請高手幫忙啊,謝謝啦
這個和51一樣?。? 看懂51是怎么定義數(shù)據(jù)和命令的就可以了
謝謝小小何,不過還有個請求,能不能幫我看一下下面這段程序 為什么我這樣寫,PC老是不能發(fā)現(xiàn)新硬件 ;測試ch372是否正常工作 mov p3.4,#1h ;A0 to high \ MOV DPTR,#0FFFFH ;是不是可以隨便寫啊 MOV A,#CHECK_EXIST ;CHECK_EXIST MOVX @DPTR,A NOP MOV P3.4,#0H ;A0 to low MOV DPTR,#0FFFFH MOV A,#55H ;輸入一個測試數(shù)據(jù) MOVX @DPTR,A CPL A MOV R7,A MOVX A,@DPTR XRL A,R7 JNZ CH372_INIT_FAIL ;測試不正常則報錯 ;設(shè)置usb工作模式, mov p3.3,#0h ;cs# to low mov p3.6,#0h ;wr# to low mov p3.7,#1h ;rd# to high mov p3.4,#1h ;A0 to high MOV DPTR,#0FFFFH mov A,#SET_USB_MOD ;SET_USB_MOD命令 MOVX @DPTR,A mov p3.4,#0h ;A0 to low mov A,#02h ;設(shè)置Mod:02h MOVX @DPTR,A nop LJMP LOOP
mov p3.4,#1h A0 to high \ MOV DPTR,#0FFFFH ;是不是可以隨便寫啊 MOV A,#CHECK_EXIST CHECK_EXIST mov p3.3,0 ;clrar p3.3 MOVX @DPTR,A NOP ;delay 2us nop nop MOV P3.4,#0H A0 to low MOV A,#55H ;輸入一個測試數(shù)據(jù) MOVX @DPTR,A CPL A MOV R7,A MOVX A,@DPTR XRL A,R7 JNZ CH372_INIT_FAIL ;測試不正常則報錯 ;設(shè)置usb工作模式, mov p3.3,#0h cs# to low mov p3.4,#1h A0 to high MOV DPTR,#0FFFFH mov A,#SET_USB_MOD SET_USB_MOD命令 MOVX @DPTR,A nop nop mov p3.4,#0h A0 to low mov A,#02h 設(shè)置Mod:02h MOVX @DPTR,A nop LJMP LOOP
CH372_INIT_FAIL: ljmp $
loop: mov r7,#0ffh loop_1: movx a,@dptr xrl a,#051h jz loop_ok djnz r7,loop_1 ljmp err_rest
謝謝,我學(xué)習(xí)一下啊
那p0口還需要上拉嗎?
這樣不要