Autor Tema: agradeseria musho informacion para un contador del o al 9 en un display  (Leído 3996 veces)

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

Desconectado PABLOHAAA

  • PIC10
  • *
  • Mensajes: 8
hola ke tal como soy nuevo, en sto solo pido una orientacion de como empesar hacer el programa tengo ke poner 4 push boton en el portA y las salidas en el portb  hasia el display¡¡

Desconectado LabPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 143
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #1 en: 04 de Junio de 2006, 16:18:40 »
Hola PABLOHAAA  :mrgreen:, primeramente preguntas basicas

¿Que lenguaje de programacion utilizas o has utilizado?

Saludos LabPIC
¡¡¡Viva México cabrones!!!

Desconectado PABLOHAAA

  • PIC10
  • *
  • Mensajes: 8
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #2 en: 04 de Junio de 2006, 16:36:10 »
hola grasias por contestar pues es lenguaje con instrucciones del pic 16f84a bsf,bcf,movlw etc solo he utilisado ese se ke el pic cuenta en hexa y batallo algo para entender como hacerle para ke se prenda el nuemero correspondiente en el display cuando le mete las valores en binario por el porta  si alguien  me puede ayudar se  aceptan comentarios y de todo grasias

Desconectado LabPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 143
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #3 en: 04 de Junio de 2006, 16:40:09 »
Ah ok entiendo es lenguaje ensamblador el que empiezas a utilizar, una pregunta

¿Tienes el programa con el cual estas batallando?, si es así sería de mucha ayuda que lo subieras para que se te pueda ayudar y resolver algunas de tus dudas. 

Saludos LabPIC  :mrgreen:
¡¡¡Viva México cabrones!!!

Desconectado PABLOHAAA

  • PIC10
  • *
  • Mensajes: 8
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #4 en: 04 de Junio de 2006, 16:58:55 »
KE TAL,   LA VDD ENCONTRE ESTE PROGRAMA QUE CREO QUE ME PUEDE AYUDAR, PERO MI PRINCIPAL DUDA ES SOBRE LA TABLA RETLW, QUIERO ENTENDER SU LOGICA ;************************************ Display_01.asm 

 LA TABLA APARESE EN STA PARTE DEL FORO http://www.todopic.com.ar/foros/index.php?topic=9134.0

Desconectado LabPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 143
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #5 en: 04 de Junio de 2006, 17:32:43 »
Bueno la instruccion RETLW, el registro W es cargado con una literal K de 8 bits el contador de programa es cargado desde la parte mas alta del stack (retorno de direccion).

Por ejemplo cargas el valor a extraer de la tabla en W, luego el PCL lo que hace es saltar tantas instrucciones adelante hasta haber saltado el numero de instrucciones adelante igual a W, si te das cuenta en el inicio de la tabla en la primera linea aparece lo siguiente ADDWF  PCL,1. Posterioemente el RETLW carga el valor deseado a W que sera posteriormente mostrado en el display y retorna a la siguiente instruccion despues de haber saltado a la tabla.

Espero y mi pobre explicacion te sirva de algo, y si no pues de nuevo a preguntar.

Saludos LabPIC  :mrgreen:
« Última modificación: 04 de Junio de 2006, 17:56:33 por LabPIC »
¡¡¡Viva México cabrones!!!

Desconectado PABLOHAAA

  • PIC10
  • *
  • Mensajes: 8
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #6 en: 04 de Junio de 2006, 17:45:14 »
ok¡¡ grasias por la asesoria voy a seguir estudiando para lograr sacar esa practica  byee¡¡

Desconectado loren

  • PIC10
  • *
  • Mensajes: 24
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #7 en: 04 de Junio de 2006, 18:07:45 »
Hola, este es el que yo tengo hecho, solamente llega del 0 al 9.

      LIST   P=16f84a   ;El pic 16f84a se define como microcontrolador que se va a programar.       
               ;Este programa muestra el código binario introducido por las puertas a0, a1, a2 y a3
               ;en un display de 7 segmentos a través de la puerta B en código decimal. Los números
               ; van del 0 al 9.
            
         
               ;Se definen las diferentes variables.
ESTADO      EQU   03      ;El registro 3 del registro específico
PUERTAA      EQU   05      ;El registro 5 del registro específico. Se define la puerta A.
PUERTAB      EQU   06      ;El registro 6 del registro específico. Se define la puerta B.
PCL      EQU   02      ;El registro 2 del registro específico. Los 8 bits de menos peso del contador PC.
RP0      EQU   05      ;Se define el bit 5 del registro específico 3, sirve para cambiar de banco en
               ;la memoria RAM.
W      EQU   00      ;Se define como cero, para referirse al registro de trabajo W.
F      EQU   01      ;se define como uno, para cuando hay que referirse al parámetro uno.


      ORG   0      ;Se indica la dirección en la que hay que poner la primera instrucción.


