版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
手柄為:下位機(jī)AVRSPI串行總線。這可以很方便地使用單片機(jī)的關(guān)鍵字:PSXPS2SPIAVRDAT-P00CMD-P01MVCC-PPGND-PP3v3-PPATT-P02CLK-P03none-PP對(duì)于手動(dòng)機(jī)器人首選的人機(jī)界面之一就是數(shù)字搖桿手柄,作為游戲的闡述數(shù)字搖桿手柄所采用的通訊協(xié)議、SPI串行接口,并實(shí)現(xiàn)單片機(jī)與數(shù)字搖桿第一部分 通訊協(xié)①PS手柄針腳輸出(面對(duì)插頭PIN1- | o| o| o
8bit的串行數(shù)據(jù),同步傳送于時(shí)鐘下降沿(輸入輸出信
主機(jī)主板上裝有表面安裝的750mA絲,用于防止外設(shè)過(guò)(750mA是包括左右手柄和卡)ATT信號(hào)在通信期間處于低電平。又有人將此針腳叫做Select,DTR此信號(hào)在每個(gè)8bits數(shù)據(jù)發(fā)送之后的最后一個(gè)時(shí)鐘周期變低,并且8bitPS手柄總線的所有時(shí)碼|BIT0|BIT1|BIT2|BIT3|BIT4|BIT5|BIT6|BIT7|CLOCK----- DATA----- 鐘的前沿(在記號(hào)*處)到電平變化之前完成。在被選手柄接收每個(gè)COMMANDACK電平在最后一個(gè)時(shí)鐘。如果ACKPS主機(jī)想讀一個(gè)手ATT(0x01)。手柄將會(huì)回復(fù)它的ID(0x41=數(shù)字,0x23=NegCon,0x73=模擬紅燈,0x53=模擬綠燈).ID0x42請(qǐng)求數(shù)據(jù)。隨后命0x5A意思說(shuō):“數(shù)據(jù)來(lái)了”。- Byte1 Byte2 Byte3 節(jié)。在最后字節(jié)發(fā)送之后使ATT高電平,手柄無(wú)需ACK應(yīng)答。數(shù)字手柄的數(shù)據(jù)傳送如下所示(A0,A1,A2...B6,B7是兩個(gè)字節(jié)的數(shù)據(jù)比特) Byte4 Byte5 ---D0D1D2D3D4D5D6D7----E0E1E2E3E4E5E6E7------
注意:當(dāng)主機(jī)想手柄的數(shù)據(jù)時(shí),將會(huì)拉低ATT電平,并發(fā)出一個(gè)開(kāi)始命令送“準(zhǔn)備好了”0x5A令。以上是主機(jī)手柄鍵碼數(shù)據(jù)的初始化階段,接后將ATT電平拉高,手柄無(wú)須ACK應(yīng)答。PSX手柄數(shù)據(jù)(下面顯示手柄的實(shí)際發(fā)送字節(jié)④模擬手柄紅燈模式(此為本文所使用模式ATT與手柄進(jìn)行通信,我們只先將ATT電平拉低,然后將要發(fā)送令低位在#includeunsignedcharucDat[9]; #defineSTART_CMD #define //遙桿IO口初始化程序PSXControlInit(void){DDRC.1=1; PORTC.1=1;DDRC.0=1; PORTC.0=1;DDRD.7=1; PORTD.7=1; =0; PORTD.6=1;}//*ucCMD:unsignedcharReadWriteControlByte(unsignedchar{unsignedcharucReDat=0,ucTmp,i;ucTmp=ucCMD;for(i=0;i8;i++){ucReDat>>=1;PORTD.7=PORTD.7=if(ucTmp0x01){=PORTC.0=}PORTD.7=ucReDat|=} >>=}return}ReadWriteControl(void){unsignedcharucCount=0;PORTC.1=0;ucDat[ucCount++]=ReadWriteControlByte(START_CMD);ucDat[ucCount++]=ReadWriteControlByte(0);ucDat[ucCount++]=ReadWriteControlByte(0);ucDat[ucCount++]=ReadWriteControlByte(0);ucDat[ucCount++]=ReadWriteControlByte(0);ucDat[ucCount++]=ReadWriteControlByte(0);ucDat[ucCount++]=ReadWriteControlByte(0);ucDat[ucCount++]=ReadWriteControlByte(0);PORTC.1=}void{while(1){}第二部分:串SPI串行外設(shè)接口SPI是由scale公司一種采用串行同步方式的3線SPI4(MOSI(MISO(SCLK給從機(jī)。主機(jī)與從機(jī)之間的數(shù)據(jù)接收和發(fā)送都以該同步時(shí)鐘信號(hào)為基準(zhǔn)進(jìn)行SPI通信過(guò)程是一個(gè)串行移位的過(guò)程。當(dāng)主機(jī)需要發(fā)起一次傳輸時(shí),它首可以得出SPI通信的特點(diǎn)如下:二、AVR的SPI接口原理★從閑置模式下被喚醒(從機(jī)模式下SPI主機(jī)時(shí),時(shí)鐘信號(hào)由內(nèi)部分頻器對(duì)系統(tǒng)時(shí)鐘分頻產(chǎn)生。這個(gè)時(shí)鐘信★當(dāng)配備為SPI從機(jī)時(shí),時(shí)鐘信號(hào)由SCK引腳引入到移位寄存器,與內(nèi)部時(shí)鐘無(wú)關(guān),此時(shí)SPI時(shí)鐘配置位無(wú)效。 ★SPI狀態(tài)標(biāo)志,包括中斷標(biāo)志(SPIF)的設(shè)置、寫(xiě)標(biāo)志(WCOL)的置位②SS引腳的處SPI總線上存在多主機(jī)情況下產(chǎn)生的,處理總線競(jìng)爭(zhēng)不理過(guò)程。為了防止總線,本機(jī)的SPI接口將自動(dòng)產(chǎn)生以下操作:★清SPCR寄存MSTR(主機(jī)選擇位,將自己設(shè)置為從機(jī)。MOSISPISPIClockRate:115.200kHz(FoscSPIDataOrder:LSB#include<spi.h>#define #define #defineASK_DAT_CMD unsignedcharucDat[9];charspi_transfer(volatilechar{SPDR=whileSPSR&1 //等待return}void{PORTB.4=ucDat[0]=spi_transfer(START_CMD); ucDat[1]=spi_transfer(ASK_DAT_CMD); ucDat[2] //準(zhǔn)備完成標(biāo)ucDat[3] ucDat[4]=spi_transfer(0); ucDat[5]=spi_transfer(0); ucDat[6]=ucDat[7]=spi_transfer(0); ucDat[8]=spi_transfer(0);PORTB.4=}void{unsignedchartemp;DDRB.4=1; PORTB.4=1;DDRB.5=1; PORTB.5=1;DDRB.7=1; PORTB.7=1; =0; PORTB.6=1;temp=SPSR;temp=}void{while{}
設(shè)置不同,也能夠?qū)崿F(xiàn)單片機(jī)對(duì)手柄數(shù)據(jù)的,但影響數(shù)據(jù)的正確率。經(jīng)115KHz左右時(shí)手柄數(shù)據(jù)是最穩(wěn)定。過(guò)高和過(guò)低都980xFFID號(hào),0x41為數(shù)字模式,0x73為模擬紅燈模式;第三幀為手柄準(zhǔn)備完畢信號(hào),始0x5A;第四幀、第五幀為數(shù)字模式(按鍵)及模擬紅燈模式下(按鍵及搖桿)的數(shù)據(jù),無(wú)按鍵
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年家具制造與供應(yīng)協(xié)議
- 企業(yè)課件教學(xué)
- 2024奶牛養(yǎng)殖企業(yè)環(huán)保責(zé)任合同
- 2024年建筑工程裝飾分包合同文本
- 2024年工程建設(shè)項(xiàng)目中介服務(wù)簡(jiǎn)約合同
- 2024蘇州汽車質(zhì)押借款合同范本
- 公司行政部門(mén)經(jīng)理工作總結(jié)
- 企業(yè)迎新晚會(huì)主持詞(6篇)
- 現(xiàn)代商務(wù)課件教學(xué)課件
- 英語(yǔ)課件簡(jiǎn)約教學(xué)課件
- 手術(shù)室銳器刺傷
- 中國(guó)食物成分表2018年(標(biāo)準(zhǔn)版)第6版
- 科普類公園設(shè)計(jì)方案
- 小學(xué)英語(yǔ)就業(yè)能力展示
- 心肌病和心肌炎課件
- 《艾滋病毒》課件
- 平陽(yáng)港區(qū)西灣作業(yè)區(qū)防浪導(dǎo)流堤工程海域使用論證報(bào)告書(shū)
- 管道保溫計(jì)算公式
- 錄音行業(yè)的就業(yè)生涯發(fā)展報(bào)告
- 生化報(bào)告解讀
- 胃癌科普講座課件
評(píng)論
0/150
提交評(píng)論