You are on page 1of 26

SEPTIEMBRE

FEBRERO 10

UNIVERSIDAD POLITÉCNICA SALESIANA


INFORME DE LA PRÁCTICA 1
ENTRADA Y SALIDA EN EL MICROCONTROLADOR PIC
SISTEMAS MICROPROCESADOS I

DOCENTE
Ing. Electrónico.
Luis Oñate

INGENIERIA ELECTRÓNICA
FECHA: 28 DE SEPTIEMBRE DE 2010

ESTUDIANTES
RUIZ JUAN
DANIEL HUACA
LUIS SANGOQUIZA

UNIVERSIDAD POLITÉCNICA SALESIANA


UNIVERSIDAD POLITÉCNICA SALESIANA

INFORME PRÁCTICA 1

TEMA: ENTRADA Y SALIDA EN EL MICROCONTROLADOR PIC

OBJETIVOS:

1. Utilizar los puertos del microcontrolador pic, como interface digital al mundo
exterior.

DESARROLLO

Para esta práctica utilizaremos el PIC16f877A el cual debemos conocer su


funcionamiento además de cómo utilizarlo.

El PIC 16F877A se denomina microcontrolador a un dispositivo programable capaz


de realizar diferentes actividades que requieran del procesamiento de datos digitales
y del control y comunicación digital de diferentes dispositivos.

Los microcontroladores poseen una memoria interna que almacena dos tipos de
datos; las instrucciones, que corresponden al programa que se ejecuta, y los
registros, es decir, los datos que el usuario maneja, así como registros especiales
para el control de las diferentes funciones del microcontrolador.

Los microcontroladores se programan en Assembler y cada microcontrolador varía su


conjunto de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al número
de instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC
(reducido) o CISC (complejo).

DESCRIPCIÓN DE LOS PUERTOS

Puerto A:

• Puerto de e/s de 6 pines


• RA0 è RA0 y AN0
• RA1 è RA1 y AN1
• RA2 è RA2, AN2 y Vref-
• RA3 è RA3, AN3 y Vref+
• RA4 è RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del modulo
Timer0)
• RA5 è RA5, AN4 y SS (Selección esclavo para el puerto serie síncrono)

Puerto B:

• Puerto e/s 8 pines


• Resistencias pull-up programables
• RB0 è Interrupción externa
• RB4-7 èInterrupcion por cambio de flanco
• RB5-RB7 y RB3 è programacion y debugger in circuit

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Puerto C:

• Puerto e/s de 8 pines


• RC0 è RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del
modulo Timer1).
• RC1-RC2 è PWM/COMP/CAPT
• RC1 è T1OSI (entrada osc timer1)
• RC3-4 è IIC
• RC3-5 è SPI
• RC6-7 è USART

Puerto D:

• Puerto e/s de 8 pines


• Bus de datos en PPS (Puerto paralelo esclavo)
• Puerto E:
• Puerto de e/s de 3 pines
• RE0 è RE0 y AN5 y Read de PPS
• RE1 è RE1 y AN6 y Write de PPS
• RE2 è RE2 y AN7 y CS de PPS

DIAGRAMA DEL PIC16F877A

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Además debemos utilizar el Programa Mikrobasic el cual es de gran ayuda para la


realización de la práctica.

Imagen del programa Mikrobasic

PROBLEMA 1. Escribir en el Puerto B el valor 55h

PROCESO:
Habilitar el puerto B como una salida ademas escribimos en el puerto B: 55h el cual ponemos
un retraso de 1 segundo.

SALIDAS:
El puerto B visualizamos en los leds valor de 55h.

DIAGRAMA DE FLUJO

INICIO

PUERTO B
´SALIDA´
Trisb=0
Delay 1seg.

OBSERVAMOS EN
EL PUERTO B. 55h

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

CÓDIGO DEL PROGRAMA 1 MIKROBASIC

program practica1

' Declarations section

trisb=0 'HABILITA EL PUERTO B COMO SALIDA


