INGENIERÍA ELECTRÓNICA
OBJETIVO: Utilizar los Puertos del Microcontrolador PIC, como interface digital al mundo
exterior.

1.- Escribir en el Puerto B el valor de 55h
                                        CÓDIGO:

Program practica1
Trisb=0
main:
portb=$55
delay_ms (1000)
end.
                                     ALGORITMO:
ENTRADA:      Número Binario 55h
SALIDA:       En el puerto B el valor de 55h
PROCESO:      Escribo en el Puerto B el valor 55h
              Retardo de 1 segundo

                                DIAGRAMA DE FLUJO:




                                 INGENIERÍA ELECTRÓNICA
ESQUEMATICO:




                                  SIMULACIÓN:




2.- Escribir en el Puerto B el valor de AA

                                   CODIGO:
program practica2
trisb=0
main:
portb=AA



                             INGENIERÍA ELECTRÓNICA
delay_ms (1000)
end.
                                     ALGORITMO:
ENTRADA:      Número Binario AA
SALIDA:       En el puerto B el valor AA
PROCESO:      Escribo en el Puerto B el valor AA
              Retardo de 1 segundo


                                DIAGRAMA DE FLUJO:




                                     ESQUEMATICO:




                                 INGENIERÍA ELECTRÓNICA
SIMULACIÓN:




3.- Escribir en el Puerto C el valor de F0
                                           CÓDIGO:

program practica3
trisc=0
main:
portc=FO
delay_ms (1000)
end.
                                        ALGORITMO:

ENTRADA:      Número Binario F0
SALIDA:       En el puerto C el valor F0
PROCESO:      Escribo en el Puerto C el valor FO
              Retardo de 1 segundo
                                   DIAGRAMA DE FLUJO:




                                   INGENIERÍA ELECTRÓNICA
ESQUEMATICO:




                                 SIMULACIÓN:




4.- Leer en el Puerto C y Escribir en el Puerto B
                                    CÓDIGO:

program practica 13
dim valor as byte


                             INGENIERÍA ELECTRÓNICA
main:
lazo:
trisc= $ff
trisb=0
valor=portc
portb=valor
goto lazo
end.
                                      ALGORITMO:

ENTRADA:      Valores de Entrada en el Puerto C.
SALIDA:       Señales que ingresan por el Puerto C y Salen por el Puerto B .
PROCESO:      Defino la variable valor para Guardar los datos de Entrada.
              Habilito el Puerto C como Entrada y el Puerto B como Salida.
              Leo a través del Puerto C.
              Guardo los Datos que ingresan por el Puerto C en la variable valor.
              Escribo estos datos el Puerto B.

                                 DIAGRAMA DE FLUJO:




                                 INGENIERÍA ELECTRÓNICA
ESQUEMATICO:




     SIMULACIÓN:




INGENIERÍA ELECTRÓNICA
5.-Ejercicio de aplicación: Leer en el Puerto A y Escribir en el D
                                        CODIGO:
Program lecturaescrituAD
dim valor as byte
main:
lazo:
trisa=$FF
trisd=0
valor=porta
portd=valor
goto lazo
end.
                                      ALGORITMO:

ENTRADA:      Valores de Entrada en el Puerto A.
SALIDA:       Señales que ingresan por el Puerto A y Salen por el Puerto D .
PROCESO:      Defino la variable valor para Guardar los datos de Entrada.
              Habilito el Puerto A como Entrada y el Puerto D como Salida.
              Leo a través del Puerto A.
              Guardo los Datos que ingresan por el Puerto D en la variable valor.
              Escribo estos datos el Puerto D.

                                 DIAGRAMA DE FLUJO:




                                INGENIERÍA ELECTRÓNICA
ESQUEMATICO EN PROTEUS:




      SIMULACIÓN:




   INGENIERÍA ELECTRÓNICA
6.- Escribir en un display de / segmentos sin utilizar decodificador, un valor
ascendente entre 0 y F

                                       CÓDIGO:
