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

Temas similares

18/06/2006 #1


Posiciones de memoria y abreviaturas
Hola de nuevo, vereis tengo una gran duda :(

Ya llevo una semana con el pic 16f84, estoy mirando algunos ejemplos del kit que me compre, uno de velleman, el VM111

El problema que tengo es que, tengo un monton de ejemplos de programas, pero por lo visto, todas las abreviaturas que se usan como TRISA, PORTB etc, van asociadas a direcciones de memoria del pic, hasta alli todo de fabula, el problema que tengo es que:

vienen abreviaturas de este tipo con la misma direccion de memoria, cosa que no entiendo.

en mis ejemplos, hay variables de estas, como por ejemplo binario, buffer_L, buffer_H, las cuales viene asociadas con posiciones de memoria indicadas asi: 0x13, lo cual traducido a hechadecimal seria H'000D', y otra vez lo mismo, vuelvo a encontrarme una abreviatura que ya tiene esa posicion.

alguien sabe explicarme que hago mal? :(

es que estoy empezando con esto y es un poco cacao
21/06/2006 #2


Re: Posiciones de memoria y abreviaturas
omfreg dijo:
Hola de nuevo, vereis tengo una gran duda :(
en mis ejemplos, hay variables de estas, como por ejemplo binario, buffer_L, buffer_H, las cuales viene asociadas con posiciones de memoria indicadas asi: 0x13, lo cual traducido a hechadecimal seria H'000D', y otra vez lo mismo, vuelvo a encontrarme una abreviatura que ya tiene esa posicion.
No se que es lo que quieres hacer pero te aclaro lo siguiente

el simbolo 0x indica que el número a continuación es en hexa.

Por lo tanto

0x13 = 13h = H'0013' o como quieras .

Tu te confundes 13d = .13 = H'000D' = 0x0D

Saludos
22/06/2006 #3


Ten encuenta que no siempre son posiciones de memoria sino constante, y ademas hay que mirarse un poco la estructura del micro controlador, y verás que trabaja con páginas con lo cual puedes estar utilizar la posicion 0x0D de la página 1 y 0x0D de la página 0, como curiosidad el TRISB y el PORTB están en la misma dirección de memoria pero en distintas páginas, por eso si trabajas en ensamblador tienes que tener cuidado con ellos. seguramente antes de cargar un dato en el TRIS o en e PORT hará un cambio de página
26/06/2006 #4


En el directorio raíz del MPLAB, encontrarás un archivo relacionado con el PIC específico que estés utilizando. Tiene extensión .inc Ábrelo y encontrarás las direcciones y asignaciones que se hace de todos los registros de ese micro en particular. Del mismo modo los bits de algunos registros de control están codificados.
Es probable que coincidan para dos o mas de ellos (en el caso de los bits), pero su uso depende del entorno mismo del programa en el momento que los llames.
Por otro lado puedes tener por ejemplo un registro cualquiera en la dirección 0x05 y tener definida una constante que valga 0x05, y no se interferirán nunca.
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.