CONFIGURACION   bsf   ESTADO,RP0   ;Se cambia al 2º banco de la memoria Ram.    
      movlw   b'01111'   ;Se define los 4 bits de menos peso como entrada y el 5º como salida
      movwf   PUERTAA
      movlw   b'00000000'   ;Se define la puerta B como salida.
      movwf   PUERTAB
      bcf   ESTADO,RP0   ;se vuelve al banco 1


INICIO      movf   PUERTAA,W   ;Se carga los datos de la puerta A al registro de trabajo W.
      call   DISPLAY      ;Se llama a la subrutina de transformación de binario a decimal
      movwf   PUERTAB      ;Se carga los datos del registro de trabajo W en la puerta B y se visualiza en
               ;el display.      
      goto   INICIO      ;Se vuelve a la etiqueta INICIO para volver a leer la puerta A.
      

DISPLAY      addwf   PCL,F      ;Se le suma los datos del registro W, proveniente de la puerta A y se vuelve a
               ;guardar en el mismo registro PCL.
      retlw   3F      ;Se define el cero para ser mostrado en el display.
      retlw   06      ;Se define el uno.
      retlw   5B      ;Se define el dos.
      retlw   4F      ;Se define el tres.
      retlw   66      ;Se define el cuatro.
      retlw   6D      ;Se define el cinco.
      retlw   7D      ;Se define el seis.
      retlw   07      ;Se define el siete.
      retlw   7F      ;Se define el ocho.
      retlw   6F      ;Se define el nueve.
   

      END         ;Se finaliza el programa.

Gracias y saludos.

Desconectado PABLOHAAA

  • PIC10
  • *
  • Mensajes: 8
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #8 en: 04 de Junio de 2006, 20:47:07 »
hola que tal 1000¡ grasias por el programa anterior , solo tengo una duda es ke estoy empesando y hasta aHORA SOLO LLEVABA ECHA PRACTIKAS DE RRECORRIDO DE LETS Y ETC   , CON ESTA LA DEL DISPLAY  SI TENIA MIS DUDAS PERO PUES YA¡¡    SOLAMENTE UNAS CUANTAS PREGUNTAS QUE LA VDD NO ENTIENDO SON  1- QUE ES EL CONTYADOR PC?  Y COMO SE HACE UNA TABLA DE TRANSFORMACION DE BINARIO A DECIMAL POR QUE VEO  3F,06,5B Y LA VERDAD NO SE DE DONDE SALIERON  ....¡¡

Desconectado LabPIC

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 143
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #9 en: 05 de Junio de 2006, 14:04:44 »
OK envío un imagen adjunta para ver la forma de codificación de los datos Decimales, sus respectivos valores binarios, y hexadecimales. En realidad de cualquiera de estos 3 formatos numericos se pueden cargar en el programa.

Observación: Una manera más cómoda de escribir la lista de instrucciones RETLW al final del programa anterior puede lograrse usando la directiva DT (Define Table) del ensamblador, la cual nos permite definir una tabla de datos que será sustituida por una lista de instrucciones RETLW; así, la lista mostrada en la imagen puede quedar de la siguiente manera:

DT 0x01,0x4F,0x12,0x06,0x4C,0x24,0x3F,0x0F,0x00,0x04

Espero y te sea de ayuda  :)

Saludos LabPIC  :mrgreen:
¡¡¡Viva México cabrones!!!

Desconectado loren

  • PIC10
  • *
  • Mensajes: 24
Re: agradeseria musho informacion para un contador del o al 9 en un display
« Respuesta #10 en: 05 de Junio de 2006, 17:13:44 »
Hola, el contador de programa o PC, es un registro donde se carga la dirección de la instrucción a ejecutar del programa de instrucciones. En el 16f84a, tan sólo se utilizan los 10 bits de menos peso, ya que utilizan 1024 direcciones distintas, pero se podría direccionar hasta 8 k, ya que el contador de programa o PC, puede direccionar hasta direcciones de 13 bits. Para ver el contenido del PC de la dirección de la instrucción a ejecutar, se utilizan dos registros específicos. que son el PCL, donde se almacena los 8 bits de menos pesos y el PCLAHT, donde se almacena los 5 bits de mayor peso.
En cuanto, a la representación de los datos en el display, lo que pasa es que están representado en código héxadecimal, pero lo podrías haber puesto en binario o en decimal. Para representar un número en un display de 7 segmentos, tienes que saber los segmentos a iluminar, por ejemplo, para representar el 1, habría que iluminar el segmento b y c, que en binario sería 0000110, por lo tanto en decimal sería 6 y en hesdecimal sería 06.
Gracias y saludos.