Está en la página 1de 11

SECCIÓN TEC.

DEL DEPARTAMENTO DE
ELÉCTRICA Y ELECTRÓNICA
CARRERA DE TECNOLOGÍA SUPERIOR EN
AUTOMATIZACIÓN E INSTRUMENTACIÓN

NRC:5899

ASIGNATURA:

MICROCONTROLADORES

LABORATORIO Nro. 1.1

TEMA:
PROGRAMA Y CIRCUITO CON EL
MICROCONTROLADOR PARA EL MANEJO
SECUENCIAS Y SALIDAS DIGITALES

INTEGRANTES:

CANDO AREQUIPA SEGUNDO DAVID

QUIMUÑA POZO ALEJANDRO MATEO

VELASCO VIRACUCHA CARLOS MARCELO

DOCENTE:

ING. SILVIA ALPUSIG

FECHA: 3005/2022

ASIGNATURA
INFORME DE LABORATORIO 1.1

1. TEMA: Programa y circuito con el microcontrolador para el manejo de


secuencias y salidas digitales.

2. OBJETIVOS:

2.1 Objetivo General


• Implementar y desarrollar la practica con el microcontrolador PIC
16F877A de manera que se logre utilizar el lenguaje de
programación y saber cómo son las entradas y salidas digitales en
el pic

2.2 Objetivos Específicos


• Mediante la hoja de datos del Pic 16F877A aprender a manejar las
directrices del mismo para programarlo como entradas y salidas
• Practicar el lenguaje de programación y con el mismo obtener
nuestra practica de laboratorio

3. MARCO TEÓRICO

El microcontrolador

Un microcontrolador es un dispositivo electrónico capaz de llevar a cabo


procesos lógicos para desempeñar una tarea específica. Dicha tarea debe ser
programada por el usuario a través de un lenguaje de programación.

Dentro de los microcontroladores existen dos arquitecturas básicas de


hardware.

a) Von Neumann Se caracteriza por tener una memoria única para los datos y
las instrucciones del programa. A dicha memoria se accede a través de un
sistema de buses único (control, direcciones y datos).

Figura 1. Esquema de la arquitectura Von Neumann


b) Harvard Este modelo tiene la unidad central de proceso (CPU) conectada a
dos memorias, una con las instrucciones y otra con los datos, por medio de dos
buses diferentes. Una de las memorias contiene solamente las instrucciones del
programa (Memoria de Programa), y la otra sólo almacena datos (Memoria de
Datos).

Figura 2. Esquema de la arquitectura Harvard


El procesador: Es el elemento más importante del microcontrolador y
determina sus principales características, tanto a nivel hardware como
software. Se encarga de direccionar la memoria de instrucciones, recibir el
código OP de la instrucción en curso, su decodificación y la ejecución de la
operación que implica la instrucción, así como la búsqueda de los operandos y
el almacenamiento del resultado.

Memoria: En los microcontroladores la memoria de instrucciones y datos está


integrada en el propio chip. Una parte debe ser no volátil, tipo ROM, y se
destina a contener el programa de instrucciones que gobierna la aplicación.
Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las
variables y los datos (Ptolomeo).

¿Qué es el Microcontrolador PIC16F877A-I/P?


El Microcontrolador PIC16F877A-I/P es un circuito integrado programable
tipo FLASH reprogramable capaz de realizar y controlar tareas. El MCU
cuenta con una RAM de 256 Bytes, frecuencia de trabajo de 20 MHz,
empaquetado DIP-40. Pertenece a la familia de microcontroladores PIC16.

¿Para qué sirve el Microcontrolador PIC16F877A-I/P?


El Microcontrolador PIC16F877A-I/P funciona para poder efectuar y/o
controlar otros dispositivos, algunas de sus aplicaciones son automatización y
control de procesos, comunicaciones y red, electrónica de consumo, diseño
embebido y desarrollo, multimedia, dispositivos portátiles, robótica,
instrumentación o seguridad (Unit Electronics).

Especificación y características

