MICROCONTROLADORES: LED ENCIENDE Y APAGA CON UN PULSADOR.

Explicación del circuito:

Si RA0 se encuentra en estado bajo, el led enciende en un segundo y si RA0 se encuentra en estado alto, el led se apaga en un segundo.

Materiales:

  • Un pic16f887.
  • Un led rojo.
  • Una resistencia de 220Ω.
  • Una resistencia de 10kΩ.
  • Un pulsador. 

Simulación.

microcontroladores circuito led pulsador

Funciones utilizadas en el programa:

#INCLUDE <16F887.h>: La librería a utilizar es la del pic16F887

#USE DELAY(CLOCK=4000000): Se configura la frecuencia del reloj del sistema a 4MHZ.

#FUSES XT, NOPROTECT,NOWDT:  Son los bits de configuración. En donde:

#FUSES XT: Se habilita el oscilador del sistema. 

#FUSES NOPROTECT: Se deshabilita la protección contra lectura de la FLASH.

#FUSES NOWDT: Se deshabilita el Watch Dog Timer.

#BYTE PORTA=5 / #BYTE PORTA=0X05: Se define el puerto A, que se sitúa en la dirección 0X05 de la memoria RAM.

#BYTE PORTB=6 / #BYTE PORTB=0X06: Se define puerto B , que se sitúa en la dirección 0X06 de la memoria RAM. 

#DEFINE SW1 PORTA, 0: El pulsador se coloca en el pin cero del puerto A.

#DEFINE LED  PORTB, 7: El led se coloca en el pin siete del puerto B(RB7).

SET_TRIS_A(255): Para configurar el puerto A como entrada digital. En este caso, se trabaja con decimal; pero también se puede trabajar con binario de la siguiente forma: 0B11111111.

SET_TRIS_B(0B01111111): Se configura el pin siete del puerto B(RB7), como salida digital. 

SET_TRIS_C(255): Se configura el puerto C como entradas digitales. Como se está trabajando con decimal, también es posible trabajar con binario de la siguiente manera: 0B11111111.

BIT_CLEAR(LED)/ BIT_CLEAR(PORTB,7): Pone en cero el bit  de la variable (el puerto B). Entonces el led se encuentra apagado.

BIT_SET(LED)/BIT_SET(PORTB, 7): Pone en uno el bit de la variable(el puerto B). Entonces el led está encendido. 

BIT_TEST(SW1)/BIT_TEST(PORTA,0): Pone en uno el bit de la variable, en este caso, el puerto A. Pero como está negado en el programa !BIT_TEST(SW1)/!BIT_TEST(PORTA,0), devuelve un cero. 

 

Simulación.

codigo fuente.

//Parpadea el led  si RA0=bajo y si RA0=alto,el LED=apagado.LED esta en RB7

#INCLUDE <16F887.h>
//Es el reloj o frecuencia que se usa para generar retardos
#USE DELAY(CLOCK=4000000)
//Bit de configuración inicial que se habilitan o desabilitan para que pueda trabjar el microcontrolador
#FUSES XT,NOPROTECT,NOWDT

//Define los registros 
//El cinco y el seis son las posiciones de memoria de la memoria RAM
#BYTE PORTA=5
#BYTE PORTB=6

//Definición de entrada/salidas
#DEFINE SW1  PORTA,0  //Swiche se va a colocar en RA0
#DEFINE LED  PORTB,7  //Led se coloca en RB7

main(){

//Con TRIS, esta instrucción indica que se esta trabajando como digitales
SET_TRIS_B(0B01111111);    //OB inidica que se esta trabajando en binario, RB7 es configurado como salida digital 
SET_TRIS_A(255);   //Aquí se trabaja en decimal y se puede poner en binario como 0B11111111, es configurado entrada digitales
SET_TRIS_C(255);   //Aquí se trabaja en decimal y se puede poner en binario como 0B11111111,  es configurado entrada digitales
BIT_CLEAR(LED);   //El led inicialmente esta apagado 

WHILE(1){      
    IF(!BIT_TEST(SW1)){  //BIT_TEST, evalua que lo haya en parentesis valga uno; pero en este caso esta negado y vale cero 
          BIT_SET(LED);  //Prende led
          DELAY_MS(1000);  //Retardo
          BIT_CLEAR(LED); //Apagar led
          DELAY_MS(1000); //Retardo
         }
           ELSE{
            BIT_CLEAR(LED);  //Apaga led
           }
       }
     }


CONTENIDOS MÁS RELEVANTES.

LOS MEJORES SITIOS PARA APRENDER ELECTRICIDAD GENERAL

Que tal compañeros: ¿ como están? pues espero que se encuentren de maravilla ¡así como yo también! el día de ...
Leer Más

LOS MEJORES SITIOS PARA APRENDER ELECTRONICA

 LOS MEJORES SITIOS PARA APRENDER ELECTRONICA nuestra red global llamada Internet está inundada de muchos sitios para aprender electrónica de ...
