CCF problème ...

K

kvrajasekar

Guest
Salut à tous,

J'utilise RTC (PCF8583) avec 16f877.I ne suis pas familier avec I2C interfacing.I utilisé les codes suivants, tout en readiing fiches de données de référence et certains sites.But i contrôleur est suspendu problème quand
j'ai utilisé le codage.

S'il vous plaît, aidez-moi à résoudre le problème ....

Initialisé RC3 (SCL) et RC4 (SDA) en entrée.

Configurer le MSSP comme maître I2C contrôleur
movlw b'00101000 '; Sélectionnez maître I2C mode

movwf SSPCON
movlw I2CRATE; Régler la vitesse du bus

movwf SSPADD
movlw b'00000000 »Et clairement tout état de drapeaux

movwf SSPSTAT
appel i2cstop; Assurer le bus est gratuit

; I2C génère un état de départ.
I2CStart:

bsf SSPCON2, SEN; Générer START condition
btfsc SSPCON2, SEN; Et attendez
qu'il complète
goto $ -1
retour
, Génère un état I2C redémarrer.
I2CRestart:

bsf SSPCON2, RSEN; Générer RESTART condition
btfsc SSPCON2, RSEN; Et attendez
qu'il complète
goto $ -1
retour
, Génère un état de fin I2C.

I2cstop:

bsf SSPCON2, PEN; Générer STOP condition
btfsc SSPCON2, PEN; Et attendez
qu'il complète
goto $ -1
retour
; Transmet l'octet en W pour le bus I2C.

I2CWrite:
movwf SSPBUF; Lancer I2C écrire

btfsc SSPSTAT, R_W; Et attendre l'achèvement
goto $ -1
retour
, Reçoit un octet de l'I2C et retourne sa valeur.
I2CRead:

bsf SSPCON2, RCEN; Lancer I2C lire
btfsc SSPCON2, RCEN; Et attendre l'achèvement
goto $ -1

movf SSPBUF, W; ensuite lire les données de valeur
retour
; I2C ACK envoie un signal à l'esclave.
I2CAck:

bcf SSPCON2, ACKDT; Envoyer un accusé de réception
bsf SSPCON2, ACKEN
goto I2CWait
; I2C NAK Envoie un signal à l'esclave.
I2CNak:

bsf SSPCON2, ACKDT; Envoyer un accusé de réception négatif
bsf SSPCON2, ACKEN
; Waits pour l'action à I2C complète.

 

Welcome to EDABoard.com

Sponsor

Back
Top