por zielpunkt » 13 Nov 2006 09:47
Se for em assembly, segue exemplo básico de escrita e leitura contido no datasheet do 877A, no qual vc DEVE pesquisar outros detalhes do mcu:
Escreve:
BSF STATUS,RP1 ;
BSF STATUS,RP0
BTFSC EECON1,WR ;Wait for write to complete
GOTO $-1 ;
BCF STATUS, RP0 ;Bank 2
MOVF DATA_EE_ADDR,W ;Data Memory
MOVWF EEADR ;Address to write
MOVF DATA_EE_DATA,W ;Data Memory Value to write
MOVWF EEDATA ;
BSF STATUS,RP0 ;Bank 3
BCF EECON1,EEPGD ;Point to DATA memory
BSF EECON1,WREN ;Enable writes
BCF INTCON,GIE ;Disable INTs.
MOVLW 55h ;
MOVWF EECON2 ;Write 55h
MOVLW AAh ;
MOVWF EECON2 ;Write AAh
BSF EECON1,WR ;Set WR bit to begin write
BSF INTCON,GIE ;Enable INTs.
BCF EECON1,WREN ;Disable writes
Lê:
BSF STATUS,RP1 ;
BCF STATUS,RP0 ; Bank 2
MOVF DATA_EE_ADDR,W ; Data Memory
MOVWF EEADR ; Address to read
BSF STATUS,RP0 ; Bank 3
BCF EECON1,EEPGD ; Point to Data memory
BSF EECON1,RD ; EE Read
BCF STATUS,RP0 ; Bank 2
MOVF EEDATA,W ; W = EEDATA
Se quer partir para um projeto mais elaborado, seja em assembly ou C, recomendo que pesquise em livros (para os dois casos existem livros muito bons do colega do forum Fábio Pereira) ou mesmo na internet a fim de compreender melhor as possibilidades que o mcu oferece, senão vai ficar muito difícil pra vc, ok.
"Talento é mais barato que sal. O que separa a pessoa talentosa da bem-sucedida é muito trabalho duro." [ Stephen King ]