• Familia: PIC16
• Modelo: PIC16F877A-I/P
• Voltaje de operación: 4V a 5.5V
• Comunicación: 1-A/E/USART, 1-MSSP(SPI/I²C)
• Número de I/O: 33
• Comparadores: 2 ADC 8 ch, 10-bit
• EEPROM: 256 Bytes
• RAM: 368 Bytes
• Memoria Flash: 14Kb
• Máxima frecuencia de trabajo: 20 MHz
• Timer: Dos de 8 bit y uno de 16 bit
Características periféricas

• Timer0: 8-bit timer/counter con 8-bit prescaler


• Timer1: 16-bit timer/counter con prescaler, que puede ser incrementado
durante el modo SLEEP via reloj externo.
• Timer2: 8-bit timer/counter con registro de período de 8-bit, prescaler y
postscaler
• Dos módulos Capture, Compare, PWM
• Capture es de 16-bit, max. resolución: 12.5 ns
• Compare es de 16-bit, max. resolución: 200 ns
• PWM max. resolución: 10-bit (Oscar, 2019).

Figura 3. Estructura interna de un PIC16F877A


¿Cómo programar un microcontrolador con PIC C?

PIC C es una herramienta que permite programar un microcontrolador por


medio de lenguaje C, a diferencia del lenguaje máquina o ensamblador (ASM)
que se maneja por defecto, este hace los programas más fáciles de escribir,
analizar y comprender. PIC C ha sido desarrollado por PIC CMU, y cuenta
con una gran cantidad de librerías o drivers que permiten optimizar los
programas en el momento de manejar dispositivos externos, tales como
pantallas LCD, memorias, conversores, etc. Queremos destacar que el orden
de este mini-tuto se basó principalmente en el libro Compilador C CCS y
simulador Proteus para Microcontroladores PIC, de Eduardo García.
Tal como se puede observar en la figura 1, el espacio de trabajo del programa
consta de las siguientes partes:
Figura 4. Espacio de trabajo de PIC C.

Figura 4. Espacio de trabajo de PIC C

Estructura de un programa en C

Un programa en PIC C se puede hacer de dos formas distintas, ya sea creando


un proyecto o simplemente escribiendo el código completo directamente en un
archivo con extensión ".C" (más adelante se tratará este tema), cualquiera que
sea el caso que se vaya a usar, la estructura es prácticamente la misma
(Camilo, 2012)
Figura 5. Programador PICKIT2

4. DESARROLLO DE LA PRÁCTICA

• Utilice el manejo de los puertos a través de la memoria RAM para programar


la siguiente aplicación: Conecte un led en el pin RB0 que parpadee cada 250
ms}

C1

22p
X1
C2 CRYSTAL QUIMUÑA-CANDO-VELASCO
22p

U1 R2
13 33
OSC1/CLKIN RB0/INT
14 34 330
OSC2/CLKOUT RB1
RB2
35 D1
2 36 LED-RED
RA0/AN0 RB3/PGM
3 37
RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
R1 8
RE0/AN5/RD RC1/T1OSI/CCP2
16
10k 9 17
RE1/AN6/WR RC2/CCP1
10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A

Fig.-Simulación ejercicio
Código fuente pic c para led puerto RBO parpadee cada 250 ms

• Desarrolle el programa de tal manera que se conecte 8 LEDs al puerto B los


mismos que se activaran según indica la secuencia en la tabla 1.

TABLA. -EJERCICIO2
C1

22p D2
X1
C2 CRYSTAL D3
LED-RED
QUIMUÑA-CANDO-VELASCO
22p D4
LED-RED
U1 RN1
13 33 1 16 D5
LED-RED
OSC1/CLKIN RB0/INT
14 34 2 15
OSC2/CLKOUT RB1
35 3 14
2
RB2
36 4 13 D6
LED-RED
RA0/AN0 RB3/PGM
3 37 5 12
RA1/AN1 RB4
4 38 6 11
5
RA2/AN2/VREF-/CVREF RB5
39 7 10 D7
LED-RED
RA3/AN3/VREF+ RB6/PGC
6 40 8 9
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15 330R D8
LED-RED
RC0/T1OSO/T1CKI
R1 8
RE0/AN5/RD RC1/T1OSI/CCP2
16
9 17
10k
10
RE1/AN6/WR RC2/CCP1
18 D9
LED-RED
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25 LED-RED
RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A
Código fuente para que los 8 leds conectados al puerto B indiquen como salida digital
acorde a lo indicado en la tabla 1 en un tiempo de 500 ms

1.¿Cuál es el carácter que se utiliza para hacer comentarios en una sola línea?
Para hacer comentarios en línea se utiliza doble slash //

2. ¿Con qué carácter se separan instrucciones?


Las instrucciones finalizan con punto y con ;

3. ¿Cuál es la diferencia entre retorno de línea y cambio de línea?


Un salto de línea es seguir hacia otra línea
Un retorno de carro significa mover el cursor al principio de la linea

4. ¿Qué palabra se debe utilizar para declarar un variable entero de 1 bit?


El código que se utiliza para declarar una variable entera de 1 bit es Int1.

5. Realice la declaración de la variable I = 2.536 Se declara la variable de la


siguiente manera: float i=2.536;

6. ¿Cuáles son las restricciones que se deben tomar en cuenta al declarar una
variable?
Siempre debe iniciar con una letra (mayúscula o minúscula) o un guion bajo
Puede contener números, solamente después de la primera letra (siguiendo la regla
anterior).
Utiliza un nombre que exprese algo del contexto en el cual la estás declarando.

7. Encuentre el error en la declaración de la variable y corríjala: float 2 contadores


= 5; La declaración de la variable seria la siguiente; float contadores = 5;
8. Una variable int16 ¿qué rango de valores contiene? La variable int16 tiene 16
bits y un rango de entre –32768 y +32767

9. ¿En qué parte del programa puede ser utilizada una variable global?
Las variables pueden ser de tipo LOCAL o GLOBAL. Las variables locales se
utilizan sólo en la función donde se encuentran declaradas y las globales en todas
las funciones del programa.

10. Se realiza la operación: c=10%4, ¿cuál es el valor de c? El valor de c es 2

11. En la operación x+=2 ¿cuánto es el resultado de x? El valor de x es 2

12. ¿Cuál es el resultado de la operación x=x>>2, si x=25? Realice las operaciones


en binario. El resultado de la operación es 110 13. ¿Cuál es el resultado de la
operación 1=x

13. ¿Cuál es el resultado de la operación 1=x<4, si x=63? Realice las operaciones


en binario.

14. Explique la diferencia entre realizar la operación:


una. a&b y a&&b.
a&b= y un poco un poco; a&&b= y lógico
b. alb y allb.
alb= o un poco un poco; allb=o lógico

20. ¿Qué tiempo de retardo genera delay_ms(1500)?

El tiempo es de 1500 milisegundos.

21. De los microcontroladores citados en este capítulo, ¿cuáles no tienen reloj


interno?
El PIC16F877A no incluye un sistema de reloj interno,

22. ¿Cuál microcontrolador de 18 pines tiene memoria FLASH de 4096 palabras y


posee un módulo convertidor de AD de 7 canales?

El microcontrolador PIC16F88.

5. CONCLUSIONES

• Al desarrollar esta practica se dan varias ideas de como utilizar este pic como cerebro
de programación y poder realizar otras tareas programadas
• Los microcontroladores son pequeños chips o dispositivos que pueden ser
programados para realizar acciones o instrucciones que nosotros deseemos
• Uno de los objetivos principales de la Electrónica es el resolver tareas diversas, siendo
los microcontroladores uno de los dispositivos con más potencial para la solución de
dichas problemáticas.

6. RECOMENDACIONES
• Usar en la simulación siempre el ground para desarrollar y que la
practica se emplee de forma correcta
• Al implementar en la protoboard verificar los terminales esten
conectados correctamente
• Para poder realizar las conexiones colocar el pic de forma
correcta para no dañar el pic
7. BIBLIOGRAFÍA

• Valdés, F., & Areny, R. P. (2007). Microcontroladores fundamentos y aplicaciones con


PIC (Vol. 1149). Marcombo}

• Ruge, I. A. R. (2008). Método básico para implementar un controlador digital pid en un


microcontrolador pic para desarrollo de aplicaciones a bajo costo. Apl. en Control Pontecia
y la Ind.

• . Cholan Verastegui, Y. B., & Varas Alvarado, G. P. (2017). Diseño de un sistema de


seguridad para viviendas utilizando un microcontrolador PIC16F877A.

También podría gustarte