Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/03/2009 #1


Problema en la escritura de datos en la memoria EEPROM del PIC
Hola a tod@s!
Os cuento mi caso:
Yo quería escribir datos en la memoria EEPROM del PIC16F88, busqué en el datasheet del pic en cuestión y este ya trae un ejemplo de como escribir datos en la eeprom. El problema viene ahora, porque al querer simular el programa con el MPLAB no me escribe el dato correcto en la eeprom...
Simulé paso a paso y el fallo está cuando se ejecuta la intruccion --> "MOVF DIRECCION, W" al ejecutar esta instrucción en vez de pasar a W el valor de DIRECCION pasa un 0. Porqué? Aquí está mi problema, alguién tiene alguna idea?
Ayuda por favor!

El codigo del programa es este:
Código:
	
LIST P=16F88
	RADIX HEX
	INCLUDE <P16F88.INC>


VALOR		EQU 0x30		
DIRECCION	EQU	0x31


	ORG 0x00

INICIO
	
	MOVLW	d'3'
	MOVWF	VALOR	
	MOVLW	0x11
	MOVWF	DIRECCION

ESCRIBIR
	BANKSEL	EECON1 		; Select Bank of EECON1
						 
	BTFSC 	EECON1, WR 	; Wait for write
	GOTO 	$-1 		        ; to complete
	BANKSEL EEADR 		; Select Bank of
						; EEADR

	MOVF 	DIRECCION, W 	; AQUI ME PONE UN CERO EN W ! PORQUE?

	MOVWF 	EEADR 		; Data Memory
						; Address to write
	MOVF 	VALOR, W 	; Poner Valor!
	MOVWF 	EEDATA 		; Data Memory Value
						; to write
	BANKSEL EECON1 		; Select Bank of
						; EECON1
	BCF 	EECON1, EEPGD	; Point to DATA
						; memory
	BSF 	EECON1, WREN ; Enable writes

	BCF 	INTCON, GIE 	; Disable INTs.
	MOVLW 	55h 		;
	MOVWF 	EECON2 		; Write 55h
	MOVLW 	0AAh 		;
	MOVWF 	EECON2 		; Write AAh
	BSF 	EECON1, WR 	; Set WR bit to begin write
						
	BSF INTCON, GIE 	; Enable INTs.
	BCF EECON1, WREN 	; Disable writes
	
	END
03/03/2009 #2


El problema es muy sencillo. Estás trabajando en el banco 2. AL poner mov DIRECCION, W lo que hace lee en la pocición equivalente sobre este banco. Para solucionar esto tenes que volver al banco 0 antes de leer la pocición de memoria DIRECCION o renombra una pocición de memoria en el banco 2

¿Me explico?
03/03/2009 #3


Muchas gracias! Ya funciona!
Se nota que soy principiante en la programación de PIC´s, jeje
Un saludo
03/03/2009 #4


Con el problema que te topaste, es una de las contra que tiene los PIC y por eso muchas personas, le escapan
03/03/2009 #5

Avatar de Meta

Te puedes descargar el manualazo en PDF sobre ASM aquí.

http://www.forosdeelectronica.com/po...39.html#169439

Saludos.

PD: Por cierto. ¿Tienes intención de continuar hacer algo sobre el manual o ya llegó su fin?
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.