K
kvrajasekar
Guest
Hi all,
I am using RTC (PCF8583) kanssa 16f877.I en ole perehtynyt I2C interfacing.I käytetään seuraavia koodeja, kun taas readiing käyttöturvallisuustiedotteiden ja viitaten noin sites.But i valvoja saa riippuvalaisimet ongelma, kun i-kirjain käytetty koodaus.
Ole hyvä ja auta minua ratkaisemaan ongelma ....
Aloittama RC3 (SCL) ja RC4 (SDA) syöttää.
Määritä MSSP on I2C Master Controller
movlw b'00101000 "Valitse I2C master-tilassa
movwf SSPCON
movlw I2CRATE; Aseta bussi nopeus
movwf SSPADD
movlw b'00000000 "Ja selvää mikä tahansa tila flags
movwf SSPSTAT
puhelun I2CStop; Varmista, että väylä on vapaa
; Luo I2C aloittaa kunnossa.
I2CStart:
BSF SSPCON2, erityislasten; Luo START kunnossa
btfsc SSPCON2, erityislasten ja odottaa sen täydellisen
goto -1dollari
palata
; Luo I2C uudelleen kunnossa.
I2CRestart:
BSF SSPCON2, RSEN; Luo RESTART kunnossa
btfsc SSPCON2, RSEN, ja odottaa, että se täydentää
goto -1dollari
palata
; Luo I2C pysäkki kunnossa.
I2CStop:
BSF SSPCON2, PEN; Luo STOP kunnossa
btfsc SSPCON2, PEN, ja odottaa, että se täydentää
goto -1dollari
palata
; Välittää byte W on I2C bus.
I2CWrite:
movwf SSPBUF; Aloitetaan I2C kirjoittaa
btfsc SSPSTAT, R_W; ja odota suoritusaika
goto -1dollari
palata
; Saa byte alkaen I2C ja palauttaa sen arvon.
I2CRead:
BSF SSPCON2, RCEN; Aloitetaan I2C lukea
btfsc SSPCON2, RCEN; ja odota suoritusaika
goto -1dollari
movf SSPBUF, W; Sitten lukemaan data-arvo
palata
; Lähettää I2C ACK signaalin orja laitteeseen.
I2CAck:
BCF SSPCON2, ACKDT; Lähetä kuittaussanoman
BSF SSPCON2, ACKEN
goto I2CWait
; Lähettää I2C NAK signaalin orja laitteeseen.
I2CNak:
BSF SSPCON2, ACKDT; Lähetä negatiivisen kuittaussanoman
BSF SSPCON2, ACKEN
; Odottaa nykyisen I2C toimia valmis.
I am using RTC (PCF8583) kanssa 16f877.I en ole perehtynyt I2C interfacing.I käytetään seuraavia koodeja, kun taas readiing käyttöturvallisuustiedotteiden ja viitaten noin sites.But i valvoja saa riippuvalaisimet ongelma, kun i-kirjain käytetty koodaus.
Ole hyvä ja auta minua ratkaisemaan ongelma ....
Aloittama RC3 (SCL) ja RC4 (SDA) syöttää.
Määritä MSSP on I2C Master Controller
movlw b'00101000 "Valitse I2C master-tilassa
movwf SSPCON
movlw I2CRATE; Aseta bussi nopeus
movwf SSPADD
movlw b'00000000 "Ja selvää mikä tahansa tila flags
movwf SSPSTAT
puhelun I2CStop; Varmista, että väylä on vapaa
; Luo I2C aloittaa kunnossa.
I2CStart:
BSF SSPCON2, erityislasten; Luo START kunnossa
btfsc SSPCON2, erityislasten ja odottaa sen täydellisen
goto -1dollari
palata
; Luo I2C uudelleen kunnossa.
I2CRestart:
BSF SSPCON2, RSEN; Luo RESTART kunnossa
btfsc SSPCON2, RSEN, ja odottaa, että se täydentää
goto -1dollari
palata
; Luo I2C pysäkki kunnossa.
I2CStop:
BSF SSPCON2, PEN; Luo STOP kunnossa
btfsc SSPCON2, PEN, ja odottaa, että se täydentää
goto -1dollari
palata
; Välittää byte W on I2C bus.
I2CWrite:
movwf SSPBUF; Aloitetaan I2C kirjoittaa
btfsc SSPSTAT, R_W; ja odota suoritusaika
goto -1dollari
palata
; Saa byte alkaen I2C ja palauttaa sen arvon.
I2CRead:
BSF SSPCON2, RCEN; Aloitetaan I2C lukea
btfsc SSPCON2, RCEN; ja odota suoritusaika
goto -1dollari
movf SSPBUF, W; Sitten lukemaan data-arvo
palata
; Lähettää I2C ACK signaalin orja laitteeseen.
I2CAck:
BCF SSPCON2, ACKDT; Lähetä kuittaussanoman
BSF SSPCON2, ACKEN
goto I2CWait
; Lähettää I2C NAK signaalin orja laitteeseen.
I2CNak:
BSF SSPCON2, ACKDT; Lähetä negatiivisen kuittaussanoman
BSF SSPCON2, ACKEN
; Odottaa nykyisen I2C toimia valmis.