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