Autor Tema: Ayuda contador de vehículos, PIC16f84  (Leído 993 veces)

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

Desconectado Drem

  • PIC10
  • *
  • Mensajes: 2
Ayuda contador de vehículos, PIC16f84
« en: 23 de Septiembre de 2020, 20:14:36 »
.
« Última modificación: 24 de Septiembre de 2020, 02:59:03 por Drem »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Ayuda contador de vehículos, PIC16f84
« Respuesta #1 en: 23 de Septiembre de 2020, 23:11:49 »
Citar
Hace poco me están pasando materia relacionada con Pic16f84 y me dieron un problema el cual no se como resolver.

Si tenes dudas, te podemos ayudar, lo que seguramente no vamos a hacer es darte el codigo.

Si, el programa es sencillo y masomenos corto si es en C, pero eso esta para que vos aprendas, y entregando el codigo es algo que no va a tener un buen resultado. Ya que tu pedido es muy general, no sabemos si sabes programar o no, etc. Ademas uno no comienza con esto, comienza prendiendo un led... y donde estan los pasos anteriores?

Si necesitas ayuda en algo mas puntual o no sabes como hacerlo, si te podemos ayudar, sino lo unico que te puedo dar son lineamientos generales de como hacerlo (dependiendo del lenguaje usado)

Desconectado Drem

  • PIC10
  • *
  • Mensajes: 2
Re:Ayuda contador de vehículos, PIC16f84
« Respuesta #2 en: 24 de Septiembre de 2020, 00:22:54 »
Eso es lo que pensaba, encender leds o motores cosas así. Enserio no se que pasa con este profesor. De todas formas muchas gracias por tu respuesta, trataré de pasar la noche viendo videos y leyendo lo que pueda para cumplir sus expectativas ridículas.
Aunque si sería d emucha ayuda cualquier info que me puedan dar.
Se supone que se tiene que hacer en texto plano, assembler

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Ayuda contador de vehículos, PIC16f84
« Respuesta #3 en: 24 de Septiembre de 2020, 08:51:31 »
Sisis lo que planteo es que con la informacion que vos me das....

Tenes estos dos pasos necesarios para aprender:

- Aprender a programar en ASM (Lenguaje, instrucciones, como definir los registros a usar vos, etc)
- Aprender como funciona el PIC, debido a que en ASM es necesario. En C tambien, pero podes obviar algunas cosas.

El problema que no es "corto"/"rapido" hacerlo, a no ser que ya tengas una buena base de programacion, y sepas leer en ingles para manejarte con el datasheet del micro.

Por ejemplo, en tu programa necesitaria que aprendas a usar tablas, para cargar el 7 segmento (a no s er que usen un conversor por fuera por ejemplo un 4511). Que también aprendas de los bancos del PIC, modulos, etc.

Un esqueleto/casi completo de tu programa (no recuerdo el PIC) seria:


Código: ASM
  1. #include .inc de tu PIC
  2.  
  3. cblock 0x20 (0x20 de la posicion de inicio de los registros de uso general)
  4.    CONT_U
  5.    CONT_D
  6.    FLAGS
  7. endc
  8.  
  9. TABLA
  10.   addwf PCL, F
  11.   retlw 0x00  ;Digito 0
  12.   retlw 0x00 ; Digito 1
  13.   retlw 0x00 ; Digito 2
  14.   retlw 0x00
  15.   retlw 0x00
  16.   retlw 0x00
  17.  
  18. TABLAD
  19.   addwf PCL, F
  20.   retlw 0x00 ; LED 0
  21.   retlw 0x00 ; LED 1
  22.   retlw 0x00 ; LED 2
  23.   retlw 0x00
  24.  
  25.  
  26. ORG 0x00
  27.    ; Aca todo lo que es configuracion de las entradas/salidas
  28.    ANSEL/ADCON
  29.    TRIS
  30.  
  31. PRINCIPAL:
  32.    CALL CHECK_SENSOR
  33.    CALL INC_COUNTER
  34.    CALL MOSTRAR
  35. GOTO PRINCIPAL
  36.  
  37.  
  38. CHECK_SENSOR:
  39.    BTFSS PORTx,0 (detecto si eta presionado sensor)
  40.    GOTO CHECK_SENSOR
  41. CHECK_SENSOR:2:
  42.    BTFSC PORTx,0 (espero que se suelte sensor)
  43.    GOTO CHECK_SENSOR
  44.    BSF FLAGS, 0
  45.    RETURN
  46.  
  47. INC_COUNTER:
  48.    BTFSS FLAGS,0
  49.    RETURN
  50.    INCF CONT_U, F
  51.    MOVF CONT_U, W
  52.    ANDLW  d'10'     ;AND para saber si llego a 10
  53.    BTFSS STATUS, Z
  54.    RETURN
  55.    CLRF   CONT_U  ; LLego a 10, pasa a 0
  56.    INCF   CONT_D, F
  57.    ;Aca necesito comprobar que CONT_D sea menor a 4
  58.    RETURN
  59.  
  60. MOSTRAR:
  61.    MOVF CONT_U, W
  62.    CALL TABLA
  63.    MOVWF PORTB
  64.    MOVF CONT_D, W
  65.    CALL_TABLAD
  66.    MOVWF PORTA
  67. RETURN

Eso es masomenos lo que vendria a ser tu programa.

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 941
Re:Ayuda contador de vehículos, PIC16f84
« Respuesta #4 en: 24 de Septiembre de 2020, 16:19:10 »
...
Se supone que se tiene que hacer en texto plano, assembler

 :shock:    ¿Y texto plano implica assembler?