Escrito originalmente por dj_valle
gracias por ponerme el trozo de programa, al principio pensaba que no me funcionaba por no poner el LIST y eso, pero me seguia dando el mismo fallo. Luego probe a poner tu trozo de programa donde el mio y funcionaba y entonces volvi a poner el mio y no funcionaba.
Bueno, conclusion, me di cuenta que tu ponias STATUS, TRISA, TRISB, ADCON1 y yo lo ponia en minusculas, probe en mayusculas y ya me va..... ¿es alguna condicion que tienen estos micros? al menos cambiando a mayusculas el ADCON1 ya me funciona bien... me acostumbrare a ponerlo en mayusculas a ver aunque me suena raro que sea por eso pero bueno.. tu que crees?
muchas gracias por todo.
El tema de las mayusculas y minusculas es porque el Compilador MPASM es "case sensitive" o dicho de otra forma, sensible a las mayúsculas y minúsculas.
Además, las definiciones de los registros no estan en el Mplab sino en el .INC que agregas al principio de tu código, si están definidos con mayúscula (que es la costumbre de la gente de Microchip) entonces deberas utilizar en mayúscula
Otra cosa que no quería dejar pasar por alto es lo siguiente, en tu código pusiste
Codigo:
adcon1 equ 0x05
Asi fuese en mayúsculas, esto es un "reemplazo" . De ninguna manera estás cargando al registro ADCON1 con el valor 5!, Solo le estas diciendo al compilador que la variable temporal que declaraste adcon1 vale 5... El compilador reemplazara cada ocurrencia de esta variable con el valor 0x05.
Si quieres cargarle 0x05 al ADCON1 (que dicho sea de paso no te deshabilitará el canal 0 del A/D), debes hacer esto
Codigo:
movlw 0x05
movwf ADCON1
Saludos y felices simulaciones