main: 'PARTE PRINCIPAL DEL PROGRAMA
' Main program
portb=$55 'ESCRIBE EN EL PUERTO B EL VALOR 55H=01010101
delay_ms(1000) 'RETARDO DE 1 SEGUNDO
end. 'FIN DEL PROGRAMA

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 1

IMAGEN EN EL PROTOBOARD

Imagen del problema 1 realizado en el Protoboard


Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

PROBLEMA 2. Escribir en el Puerto B el valor AA

PROCESO:
Habilitamos el puerto B como una salida además escribimos en el puerto B: AAh con un retardo
de un 1 segundo.

SALIDAS:
El puerto B observamos en los leds el valor AAh.

DIAGRAMA DE FLUJO

INICIO

PUERTO B
´SALIDA´
Trisb=0
Delay 1seg.

OBSERVAMOS EN
EL PUERTO B. AAh

CÓDIGO DEL PROGRAMA 2 MIKROBASIC

program practica2

' Declarations section

trisb=0 'HABILITA EL PUERTO B COMO SALIDA

main: 'PARTE PRINCIPAL DEL PROGRAMA

' Main program


portb=$AA 'ESCRIBE EN EL PUERTO B EL VALOR AA=10101010
delay_ms(1000) 'RETARDO DE 1 SEGUNDO

end. 'FIN DEL PROGRAMA

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 2

IMAGEN EN EL PROTOBOARD

Imagen del problema 2 realizado en el Protoboard

PROBLEMA 3. En el puerto C escribir el valor F0.

PROCESO:
Habilitamos el Puerto B como una salida y escribimos en el puerto C F0h con un retardo de 1
segundo.

SALIDAS:
El puerto C visualizamos en los leds el valor F0h.

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

DIAGRAMA DE FLUJO

INICIO

PUERTO B
´SALIDA´
Trisb=0
Delay 1seg.

OBSERVAMOS EN
EL PUERTO C. F0h

CÓDIGO DEL PROGRAMA 3 MIKROBASIC

program practica3

' Declarations section

trisc=0 'HABILITA EL PUERTO C COMO SALIDA

main: 'PARTE PRINCIPAL DEL PROGRAMA

' Main program


portc=$F0 'ESCRIBE EN EL PUERTO C EL VALOR F0=11110000
delay_ms(1000) 'RETARDO DE 1 SEGUNDO

end. 'FIN DEL PROGRAMA

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 3

IMAGEN EN EL PROTOBOARD

Imagen del problema 3 realizado en el Protoboard

PROBLEMA 4. Leer en el puerto C y escribir en el puerto B

PROCESO:
Habilitamos en el puerto C como entrada y el puerto B como salida además definimos una
variable.
Igualamos la variable en el puerto B para observar el resultado en el puerto B

SALIDAS:
El puerto B observamos en los leds.
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

DIAGRAMA DE FLUJO

INICIO

PUERTO B
´SALIDA´
Trisb=0
valor=portc
portb=valor

OBSERVAMOS EN
EL PUERTO C.

CÓDIGO DEL PROGRAMA 4 MIKROBASIC

program practica4

' Declarations section

dim valor as byte

main: 'PARTE PRINCIPAL DEL PROGRAMA


lazo:
trisc=$ff
trisb=0
valor=portc
portb=valor
goto lazo

end.

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 4

IMAGEN EN EL PROTOBOARD

Imagen del problema 4 realizado en el Protoboard

PROBLEMA 5. Leer en el puerto B y escribir en el puerto D

PROCESO:
Habilitamos en el puerto D como entrada y el puerto B como salida para definir una variable.
Igualamos la variable en el puerto D en el cual presentamos el resultado en el puerto D.

SALIDAS:
El puerto D observamos en los leds.

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

DIAGRAMA DE FLUJO

INICIO

PUERTO B
´SALIDA´
trisb=$ff
trisd=0
valor=portb
portd=valor

OBSERVAMOS EN
EL PUERTO C.

CÓDIGO DEL PROGRAMA 5 MIKROBASIC

program practica5

