Autor Tema: Consejos i ideas para proyecto con PIC16F876  (Leído 2357 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado albertet_123

  • PIC10
  • *
  • Mensajes: 1
Consejos i ideas para proyecto con PIC16F876
« en: 05 de Noviembre de 2010, 09:53:12 »
Hola a todos, a ver soy nuevo en todo este mundillo de los PIC i tal, i la verdad hay que decir que esta muy interesante todo esto. Soy estudiante i tengo que hacer un proyecto para entregar que consiste en lo siguiente:

-> Implementar un reloj digital con el PIC16F876. El diseño consiste en:
                      - Reloj en tiempo real
                      - Control de la data
                      - Desperatador
                      - Temporizador de cuenta atras
                      - Cronometro
                      - Mesura de la temperatura
                      - Concurrencia entre las funciones

-> El sistema estara dividido en tres modos:
                       - DISPLAY1: este me tiene de mostrar por una pantalla LCD de 2x16 la HH:MM, AM/PM, DD/MM, ON/OFF del alarma, HHD:MMD del alarma i la Temperatura
                       - DISPLAY2: fucion de cuenta atras, mostrar por el LCD HH:MM:SS
                       - DISPLAY3: funcion de cronometro, mosttar por LCD HH:MM:SS:CC (las C son centecimas)

      Para canviar de modos de operación tengo un polsador conectado al pin RB0 para las interrupciones externas. Cada vez que pulse el polsador canvia de modo: 
        DISPLAY1->DISPLAY2->DISPLAY3->DISPLAY1

Bueno, a parte del polsador conectado a las interrupciones externas dispongo de otros polsadores en la placa i de un teclado para dar las ordenes de entrada de datos i moverme entre HH i MM i SS, etc.. es lo de menos.

Hi ahora mis dudas:
              - Mis dudas viene a la hora de hacer la concurrencia entre funciones, eso es que todas las funciones nombradas puda funcionar simultaneamente independientemente del
                modo en que este, por ejemplo salir de la cuenta atras antes de que esta acabe i poder seleccionar qualquiera de los otros dos modos de operacion de manera que la cuenta
                atras continue; esta al llegar a cero me dara una senyal luminosa en unos leds.
   
                Pues la duda es que no se como hacer para implementar esta concurrencia. Alguna idea?? Supongo que deve ser a partir de variables globales que modifico en las
                interrupciones o alguna cosa asi, la verad es ke no lo tengo muy claro esto.

              - Otra duda es al momento de programar reloj con tiempo real, me iteresa que me canvie exactamente cada segundo, i claro tengo de tener en cuenta los tiempos de latencia
                del hardware, de software, de servicio de la rutina de interrupciones general, etc.. para que el reloj no me adelante ni atrase segundos cada X tiempo. He pensado de
               hacer-lo con el TIMER1 que me daria menos margen de error, pero incluso asi este pekeñito error existe y no se como corregir-lo.

              - I por ultimo para que el cronometro me de las centesimas no se como ratar-lo


Bueno eso son mis dudas, espero que me podais dar algun consejo/ideas para seguir adelante. Gracias!!!!

P.D. El proyecto es todo en C.