Leer Más
plc aprender a programar

PLC: APRENDER A PROGRAMAR

PLC: APRENDER A PROGRAMAR Que tal amigos. ¿como están? ¿quieren aprender a programar PLCs? ¿estás buscando sitios que te ofrezcan ...
Leer Más

LOS MEJORES SITIOS PARA APRENDER ROBOTICA COMPLETAMENTE GRATIS.

saludos compañeros. Les cuento que el día de hoy estuve en una búsqueda exhaustiva por buscar los mejores sitios para ...
Leer Más
libros de ingeniería electrónica

DESCARGAR GRATIS LIBROS DE ELECTRÓNICA

como descargar los libros gratis de electrónica saludos amigos, el día de hoy les comparto una serie de links  que ...
Leer Más
instrumentación

LOS MEJORES SITIOS PARA APRENDER INSTRUMENTACIÓN Y CONTROL

 En el post de hoy hablaré de 5 sitios web que marcan la diferencia para aprender todo lo que necesitas ...
Leer Más

MICROCONTROLADORES: CURSO COMPLETAMENTE GRATIS.

nota: estos cursos no pertenecen a sensoricx. Recuerda que debes suscribirte al canal https://www.youtube.com/channel/UCwbBivwbFv8GVitX5dKzPFQ antes de empezar el curso. VIDEO ...
Leer Más
plc siemens

PLC: CURSO COMPLETAMENTE GRATIS.

Saludos compañeros. A continuación les comparto una serie de vídeos que les servirán para su formación técnica en programación de ...
Leer Más
destacada

APRENDE LABVIEW CON ESTOS SENCILLOS TUTORIALES

saludos compañeros. El día de hoy les comparto una serie de vídeos relacionados con el entorno de desarrollo de LABVIEW ...
Leer Más
igbt

IGBT. QUE ES- PARA QUE SIRVE- COMO FUNCIONA

IGBT QUE ES- PARA QUE SIRVE- COMO FUNCIONA Hablar de los IGBT son mayores palabras puesto que estos transistores son ...
Leer Más
inversor de giro de motor trifasico

INVERSOR DE GIRO DE MOTOR TRIFÁSICO

INVERSOR DE GIRO DE MOTOR TRIFÁSICO En la reciente práctica  de laboratorio se trabajó con el circuito inversor de giro ...
Leer Más

CONTROL ELECTRICO-INTRODUCCION

CONTROL ELECTRICO-INTRODUCCION Dentro de los sistemas de control electromagnético o sistemas cableados destacamos como elemento principal el contactor.   El ...
Leer Más

fabio figueroa

soy el administrador del sitio web. si tienes alguna duda, no dudes en contactarme

11 comentarios en «MICROCONTROLADORES: LED ENCIENDE Y APAGA CON UN PULSADOR.»

  • el diciembre 19, 2020 a las 12:44 pm
    Enlace permanente

    Only wanna input on few general things, The website pattern is perfect, the subject matter is really superb : D. Arlee Merry Culley

    Respuesta
  • el diciembre 19, 2020 a las 3:47 pm
    Enlace permanente

    I was studying some of your blog posts on this internet site and I conceive this web site is very instructive! Retain posting . Daffie Mitchell Heimer

    Respuesta
  • el diciembre 19, 2020 a las 5:33 pm
    Enlace permanente

    This excellent website really has all the information I wanted about this subject and didn at know who to ask. Retha Barton Durtschi

    Respuesta
  • el diciembre 19, 2020 a las 8:19 pm
    Enlace permanente

    I love looking through an article that can make people think. Also, many thanks for allowing me to comment. Ava Jamey Dalston

    Respuesta
  • el diciembre 19, 2020 a las 10:47 pm
    Enlace permanente

    Dear Satyendra, Kanpur University BSc Time Table 2020 link is available in this article. Debra Wolfy Mihalco

    Respuesta
  • el diciembre 20, 2020 a las 12:24 am
    Enlace permanente

    Amazing! Its actually remarkable paragraph, I have got much clear idea concerning from this piece of writing. Emilie Shane Suzanne

    Respuesta
  • el diciembre 23, 2020 a las 1:48 am
    Enlace permanente

    Post writing is another fun, in the event you know then it is possible to write if not it is actually complicated to create. Orsa Waylen Bunce

    Respuesta
  • el diciembre 23, 2020 a las 3:42 am
    Enlace permanente

    I quite like reading through a post that will make people think. Also, thank you for allowing for me to comment. Jocelin Lew Tuppeny

    Respuesta
  • el diciembre 23, 2020 a las 7:01 am
    Enlace permanente

    Very good blog! Do you have any hints for aspiring writers? I am hoping to start my own site soon but I am a little lost on everything. Hollyanne Pascale Mabelle

    Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *