logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mikroprocesory - magistrala I2C w komunikacji z pamiecia

asia1983 17 Sty 2005 00:11 1458 6
REKLAMA
  • #1 1145085
    asia1983
    Poziom 11  
    Posty: 18
    Ocena: 1
    Procedury obslugi magistrali I2C w komunikacji mikrokontrolera z pamiecia PCF8582 w asemblerze mcs-51 - tak brzmi tytul
    Czy ktos moglby sprawdzic mi czy to jest dobrze?
    jest to sama procedura do odczytu danych z magistrali I2C w komunikacji z owa pamiecia

    ADDR_DEVICE EQU 30h
    ADDR_CELL EQU 31h
    DANE EQU 32h

    _SDA EQU P1.0
    _SDA EQU P1.1

    START:
    SETB_SCL
    CLR _SDA
    SETB_SDA
    MOVA,#0Ah
    DJZN A,$
    RET

    STOP:
    CLR _SDA
    SETB_SCL
    SETB_SDA
    RET

    MEMORY_READ:

    ACALL START
    MOV A, ADDR_CELL
    ACALL NADAJ_BAJT
    MOVA, ADDR_CELL
    ACALL NADAJ_BAJT
    ACALL ODBIERZ_BAJT
    ACALL STOP

    ODBIERZ BAJT:
    MOV R3,#8
    ODBIERZ_BIT:
    SETB_SCL
    MOV_C,SDA
    CLR_SCL
    RLC A
    DJZN R3, ODBIERZ_BIT
    JB F0, POTWIERDZ
    JMP BIT_9
    POTWIERDZ:
    CLR_SDA
    BIT_9
    SETB_SCL
    CLR_SCL
    SETB_SDA
    RET

    Ostatnia procedura na odebranie bajtu i bitu jest ze zrodel internetowych i nie bardzo wiem co znaczy:
    JB F0, POTWIERDZ ??

    I czy powinnam dawac tu jakies opoznienia??
    Bede bardzo wdzieczna za wszelka pomoc, gdyz asembler to dla mnie wielka magia..
    Z gory dziekuje, pozdrawiam
  • REKLAMA
  • #2 1145547
    Łokasz
    Poziom 16  
    Posty: 193
    Pomógł: 12
    Ocena: 43
    Witam.

    JB F0,potwierdz

    Rozkaz sprawdza czy bit F0=1, jeśli tak to skacze do podprogramu POTWIERDZ, jeśli nie to "leci"dalej. Resztę podprogramów sprawdze wieczorem jak będę w domu. Pozdrawiam
  • REKLAMA
  • #3 1146534
    asia1983
    Poziom 11  
    Posty: 18
    Ocena: 1
    Dziekuje Lokaszu za zainteresowanie moim problemem, zalaczam pdf'a o PCF 8582 to bedzie latwiej sprawdzic, mam nadzieje ze nie zapomnisz o mnie i wieczorkiem sprawdzisz, bo jutro musze juz oddac projekt..
    A moze ktos jeszcze moglby mi pomoc?

    http://www.atmicroprog.com/download/i2c/PCF8582.pdf
  • REKLAMA
  • Pomocny post
    #4 1147592
    Łokasz
    Poziom 16  
    Posty: 193
    Pomógł: 12
    Ocena: 43
    Witam. Postanowiłem sprawdzić Twój program i ewentualnie go poprawić. Zaleca się dodanie podprogramów opóźniających, ale czas ich trwania jest związany z czestotliwością kwarcu taktującego mikrokontroler, a tym samym od cyklu zegarowego, maszynowego i rozkazowego. Zakładam, że jest to tylko projekt teoretyczny. W załączniku przesyłam poprawiony program.
    Przeróbka Twoich była bardziej pracochłonna. Postanowiłem napisać nowy program. Oczywiście sprawdzony w praktyce. Pozdrawiam
    PS A tak na marginesie, to dlaczego chcesz zarobić na mnie oferując plik za 1 pkt??
    Załączniki:
    • Program.txt (2.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #5 1147943
    asia1983
    Poziom 11  
    Posty: 18
    Ocena: 1
    Hej! Dzieki wielkie, zaraz zobacze Twoj program, a o zarabianiu jakis punktow na Tobie nic nie wiem..jestem tu poczatkujaca i jeszcze nie lapie sie z tym wszystkim, ale na zadnych punktach mi nie zalezy.
    Dziekuje za pomoc, pozdrawiam
  • #7 1148403
    asia1983
    Poziom 11  
    Posty: 18
    Ocena: 1
    Ale super stronka, wreszcie wszystko czarno na bialym:):):)
    Dziekuje

Podsumowanie tematu

✨ Dyskusja dotyczy procedur obsługi magistrali I2C w asemblerze dla mikrokontrolera rodziny MCS-51 w komunikacji z pamięcią PCF8582. Przedstawiony kod zawiera procedury startu, stopu oraz odczytu bajtu z pamięci I2C. Wskazano błąd w instrukcji warunkowej JB F0, potwierdzającej odbiór bitu potwierdzenia (ACK). Zasugerowano konieczność dodania opóźnień zależnych od częstotliwości kwarcu mikrokontrolera, co wpływa na poprawność transmisji. Jeden z uczestników przygotował i udostępnił poprawioną, praktycznie przetestowaną wersję programu. Podano również link do darmowych materiałów dotyczących magistrali I2C. Autor potwierdził przydatność wskazówek i materiałów.
Wygenerowane przez model językowy.
REKLAMA