program practica14
trisb=$0
main:
lazo:
portb$=%00111111
delay_ms(2000)
portb=%00000110
delay_ms(2000)
portb$=%01011011
delay_ms(2000)
portb=%01001111
delay_ms(2000)
portb$=%01100110
delay_ms(2000)
portb=%01101101
delay_ms(2000)
portb$=%01111101
delay_ms(2000)
portb=%00000111
delay_ms(2000)
portb=%01111111
delay_ms(2000)
portb=%01100111
delay_ms(2000)
portb=%01110111
delay_ms(2000)
portb=%01111100
delay_ms(2000)
portb=%01011000
delay_ms(2000)
portb=%01011110
delay_ms(2000)
portb=%01111001
delay_ms(2000)
portb=%01110001
delay_ms(2000)
goto lazo
end.
                                    ALGORITMO:

ENTRADA:      Valores de A a F.
SALIDA:       Código Binario ente 0 y F en el puerto B del microcontrolador.

                                INGENIERÍA ELECTRÓNICA
PROCESO:   Defino el código binario para cada valor.
           Escribo el código Binario para cada valor en el Puerto B.
           Retardo de dos Segundos.
           Hago lo mismo hasta llegar a la letra F.

                             DIAGRAMA DE FLUJO:




                                 ESQUEMATICO:




                              INGENIERÍA ELECTRÓNICA
SIMULACIÓN:




7. Ejercicio de aplicación mediante un display mostrar en orden
descendente todas las letras del alfabeto de la Z a la A.
                                  CODIGO:

program practicaalfa
 trisb=$0
trisc=$0
main:
    lazo:
       portb=%00110011
       portc=%10001000


                         INGENIERÍA ELECTRÓNICA
delay_ms(1000)
portb=%00000000
portc=%10001010
delay_ms(1000)
portb=%00000000
portc=%10101010
delay_ms(1000)
portb=%11111100
portc=%00000000
delay_ms(1000)
portb=%11111100
portc=%00000000
delay_ms(1000)
portb=%00000011
portc=%01000100
delay_ms(1000)
portb=%11000111
portc=%00110001
delay_ms(1000)
portb=%10111011
portc=%00010001
delay_ms(1000)
portb=%11000111
portc=%00010001
delay_ms(1000)
portb=%11111111
portc=%00000000
delay_ms(1000)
portb=%11001100
portc=%00100010
delay_ms(1000)
portb=%11001100
portc=%00001010
delay_ms(1000)
portb=%11110000
portc=%00000000
delay_ms(1000)
portb=%11000000
portc=%00101001
delay_ms(1000)
portb=%01100011
portc=%01000100
delay_ms(1000)
portb=%00110011


                  INGENIERÍA ELECTRÓNICA
portc=%01000100
     delay_ms(1000)
     portb=%11001100
     portc=%00010001
     delay_ms(1000)
     portb=%11111011
     portc=%00010000
     delay_ms(1000)
     portb=%11000011
     portc=%00000001
     delay_ms(1000)
     portb=%11110011
     portc=%00000001
     delay_ms(1000)
     portb=%11111111
     portc=%00000000
     delay_ms(1000)
     portb=%11110011
     portc=%00000000
     delay_ms(1000)
     portb=%11111111
     portc=%00010001
     delay_ms(1000)
     portb=%11001111
     portc=%00010001
     delay_ms(1000)

  goto lazo
end.
                                     ALGORITMO:

ENTRADA:      Valores de Z la A.
SALIDA:       Código Binario ente 0 y F en el puerto B y C del microcontrolador.
PROCESO:      Defino el código binario para cada letra.
              Escribo el código Binario para cada valor en el Puerto B y C.
              Retardo de dos Segundos.
              Hago lo mismo hasta llegar a la letra A.




                                INGENIERÍA ELECTRÓNICA
DIAGRAMA DE FLUJO:




  ESQUEMATICO:




INGENIERÍA ELECTRÓNICA
SIMULACIÓN:




INGENIERÍA ELECTRÓNICA
8.- Lógica booleana con Microcontrolador:
                                CODIGO:
program practica15
trisc=$ff
trisb=$0
main:
portb.0=portc.0 and portc.1
portb.1=portc.2 or portc.3
portb.2= portc.4 xor portc.5
goto main
end.
                                     ALGORITMO:

