小弟想用375和51來(lái)做USB游戲手柄和單片機(jī)通信的電路,用于捕獲手柄的每一個(gè)按鍵輸入,最后轉(zhuǎn)換成TTL的電平輸出.我的做法是按照PDF上面介紹的USB信號(hào)經(jīng)375轉(zhuǎn)換為232串行信號(hào),再與單片機(jī)進(jìn)行串行通信,但電路做出來(lái)以后一點(diǎn)反映都沒(méi)有,用軟件看單片機(jī)的SBUF,按鍵輸入后一點(diǎn)變化都沒(méi)有,是不是我一開(kāi)始的這種思路就不對(duì),還是375沒(méi)有用好...望各路大俠指點(diǎn)迷津...小弟感激不盡!!!
實(shí)際在通過(guò)串口通信的時(shí)候,需要單片機(jī)通過(guò)串口往375里面寫(xiě)相應(yīng)的命令和數(shù)據(jù)之后才可以和游戲手柄進(jìn)行數(shù)據(jù)通信,否則是沒(méi)有任何變化的
請(qǐng)問(wèn)hcn兄,是不是在編寫(xiě)單片機(jī)程序時(shí),只要鏈入375相應(yīng)的庫(kù)文件就行了??
所謂的庫(kù)是在操作U盤(pán)的時(shí)候我們提供單片機(jī)端的庫(kù)或者以內(nèi)置固件模式和計(jì)算機(jī)通信的時(shí)候用到了庫(kù)之外,其他的都不需要用到庫(kù),你操作鼠標(biāo)或者鍵盤(pán)的話,直接用我們提供的例子程序就可以了
哦.....那我試試...感謝啦!!!
小弟用375+51來(lái)捕獲USB手柄按鍵輸入,硬件如圖,用仿真器調(diào)試,所以單片機(jī)沒(méi)晶振,沒(méi)復(fù)位電路,請(qǐng)問(wèn)線路有問(wèn)題嗎?我用375的CHECK_EXIST指令來(lái)測(cè)試375,但返回值不對(duì).請(qǐng)問(wèn)各位老師,是我的硬件問(wèn)題還是程序問(wèn)題呢??程序如下:
;INT1 P3.3--- INT ;P3.7---RD ;P3.6---WR ;P1.3---A0 ;D0-D7---P0-P7 CH375_A0 BIT p1.3 CH375_INT BIT P3.3 CH375_WR BIT P3.6 CH375_RD BIT P3.7
RESET_ALL EQU 05H GET_STATUS EQU 22H RD_USB_DATA EQU 28H WR_USB_DATA7 EQU 2BH UNLOCK_USB EQU 23H SET_USB_MODE EQU 15H CHECK_EXIST EQU 06H ORG 0000H LJMP MAIN ORG 0013H LJMP CH375_INTER MAIN:
ACALL CH375_WR_CODE MOV P0,#RESET_ALL ACALL CH375_WR_CODE MOV P0,#CHECK_EXIST ACALL CH375_WR_DATA MOV P0,#57H ACALL CH375_RD_DATA MOV P0,#0FFH NOP MOV A,P0
CH375_WR_CODE: CLR CH375_WR SETB CH375_RD SETB CH375_A0 RET CH375_WR_DATA: CLR CH375_WR SETB CH375_RD CLR CH375_A0 RET CH375_RD_DATA: SETB CH375_WR CLR CH375_RD CLR CH375_A0 RET CH375_INTER: NOP RETI END
你的片選直接接地的話,這樣在你操作其他外圍器件的時(shí)候可能出問(wèn)題的,建議你用一個(gè)單片機(jī)的引腳來(lái)控制,還有就是你首先去測(cè)下25和26引腳的電壓是多少,正常情況下25引腳為低,26引腳電壓為高,如果其中一個(gè)不正確,那就是375的芯片復(fù)位不好或者晶振沒(méi)起振