EEPROM 93C46

E

emmos

Guest
Hola

Vaig fer un programa per a la lectura i l'escriptura de la memòria 936C46
però sembla que quan
s'escriu sobre ella Do segueix ocupat per l'estat.
Per què?
He llegit que la freqüència és CLK 2MHz significa això per a la seva utilitza el microcontrolador?

PLZ
m'ajudi
 
Sembla totalment el seu full de dades no estan familiaritzats amb la lectura (o;

2MHz és la màxima freqüència de rellotge de la línia de rellotge 93C46 (principalment per l'operació només 5V).

Utilitza vostè el moment exacte, tal com es descriu en el full de dades per a l'escriptura a la mateixa?
Pots llegir de nou les mateixes dades que
s'escriuen en ell?

 
vostè ha de llegir el full informatiu!
reduir la freqüència de rellotge.

 
el rellotge és molt alta.

que figura a continuació és el meu codi, utilitzeu pic16f72, oxc 4MHZ

SENDC:
BANK_1
MOVLW B'00010000 ';
MOVWF TRIS;
BANK_0
; Goto $
1FBC CS_P
FBC CLK_P;
MOVLW 09h;
MOVWF R1;
FBC DIO_P;
SETCASES;
CLRWDT;
BSF CS_P
CONTINUAR;
BTFSC ESTAT, PORTAR;
BSF DIO_P;
Goto $ 1; esperar 2
EUABSF CLK_P;
RLF MANDO, 1;
Goto $ 1; esperar 2
EUAFBC CLK_P;
FBC DIO_P;
DECFSZ R1, 1;
Goto SEGUEIX;
RETLW 0;
;**********************************;
**; LLEGIR LA SECCIÓ (dues vegades) **;
;**********************************;
EEREAD; Página1
MOVFW DIRECCIÓ
EEREAD0
BANK_0
MOVWF OUTBYT
BSF OUTBYT, 7; COMANDO = LLEGIR
FBC OUTBYT, 6; COMANDO = LLEGIR
; CONVOCATÒRIA opcode; comanda Enviar
CONVOCATÒRIA SENDC; ENVIAR AL MANDO EEPROM
LEA;
BANK_1
MOVLW B'00010100 ';
MOVWF TRIS; B11001111
BANK_0
BSF CS_P
MOVLW 16 quinquies;
MOVWF R1;
READ_0;
Goto READDD;
READDD;
BSF CLK_P;
CLRWDT;
CLRC;
BTFSC DIO_P;
SETCASES;
RLF RW0, 1;
RLF RW1, 1
FBC CLK_P;
Goto DLB;
DLB;
DECFSZ R1, 1;
Goto READ_0;
Goto END_PRM;
;**********************************;
**;
ESCRÍGUI'NS 93LC46 **;
;**********************************;
EEWRITE; Página1
WRITE0 MOVLW 30h; manera escriptura MANDO
MOVWF OUTBYT
CONVOCATÒRIA SENDC; ENVIAR AL MANDO EEPROM
FBC CS_P;
WRITE1 MOVFW DIRECCIÓ; EEPROM OBTENIR DIRECCIÓ
MOVWF OUTBYT
FBC OUTBYT, 7; ESCRIURE MANDO
BSF OUTBYT, 6; ESCRIURE MANDO
CONVOCATÒRIA SENDC; ENVIAR AL MANDO EEPROM
WRITE;
BANK_1
MOVLW B'00010000 '
MOVWF TRIS;
BANK_0
MOVLW 16 quinquies; 16BIT PER A UNA PARAULA
MOVWF R1;
WRITE_0;
FBC DIO_P;
RLF RW0, 1;
RLF RW1, 1;
BTFSC ESTAT, PORTAR;
BSF DIO_P;
Goto $ 1; esperar 2
EUABSF CLK_P;
Goto $ 1; esperar 2
EUACLRWDT;
FBC CLK_P;
FBC DIO_P;
DECFSZ R1, 1;
Goto WRITE_0;
FBC CS_P;
; Goto SDF;
SDF;
MOVLW 0x0c
MOVWF RW1;
BSF CS_P;
Chk
DECFSZ RW0, 1
Goto Chk;
DECFSZ RW1, 1
Goto Chk;
;
FBC CS_P;
CLRF OUTBYT
CONVOCATÒRIA SENDC; ENVIAR AL MANDO EEPROM

END_PRM;
FBC CS_P;
RETLW 0

 
al costat del rellotge, que en realitat és alt, alguns xips de diferents fabricants tenen una agulla per a la selecció de la longitud de la paraula, 8 o 16 bits

 

Welcome to EDABoard.com

Sponsor

Back
Top