K
kvrajasekar
Guest
Bok svima,
Ja sam koristeći RTC (PCF8583) s 16f877.I Nisam upoznat s I2C interfacing.I koristiti slijedeće kodove, a plahte i readiing podaci odnose i kontroler neki sites.But dobiva visi problem našto ja iskorišten kodiranje.
Ugoditi pomoć mene riješiti problem ....
Initialised RC3 (SCL) i RC4 (SDA) kao doprinos.
Konfigurirajte MSSP kao I2C master kontroler
movlw b'00101000 '; Odaberite I2C master mode
movwf SSPCON
movlw I2CRATE; Postavi bus speed
movwf SSPADD
movlw b'00000000 '; i vedro bilo kakve veze zastave
movwf SSPSTAT
poziv I2CStop; Osigurati autobus je besplatan
; Generira jedan I2C početi stanju.
I2CStart:
bsf SSPCON2, SEN; Generirajte uslov POČETAK
btfsc SSPCON2, SEN; i pričekajte da se kompletan
goto -1 $
povratak
; Generira jedan I2C restart stanju.
I2CRestart:
bsf SSPCON2, RSEN; Generirajte Ponovo uvjet
btfsc SSPCON2, RSEN; i pričekajte da se kompletan
goto -1 $
povratak
; Generira jedan I2C stop stanju.
I2CStop:
bsf SSPCON2, PEN; Generirajte STOP uvjet
btfsc SSPCON2, PEN; i pričekajte da se kompletan
goto -1 $
povratak
; Prenosi bajt u W za I2C sabirnicom.
I2CWrite:
movwf SSPBUF; Pokreni I2C pisati
btfsc SSPSTAT, R_W; i pričekajte za završetak
goto -1 $
povratak
; Prima bajt iz I2C i vraća vrijednost.
I2CRead:
bsf SSPCON2, RCEN; Pokreni I2C čitati
btfsc SSPCON2, RCEN; i pričekajte za završetak
goto -1 $
movf SSPBUF, W; Zatim čitajte podataka vrijednosti
povratak
; I2C ack šalje signal rob uređaj.
I2CAck:
bcf SSPCON2, ACKDT; Pošalji priznanje
bsf SSPCON2, ACKEN
goto I2CWait
; I2C NAK šalje signal rob uređaj.
I2CNak:
bsf SSPCON2, ACKDT; Pošalji negativna potvrda
bsf SSPCON2, ACKEN
; Čeka za trenutnu akciju na I2C potpuna.
Ja sam koristeći RTC (PCF8583) s 16f877.I Nisam upoznat s I2C interfacing.I koristiti slijedeće kodove, a plahte i readiing podaci odnose i kontroler neki sites.But dobiva visi problem našto ja iskorišten kodiranje.
Ugoditi pomoć mene riješiti problem ....
Initialised RC3 (SCL) i RC4 (SDA) kao doprinos.
Konfigurirajte MSSP kao I2C master kontroler
movlw b'00101000 '; Odaberite I2C master mode
movwf SSPCON
movlw I2CRATE; Postavi bus speed
movwf SSPADD
movlw b'00000000 '; i vedro bilo kakve veze zastave
movwf SSPSTAT
poziv I2CStop; Osigurati autobus je besplatan
; Generira jedan I2C početi stanju.
I2CStart:
bsf SSPCON2, SEN; Generirajte uslov POČETAK
btfsc SSPCON2, SEN; i pričekajte da se kompletan
goto -1 $
povratak
; Generira jedan I2C restart stanju.
I2CRestart:
bsf SSPCON2, RSEN; Generirajte Ponovo uvjet
btfsc SSPCON2, RSEN; i pričekajte da se kompletan
goto -1 $
povratak
; Generira jedan I2C stop stanju.
I2CStop:
bsf SSPCON2, PEN; Generirajte STOP uvjet
btfsc SSPCON2, PEN; i pričekajte da se kompletan
goto -1 $
povratak
; Prenosi bajt u W za I2C sabirnicom.
I2CWrite:
movwf SSPBUF; Pokreni I2C pisati
btfsc SSPSTAT, R_W; i pričekajte za završetak
goto -1 $
povratak
; Prima bajt iz I2C i vraća vrijednost.
I2CRead:
bsf SSPCON2, RCEN; Pokreni I2C čitati
btfsc SSPCON2, RCEN; i pričekajte za završetak
goto -1 $
movf SSPBUF, W; Zatim čitajte podataka vrijednosti
povratak
; I2C ack šalje signal rob uređaj.
I2CAck:
bcf SSPCON2, ACKDT; Pošalji priznanje
bsf SSPCON2, ACKEN
goto I2CWait
; I2C NAK šalje signal rob uređaj.
I2CNak:
bsf SSPCON2, ACKDT; Pošalji negativna potvrda
bsf SSPCON2, ACKEN
; Čeka za trenutnu akciju na I2C potpuna.