viernes, 19 de julio de 2013

Microcontroladores PIC en mikroC 3 - Boton (LED Prendido o Apagado)

En el siguiente programa el LED conectado en el Puerto RB0 cambiara de estado (Prendido-Apagado) si es que se presiona el pulsador en el Puerto RD1.

A continuación se muestra el diagrama de conexiones en el simulador ISIS de PROTEUS y el diagrama de flujo del programa.

Diagrama de conexiones. (clic en la imagen para ampliar)



 Diagrama de Flujo (clic en la imagen para ampliar)


Código empleado en el programa.

int estado    = 0;                      // variables a utilizar
int estadoAnt = 0;
int salida    = 0;

void main() {
    ANSEL  = 0x00;                      // puertos E/S digital
    ANSELH = 0x00;
    C1ON_bit = 0x00;                    // se apagan los comparadores
    C2ON_bit = 0x00;
   
    TRISB = 0x00;                       // puerto B como salida
    TRISD.F1 = 1;                       // puerto D1 como entrada
    PORTB = 0x00;                       // inicialización del puerto.

    while(1){
        estado = Button(&PORTD,1,1,1);  // regresa 0 ó 255 la libreria de boton
                                        // para antirrebotes de microC
                                        // parametro1: pide el puerto
                                        // parametro2: numero del puerto RD1
                                        // parametro3: tiempo en ms: 1ms
                                        // parametro4: pregunta por el estado
                                                     //pregunta por un alto :1
                                       

        /* para un mejor entendimiento del código se sugiere
           ver el diagrama de flujo adjunto */

        if((estado == 255) && (estadoAnt == 0)){
            salida = 1 - salida;
        }
        estadoAnt = estado;
        if(salida == 1){
            PORTB = 255;
        }
        else{
            PORTB = 0;
        }
    }
}



A continuación se adjuntan los archivos para descargar el proyecto, el archivo .hex para el microcontrolador y la simulacion en ISIS.

Descargar 

3 comentarios:

  1. excelente segui adelante con tu blog amigo subi mas apuntes y libros

    ResponderEliminar
  2. Hola, muchas gracias. Procurare publicar mas seguido. Saludos!!

    ResponderEliminar
  3. hola amigo
    no se si me puedes ayudar pero necesito prender y apagar un led con un solo botón pero no utilizo ese programa esk es para mi escuela
    y es la primera vez que nos enseñan a programar pero nos pide que prendamos y apaguemos un led con un pulso prenda y con otro apague con un mismo botón
    pero el programa que nos están enseñando a utilizar es

    Mikro basic pro

    no se si me puedas ayudar

    si es asi este es mi correo electrónico

    takeshitakimi@hotmail.com

    ResponderEliminar