Pic18 Ps2 asm programozása

 

Maszkolás

    nop
    movlw b'11111111' ; kezdő érték adása, most mind 1 legyen (0xFF)
    movwf Seged_1,ACCESS ;
    
;--- Tetszőleges bitek 0-ra állítása, törlése -----------------------------    
    movlw  b'10101010' ; tetszés szerinti bitek 0-ra állítása, törlése
    andwf Seged_1,F,ACCESS ; ahol a W-nek 0-át adtunk, ott törlődik
    
    nop
    
    movlw  b'00000000' ; összes bit 0-ra állítása, törlése
    andwf Seged_1,F,ACCESS ; ahol a W-nek 0-át adtunk, ott törlődik, most mindenütt    
    
    nop     
;--- Tetszőleges bitek 1-re állítása, beírása -----------------------------    
    nop
    
    movlw b'11000110'
    iorwf Seged_1,F,ACCESS ; ahol a W-nek 0-át adtunk, ott törlődik, most mindenütt  
    
    nop
    
    movlw b'11111111'; vagy b'00111001'
    iorwf Seged_1,F,ACCESS ; ahol a W-nek 1-et adtunk, ott 1-re vált, most mindenütt 1 lesz    
    
;--- Bitgyezőség esetén 1-re állítása, beírása -----------------------------  
    
    movlw b'11001001'; 
    xorwf Seged_1,F,ACCESS ; ahol a W-vel megegyezik, ott 0 lesz (00110110)
    
    movlw b'11001001'; 
    xorwf Seged_1,F,ACCESS ; ahol a W-vel megegyezik, ott 0 lesz
                           ; Ez esetben mind 1 lesz.    
    


 

 

 Pic18 Ps2 asm programozása

 

https://www.hobbielektronika.hu/forum/topic_3664.html

Hát a protokoll az a PS2 protokoll. Szerintem nem kell sok angol tudás a megértéséhez, én legalábbis az alábbi két oldal alapján összehoztam egy PS2 dekódoló rutint C-ben egy 18F2550-hez. Nem bonyolult a C kód sem, nem nagy dolog átírni asm-re. Ha érdekel a kód, amit írtam, megoszthatom. Mondjuk egyenlőre csak a billentyűzet által küldött adatok fogadása van meg, a billentyűzet felé még nincs kész a kommunikáció, de az gondolom nemis annyira lényeges számodra.

A lényeg, hogy az órajel láb lefutó élére kell reagálni, és ebben a pillanatban megnézni az adatlábat. Az adatlábon megjelenő jel ugyanolyan, mint a soros porton megjelenő, csak itt 9 adatbit van, és a sebességet az órajel láb határozza meg, nincs szabványos sebesség.

 

Linkek:

http://www.computer-engineering.org/ps2protocol/

http://computer-engineering.org/?title=Main_Page

http://www.electronic-engineering.ch/microchip/projects/keyboard/v1xx/keyboard_v1xx.html

http://www.networktechinc.com/ps2-prots.html

nagyo_jó angol: https://www.t3ch.it/?q=pic18-connecting-ps2-keyboard

magyar: http://www.vfx.hu/info/atkeyboard.html