' Declarations section

dim valor as byte

main: 'PARTE PRINCIPAL DEL PROGRAMA


' Main program
lazo:
trisb=$ff
trisd=0
valor=portb
portd=valor
goto lazo
end.

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 5

IMAGEN EN EL PROTOBOARD

Imagen del problema 5 realizado en el Protoboard

PROBLEMA 6. Escribir en un display de 7 segmentos sin utilizar decodificador, un


valor ascendente entre 0 y F.

PROCESO:
Definimos el código binario para cada valor escribiendo el código en el puerto B.
Retardamos 2 segundos el cual se repita el programa hasta F.

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

SALIDAS:
El código Binario de 0 a F en el puerto B el cual observamos en el display.

DIAGRAMA DE FLUJO

INICIO

PUERTO B COMO
SALIDA

RETARDO DE DOS
SEGUNDO

VISUALIZACION DE
DATOS EN DISPLAY

CÓDIGO DEL PROGRAMA 6 MIKROBASIC

program practica6

' Declarations section


trisb=$0
'conectar a=portb.0;b=portb.1;c=portb.2;d=portb.3;e=portb.4;f=portb.5; g=portb.6;
'El display debe ser cátodo comun

main:
' Main program
lazo:
portb=%00111111 'formato para trabajar en binario
delay_ms(2000) 'retardo 2seg.
portb=%00000110
delay_ms(2000)
portb=%01011011
delay_ms(2000)
portb=%01001111
delay_ms(2000)
portb=%01100110
delay_ms(2000)
portb=%01101101
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

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.

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 6

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Imagen de la simulación del problema 6

IMAGEN EN EL PROTOBOARD

Imagen del problema 6 realizado en el Protoboard

Imagen del problema 6 realizado en el Protoboard

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Imagen del problema 6 realizado en el Protoboard

PROBLEMA 7. Mediante un Display alfanumérico mostrar en orden descendente


todas las letras del alfabeto de la Z a la A

PROCESO:
Definimos el código binario del alfabeto además escribimos el código para cada letra en los
puertos B y C.
Ponemos un retardo de 1 segundo para que se repita el proceso.

SALIDAS:
Las letras desde la Z a la A podemos visualizarlas en el display alfanumérico.

DIAGRAMA DE FLUJO

INICIO

PUERTO B Y C COMO
SALIDA

RETARDO DE UN
SEGUNDO

VISUALIZACION DE DATOS EN
DISPLAY ALFANUMERICO

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

CÓDIGO DEL PROGRAMA 7 MIKROBASIC

program practica7

' Declarations section

main:
trisb = $0
trisc = $0

' Main program


lazo:
portb = %11001011 'z
portc = %11010011
delay_ms(1000)
portb = %11110111 'y
portc = %10110111
delay_ms(1000)
portb = %11101101 'x
portc = %10110111
delay_ms(1000)
portb = %10101100 'w
portc = %01111101
delay_ms(1000)
portb = %11111111 'v
portc = %10110111
delay_ms(1000)
portb = %10011010 'u
portc = %01111101
delay_ms(1000)
portb = %11110111 't
portc = %11001011
delay_ms(1000)
portb = %01011010 's
portc = %01011010
delay_ms(1000)
portb = %00111101 'r
portc = %01010011
delay_ms(1000)
portb = %10011000 'q
portc = %01011001
delay_ms(1000)
portb = %00111111 'p
portc = %01011000
delay_ms(1000)
portb = %10011010 'o
portc = %01011001
delay_ms(1000)
portb = %10111100 'n
portc = %00111101
delay_ms(1000)
portb = %10111110 'm
portc = %00110101
delay_ms(1000)
portb = %10011011 'l
portc = %01111111
delay_ms(1000)
portb = %00111101 'k
Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

