Autor Tema: Ejemplos en Assembler - PIC16F876  (Leído 50481 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pelacable

  • PIC10
  • *
  • Mensajes: 38
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #15 en: 19 de Febrero de 2010, 18:44:10 »
HOLA BrunoF!
Probé tu rutina de buscar un subelemento dentro del elemento y me pareció muy útil :-/
Ahora, si tomo los valores de un ADC y los quiero direccionar a la tabla, ¿no me faltaría una rutina de conversion de binario a decimal, para aplicarla a la tabla?
O dicho de otro modo ¿como sería la rutina para manejar tablas dt para unidades, decenas y centenas, al ser tres tablas la rutina de los subelemantos parece muy apropiada pero como podría direccionarlas con los valores del ADC?

Agradezco tu paciencia infinita y que compartas tu sabiduría, Quedé impresionado con tu brillante explicación, estoy aprendiendo mucho de tanto leer en éste foro, pero hay lugares que se me pasan, si ya hay un hilo con lo que te pido, te agradecería que me lo indiques.

Quiero hacer un instrumento de medición y contról con LCD y 16f877
Ya compilé las rutinas de mensajes que voy a sacar por el display 2x20 y las de contról,
usando las tablas que uds. publicaron y funciona todo perfecto sin simulación directamente con el pic y el lcd, aprendí mucho pero me falta mucho más.

¡GRACIAS  a todo el foro por haberme ayudado hasta acá sin saberlo!!!!


 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #16 en: 19 de Febrero de 2010, 18:58:50 »
Ahora, si tomo los valores de un ADC y los quiero direccionar a la tabla, ¿no me faltaría una rutina de conversion de binario a decimal, para aplicarla a la tabla?

Hola, el micro, trabaja en binario... para que quieres pasarlo a decimal? no tiene sentido.... simplemente direccionas con el valor del AD  a la tabla (pero ojo en no pasarte de la misma....  :mrgreen:)

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado pelacable

  • PIC10
  • *
  • Mensajes: 38
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #17 en: 19 de Febrero de 2010, 21:22:52 »
Hola
Está claro que trabaja en binario, pero debido a mi ignorancia, creí entender que para seleccionar una dirección dentro de la tabla, y solo una, por eso sería un subelemento, primero se colocaban los valores bajos y altos para elegir la dirección de la tabla y luego, con .xx se daba la posición del valor a seleccionar dentro de la misma.
si yo cambio el valor de .xx segun el ejemplo también me cambia la posición en la tabla.
Ahora .xx es un valor en decimal, ¿no tendría que convertir el binario a decimal para ubicarlo acá en el lugar ".xx"
Supongo que hablamos de la misma rutina... :(

Hay un dicho que reza: Caballo viejo no agarra trote, y yo ya estoy para el matadero :mrgreen:  pero sigo insistiendo porque antes no sabía ni usar la compu y ahora quiero fabricar la mía, tenganme paciencia  y gracias
Nota: no me gusta copiarme de nadie, solo que tengan la gentileza de tirarme una soga, seguiré buscando por el foro.

Nuevamente gracias!!!  :P

Desconectado pelacable

  • PIC10
  • *
  • Mensajes: 38
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #18 en: 19 de Febrero de 2010, 23:17:45 »
Hola de nuevo
jejejeje confundì las rutinas, mezclè las de maunix, a quien doy las gracias, porque funcionaron muy bien, con las de brunof, que me pareciò que me podrìan venir mejor para sacar lo que necesito, por favor brunof disculpame.  : :oops:
Entonces, de la rutina que hablo es  la de maunix. : :mrgreen:

Aclarado èsto aprovecho a preguntar ¿cual rutina es màs conveniente para lo que quiero hacer?

      Gracias!




Desconectado pelacable

  • PIC10
  • *
  • Mensajes: 38
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #19 en: 21 de Febrero de 2010, 22:31:32 »
Ahora, si tomo los valores de un ADC y los quiero direccionar a la tabla, ¿no me faltaría una rutina de conversion de binario a decimal, para aplicarla a la tabla?

Hola, el micro, trabaja en binario... para que quieres pasarlo a decimal? no tiene sentido.... simplemente direccionas con el valor del AD  a la tabla (pero ojo en no pasarte de la misma....  :mrgreen:)

Norberto

HOLA A TODOS!!
 
Estimado Norberto: 

Queria decirte que probè como me dijiste, y le mandè el valor del AD directo a OFFSET y funcionò  :-/  El ùnico problema que tuve es que quise sacar nùmeros con la tabla dt y no supe como, los valores que ponìa siempre me mandaban a caracteres ascii. (nunca usè tablas de èste tipo)

Lo solucionè con las tablas tradicioales (yo le llamo verticales)

Como son tres tablas de 255 datos, usè la pàgina 4 del 16f877 y la direccionè segùn una aclaraciòn de uso de la AN556 que encontrè en el foro  :-/ los pocos datos que le puse los tomò muy bien y (sin pasarme, como me aconsejaste) :D :D :D :D
Ahora voy a saguir cargando el resto de las tablas, pero sigo con la duda de como sacar nùmeros de las tablas dt ( horizontales, como yo las llamo) to davìa no encontrè ningùn ejemplo...
Cuando pueda sigo probando, porque considero que estando los nùmeros en la tabla en donde me aparecen los caracteres, algun dìa los encontrarè.
Gracias por haberme contestado antes :-/

          Pelacable


Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #20 en: 22 de Febrero de 2010, 20:27:42 »
Hola maunix una pregunta tonta, quiero colaborar con los ejemplos pero no se como ponerlos en tu indice  :mrgreen: :mrgreen:

Perdona mi torpeza.

Enviamelos a mi y yo los agrego al indice.

Saludos.

Ahora, si tomo los valores de un ADC y los quiero direccionar a la tabla, ¿no me faltaría una rutina de conversion de binario a decimal, para aplicarla a la tabla?

Hola, el micro, trabaja en binario... para que quieres pasarlo a decimal? no tiene sentido.... simplemente direccionas con el valor del AD  a la tabla (pero ojo en no pasarte de la misma....  :mrgreen:)

Norberto

HOLA A TODOS!!
 
Estimado Norberto: 

Queria decirte que probè como me dijiste, y le mandè el valor del AD directo a OFFSET y funcionò  :-/  El ùnico problema que tuve es que quise sacar nùmeros con la tabla dt y no supe como, los valores que ponìa siempre me mandaban a caracteres ascii. (nunca usè tablas de èste tipo)

Lo solucionè con las tablas tradicioales (yo le llamo verticales)

Como son tres tablas de 255 datos, usè la pàgina 4 del 16f877 y la direccionè segùn una aclaraciòn de uso de la AN556 que encontrè en el foro  :-/ los pocos datos que le puse los tomò muy bien y (sin pasarme, como me aconsejaste) :D :D :D :D
Ahora voy a saguir cargando el resto de las tablas, pero sigo con la duda de como sacar nùmeros de las tablas dt ( horizontales, como yo las llamo) to davìa no encontrè ningùn ejemplo...
Cuando pueda sigo probando, porque considero que estando los nùmeros en la tabla en donde me aparecen los caracteres, algun dìa los encontrarè.
Gracias por haberme contestado antes :-/

          Pelacable



dt 0x00,0xFF,.250,b'01001000',"HOL",'A',0

Se puede mezclar casi cualquier cosa...
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #21 en: 22 de Febrero de 2010, 21:19:12 »
Hola Pelacables.. entiendo que cuando dices "sacar"es por un LCD... entonces tendras que sumarle al valor del numero, el 30h  o .48  para pasarlo al correspondiente ASCII  (30 en hexa o 48 en decimal)  :mrgreen:

Un abrazo

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado pelacable

  • PIC10
  • *
  • Mensajes: 38
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #22 en: 23 de Febrero de 2010, 10:56:52 »
Hola a todos!!

   Justamente, quiero poner en un LCD 2X20 , En la línea superior el mensaje: Valor requerido: xx,x

                                                                   En la línea inferior el mensaje: Valor  obtenido : xx,x

Ya logré que al encender la pantalla salga el mensaje de presentacion, y que luego de oprimir un botón cambie de mensaje comenzando una temporización de 5 minutos, pero si dentro de ese tiempo se vuelve a oprimir el mismo boton: RUN/STOP, se detiene la temporización, coloca el mensaje "DESACTIVANDO FUNCIONES" por 4 segundos y vuelve al mensaje de presentación.
Si no se oprime el botón STOP, la temporización de 5 minutos continúa y al finalizar, cambia el mensaje a "COMENZANDO MEDICÓN", lo muestra por 4 segundos y cambia nuevamente los mensajes a Valor requerido y Valor obtenido, mostrando los diferentes valores que llegan desde el AD.
Todo ésto lo tengo resuelto y funciona muy bien, incluso, durante la temporización de 5 minutos manejo los puertos para activar distintos elementos.

Las comparaciones y activación de salidas en función de los valores de setpoint y los obtenidos, también funcionan.

El valor de setpoint lo hago por ahora, variando un multivueltas y leyendolo con otro canal del AD. (cuando practique la lectura y escritura en eeprom , guardaré el valor del setpoint con dos teclas más), eso más adelante.

Como verán solo me queda poner los dichosos números en el lugar del LCD que ya definí.

Puse los valores como decía BrunoF,  0x00, 0x01,etc.etc pero como decía antes salía cualquier cosa  :D  :D

Ahora por lo que tu dices, Norberto, ya entiendo lo que faltaba, voy a probar y después les cuento como resultó.

Nota:
Se preguntarán ¿como visualizo los datos del AD para probar el contról, si no tengo la información el el LCD?
pues saco el valor binario por los puertos y enciendo leds, 8 por cada canal del AD, simple pero a falta de pan........

 Gracias por compartir lo que saben , espero algún día poder hacerlo yo! :mrgreen:

 Un abrazo
 Pelacable

Desconectado Resistencio

  • PIC12
  • **
  • Mensajes: 82
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #23 en: 14 de Octubre de 2010, 19:56:13 »
Otra BIBLIA de BRUNOF !!! Cuarto o Quinto testamento, perdí la cuenta !!!

SALUDOS !!!

Desconectado akira_ve

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 342
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #24 en: 06 de Diciembre de 2010, 12:35:36 »
amigo por casualidad saben resolver el problema de la libreria LCD_4BIT.INC, no funciona con 4Mhz se que hay que agregarle unos temporizadores para que funcione he entrado en la pagina de la editoria RAMA y no aparece, y no recuerdo donde se colocan
Si conocemos bien lo que tenemos y lo sabemos usar......se haran hasta cosas que e veces aseguran son imposibles

Venezuela

Desconectado akira_ve

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 342
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #25 en: 06 de Diciembre de 2010, 13:52:32 »
Diculpen consegui la informacion.............cuando se usa esa libreria con proteus a 4 Mhz no sucede nada por lo tanto hay que modificarla y aqui dicen como hacerlo, y funciona;

http://www.pic16f84a.org/index.php?option=com_content&view=article&id=82:simulacion-del-lcd-en-proteus&catid=38:pic16f84&Itemid=60
Si conocemos bien lo que tenemos y lo sabemos usar......se haran hasta cosas que e veces aseguran son imposibles

Venezuela

Desconectado frozen

  • PIC12
  • **
  • Mensajes: 53
Re: Ejemplos en Assembler - PIC16F876
« Respuesta #26 en: 01 de Noviembre de 2011, 09:55:56 »
Bueno soy nuevo en el foro. Aqui les dejo mis macros.

Saludos a todos. :)