Ibuttonen skickar ut datan baklänges. Alltså LSB först.
Om Family ID=02 så skickar den alltså ut detta: 0100 0000. Medans 02 igentligen är: 0000 0010
Är det någon som vet hur man skall omvandla det? (hos mig står det iaf still)
I nuläget så läser jag bit för bit o skiftar in det i ett register
Kod: Markera allt
rol input ;0b00101011 -> 0b01010110
read: ;Denna hämtar in datan ifrån knappen och lägger det i
in temp2,pind ;input, läser 8bitar och återvänder sedan
andi temp2,0b00000001 ;maskar bort allt utom pin0 då det är där knappen ansluts
or input,temp2 ;0b00000001 -> 0b00101011
out portc,input ;Skickar ut avläsningen till leds för debug
ret
Det funkar inte o skifta åt höger då det bara kommer in 0'or på MSB.
Allt fungerar förövrigt i låset men det hade varit smidigt o kunna mata in allt rättvänt istället för spegelvänt.
Kod: Markera allt
.db 0b01000000,0b11101111,0b00110110,0b00111111,0b00000000,0b00000000,0b00000000,0b10111101