Assembly og I2C programmering - Hjælp søges

Tags:    ds1621 8051 assembly i2c

Sidder med et projekt i skolen, hvor jeg skal lave et digitalt termometer ved brug af en 8051, har styr på display osv., men har problemer med at styre mit temperaturmåler, som er en DS1621.

Har kigget rundt på nettet og set hvordan folk har lavet deres programmer og prøvet at lave det samme, men kan ikke få det til at virke.

Får fint sendt signalerne ud, men kan ikke få min DS1621 IC til at svare.

Så vil lige høre om der er nogen der vil være venlige at se min kode efter og se om der er fejl, for kan selv ikke se nogen.

Datasheet på DS1621:http://datasheets.maxim-ic.com/en/ds/DS1621.pdf (sandhedstabel og kommandoer på side 9-10)

Min kode: http://pastebin.com/2SjPRPRX



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det ser temmelig meget ud som om det der ligeså godt kunne skrives i C. Jeg har ikke adgang til en Windows maskine og kender ikke Windows implementering af I2C, men 'ORG 80' allokerer bare et tomrum på 80 bytes der hvor den står. Når der så står 'JMP 80' lige før er det så bare en instruktion, som springer over tomrummet (som kan bruges til data). Men det ser ikke ud som om pladsen bruges til noget.



De jmp 80H der står sørger for noget i opsætningen, der som sådan ikke påvirker output i programmet.

Selve programmet der begynder at sende ud begynder ved linie 22.

Og jo programmet kunne godt have været skrevet i C, men har kun 4KB hukommelse, så der er ikke plads til meget.



Indlæg senest redigeret d. 08.04.2011 16:34 af Bruger #16535
De jmp 80H der står sørger for noget i opsætningen, der som sådan ikke påvirker output i programmet.


Hvad gør det? I stedet for bare, at sige det ikke har nogen påvirkning, så bare forklar det - det kunne jo være det var der fejlen lå.

Og apropos 4KB, så tjek den her http://www.youtube.com/watch?v=lu4l_YxfpRw - det er hvad man kan med 4KB.





Kan desværre ikke helt forklare hvad de (JMP 80H, ORG 80H) gør, men min lærer er sikker på at de kommandoer ikke er årsagen til fejlen, men de gør noget i retning af at et par ting springes over i initialiseringen af chippen.

Og jo programmet kan godt skrives i C, men nu har vores lærer valgt at lære os Assembly, og kender ikke C, så vil helst holde mig til assembly.




Indlæg senest redigeret d. 08.04.2011 16:51 af Bruger #16535
t