ENTRADA:       Valores de Z la A.
SALIDA:        Código Binario ente 0 y F en el puerto B y C del microcontrolador.
PROCESO:       Configuro el Puerto C como entradas.
               Configuro el Puerto B como Salidas.
               Realizo la Operación And con las entradas del puertoc.0 y puertoc.1.
               Muestro en el Puertob.0 estos resultados.
               Realizo la Operación Or con las entradas del puertoc.2 y puertoc.3.
               Muestro en el Puertob.1 estos resultados.
               Realizo la Operación Xor con las entradas del puertoc.4 y puertoc.5.
               Muestro en el Puertob.2 estos resultados.

                                  DIAGRAMA DE FLUJO:




                                 INGENIERÍA ELECTRÓNICA
ESQUEMATICO:




              SIMULACIÓN:
             Operación And:
Portc.0 And Portc.1            Portb.0
    0       0                      0
    0       1                      0
    1       0                      0
    1       1                      1




          INGENIERÍA ELECTRÓNICA
Operación Or:
Portc.2 Or Portc.3             Portb.1
   0         0                    0
   0         1                    1
   1         0                    1
   1         1                    1




          INGENIERÍA ELECTRÓNICA
Operación Xor:
Portc.4 Xor Portc.5            Portb.2
   0         0                    0
   0         1                    1
   1         0                    1
   1         1                    0




          INGENIERÍA ELECTRÓNICA
RECOMENDACIONES:

Realizar las conexiones correctas entre la placa de Microcontroladores y los dispositivos
externos para realizar los ejercicios de una forma rápida.

Buscar información de las herramientas utilizadas como son: placa de programación de
Micros, PIcs, displays etc.

CONCLUSIONES:

La programación en MiKrobasic se hace más fácil sabiendo direccionar las entradas y
Salidas correctamente.
El PIC16F877A nos permite controlar diferentes dispositivos como Displays, Salidas para
Leds gracias a los pines de Entrada y Salida que tiene.

A través de la placa de Microcontroladores se facilita la conexión entre esta y el
computador para poder programar más rápido el PIC.

BIBLIOGRAFÍA:
Hojas de las Prácticas de Microcontroladores PIcs.
Ayuda del Programa Microbasic.
Manual del Microcontrolador 16F877A.
Manual de la placa de Implementación QL-Program.
Ayuda del Programa Proteus 7.6. Para las simulaciones.




                                INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
Ejercicio 1: Puerto B el valor de 55h


       INGENIERÍA ELECTRÓNICA
Ejercicio 2: Puerto B el valor de AA


       INGENIERÍA ELECTRÓNICA
Ejercicio 3: Puerto C el valor de F0

       INGENIERÍA ELECTRÓNICA
Ejercicio 4: Leer en el Puerto C y Escribir en el Puerto B




Ejercicio 5: Leer en el Puerto A y Escribir en el D


                  INGENIERÍA ELECTRÓNICA
Ejercicio 6: Display de 7 segmentos




       INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
EJERCICIO 7: DISPLAY ALFANUMERICO



       INGENIERÍA ELECTRÓNICA
INGENIERÍA ELECTRÓNICA
EJERCICIO 8: LÓGICA BOOLEANA




     INGENIERÍA ELECTRÓNICA

Control De Puertos Pic 16

  • 1.
  • 2.
    OBJETIVO: Utilizar losPuertos del Microcontrolador PIC, como interface digital al mundo exterior. 1.- Escribir en el Puerto B el valor de 55h CÓDIGO: Program practica1 Trisb=0 main: portb=$55 delay_ms (1000) end. ALGORITMO: ENTRADA: Número Binario 55h SALIDA: En el puerto B el valor de 55h PROCESO: Escribo en el Puerto B el valor 55h Retardo de 1 segundo DIAGRAMA DE FLUJO: INGENIERÍA ELECTRÓNICA
  • 3.
    ESQUEMATICO: SIMULACIÓN: 2.- Escribir en el Puerto B el valor de AA CODIGO: program practica2 trisb=0 main: portb=AA INGENIERÍA ELECTRÓNICA
  • 4.
    delay_ms (1000) end. ALGORITMO: ENTRADA: Número Binario AA SALIDA: En el puerto B el valor AA PROCESO: Escribo en el Puerto B el valor AA Retardo de 1 segundo DIAGRAMA DE FLUJO: ESQUEMATICO: INGENIERÍA ELECTRÓNICA
  • 5.
    SIMULACIÓN: 3.- Escribir enel Puerto C el valor de F0 CÓDIGO: program practica3 trisc=0 main: portc=FO delay_ms (1000) end. ALGORITMO: ENTRADA: Número Binario F0 SALIDA: En el puerto C el valor F0 PROCESO: Escribo en el Puerto C el valor FO Retardo de 1 segundo DIAGRAMA DE FLUJO: INGENIERÍA ELECTRÓNICA
  • 6.
    ESQUEMATICO: SIMULACIÓN: 4.- Leer en el Puerto C y Escribir en el Puerto B CÓDIGO: program practica 13 dim valor as byte INGENIERÍA ELECTRÓNICA
  • 7.
    main: lazo: trisc= $ff trisb=0 valor=portc portb=valor goto lazo end. ALGORITMO: ENTRADA: Valores de Entrada en el Puerto C. SALIDA: Señales que ingresan por el Puerto C y Salen por el Puerto B . PROCESO: Defino la variable valor para Guardar los datos de Entrada. Habilito el Puerto C como Entrada y el Puerto B como Salida. Leo a través del Puerto C. Guardo los Datos que ingresan por el Puerto C en la variable valor. Escribo estos datos el Puerto B. DIAGRAMA DE FLUJO: INGENIERÍA ELECTRÓNICA
  • 8.
    ESQUEMATICO: SIMULACIÓN: INGENIERÍA ELECTRÓNICA
  • 9.
    5.-Ejercicio de aplicación:Leer en el Puerto A y Escribir en el D CODIGO: Program lecturaescrituAD dim valor as byte main: lazo: trisa=$FF trisd=0 valor=porta portd=valor goto lazo end. ALGORITMO: ENTRADA: Valores de Entrada en el Puerto A. SALIDA: Señales que ingresan por el Puerto A y Salen por el Puerto D . PROCESO: Defino la variable valor para Guardar los datos de Entrada. Habilito el Puerto A como Entrada y el Puerto D como Salida. Leo a través del Puerto A. Guardo los Datos que ingresan por el Puerto D en la variable valor. Escribo estos datos el Puerto D. DIAGRAMA DE FLUJO: INGENIERÍA ELECTRÓNICA
  • 10.
    ESQUEMATICO EN PROTEUS: SIMULACIÓN: INGENIERÍA ELECTRÓNICA
  • 11.
    6.- Escribir enun display de / segmentos sin utilizar decodificador, un valor ascendente entre 0 y F CÓDIGO: program practica14 trisb=$0 main: lazo: portb$=%00111111 delay_ms(2000) portb=%00000110 delay_ms(2000) portb$=%01011011 delay_ms(2000) portb=%01001111 delay_ms(2000) portb$=%01100110 delay_ms(2000) portb=%01101101 delay_ms(2000) portb$=%01111101 delay_ms(2000) portb=%00000111 delay_ms(2000) portb=%01111111 delay_ms(2000) portb=%01100111 delay_ms(2000) portb=%01110111 delay_ms(2000) portb=%01111100 delay_ms(2000) portb=%01011000 delay_ms(2000) portb=%01011110 delay_ms(2000) portb=%01111001 delay_ms(2000) portb=%01110001 delay_ms(2000) goto lazo end. ALGORITMO: ENTRADA: Valores de A a F. SALIDA: Código Binario ente 0 y F en el puerto B del microcontrolador. INGENIERÍA ELECTRÓNICA
  • 12.
    PROCESO: Defino el código binario para cada valor. Escribo el código Binario para cada valor en el Puerto B. Retardo de dos Segundos. Hago lo mismo hasta llegar a la letra F. DIAGRAMA DE FLUJO: ESQUEMATICO: INGENIERÍA ELECTRÓNICA
  • 13.
    SIMULACIÓN: 7. Ejercicio deaplicación mediante un display mostrar en orden descendente todas las letras del alfabeto de la Z a la A. CODIGO: program practicaalfa trisb=$0 trisc=$0 main: lazo: portb=%00110011 portc=%10001000 INGENIERÍA ELECTRÓNICA
  • 14.
  • 15.
    portc=%01000100 delay_ms(1000) portb=%11001100 portc=%00010001 delay_ms(1000) portb=%11111011 portc=%00010000 delay_ms(1000) portb=%11000011 portc=%00000001 delay_ms(1000) portb=%11110011 portc=%00000001 delay_ms(1000) portb=%11111111 portc=%00000000 delay_ms(1000) portb=%11110011 portc=%00000000 delay_ms(1000) portb=%11111111 portc=%00010001 delay_ms(1000) portb=%11001111 portc=%00010001 delay_ms(1000) goto lazo end. ALGORITMO: ENTRADA: Valores de Z la A. SALIDA: Código Binario ente 0 y F en el puerto B y C del microcontrolador. PROCESO: Defino el código binario para cada letra. Escribo el código Binario para cada valor en el Puerto B y C. Retardo de dos Segundos. Hago lo mismo hasta llegar a la letra A. INGENIERÍA ELECTRÓNICA
  • 16.
    DIAGRAMA DE FLUJO: ESQUEMATICO: INGENIERÍA ELECTRÓNICA
  • 17.
  • 18.
    8.- Lógica booleanacon Microcontrolador: CODIGO: program practica15 trisc=$ff trisb=$0 main: portb.0=portc.0 and portc.1 portb.1=portc.2 or portc.3 portb.2= portc.4 xor portc.5 goto main end. ALGORITMO: ENTRADA: Valores de Z la A. SALIDA: Código Binario ente 0 y F en el puerto B y C del microcontrolador. PROCESO: Configuro el Puerto C como entradas. Configuro el Puerto B como Salidas. Realizo la Operación And con las entradas del puertoc.0 y puertoc.1. Muestro en el Puertob.0 estos resultados. Realizo la Operación Or con las entradas del puertoc.2 y puertoc.3. Muestro en el Puertob.1 estos resultados. Realizo la Operación Xor con las entradas del puertoc.4 y puertoc.5. Muestro en el Puertob.2 estos resultados. DIAGRAMA DE FLUJO: INGENIERÍA ELECTRÓNICA
  • 19.
    ESQUEMATICO: SIMULACIÓN: Operación And: Portc.0 And Portc.1 Portb.0 0 0 0 0 1 0 1 0 0 1 1 1 INGENIERÍA ELECTRÓNICA
  • 20.
    Operación Or: Portc.2 OrPortc.3 Portb.1 0 0 0 0 1 1 1 0 1 1 1 1 INGENIERÍA ELECTRÓNICA
  • 21.
    Operación Xor: Portc.4 XorPortc.5 Portb.2 0 0 0 0 1 1 1 0 1 1 1 0 INGENIERÍA ELECTRÓNICA
  • 22.
    RECOMENDACIONES: Realizar las conexionescorrectas entre la placa de Microcontroladores y los dispositivos externos para realizar los ejercicios de una forma rápida. Buscar información de las herramientas utilizadas como son: placa de programación de Micros, PIcs, displays etc. CONCLUSIONES: La programación en MiKrobasic se hace más fácil sabiendo direccionar las entradas y Salidas correctamente. El PIC16F877A nos permite controlar diferentes dispositivos como Displays, Salidas para Leds gracias a los pines de Entrada y Salida que tiene. A través de la placa de Microcontroladores se facilita la conexión entre esta y el computador para poder programar más rápido el PIC. BIBLIOGRAFÍA: Hojas de las Prácticas de Microcontroladores PIcs. Ayuda del Programa Microbasic. Manual del Microcontrolador 16F877A. Manual de la placa de Implementación QL-Program. Ayuda del Programa Proteus 7.6. Para las simulaciones. INGENIERÍA ELECTRÓNICA
  • 23.
  • 24.
    Ejercicio 1: PuertoB el valor de 55h INGENIERÍA ELECTRÓNICA
  • 25.
    Ejercicio 2: PuertoB el valor de AA INGENIERÍA ELECTRÓNICA
  • 26.
    Ejercicio 3: PuertoC el valor de F0 INGENIERÍA ELECTRÓNICA
  • 27.
    Ejercicio 4: Leeren el Puerto C y Escribir en el Puerto B Ejercicio 5: Leer en el Puerto A y Escribir en el D INGENIERÍA ELECTRÓNICA
  • 28.
    Ejercicio 6: Displayde 7 segmentos INGENIERÍA ELECTRÓNICA
  • 29.
  • 30.
    EJERCICIO 7: DISPLAYALFANUMERICO INGENIERÍA ELECTRÓNICA
  • 31.
  • 32.
    EJERCICIO 8: LÓGICABOOLEANA INGENIERÍA ELECTRÓNICA