portc = %01110111
delay_ms(1000)
portb = %10110011 'j
portc = %11001011
delay_ms(1000)
portb = %11010011 'i
portc = %11001011
delay_ms(1000)
portb = %00111110 'h
portc = %01111100
delay_ms(1000)
portb = %00011010 'g
portc = %01011010
delay_ms(1000)
portb = %00111111 'f
portc = %01011011
delay_ms(1000)
portb = %00011011 'e
portc = %01011010
delay_ms(1000)
portb = %00011010 'd
portc = %11111100
delay_ms(1000)
portb = %10011011'c
portc = %01011011
delay_ms(1000)
portb = %00011010 'b
portc = %01111110
delay_ms(1000)
portb = %00111110 'a
portc = %01011000
delay_ms(1000)
goto lazo
end.

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 7

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

IMAGEN EN EL PROTOBOARD

Imagen del problema 7 realizado en el Protoboard

Imagen del problema 7 realizado en el Protoboard

Imagen del problema 7 realizado en el Protoboard


Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Imagen del problema 7 realizado en el Protoboard

Imagen del problema 7 realizado en el Protoboard

PROBLEMA 8. Lógica booleana con microcontrolador

PROCESO:
Programamos en el puerto C como entrada y B como salida.
La operación “And” con las entradas del puertoC 0 y puertoC 1.
Los resultados en el puertoB 0.
La operación “Or” con las entradas del puertoC 2 y puertoC 3.
Los resultados en el puertoB 1.
La operación “Xor” con las entradas del puertoC 4 y puertoC 5.
Los resultados en el puertoB 2.

SALIDAS:
El código booleano de las operaciones and, or y xor visualizadas en los leds..

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

DIAGRAMA DE FLUJO

INICIO

PUERTO C COMO
ENTRADA

PUERTO B COMO
SALIDA

OPERACIÓN AND

OPERACIÓN OR

OPERACIÓN XOR

VISUALIZACION
EN LOS LEDS

CÓDIGO DEL PROGRAMA 8 MIKROBASIC

program practica8

' Declarations section


trisc=$ff 'puerto c como entradas
trisb=$0 'puerto b como salida

main:
' Main program
portb.0 = portc.0 and portc.1
portb.1 = portc.2 or portc.3
portb.2 = portc.4 xor portc.5

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

goto main
end.

SIMULACIÓN EN PROTEUS

Imagen de la simulación del problema 8

Imagen de la simulación del problema 8

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Imagen de la simulación del problema 8

IMAGEN EN EL PROTOBOARD

Imagen del problema 8 realizado en el Protoboard

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

Imagen del problema 8 realizado en el Protoboard

Imagen del problema 8 realizado en el Protoboard

OPERACIÓN AND

PUERTO C.0 PUERTO C.1 PUERTO B.0


0 0 0
0 1 0
1 0 0
1 1 1

OPERACIÓN OR

PUERTO C.2 PUERTO C.3 PUERTO B.1


0 0 0
0 1 1
1 0 1
1 1 1

Ing. Electrónica
Informe Analógica II
UNIVERSIDAD POLITÉCNICA SALESIANA

OPERACIÓN XOR

PUERTO C.4 PUERTO C.5 PUERTO B.2


0 0 0
0 1 1
1 0 1
1 1 0

CONCLUSIONES:

• Al utilizar en programa Mikrobasic la programación nos resulta más fácil con el


código, para esto debemos aprendernos los códigos para diferentes procesos.
• Además al conocer el funcionamiento del PIC16F877A nos resulta mejor para
programar al PIC, sabiendo los pines de los puertos.
• Al realizar esta práctica pudimos relacionar lo teórico con lo práctico al realizar
en el programa Mikrobasic con el Protoboard.

BIBLIOGRAFÍA

• Datasheet del PIC16F877A.


• http://www.monografias.com/trabajos18/descripcion-pic/descripcion-
pic.shtml#caract.
• Hojas de prácticas para Laboratorio 1 de Sistemas Microprocesados I.

Ing. Electrónica
Informe Analógica II

