Está en la página 1de 6

TECNOLÓGICO PUERTO DE MEJILLONES MICROCONTROLADORES I

CARRERA: ELECTRÓNICA 33-400

PRACTICA Nº 1

MANEJO DE PUERTOS DEL MICROCONTROLADOR

1. OBJETIVOS

El objetivo de la presente práctica es que el estudiante implemente tanto el programa y el


circuito de un microcontrolador PIC, asi mismo podrá ensamblar el programa y grabarlo en el
microcontrolador

2. EL MICROCONTROLADOR PIC 16F877A

Son una familia de microcontroladores tipo RISC, fabricados por Microchip Technology
Sus siglas son la abreviatura de:

P → Pheripal
I → Interface
C → Controller

Originalmente se designa como PICmicro que sería un «Controlador de interfaz periférico

Su estructura y disposición del microcontrolador es el siguiente:

CARACTERÍSTICAS

• Microcontrolador de 40 pines, fabricado en tecnología CMOS, memoria del tipo Flash


• Pines de entrada y salida (I/O): 6 del puerto A, 8 del puerto B, 8 del puerto C, 8 del
puerto D y 3 del puerto E.
• 8 entradas analógicas
• Memoria RAM con 224 registros, oscilador interno de 4Mhz hasta 20 Mhz

Ing. Javier Tarqui Valeriano


TECNOLÓGICO PUERTO DE MEJILLONES MICROCONTROLADORES I
CARRERA: ELECTRÓNICA 33-400

• 2 timer de 8 bits, 1 timer de 4 bits


• 32 instrucciones
• Modulo de PWM modulo ADC de 10
3. MATERIALES.
- Microcontrolador PIC 16f877a
- Grabador de memorias
- Oscilador de cristal de 4 Mhz o 20 Mhz
- Resistencias, capacitores que son parte del circuito del microcontrolador
- Resistencias de protección de 330 Ω
- Display de 7 segmentos cátodo común

Soporte de software:

- PROTEUS 8 profesional o una versión mayor


- PIC C Compiler PCW
- PICkit2

4. DESARROLLO DEL LABORATORIO

Los estudiantes deben organizarse en grupos máximo de 2 personas, asi mismo:

 Deben estudiar el datasheet del microcontrolador, es decir la disposición de sus terminales,


la función de cada una de estas, asi mismo los tipos de circuitos para el oscilador
 En una primera etapa deben de programar en el C – COMPILER y luego simularlo en el
PROTEUS
 Luego deben de codificarlo en el Pickit, para luego programarlo en el microcontrolador,
empleando el dispositivo adecuado
 Armar el circuito y verificar el funcionamiento del mismo en el protoboard en forma física

PROGRAMA 1.

Enciende y apaga LED

Descripción: este programa hace encender y apagar un led por el puerto A0 con una duración de
medio segundo

// PROGRAMA QUE ENCIENDE Y APAGA LED POR PUERTO A

#include <16f877a.h> // define el PIC a usar


#fuses hs,nowdt // estos son los fusibles activos
#use delay(clock=20M) // define la frecuencia del reloj

Ing. Javier Tarqui Valeriano


TECNOLÓGICO PUERTO DE MEJILLONES MICROCONTROLADORES I
CARRERA: ELECTRÓNICA 33-400

void main() //INICIA CUERPO DEL PROGRAMA

{
inicio: //Inicio de la secuencia
output_high(pin_a0); //define como salida al puerto a0 y en estado alto
delay_ms(500); //determina una duracion de 500ms(1/2seg)
output_low(pin_a0); //define como salida al puerto a0 y en estado bajo
delay_ms(500);
goto inicio; //retorna a inicio
}
En el PROTEUS simular el anterior programa:

TAREA 1.

El estudiante deberá realizar un programa para el parpadeo del LED que salga por el puerto C7, y
con una duración de ¼ de segundo.

PROGRAMA 2.

Secuencia de LEDs por el puerto B

Descripción: este programa tiene conectado LEDs a las 8 salidas del puerto B, y hace que se
encienda uno tras otro hasta que al final después de que todos están encendidos, se apaga y
nuevamente se repite la secuencia

// PROGRAMA QUE REALIZA UNA SECUENCIA DE LED POR PUERTO B

#include <16f877a.h>
#fuses hs,nowdt
#use delay(clock=20M)
void main()

{
set_tris_b(0b00000000); //define el puerto b como salida con 8 ceros para los 8 puertos el 0b es el binario

Ing. Javier Tarqui Valeriano


TECNOLÓGICO PUERTO DE MEJILLONES MICROCONTROLADORES I
CARRERA: ELECTRÓNICA 33-400

output_b(0b00000000); //inicializa en estado bajo los led en binario


while(true) //secuencia que mantiene hasta el infinito
{
output_b(0b00000001); //hace que la salida b0 pase a 1 (en binario)
delay_ms(200);
output_b(0b00000011); //hace que la salida b0 y b1 pase a 1
delay_ms(200);
output_b(0b00000111);
delay_ms(200);
output_b(0b00001111);
delay_ms(200);
output_b(0b00011111);
delay_ms(200);
output_b(0b00111111);
delay_ms(200);
output_b(0b01111111);
delay_ms(200);
output_b(0b11111111);
delay_ms(200);
output_b(0b00000000); //hace que se apaguen todos
delay_ms(200);
}
}

SIMULACIÓN: Implementar en el PROTEUS, el microcontrolador con los leds y simular el


programa

TAREA 2.

 Realizar una secuencia de leds, basado en el anterior programa, donde cada led se
encienda y apague a la vez en forma secuencial, es decir que solo un led estará encendido
en un momento.
 Para la misma secuencia anterior, realizar un programa que realice el mismo trabajo
anterior pero usando la sentencia “for”

IMPLEMENTACIÓN DEL CIRCUITO

El oscilador con el circuito tiene la forma:

Ing. Javier Tarqui Valeriano


TECNOLÓGICO PUERTO DE MEJILLONES MICROCONTROLADORES I
CARRERA: ELECTRÓNICA 33-400

NOTA. El oscilador puede también ser de otras frecuencias como de 20 Mhz, donde en muchos
casos la configuración puede variar, como asi los valores de los componentes. Dependiendo de la
aplicación se puede implementar con potenciómetros y otros elementos

También se puede implementar un circuito para el reseteo del microcontrolador en forma externa,
y asi mismo considerando una fuente de alimentación, se tiene:

5. INFORME

Una vez conluida la práctica el o los estudiantes deben presentar en la siguiente clase el
informe de la práctica, que contenga los siguientes puntos:

 Plano o layout del circuito con el software “fritzing”


 Listado del programa del Pic – C Compiler
 Observaciones y conclusiones
 Hoja de calculo

Ing. Javier Tarqui Valeriano


TECNOLÓGICO PUERTO DE MEJILLONES MICROCONTROLADORES I
CARRERA: ELECTRÓNICA 33-400

HOJA DE LABORATORIO

1. PROGRAMA 1. PARPADEO DEL LED

CIRCUITO
PROTEUS (5 pts.)
IMPLEMENTADO (10 pts)
Enciende y apaga led
por puerdo D (5 puntos) ---------------------

Tarea 1 (15 pts.)

2. SECUENCIA DE LEDS

CIRCUITO
PROTEUS (10 pts)
IMPLEMENTADO (20 pts)
Contador comandado
por botón (15 pts.)

Tarea 2 (15 pts.)

Integrantes del Grupo

Nombres y apellidos Laboratorio (s/ 40)

Firma Docente

Ing. Javier Tarqui Valeriano

También podría gustarte