Pues tienes razon, cuando cargo el archivo el hex que has puesto en el almacen me funciona perfecto por lo cual veo que no es problema del proteus (como pensaba inicialmente) sino del codigo asm.
He cargado tu hex en el ic-prog y he revisado el asm que este genera y me sale el siguiente encabezado:
http://img133.imageshack.us/img133/262/icprog3qh.jpglo he agregado al ejemplo 10.asm que habia puesto y al inicio ne me reconocia ni INHX8M ni P16FXX.inc, luego de probar varias veces me reconocio INHX8M, he leido en el archivo de ayuda que dice lo siguiente (ojo traducido por babelfish)
El formato 8-bit partido del archivo produce dos archivos de salida: el hxl y el hxh. el formato es igual que el formato 8-bit normal, a menos que eso los octetos bajos de la palabra de datos se almacene en el archivo del hxl, y los altos octetos de la palabra de datos se almacenan en el archivo del hxh, y las direcciones son divididas por dos. Esto se utiliza para programar palabras 16-bit en pares de EPROMs 8-bit, un archivo para el octeto bajo, un archivo para el alto octeto.ni idea para que se usa asi que probe a eliminarlo y si me funciono, si tuvieras la amabilidad de decirnos en correcto castellano, como dice el amigo redpic
, para que diablos sirve
.
Con el que si no pude fue con p16fxx.inc asi que lo remplace por p16f84a y todo perfecto.
El programa me queda como sigue:
LIST P=16F84, F=INHX8M
include "P16F84a.inc"
ORG 0x0000
RP0 equ 5
RB0 equ 0
CONTADOR RES 1
CONTADOR1 RES 1
ORG 0El resto es igual al que 10.asm que esta en el almacen. Ahora si corre perfectamente. Reitero las gracias por la ayuda
. (Al poner este encabezado ya no se hace necesario definir STATUS, TRISA,TRISB, PORTA, y PORTB; pues estos ya los define este encabezado, especifico para el 16f84a)
El problema entre analogico y digital lo debe solucionar este encabezado pues definira las salidas correctamente, es asi?
No defini el include pues es ejemplo del tutorial no lo hacia y pensaba hacerlo mas adelante, Pues queria probar que tan facil era cambiar por ejemplo a un 12C508A o a un 12F629, me funciono el 12C508A (pero tuve que leerme la hoja de datos y definir varias cosas para que funcione) aun tengo problemas con el 12F6629, pero eso lo veremos mas adelante.