You might also like

  • Manual básico PDH SDH
    Manual básico PDH SDH
    Document8 pages
    Manual básico PDH SDH
    rodiaz65
    No ratings yet
  • Practica 1
    Practica 1
    Document26 pages
    Practica 1
    juan_ruizmp4119580
    No ratings yet
  • Exposicion PDH SDH
    Exposicion PDH SDH
    Document21 pages
    Exposicion PDH SDH
    fimox
    No ratings yet
  • Texto 3 Etica y Bioetica
    Texto 3 Etica y Bioetica
    Document98 pages
    Texto 3 Etica y Bioetica
    juan_ruizmp4119580
    50% (2)
  • Mapa Conceptual 2
    Mapa Conceptual 2
    Document17 pages
    Mapa Conceptual 2
    juan_ruizmp4119580
    No ratings yet
  • Informe Uno
    Informe Uno
    Document8 pages
    Informe Uno
    juan_ruizmp4119580
    No ratings yet
  • Mapa Conceptual 2
    Mapa Conceptual 2
    Document17 pages
    Mapa Conceptual 2
    juan_ruizmp4119580
    No ratings yet
  • Instrucciones Paper IEEE
    Instrucciones Paper IEEE
    Document3 pages
    Instrucciones Paper IEEE
    NBELTRANCUELLAR
    No ratings yet
  • LM 35
    LM 35
    Document7 pages
    LM 35
    juan_ruizmp4119580
    No ratings yet
  • TUTORIAL Carta de Smith
    TUTORIAL Carta de Smith
    Document9 pages
    TUTORIAL Carta de Smith
    Alberto Muñoz
    No ratings yet
  • Mapa Conceptual 2
    Mapa Conceptual 2
    Document17 pages
    Mapa Conceptual 2
    juan_ruizmp4119580
    No ratings yet
  • Practica 2
    Practica 2
    Document23 pages
    Practica 2
    juan_ruizmp4119580
    No ratings yet
  • Carta de Smith
    Carta de Smith
    Document2 pages
    Carta de Smith
    Roberto Canchola
    No ratings yet
  • Inclinometro
    Inclinometro
    Document5 pages
    Inclinometro
    juan_ruizmp4119580
    0% (1)
  • Radio Frecuencia
    Radio Frecuencia
    Document2 pages
    Radio Frecuencia
    juan_ruizmp4119580
    No ratings yet
  • Informe 9
    Informe 9
    Document9 pages
    Informe 9
    juan_ruizmp4119580
    No ratings yet
  • Practica 1
    Practica 1
    Document26 pages
    Practica 1
    juan_ruizmp4119580
    No ratings yet
  • Osciladores
    Osciladores
    Document12 pages
    Osciladores
    juan_ruizmp4119580
    No ratings yet
  • Informe 1
    Informe 1
    Document34 pages
    Informe 1
    juan_ruizmp4119580
    No ratings yet
  • Informe Filtros
    Informe Filtros
    Document119 pages
    Informe Filtros
    juan_ruizmp4119580
    No ratings yet
  • In For Me 11
    In For Me 11
    Document5 pages
    In For Me 11
    juan_ruizmp4119580
    No ratings yet
  • Informe1 1
    Informe1 1
    Document9 pages
    Informe1 1
    juan_ruizmp4119580
    No ratings yet
  • Informe 1
    Informe 1
    Document34 pages
    Informe 1
    juan_ruizmp4119580
    No ratings yet
  • In For Me 10
    In For Me 10
    Document6 pages
    In For Me 10
    juan_ruizmp4119580
    No ratings yet
  • Informe8 Ya
    Informe8 Ya
    Document11 pages
    Informe8 Ya
    juan_ruizmp4119580
    No ratings yet
  • Test
    Test
    Document10 pages
    Test
    juan_ruizmp4119580
    No ratings yet
  • In For 4
    In For 4
    Document5 pages
    In For 4
    juan_ruizmp4119580
    No ratings yet
  • Informe3 1
    Informe3 1
    Document6 pages
    Informe3 1
    juan_ruizmp4119580
    No ratings yet
  • Informe 1
    Informe 1
    Document34 pages
    Informe 1
    juan_ruizmp4119580
    No ratings yet